自1961年发明家George Devol将第一台工业机器人Unimate出售给通用汽车(GM)以来的数十年间,机器人操作系统(OS)有了飞跃式的进步;以创造者所工作的制造领域为起点,它们后来变成学界的关注焦点,然后又回归工业界。
“在过去,有一段时间在操作系统技术领域有深入且活跃的研究;”美国俄亥俄州立大学(The Ohio State University,OSU)工程学院院长Ayanna Howard接受《EE Times》采访时表示:“但我会说,大多数人现在认为更困难的问题已经解决,这也是为什么会有更多的专有OS,因为就是要针对特定应用让它更好、更快。”
Ayanna Howard (右二)是美国俄亥俄州立大学工程学院院长。(来源:OSU)
Howard指出,那些关于OS──特别是对机器人系统的支援──的更困难问题,部分与数据、以及指令被处理的应用有关,包括平行处理、将数据从RAM传送到微处理器,以及处理来自传感器数据的各种各样芯片上运算等等。
OS专有化趋势
为特定应用开发专有操作系统的厂商,包括工业自动化暨电子零组件供应商欧姆龙(Omron);该公司机器人暨安全技术部门首席软件工程师Luke Broyer对《EE Times》表示:“我们在所有操作系统中大量使用Linux。”
Luke Broyer,Omron机器人暨安全技术部门首席软件工程师(来源:Omron)
来自Broyer及其团队的一部份OS软件,是为Omron的自主移动机器人(AMR)所开发;该公司AMR的硬体包括一台x86电脑,负责高端路径规划,以及一般自主功能。该机器人也配备了微控制器(MCU),支援更需要即时回馈的必备功能,像是与放大器、取得回馈还有进行几何运算。
电脑与微处理器透过不同的通信方法沟通,包括序列通信,以及MQTT协议,但Broyer表示他们打算改用DDS协议──这是一种特别适合生产品质数据的中介软件标准。
“DDS更适合控制,以及时序(timing)相关的东西,“他解释:”这也是我们想转换的原因,那将会很强大,能让我们所有的传感器将数据馈入汇流排,而且如果有人想看那些数据,都能够读取…我们不需要个别发送。“
Broyer指出,Omron以往习惯在AMR的MCU采用即时操作系统(RTOS),但对于他们的目的来说并非必须:“因此,我们转向一些更强大的Arm处理器,让我们可以利用名为Yocto的工具打造自己的定制化Linux变体。“
Arm处理器是一个以精简指令集电脑架构为基础的CPU系列;利用Yocto,Omron可以只用需要的一部份Linux,并因此保留AMR的处理能量在需要的地方。
另一个专有OS则是在Dusty Robotics的建筑布局绘图机器人上执勤;一开始该公司是使用被称为ROS (Robot Operating System)的开放源码中介软件。
“让我们很惊讶的是,很多机器人公司都爱ROS,它几乎无所不在;”Dusty Robotics Tessa Lau接受《EE Times》采访时表示:“我们放弃它是一个非常具争议性的决定,因为我们有点是逆势而行。”
Tessa Lau,Dusty Robotics首席执行官(来源: Dusty Robotics)
让全世界的机器人运作
全球科技情报公司ABI Research策略性技术副总裁Malik Saadi接受《EE Times》采访时表示,有超过740家公司采用以ROS为基础的机器人,“包括老牌厂商如Bear Robotics、Canvas、Clearpath Robotics、Fetch Robotics 、Gideon、John Deere、Locus Robotics、MiR、Ocado与Vecna Robotics。”
他进一步指出:“最近几年,像是Amazon、Google、Microsoft等大公司,也开始对系统业务显露兴趣,并展示对ROS的支援;这些趋势让ABI Research认为,到2030年,全球将有四分之三的商用机器人将内含某种形式的ROS套件。”
ROS在2017年被更新到ROS2,更新版本是每年发布。产业组织ROS-Industrial (ROS-I)将ROS的功能延伸到制造领域,并在2012年在GitHub上发表。
Lau并未对Saadi的看法──即ROS的强大──提出异议,但她们家的机器人就是不需要ROS。她指出,ROS源自于美国史丹佛大学(Stanford University),以及机器人公司Willow Garage,很适合原型制作与研发。
“但当你要打造一款产品,就像Dusty,我们的产品如同一辆车子;”Lau形容:“若运转不顺利,你不能发动车子而得重开机,或者你也不会想烦恼得花多少时间才能初始化操作系统。这些都是ROS的本质。”
Dusty Robotics在建筑工地现场印制布局图。(来源:Dusty Robotics)
Lau和她的团队已经完成以自有定制化软件堆叠取代ROS的工作;“我们的机器人只做一件事情:它就是一台印表机。当你开启印表机并预期它会开始列印,其实有95%的ROS功能都用不到,但那些东西还是会被加载到你的系统,占据存储器空间,拖慢整体运作。”
ROS真的是ROS吗?
Lau所言并未触及ROS具争议性的本质,有一篇概述该开放源码软件的论文指出,ROS其实“在传统概念上”并非机器人OS;而ROS-I美洲专案经理Matt Robinson也这样认为。
Robinson接受《EE Times》采访时表示:“那是一个让不同部份零件能够非同步互动、以实现某些目标动作──像是拾取物品,或是在我们的案例中通常是喷涂、打磨或焊接──的中介软件框架。”
他指出,在Linux之上,ROS-I能协助机器人实现分析、工具路径规划、碰撞检查等任务;ROS的随插即用本质以及无所不在,已经为程式设计师建立了一些既有标准。
“一开始,ROS在介接不同传感器方面具备价值;”先进制造机器人(Advanced Robotics for Manufacturing,ARM)研究所工程总监Larry Sweet对《EE Times》表示,“也因为如此,每一位系统整合者不用一次次重复编写介面程式码。”
Lau总结她的观点:“在一般机器人中,会有硬件,有Linux操作系统,而在那之上则有ROS;所以你可以将之视为操作系统的一部分,那也是它为何被叫做‘机器人操作系统’;而你也能把它看成是在Linux操作系统之上的中介软件,就像你可以把番茄(Tomato)叫成‘toh-mah-toh’那样。”
(参考原文:Robot Operating System Advances Left Up to Industry,by Ilene Wolff)