作为在校工科生,只回答问题中关于如何自学机器人方面的问题。
1. 基础知识入门
教材大同小异,推荐常用的两本:
克莱格:
机器人学导论 (豆瓣)蔡自新:
机器人学 (豆瓣)配合教材可以看斯坦福大学的公开课:
斯坦福大学公开课:机器人学以上内容,帮助在脑海中建立机器人学的大概图景和基本概念。当然,不必尽看,实际上认真钻研一套足矣。通常机器人学基础讨论都基于机械臂,需要弄懂的几个问题:机械臂的空间描述和坐标变换;机械臂运动学;机械臂逆运动学;机械臂动力学;轨迹规划;机械臂的控制;其他如机械设计、传感器、图像处理etc。
基础内容中,个人认为最重要的必须掌握的几个概念:
① 刚体位姿的坐标描述和变换 :机器人模型的基础,于机器人学的重要性犹如英文字母至于英文;
② D-H坐标变换 :机械臂建模的重要方法,以简洁的数学语言描述由一连串刚体组成的机械臂;
③ 雅克比矩阵 :机械臂运动学的核心,用于关节速度和末端速度的换算;
④ 拉格朗日动力学 :力和速度加速度之间换算的桥梁。
最重要的工具:数学,尤其是 线性代数 。
2. 基础动手入门
工科不动手,学过也没有。如果你觉得上述基础内容很枯燥(实际上确实很枯燥),不放自己动手增加趣味性。
软件上,可以使用万能的matlab。实际上,克莱格的【机器人学导论】里就有大量matlab习题,可以参考。当然这里不得不提Perter Corke编写的 robotics toolbox for matlab :
http:// petercorke.com/Robotics _Toolbox.html。
安装这个toolbox之后,你可以在matlab上通过D-H方法建立机器人模型,并避开底层繁琐的矩阵运算,通过简单的函数进行一些运动学计算——不过逆运动学求解经常不收敛,毕竟不涉及底层嘛。更多的细节题主可以自己摸索。贴一个自己开始瞎捣腾时弄的模型图(害羞>.<):