ROS史话36篇 | 28. TurtleBot的故事

142
0
2020年5月13日 10时36分

TurtleBot是一款移动机器人,特点是便宜。TurtleBot带有摄像头和移动底盘,可以用于研究机器人的导航问题:即机器人决定往哪个方向走,怎么走,怎么绕过障碍物,最终到达目的地。不少ROS的初学者是在TurtleBot的陪伴下学习的机器人编程的。以至于一些人想方设法能获得一台TurtleBot,好像没有TurtleBot,就没法学习ROS,没法学机器人编程了。

 

随着ROS的普及,也让一些人看到商机,一些代理就通过销售TurtleBot发了点小财。也有一些机器人爱好者,通过打造与TurtleBot功能类似的机器人,在经济上小有收货。ROS的官方说法,TurtleBot总共卖出了上千台。让我们跟随TurtleBot的故事,探究其中的奥秘。

 

第一台TurtleBot

 

一开始,人们一直有种错觉:为了能使用ROS,就必须有一台PR2机器人。因为PR2非常昂贵,人们自然也会推理,认为ROS是一个很难用的系统。

 

当时ROS刚刚推出, 车库的两位工程师,图利·弗特(Tully Foote)[1] 和麦罗尼·威瑟(Melonee Wise)[2]认为,这也太不现实了。怎么能期待一般的开发者拥有这么昂贵的机器人才能用ROS进行机器人开发呢?

 

开发者的这种错觉非常不利于ROS的普及。

 

“如何让大学的老师、学生、机器人爱好者拥有一个价格上能够接受的硬件平台,方便学习ROS”,这样的问题开始在图利·弗特和麦罗尼·威瑟脑海中不停盘旋。

 

车库做了非常多的尝试,希望ROS能在其他一些机器人上跑起来。图利·弗特办公室有一台乐高玩具机器人,他们曾经尝试在这样的玩具上跑ROS,但是不是非常成功。能做的似乎只能让电机转动,无法实现机器人常见的导航,毕竟这样的玩具机器人运算能力不足。

 

ROS史话36篇 | 28.	TurtleBot的故事插图

 图: 图利·弗特 (左) ,TurtleBot(中),麦罗尼·威瑟 (右)

 

2010年年底,墙角的一台扫地机器人引起麦罗尼·威瑟的注意。这是一款iRobot机器人[3],他们马上了解到,当时iRobot机器人公司还有一款专门为开发者设计的机器人,iRobot Create。利用机器人本身提供的API,可以对iRobot Create进行编程。

 

当时微软的Kinect相机刚推出,很火。Kinect可以获得场景的深度信息,这与我们常见的获取颜色信息的相机不同,这款相机的图像是深度,也就是拍摄到信息是物体到相机的距离。这款设备本来是为家庭游戏打造的体感设备,可以一经推出,马上就吸引了机器人和计算机视觉研究者的注意,把它作为一个经济实惠的图像获取设备来利用。

 

图利·弗特 和麦罗尼·威瑟把Kinect固定在iRobot Create上,这样就有了深度相机Kinect,有了移动平台iRobot Create,一款可移动、可用视觉进行导航的机器人就有了,而且还非常便宜。“便宜”正式图利·弗特和麦罗尼·威瑟是想要的,只有便宜才能让更多的人用得起。世界上第一台TutleBot见图3.1。

 

ROS史话36篇 | 28.	TurtleBot的故事插图(1)

 图:世界上第一台TurtleBot

 

可这仅仅是硬件,用市场上可以买到的设备,拼装在一起。最让图利·弗特和麦罗尼·威瑟头痛的是设备驱动部分。如何打开硬件提供的端口,建立连接;如何将相机获取的数据,并进行特定的数据格式进行解析;如何把这些封装在一起,给最终提供给ROS的开发者的是一个简单的接口。

 

有了移动平台,有了摄像头,还需要一个计算机来运行ROS的相关算法。自助导航是ROS的精髓,为了把这个精髓表现的淋漓精致,这个平台必须能实现自主导航。要便宜,还要功能强大。图利·弗特和麦罗尼·威瑟测试了不同的电脑,希望找到一款性价比最高的计算平台。当然,后面的故事大家都知道了,他们选择了华硕的一款上网本,性价比极高。

 

虽然他们又解决了iRobot Create的内置里程计准确度不高的问题,解决了Kinect的供电问题。

 

Google一次购买了8台这样的原型机,用于内部研究项目。

 

两人又花了点时间,做产品的设计。TurtleBot的图标就是一个海龟背上有ROS图标中的9个圆点。很快对外发布了。

 

就这样,Turtlebot火了。

 

笔者所在的实验室最开始也是利用Turtlebot做研究的。考虑到成本,笔者从美国采购了iRobot Create,学生们自己DIY了其他支持部件。深度相机用的是华硕的Xtion Pro Live。

 

Turtle是海龟的意思,Bot是机器人的缩写。TurtleBot字面上讲,就是“海龟机器人”的意思。为什么叫乌龟机器人,而不是螃蟹机器人,蟑螂机器人,金鱼机器人?

 

让我们慢慢解释。

 

有这么一位,叫威廉姆·格雷·瓦尔特(William Grey Walter),1910年出生于美国[4],幼年由于父母的缘故,来到英语求学。后来成为一名神经科学家。一生多数时间在美国做研究。

 

ROS史话36篇 | 28.	TurtleBot的故事插图(2)

图:威廉姆·格雷·瓦尔特在组装“机器冒险者”

 

为了研究大脑和神经反应,1948至1949年间,威廉姆·格雷·瓦尔特特制作了一个被自己称为“机器冒险者(拉丁语为Machina Speculatrix)”的机械装置。希望通过让机器装置来模仿,研究神经反应和人类的行为。“机器冒险者”采用了三轮结构,一个转向轮,两个驱动轮。前面的转向轮用于控制方向,两个后轮用来驱动整个机构。

 

威廉姆·格雷·瓦尔特在这个三轮“机器冒险者”的上面遮盖了一个外壳,看起来非常可爱,像一只大乌龟。人们称其为威廉姆·格雷·瓦尔特的“乌龟”,这只“乌龟”是人类历史上第一个自主移动的机器人。

 

ROS史话36篇 | 28.	TurtleBot的故事插图(3)

 

威廉姆·格雷·瓦尔特的“乌龟机器人”对机器人学、人工智能产生重大影响。很多人在威廉姆·格雷·瓦尔特的“乌龟机器人”影响中成长起来。

 

其中,1956年有一位大学生伊万·苏泽兰(Ivan Sutherland)给威廉姆·格雷·瓦尔特写了一封信,信中伊万·苏泽兰虚心地向廉姆·格雷·瓦尔特请教、征求意见。

 

这位伊万·苏泽兰就是后来的ACM图灵奖获得者,图形用户界面(Graphical User Interface ,简称GUI)的发明者, SketchPad的发明者,以及 “虚拟现实之父”。

 

乌龟(Turtle)在机器人领域基本成了机器人的代名词了。有TurtleBot这样的名字,也就不足为奇了。

 

[1] 图利·弗特现就职于“开源机器人基金会”,负责ROS的开发和推广工作。

[2] 麦罗尼·威瑟加入车库非常早,是车库的第2号员工。在车库解散后,带了几位工程师,创建了Unbounded Robotics公司,开发与PR2类似的通用机器人平台上,但是由于与PR2版权关系,很快公司就解散了。这几位车库的员工又创建了Fetch 机器公司,将重点转移到仓储物流领域的机器人应用上。

[3] iRobot机器人公司创建于1990年,三位创始人是罗德尼·布鲁克斯(Rodney Brooks), 科林·安格尔(Colin Angle)、 海伦·格雷纳(Helen Greiner)。罗德尼·布鲁克斯当时是MIT的教授和另两位是MIT的学生。MIT位于美国的东海岸,可以看出那是东海岸的创业热情也是非常高。

[4] 可参考The robotics primer by Maja J Matarić, 2007. 2017年出了中译本《机器人学-经典教程》

发表评论

后才能评论