机器人编程怎么入门?

机器人编程怎么入门?

9.17日更新了一波图片,很多地方补充详细,增加一些进阶的内容,希望能给大家更多帮助。

————

目录

一、适合新手练手的项目

二、单片机推荐

三、相关入门模块简介

四、相关软件指南

五、进阶-机器视觉

六、进阶-飞行器相关

七、结尾

------------

[多图预警]

我看了一下上面的答案都比较虚,我说一些实在的。

作为一个小学开始自学编程,大一开始玩机器人的同学,目前在校机器人队摸鱼,我分享一下我的入门历程仅供参考。机器人这块核心分机构和电控,教程会偏电控一点。

这条路比较适合对机器人感兴趣的大学萌新,特别是大一刚入学的童鞋,你们的大学生活会因为科技制作而大不一样

核心一条是,动手动手动手。别想着我要把所有的东西都精通了再去做,先找个感兴趣的项目,你会在做的过程中把所需的东西学了。一、适合新手练手的项目循迹避障小车,六自由度机械手臂,六足机器人...

(图片来自某宝 侵删)

是否适合练手根据以下几个方面,第一材料易得,大部分在某宝可以直接买到便宜的套件。第二所需的模块简单易学,主要包括电机驱动板、电机、舵机、小型航模电池或18650锂电池组、入门级的单片机,传感器部分包括红外传感器、超声波传感器等。

(根据经验一般某些眼界比较高的看不起小车这些东西。但实际动手有非常大的难度,现在能让六自由度机械臂实现精确抓取的能有几人,让小车稳定循迹的又有几人?

我参加了几届学校这类比赛,大部分参赛队伍的心血都会因为现场突发情况而报废,甚至一些光线干扰都能让整个代码循环报废

简单的东西想做到极致往往需要丰富而全面的实力

)

【第一次见到学长们玩超声波,觉得超声波这三个字简直说出来都颇有面子。直到自己开始玩才发现是个入门模块罢了......- -、】

以上入门第一步在于电控,你需要接触嵌入式开发,选择合适的单片机,开始学习C语言,推荐谭浩强老师那一本书入门C,不需要你全都懂,比如说指针这玩意儿现在(嗯我说入门阶段)基本用不上。

二、单片机推荐

单片机上强烈推荐arduino入门,熟练后转stm32,如果之前学过51的话会轻松很多(我在高三暑期买了块开发板自己玩了会儿)。转战stm32是因为大学里大部分机器人队都使用的stm32作为机器人的核心控制板。

Arduino具体推荐arduino uno ,或者arduino mega2560,针脚特别丰富,可以挂载非常多的传感器

arduino入门之后也可以玩一玩raspberry,现在已经有3代b买了,也就是开始linux嵌入式开发啦。惊人的配置颠覆你的想象,200多元的小电脑:

树莓派这东西我得多说几句,自带wifi模块,可插USB高清摄像头,其搭配的IO口可以和普通单片机一样作为输入输出使用,同时由于自身搭载linux系统,于是你可以通过C++甚至python语言来为你的机器人写逻辑代码

特别是当你需要为你的机器人加入图像视觉等需要大量计算的功能时,在低成本情况下树莓派将是最好的选择

此外,树莓派还能装LAMP环境(linux apache mysql php)搭建一个个人小网站,甚至做微信公共平台的开发者服务器,做下载器,寝室安全监控系统等等,很爽yooooo~

三、相关入门模块简介

可以买来玩的传感器和模块:

【循迹避障小车】

超声波传感器

红外线传感器

SG90舵机

电机控制板

电机

....

然后尝试自己开始制作机械手臂,所需要的模块:

舵机驱动板

MR996舵机

如果想玩驱动力更大的机械手臂,可以自行某宝数字舵机,价格100左右

某宝六自由度机械手臂有现成的套装,我记得是200~300元?

之后再怎么玩就靠兴趣了,一路走来基本的模块你都已经熟练,想进行创新可以对这些模块进行组合,结构上的创新也非常重要,可以自学

四、相关软件指南建模:首推SolidWorks,各大机械系应该都会必学,可直接导出工程图,或者导出3D打印文件

(渲染后效果超棒的有木有)

此外AutoCAD画二维图进行激光切割

AutoInventor也很不错,和Solidworks类似

仿真:Adams。ADAMS是个仿真神器,配合SolidWorks使用效果更佳哦

Matlab SimuLink。

ansys有限元分析

画电路板:altium designer,可以导出图在某宝找店家加工你的板子,精美板子送女孩表白,岂不妙哉。

图 Adams仿真

机器人领域非常广,举两个我有所涉猎的领域给大家一点思路。

五、进阶-机器视觉

机器视觉核心在于让机器人通过视觉设备如摄像头来获得环境信息,当前最流行的视觉库是opencv。

OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。[百度百科]

现在比较成熟的应用包括人脸识别、人体识别、车牌识别、车型识别等等。

(哈哈顺便安利美剧 硅谷)

如今一些机器人赛事开始对各队的机器视觉技术提出要求,将来视觉机器人也是一个非常有前景的发展方向。想入门这方面的童鞋可以学学opencv玩一玩啦。

给大家推荐一些我用过的学习资源:

同时,以上第一个博客的博主浅陌出的书 《学习opencv3》很不错,浅显易懂。

比较流行的教材是《 Learning Opencv》的汉化版 《学习Opencv》,一本经典的大部头,但如果仅仅是凭借兴趣入门的话不推荐。

硬件方面可以在树莓派上跑跑试试哈,看能不能做一个跟踪人的小车,引入人脸判断的话更有趣。

六、进阶-飞行器相关

大疆突然火了,大家都开始知道旋翼这东西。其实早在大疆之前,高校里边旋翼早已成风,我们这边每年校级科技竞赛上大把的旋翼。

何况汪涛也是在宿舍里成立大疆呢。

作为入门的话推荐一下F450旋翼,每个男生心里都有一个飞行梦想吧。虽然要做到爽飞需要很长的路要走,不过作为过来人可以告诉你,当你一手做出的旋翼翱翔在你们学校的上空时,曾经再多次的坠毁都值了。

旋 翼项目比较烧钱,预计F450在千元,建议和学校相关科技部门联系支持,比如学院一般会非常支持学生做科研。另外每年一度的国创(大创)也是个非常不错的机会,下 一届应该是第十一届了,申请这种项目需要一定的创新性,光说飞起来肯定是不行的啦~你可以考虑加一些当今没有的功能上去,具体大家自己天马行空吧。

旋翼涉及的技术:飞控(APM、Pixhawk)成品,自己写也可以不过有一定难度;航模电池相关知识;电机选型、桨、电调的搭配;GPS、罗盘;操作相关技术;遥控器,推荐天地飞系列;如果想要传输图像的话还涉及到数传;当然最后还需要心理素质哈哈

如果感兴趣的话给大家推荐一个论坛:

一些我曾经用过的教学资源:

泡泡老师的APM入门教程:

六、结尾啊,终于更完啦。

已经很久没在网上写过教程了,回想当年论坛时代答主还是初中生,在网上瞎发一些易语言、魔兽地图之类的玩意儿,不知道还有没有人记得小烦和hke。

总之,机器人领域博大精深,涉及到各个领域的前沿。何况人工智能随着阿尔法狗也火了一把,很期待雷·库兹韦尔2045奇点临近的预言,不管真假在此之前先努力学习吧。

写的这些不知道是不是帮到了大家,大家还有其他入门的困难欢迎私信