机器人算法工程师入门指南(三)机器人算法工程师需要学习哪些知识?(及教材推荐)

机器人算法工程师需要学习哪些知识?

作为复杂的工业品,机器人的制造涉及到各个学科的知识,包括材料、振动、机构设计、电机伺服、嵌入式芯片、软件、算法等等。其中,机器人算法也并非代指某一种单纯的算法,而是包括感知、规划、控制等等一系列算法。这也就决定了机器人算法工程师需要宽阔的视野与深厚的知识储备。我将知识图谱分为以下四个方面:感知、规划、控制、机器人学,如下:
机器人算法工程师入门指南(三)机器人算法工程师需要学习哪些知识?(及教材推荐)
机器人算法工程师入门指南(三)机器人算法工程师需要学习哪些知识?(及教材推荐)
机器人算法工程师入门指南(三)机器人算法工程师需要学习哪些知识?(及教材推荐)
机器人算法工程师入门指南(三)机器人算法工程师需要学习哪些知识?(及教材推荐)
其中,控制的框图参考了知乎优质答主的文章【图片科普】控制理论结构图合集。该答主的在控制科普方面做的工作特别优质,我看了有一种醍醐灌顶,相见恨晚的感觉 。
当然,以上所有内容都需要数学基础的支撑,包括:高等数学、线性代数、矩阵论、概率论、凸优化等。但个人感觉需要的掌握程度不是很深,皮毛就可以。这四部分,并不是每名算法工程师都需要掌握,如此浩瀚的知识体系在短时间内精通是不可能的。按照你的兴趣、想从事的细分领域选择一到两个着重研究就可以。

感知

感知部分我不太熟悉,这里只做简单参考。相比其他两部分,触觉的发展是最迟滞的,大概是因为受限于传感器、芯片。SLAM是服务、移动机器人必不可少的技术之一。从16年爆火至今,诞生了一些非常优秀的开源项目,在一些问题上已经有了不错的进展。SLAM算法工程师是一个相对独立的岗位,一般不要求工程师掌握控制方面的技能。 根据使用传感器的不同,分为激光SLAM,视觉SLAM,视觉惯导SLAM等等了,这里推荐高博的**《视觉SLAM十四讲》**,写的非常生动和通俗,适合初学者入门。

规划

无论是对于移动机器人还是串联机械臂,规划都是重要任务之一。但规划中几种不同的分类在中文的翻译较为混乱,英文中一般分为motion planpath plantrajectory plan。path plan指连接起点位置和终点位置的序列点或曲线。是纯几何概念。trajectory plan指规划出机器人执行运动时的速度及加速度序列,即在有路径的基础上,把路径转换成实际的速度和加速度。motion plan一般指path plan与trajectory plan之和。正经的中文翻译应该分别为运动规划、路径规划与轨迹规划,但是使用时经常会发生混淆。
关于路径规划,最常用的算法分三类,基于搜索、基于采样、基于优化。基于搜索的算法一般需要结合栅格使用,在高维/复杂障碍情况下时间复杂度极高,几乎无法使用。基于采样的算法则面临则和每次规划出的路径不同、随机性强的问题。基于优化的算法较为复杂,但性能似乎是最好的。
这里推荐教材**《MODERN ROBOTICS MECHANICS, PLANNING, AND CONTROL》**,书中对机器人使用的路径规划算法有完善的介绍。值得注意的是,这本书关于机器人学的部分并不适合初学者使用,因为它并没有使用传统的DH参数描述,而是使用了POE/李群代数的方法描述机器人,虽然性能更好,但理解起来费劲不少。

控制

作为一门历史悠久的学科,控制领域似乎慢慢向纯理论的方向发展,越是复杂,先进的控制方法,就越是不好用。哈哈,这只是我隔靴搔痒学了一点点控制后的拙见。机器人是一个非线性、强耦合、柔性的系统,其控制具有一定的难度和复杂度,也决定了控制领域的很多分支都能在机器人上有所应用。相信各位本科时都上过自动控制原理这门课,但可能会觉得太抽象、无法实际使用。直到今天,我依然有这种感受。不过现在我知道控制是一门来源于实践的学科,只有在实际分析系统、设计控制环节的时候,才能真切地体会到哪些频域分析、性能指标是干嘛的。如果想复习课上学过的控制,首推电子工业出版社的 《现代控制工程》 ,当然胡松涛主编的 《自动控制原理》 也不错。之后,再细分地去学习,陈宏的 《模型预测控制》 、张杰的 《最优控制——数学理论与智能方法》 ,karl的 《adaptive control》 都是各个领域公认的好书。相信大家也看出来,我一般能读中文教材就会读中文教材,中文虽然名词多说话别扭 ,但起码没有语言障碍,读英文教材实在是费劲。自适应控制国内也有一本 《自适应控制》 ,但水平确实一般,建议补充使用。
此外,控制入门/科普方面,个人非常推荐知乎答主系统与控制的文章,看了绝对会有收获。还有B站up主DR_CAN的系列课程,听君一节课,胜读十年书啊。

机器人学

这里的机器人学代指和串联机械臂相关的研究,并联机器人、移动机器人不包含在内。关于机器人学的教材有很多,入门首推《introduction to Robotics: Mechanics and Control》,几乎是人手一本。当然读中译本也可以,但就无法体会到原书的魅力了。还有一本比较推荐的是《机器人建模和控制》,这本书讲的比较浅,读起来非常愉快。

书的来源

以上这些书,网上都可以找到电子版,不过现在似乎都没有免费资源了。如果朋友们懒得一个个找,可以加我qq 735148617 提供合集,都是我自己一本一本找的,收个10元饭钱不过分吧哈哈。

上一篇:学习CURL扩展功能的使用(二)


下一篇:Java 给 Word 文档每一页添加不同图片水印