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

  作为复杂的工业品,机器人的制造涉及到各个学科的知识,包括材料、振动、机构设计、电机伺服、嵌入式芯片、软件、算法等等。其中,机器人算法也并非代指某一种单纯的算法,而是包括感知、规划、控制等等一系列算法。这也就决定了机器人算法工程师需要宽阔的视野与深厚的知识储备。我将知识图谱分为以下四个方面:感知、规划、控制、机器人学,如下:




  其中,控制的框图参考了知乎优质答主的文章【图片科普】控制理论结构图合集。该答主的在控制科普方面做的工作特别优质,我看了有一种醍醐灌顶,相见恨晚的感觉 。
  当然,以上所有内容都需要数学基础的支撑,包括:高等数学、线性代数、矩阵论、概率论、凸优化等。但个人感觉需要的掌握程度不是很深,皮毛就可以。这四部分,并不是每名算法工程师都需要掌握,如此浩瀚的知识体系在短时间内精通是不可能的。按照你的兴趣、想从事的细分领域选择一到两个着重研究就可以。

感知

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

规划

  无论是对于移动机器人还是串联机械臂,规划都是重要任务之一。但规划几种不同的分类在中文的翻译较为混乱,英文中一般分为motion planpath plantrajectory planpath 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元饭钱不过分吧哈哈。

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

  1. 蓝桥杯备考——算法竞赛入门经典(第2版)学习笔记2

    算法竞赛入门经典(第2版)学习笔记2 第二章 循环结构程序设计 2.1 for循环 2.2 while 循环和do-while 循环 2.3 循环的代价 2.4 算法竞赛中的输入输出框架 2.5 注解 ...

  2. Matlab编程入门指南:简介、安装、学习路线和几十个编程案例分析。

    一.Matlab编程入门指南:简介.安装.学习路线和几十个编程案例分析. 1.Matlab编程语言是一种广泛应用于科学计算.工程计算.数据分析.统计分析.信号处理等领域的高级数值计算和数据可视化软件. ...

  3. 机器人算法工程师入门指南(一)如何成为一名机器人算法工程师?

    如何成为一名机器人算法工程师?   三年前的冬天,我还是一名大三的学生,在学长的介绍下阅读了一本书,是John J. Craig的 <Introduction to robotics>.读 ...

  4. 周志华:“数据、算法、算力”人工智能三要素,在未来还要加上“知识”

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 来源:AI科技评论 作者:李雨晨 2020 年 8 月 7 日,全球人工智能和机器人峰会(CC ...

  5. 周志华:“数据、算法、算力”人工智能三要素,在未来要加上“知识”| CCF-GAIR 2020...

    来源:雷锋网 作者 | 李雨晨 如何将"机器学习"与"逻辑推理"相结合,是人工智能领域的"圣杯问题" " 编者按:2020 年 8 ...

  6. 周志华:“数据、算法、算力” 人工智能三要素,在未来要加上“知识”!

    干货 分享人:周志华教授,来源:AI科技评论 作者:李雨晨   编辑:丛末 在CCF-GAIR 2020 的人工智能前沿专场上,南京大学计算机系主任.人工智能学院院长.CCF会士.ACM.AAAI.I ...

  7. 《C语言入门指南》合集版,学习c语言有这一篇就够了?

    前言: <C语言入门指南>,全文分为3篇,共计34248字,此为合集版,适用初学者入门C语言,非初学者也可以通过本文复习C语言相关知识点,强化记忆!十三肝7天才弄完,贼累了,发布这篇笔记也 ...

  8. 机器人算法工程师入门指南(四)常用技能与如何备战offer

    常用技能与如何备战offer   在机器人算法的学习过程中,我们该用什么语言或工具来实现算法,检验算法的正确性呢?直接上真实机器人不是一个好的选择,一是步骤繁琐不方便,二是若算法有问题,可能会造成安全 ...

  9. 算法竞赛入门 第三章习题

    习题3-1 分数统计 使用map,可以很好地统计每个词出现的次数,而不用担心用数组时元素为浮点型的问题. 大致过程:先读入到map,map会自动按照key排序,遍历一次map获得value的最大值,再 ...

  10. [算法竞赛入门]第一章_算法概述

    1 第1部分 语 言 篇2 3 第1章 程序设计入门4 [学习内容相关章节]5 1.1算术表达式 1.2变量及其输入 1.3顺序结构程序设计6 1.4分支结构程序设计 1.5C/C++编码规范 1.6 ...

最新文章

  1. 浅谈通信编程(二)--如何分离通信物理接口和应用程序
  2. 第一次走绿道,从长岭陂到梅林水库
  3. 将一个数组a的行和列的元素互换,存到另一个二维数组b中
  4. LinkedList 实现原理及源码解析(jdk8 底层⽤的是链表)
  5. 异常 | 求你别再写满屏的try-catch了,用全局异常好吗?- 夹私货-行测
  6. 算法导论-线性时间排序习题解
  7. Win10系统如何共享文件夹,教你怎么操作
  8. mysql sycho_2005年12月23日
  9. matlab plot颜色
  10. fedora linux搜狗输入法,Linux_Fedora20 32位系统中安装搜狗拼音输入法图文教程,搜狗输入法在windows系统中是非 - phpStudy...
  11. 解决织梦CMS后台验证码不正确的四种方法
  12. Python使用struct处理二进制(pack和unpack用法)
  13. 从入门到精通!一个三非渣本的Android校招秋招之路,终局之战
  14. html软键盘挤压布局,软键盘挤压布局问题
  15. 互联网音乐告别版权战,音乐社区或成新风口?
  16. 制动电阻器的工作原理及应用特点
  17. 机械振动信号 常见时域、频域特征提取 Python 代码
  18. 微软 Teams 可以排排坐了~~ C位你要不要?
  19. idea 检测 重复代码_IntelliJ IDEA 15 EAP,支持动态代码重复检测
  20. 屏幕时间:管理与限制手机各APP使用时间——又名【限制儿童使用手机攻略】——相关主题【救救网瘾少年】

热门文章

  1. 信息隐藏基础算法——LSB算法(python实现)
  2. Laravel文档 翻译合集
  3. 申论公文题-评论类-1
  4. 如果你毕业想进央企, 那就选这些大学, 性价比很高
  5. 阿涛读书之——《坏血》
  6. html好看目录样式,HTML_CSS使用详解,目录样式类型(List Style Type) 说 - phpStudy
  7. 做项目管理需要哪些技能呢?
  8. 【操作系统】CPU调度算法
  9. python获取已打开的网页内容_用Python获取网页数据
  10. Java析构函数构造函数_C++ string构造函数和析构函数详解