当前位置: 华文问答 > 科学

如何系统性地学习工业机器人技术?

2018-12-20科学

收到很多关于工业机器人学习、入门的邀请和私信,在这里统一回复一下,不足之处请各位指正。

知友们关注的学习方向主要有两个:机器人集成应用和机器研发。

--机器人集成应用

先说集成应用,这里面又可以分为两个部分:机器人编程和生产工艺。

工业机器人经过半个世纪的发展,编程技术已经非常成熟,虽然各个厂商之间的编程语言和操作方式还无法通用,但是其背后的理论基础和功能都是类似的, 学好任何一家的操作,再切换的其他家不会有太大难度。

学习机器人编程,最有效的方法是参加培训,可以是机器人厂商组织的(采购机器人时可以和厂商谈,合同额较大时,附送n人/次的培训问题不大,推荐KUKA,官方的培训业务很专业,而且有良好的分级制度),也可以是社会上的培训机构组织的。

但是培训只能提供入门的知识,重要的是回来之后自己要多操作,多使用。机器人的指令就那么多,用的多自然就熟练了。

如果你现在的情况无法参加培训,或者身边没有机器人可供操作,可以考虑使用离线编程软件来自学,这里推荐从ABB的机器人入手,主要原因有以下几个:

  • 所有厂家中,ABB的资料最为完整、详细;
  • 非常完善的机器人语言系统:RAPID(90种数据类型,193个内置函数,328条指令);
  • 强大的离线编程软件RobotStudio,全功能版免费试用1个月;
  • 如果英文不好,ABB的中文手册翻译水平相对其他家较高(虽然也很差。。。)。
  • 阅读ABB机器人文档可参考这个顺序:

    1. 【Operating manual - IRC5 with FlexPendant】 介绍了IRC5控制器的基本操作方法和编程知识;
    2. 【Technical reference manual - RAPID Instructions, Functions and Data types】RAPID语言所有指令、函数和数据类型的介绍和使用方法;
    3. 【Product specification - Controller software IRC5】对IRC5支持的软件特性进行了概述,可以增强对IRC5的整体认识;
    4. 【Application manual - Integrated Vision】机器视觉文档,以及其他需要或者感兴趣的Application manual;
    5. 【Operating manual - Trouble shooting IRC5】故障排除手册,使用过程中遇到几乎任何问题都可以在这里找到答案。

    以上文档大部分都有中文版,不过还是推荐阅读英文版,糟糕的翻译可能会影响对内容的理解。

    RobotStudio中内置的虚拟控制器与实际控制柜中运行的软件是完全一样的,软件里也集成了一个虚拟示教器,操作界面与实际也完全一样,因此在RobotStudio中学到的机器人编程知识可以无缝应用到实体机器人中。此外,熟练使用离线仿真软件也是一个合格的机器人应用工程师的必备技能。

    关于ABB的学习资料,还可以关注这个网址:

    http:// robotpartner.cn/

    如果对KUKA感兴趣,也可以使用KUKA在培训时使用的OfficeLite,这是一个运行在虚拟机上的示教器+控制器,可以完成绝大部分KUKA机器人的操作,缺点是没有机器人的三维场景,不太直观。见下图:

    但是KUKA的中文操作界面有很多翻译坑die的地方,举个简单例子,大家自己看:

    学会机器人编程,只是集成应用的一部分,一个项目做得好坏,更多的取决于项目组对生产工艺/流程的了解和设计实施程度。机器人的应用场合越来越多,建议有志在此领域发展的知友专注于钻研1~2个行业,不要太过分散,向DURR,CLOOS这些企业学习。

    --机器人研发

    知乎上其实有很多非常棒的关于学习机器人技术的回答,搜索一下其实可以获得很多信息,做研发的人员应该具备良好的 归纳问题-->收集信息 的能力。另外,强烈建议做技术的同学购买VPN,使用google进行信息搜索,一年也就不到一顿撸串的价格,但是为你节约的时间是无价的。记住Marc Raibert所说的:Money saves time,and money!

    首选要做的,找几本经典的入门书籍认真读完,推荐列表可参考:

    机器人领域有哪些必读的「圣经」(书籍或论文或其他读物)? - 韩峰涛的回答

    非算法方向的,推荐【机器人学导论】,难度适中,覆盖范围广;其次推荐那两本机器人手册,从算法到结构都有涉及,可放在手边作为参考。

    算法方向的,除了上面的书籍之外,更多的是阅读论文和实践。推荐使用ROS

    ROS.org | Powering the world's robots

    (工业机器人是ROS-I

    ROS-Industrial

    )进行算法学习和验证,支持Python和C++,可用的开源库非常多,文档也很详细,不再赘述。此外,使用ROS相比Matlab有个好处,那就是可以尽早锻炼实际的软件编码能力。

    产品方向的,必须了解机器人的基本知识,不要只关注交互,「可行性」论证和设计在机器人产品研发中的比重要远高于软件产品。

    另外,

    @傅睿卿

    对机器人所用到的技术做了一个很好的归纳

    应该学习哪些方面的知识,才能适应机器人研发的工作? - 傅睿卿的回答

    如果你还在学校读书,可以参考一下这篇回答:

    自动化专业毕业的学长学姐们都在从事什么样的工作?有什么样的体会或者遗憾是关于大学的? - 韩峰涛的回答

    是否是自动化专业不重要,道理都是相通的。

    做技术研发同样需要熟悉机器人的基本操作,时间不够的话无需太过深入,了解自己所做工作的实际应用场合及缘由即可,学习渠道可参考上半部分。

    最后,再次强调, 请一定锻炼自己使用各种工具搜集信息、整理信息的能力

    暂时想到这些,后期想到别的再补充。



    专栏:

    OnionBots - 知乎专栏

    欢迎关注我们的公众号(珞石机器人,A轮,招人中):