机器人学习路径与书单推荐

平衡小车之家2020-09-22 14:44:35

大家在学习和制作机器人的开始阶段,通常会对于机器人相关知识的入门感到非常迷茫。感觉需要学习的内容非常之多,但是又不知道如何开始。我也曾经遇到过这样的情况,根据我自己和我周围朋友的一些认识,我们一致认为:


只有在不断的实践中才能熟悉机器人领域用到的各种知识和技术,才会真正理解机器人控制的各类算法。


因此,本文我将从三个阶段:初级阶段,中级阶段和高级阶段来分享机器人学习的相关书籍以及一些学习体会和注意事项。各个阶段,我尽量从理论和实践两方面来说明。因为是我个人的体会,估计会有很多不合理的地方,各位斟酌参考和吸收。


需要说明的是:第一,机器人学习需要一定的数学和编程基础,但是开始阶段他们的需求也非常基础,数学上只要你学过一些基本的线性代数、高数即可;而编程方面有一些基本的C语言、MATLAB基础也行。第二,如果想很深入的学习机器人学,最好是能够从一开始就注重自己的英语阅读能力的培养。


初级
阶段:


这一阶段主要是对机器人的制作有一个基本的感性认识,熟悉一些基本的传感器使用方法,了解一些经典控制算法并且能够制造一个最基本的机器人模型比如一个移动机器人。


理论:

初级阶段的理论方面需要了解基本的坐标变换(二维、三维坐标平移和旋转等);基本动力学建模技巧和基本控制算法(PID控制等);基本的电子技术(数电知识,单片机)等。

《用MATLAB玩转机器人》:这虽然不是一本好书,但是对于想几个小时时间对机器人建模有个感性认识,而且还能在MATLAB中实践下来说还是可以的;

《机械工程控制基础》:写给机械专业的控制类的教材,讲得还算是比较全面;

《数字电子技术》:这种书,翻一翻即可,对基本的数字电路有一个感性的认识。


实践:

需要了解一些基本的硬件知识,各类电机(直流电机,步进电机,交流电机等)、舵机、常用传感器(超声波传感器、光电开关等)等。

这一阶段实践类其实没有特别好的书,大家其实可以多看看公众号,论坛之类的。其实这一阶段最好的还是动手做一个或者买一个小系统,比如平衡小车,然后跟着提供的程序跑一跑,看懂提供的程序,这样就会上手了。然后遇到不懂的,比如基本的电机、舵机等等知识可以一边实践一边去搜索引擎学习。


中级
阶段:


这一阶段应该能够在团队合作情况下制作一些能够完成较为复杂的动作并且完成的动作能够达到一定标准的机器人。比如能够从无到有制造一台机器人并参加一些机器人竞赛(Robocon,RoboMaster等);能够设计并制造一些特定的机器人比如六轴机械手、四旋翼等。


理论:

深入动力学建模方法,并能够在MATLAB软件中建立仿真模型并进行算法验证;掌握现在控制理论和优化理论;模电知识;视觉知识(视觉识别,视觉导航)等。

《Introduction to Robotics》斯坦福Craig教授的一本机器人入门教材,写得非常好。

《Modern Control Systems Twelfth Edition》国外经典现代控制的经典教材。

《Robotics, Vision and Control》这本书绝对是良心之作,从控制到视觉都有讲解,而且现在有中文版本,强烈推荐。

《机器人控制系统的设计与MATLAB仿真先进设计方法》国内一个老师写的,里面有大量的MATLAB仿真的程序实例,大家可以作为一本参考书看看。


实践:

机器人常用结构的设计与制作(移动平台、机械臂等);常用动力系统(气动、液压等);常用加工方式(机加工、3D打印等);常用的传感方法(激光雷达等);ROS系统学习等。

《ROS机器人高效编程》等一系列ROS相关的书,都可以拿来看看。这一阶段,除了常用的传感器外,大家如果想以后从事机器人相关的研究或者是研发工作,可以花点力气去学习学习ROS。ROS现在不管是在国外还是在国内都挺流行的。

《视觉SLAM十四讲:从理论到实践》这本书,大家评价还挺高的,讲得也挺通俗易懂。


高级
阶段:


这时进入了前沿的研究阶段,这一阶段属于较为前沿的一些高校或研究结构所做的研究工作。比如开发一种性能非常好的算法;发明一中灵巧的机械手等等。


理论:

这一阶段主要是研究工作,因此非常细分,比如非线性控制,最优控制,智能控制等;还有高端的视觉处理,比如场景理解,视觉地图构建等。到了这一阶段,其实有些我也不太懂,这里仅仅列几个我感觉会还比较有用的。


《Convex Optimization》升级到这一阶段,优化算法是少不了的,所以看看还是要看看这本经典的方面的书;

《Deep Learning》最近几年,最火的技术莫过DL。如果想尝试这方面的研究,这本书是一本入门必看。

《非线性控制系统》非线性领域一本非常重要的书,我刚上研究生的啃过多次,没啃下来。


列出的书有很多,其实大家学习机器人设计或者控制最关键的一步就是:开始。只要开始了,你会慢慢找到你感兴趣的领域或者方面,然后再在相应的子领域、子方向上去针对性的看书,相信会取得更好的效果。


最后,祝大家都能在机器人这条道路上学得幸福,玩得开心。