在大型工厂里,管理者可能想用机器人来替代人工完成枯燥的重复操作;在独生子女家庭,父母可能想过让智能机器人来陪伴自己的小孩儿;在独居老人家中,儿女可能想过让机器人来照顾年迈的父母。无论在工业、家庭,还是医疗等行业中,机器人发挥着越来越重要的作用,未来的机器人朝着应用多元化、功能智能化方向发展。在这样的趋势之下,工程师在设计中应该怎样选择合适的机器人操作系统?机器人操作系统对机器人的智能化有怎样的推动作用?针对这些问题,笔者邀请了英特尔亚太研发有限公司开源软件技术中心ROS工程团队经理杨洪来谈一谈自己的看法。
英特尔亚太研发有限公司开源软件技术中心ROS工程团队经理杨洪先生
服务机器人、工业机器人、康复机器人将大有可为
机器人应用越来越广,机器人技术发展很快,针对未来机器人领域的发展,杨洪先生从三个方面做了分析:首先,服务机器人的发展将会更快速与深远。随着智能感知、大数据、人工智能等新技术的进一步成熟并融合进机器人领域,服务机器人将会更智能、更实用。整合了智能虚拟助理的未来服务机器人,必将是能移动、会说话、在特定领域具备专业技能的一个智慧体,也必将更深度地融合到人们的日常工作、生活之中。
其次,工业协作机器人将会成为很多工业领域的大势所趋。当前,由于技术、资金、产业耦合度等等一些原因,以汽车制造为代表的自动化制造领域,虽然机械手臂的普及比率不低,但还是以人机隔离、以既定程序来运行的模式。随着各种短板的逐步克服,特别是在网络通讯、边缘计算等技术能够普及落地以及实时性、安全性、稳定性等方面的问题得到大幅改善之后,人机协作模式(亦即人和机械臂处在同一个作业区域里共同完成一些工作)将会成为更经济更高效的智慧工厂的必然方向。此外,伴随着基因技术、纳米技术、人工智能、智能硬件的发展,医疗机器人、陪护机器人等在远程医疗、微创手术、3D呈现以及术后康复、陪护等方面比较大的发展空间。
造就智能化机器人选择合适的操作系统是关键
如果人类想要赋予机器人“灵魂”就要配备合适的操作系统,在此基础上才能让机器人完成更复杂、更高难度的任务。目前,机器人操作系统已经被很多机器人设计厂商所熟知,然而,如何正确地选择一个适用于特定场景的机器人操作系统还存在一定的困扰。他们比较担心几个问题,第一,让自己的程序跑在开源的或者是第三方的操作系统之上,会不会导致自己的商业机密或者知识产权遭到泄露?第二,一旦引入了大批量的第三方代码,将破坏产品的代码逻辑,增加代码复杂度,加大代码的维护与修复成本。第三,对于关注于产品运行性能的厂商,可能会担忧一个机器人操作系统的引入,会加重机器人产品的运算负担,从而拉低机器人系统的运行性能。
ROS系统已经被厂商所接受并采用,ROS系统的核心代码都是以BSD许可协议开放源代码给所有人的,(ROS2,更新换代的ROS系统,使用Apache许可协议),该许可协议允许任何人使用并更改代码,并且允许任何人具备发布或者不发布自己的代码的权利,作为更新换代的ROS2系统,使用了Apache许可协议,同BSD协议具备相似的权力许可。这在尽量多借鉴别人成就的同时,很好地保护了一些机器人制造厂商的商业机密与知识产权。
ROS由OSRF统一管控,开源并考虑整体发展
机器人技术是一个跨领域、跨学科的纷繁庞杂的系统。ROS采用分布式模块化设计,对于不同层次的专业知识,封装在不同的层次与模块中,并且提供了一系列的调试与监控工具。这样以来,既让不同行业的专业人才专注于自己擅长的领域内,又能通过特定的接口或者工具与其他领域的一些模块做无缝对接。既能保证各个模块的专业性,又能保证模块之间对接的便利性与高效性。
更重要的是,ROS具备开源优势。一个开源的项目能够吸引更多的人或团体的加入,每个人都可以便捷地向开源项目贡献自己的成就,也可以便利地从开源项目上获得支持与帮助。其次,ROS的架构设计是为机器人系统量身打造的。ROS架构的核心概念是分布式、模块化,不管是ROS的核心部分,还是特定功能的应用,都是独立的模块设计。再加上清晰简洁的接口定义与实现,使得在物联网(IoT)领域的很多轻量级SoC,都能被轻易地在ROS系统里应用起来;也或许是ROS优胜的一个重要原因,ROS虽然是开源的,但是一直由OSRF(开源机器人基金会)统一管控的。自2007年以来10多年的时间里,虽然ROS经历过几次变革与起落,但是一直被比较好地管理着,这对于ROS系统的整体走向的把控、整合一些团体与个人、高效决策等等都具备相当重要的作用。
完善的生态系统是操作系统向前发展的强大动力
就像Windows和Linux操作系统,需要建立一个完善的生态系统才能推动其更快更好地发展。ROS是一款糅合了众多知识体系的操作系统,越多的人参与,越会获得更好的完备性、迭代性。杨洪强调,“每一次的跨学科的创新,都需要从实验室到应用实践等不同层次地反复推敲与尝试。各种不同层次、不同学科、不同专业的人们一起工作能够大小专业之间的壁垒,才能让看似不能解决的问题获得创新性方案。”
ROS生态系统的布局分为几个层次。首先,ROS系统提供了足够的说明文档、网上论坛。初学者可以从相关网站上获得足够的学习资料,快速入门。目前这些网站的访问量已经相当惊人,而且包括中国在内,有许多团体或个人在致力于将这些网站的相关资料本地化,以期降低进入门槛,更好地服务本国或者本地的学习者们。
其次,ROS社区每年都会在全球召开ROS开发者大会,该大会的热度逐年上升,吸引了社会各界认识的关注,为ROS的生态系统的搭建起到了很好的推进作用。除了全球性的年度ROS大会,许多国家,如日本、中国等等,也已经或者正在筹备一些区域年度大会,这使ROS的生态进一步向更细分的市场、更小众的需求类别上渗透。针对ROS社区的发展壮大,围绕ROS有不少的联盟陆续创立,ROS也被应用到了不同的领域,譬如针对于工业机械臂的智能化发展的工业机器人操作系统(ROS-Industrial)、无人机、自动驾驶、智慧农业、服务业、医疗、安防等等。
另外,ROS系统到目前已经拥有了数以千记的软件包,一些重要软件包的维护者也合纵连横,会定期或不定期地以工作组或者论坛的形式共同商讨ROS的发布、趋势预估等。期待更多的国人能够在享受ROS带来的便利的同时,能够多贡献自己的代码,让更多的人以维护者的身份加入到ROS的建设中来。
英特尔在开源技术方面给予ROS/ROS2领域合作伙伴提供了支持,主要包括:创建具有产品价值的开源软件堆栈,填补关键技术空白以加速ROS2成熟度,通过英特尔AI和芯片技术为机器人带来智能,为物联网工业平台提供机器人软件解决方案,以及基于OpenVINO工具集的ROS/ROS2神经网络视觉加速方案。
操作系统的进步推动机器人向智能化迈进
ROS于2007年发布第一个版本,经过十年发展,很多前沿技术在快速发展,同时,业界对于机器人操作系统的需求也发生了很多变迁。结合目前的发展趋势,未来机器人操作系统发展会着重于如下的一些方向:
第一, 消息传递机制更关注于效率与安全。基于机器人产品的特性,分布式的模块化设计与信息传递将是设计的重点。而对于机器人产品化的过程中,消息的传递将首先以安全为重。
第二, 跨平台。机器人系统并不会独立存在,往往会依托于已有生产、服务系统,做智慧化或功能化的扩展。如此一来,就要求机器人系统尽可能多地支持既有系统。
第三, 支持物联网设备和小型系统。未来的机器人势必要和其他产品或设备协同工作,来达到更高级别的智能性。同时,在机器人普及的趋势下,机器人与机器人之前的协作、沟通也变得更迫切。因此未来的操作机器人操作系统需要具备更好的连接性、更小的模块设计,符合协同工作、万物互联的大趋势。
第四, 支持可扩展的智能化需求。不论是业界还是普通人的直觉理解,都会把智能化作为机器人发展的很重要的一个标识。因此未来的机器人操作系统,对于人工智能的兼容程度也相当重要,提供必要的运行时支持与相对标准的神经网络的接口抽象,并尽可能多地将给予人工智能的高速算法融入到机器人操作系统的核心领域。
- 支持 BLE 连接、由 4mA 至 20mA 电流回路供电的现场发送器参考设计
- PCT2075DP-ARD: Arduino Shield
- NCP380LSN05AGEVB:高侧配电开关评估板
- NCP137AFCT110T2GEVB:偏置轨 LDO 稳压器演示板
- LT8631EFE 400kHz、5V/1A 高压/温度降压转换器的典型应用电路
- DIY拼板桌垫
- 宠物喂食
- 具有峰值电流软启动、小尺寸的 LTC3632EDD、3.3V、20mA 稳压器的典型应用电路
- FUSB302BGEVB:Type-C 接口检测解决方案评估板
- 使用 Analog Devices 的 LTC2415-1IGN 的参考设计