移动机器人原理与应用(基于ROS操作系统)
上QQ阅读APP看书,第一时间看更新

1.2 机器人操作系统发展与现状

机器人操作系统(Robot Operating System,ROS),历经十几年的发展,已经成为机器人开发中必然要使用的一个环节。这样一个复杂的软件系统,是如何诞生与发展的呢?

1.2.1 ROS的历史起源

2007年,一些斯坦福大学的学生产生了这样一个想法:我们有没有可能做一款个人服务机器人,帮助我们完成洗衣、做饭、收拾家务等我们不想做的事情,甚至还可以在我们无聊时,陪我们聊天玩耍。最后,他们真的“做出来”这样一款机器人。

他们深知做出这样一款机器人并不容易,机械工艺、电路、软件都要涉及,而且横跨很多专业,一个人做不了这些工作。那为什么不联合所有人一起干呢?如果我们设计一套标准的机器人平台和应用软件,就可以让所有人都在同一个平台上做应用开发,因为应用软件都基于统一的平台,所以我们就有机会共享其他人开发的应用软件。

初期的机器人原型是用实验室可以找到的木头和一些零部件组成的,后期有了充足的资金,才得以实现这款外观精致、性能强悍的机器人——Personal Robot 2(PR2),如图1-4所示。

图1-4 ROS中的元老机器人——PR2

PR2机器人可以完成叠毛巾、剪头发、空地协同、熨烫衣服、做早餐、打台球等一系列复杂的活动,以叠毛巾为例,这在当时是轰动机器人圈的重要成果,因为第一次有机器人可以完成柔性物体的处理,虽然效率不高,但在学术层面却推动机器人技术向前走了一大步。

PR2中的软件框架就是ROS的原型,ROS因这款个人服务机器人而被大家熟知,很快从PR2中独立出来,成为了更多机器人使用的软件操作系统。

1.2.2 ROS的发展与现状

ROS发展历程如图1-5所示,ROS诞生于2007年的斯坦福大学,早期的PR机器人项目在Willow Garage公司的支持下,快速发展迭代。2010年,第一批20台PR2机器人落地,Willow Garage为这些机器人举办了毕业典礼,此时他们已经为其中的软件正式确定了名称,就叫作机器人操作系统(ROS)。同年,ROS也肩负着让更多人使用的使命,正式开源。

图1-5 ROS发展历程

PR2机器人虽好,但是成本居高不下,几百万的价格让绝大部分开发者望而却步,官方在2011年发布了一款性价比更高的机器人——TurtleBot,这款机器人采用扫地机器人的底盘,加上体感传感器Kinect,使用笔记本电脑就可以控制。其支持ROS众多开源功能,更关键的是价格便宜。这款机器人的普及,很大程度上也推动了ROS的应用。

从2012年开始,使用ROS的人越来越多,ROS官方也开始每年举办一届ROS开发者大会——ROS Conference(ROSCon),来自全球的开发者齐聚一堂,分享自己使用ROS开发的机器人应用,持续至今。这也是ROS一年一度的盛会,参与人数和企业越来越多,其中不乏亚马逊、Intel、微软等大公司的身影。

经历前面几年野蛮而快速的增长,ROS逐渐迭代稳定。2014年起,ROS跟随Ubuntu系统,每两年推出一个长期支持版,每个版本支持五年时间,这就意味着在支持期间,ROS自身的变动不再会频繁导致上层应用出现问题,这让ROS又一次加快了普及的步伐,2016年的Kinetic版本、2018年的Melodic版本、2020年的Noetic版本,表明ROS一步一步进入稳定迭代周期。ROS机器人应用案例如图1-6所示。

图1-6 ROS机器人应用案例

时至今日,ROS已经广泛用于各种机器人的开发,无论是机械臂、移动机器人、水下机器人,还是人形机器人、复合机器人,统统都可以看到ROS的身影,可以说ROS已经成为机器人领域的普遍标准。ROS发展迅猛,正在推动机器人革命这波浪潮,相信每一个人在其中都大有可为。