玩ROS的人应该都知道TurtleBot,它是ROS官方最流行的机器人平台,很多地方都是以TurtleBot为ROS教学平台。TurtleBot包含移动机器人硬件和ROS软件包两个部分,ROS学习者没有一台自己的TurtleBot实验平台是很可惜的事情,本文介绍如何利用iRobot Create底盘打造自己的TurtleBot移动机器人平台,希望各位手头拮据的ROS爱好者也能拥有自己的ROS机器人。

TurtleBot的硬件组成

TurtleBot1

TurtleBot是非常典型的移动机器人,其硬件结构清晰简洁:移动机器人底盘,架子,RGB-D摄像头,外加笔记本。第一代TurtleBot由iRobot Create扫地机器人底盘打造,第二代TurtleBot由Kobuki机器人底盘打造,他们最大的区别在于Kobuki底盘比iRobot Create底盘多了IMU(惯性测量)部分。自制TurtleBot,就是按照这个架构自制架子,搭建自己的移动机器人硬件平台,以及解决ROS软件控制问题。30分钟只是搭建硬件平台的时间,软件部分才是最耗时的,可以很负责任地告诉以为搞定全套TurtleBot平台只需要30分钟的人:你们上当了:)。

物品清单

下面是主要物件清单:

名称 备注
iRobot Create底盘 目前只能海购,国内无售
ASUS Xtion pro Live摄像头 比Kinect好用太多
笔记本 至少两个USB口,内存4G,能装WIN7跑虚拟机就行

下面是框架的清单:

名称 备注
2020工业铝型材 170mm*2+200mm*5+240mm*3=2060mm。 2020表示截面为正方形的铝型材,边长20mm。 2根170mm固定在底盘上,4根200mm用于架高, 3根240mm为最上面的U形架,1根200mm用于安置摄像头。
2020角件 12个。用于连接铝型材。
20系列M4 T型螺母 24颗。M4表示螺纹型号,需配M4螺栓。
M4*10内六角螺栓 24颗。M4表示螺纹型号,10表示螺纹部分长度为10mm。
M4圆形垫圈 28片。
M4弹簧垫片 28片。
美制内六角螺栓6#-32*1 4颗。由于irobot create底盘螺纹孔为美标,与中国 国标不同,故框架与底盘固定必须使用美制螺丝。在 这里,6#表示螺纹直径,32表示牙距,1表示长度。 不可配错。

制作架子的材料如下图:

框架材料

Note

2020工业铝型材中的两根170mm铝型材需要与底盘固定,故各需打两个M3.5的孔(美制#6螺栓外径尺寸相当于国标M3.5,故可以用M3.5的钻头钻孔)。一般的铝型材卖家都会提供钻孔服务,图纸如下:

170mm铝型材

配件清单:

名称 备注
镍氢AA充电电池+充电器 iRobot Create底盘是不附带电池的,只有一个12 节AA电池串联的电池盒。
USB-RS232转接头 iRobot Create附带的数据线对外接口是RS232母头 串口,而一般电脑已经没有了串口,需要USB 转RS232模块与之相连接。

除了上述所有组件外,还必须保证手里有相应的工具,如起子套件。

组装过程

装配底盘

iRboto Create底盘基本套件开封后如下:

iRobot Create

绿色的是电池盒(无电池),右上角的是配件,右下角的是数据线。按照说明书,很轻松就能装配好底盘。

电池盒

将12节AA电池先充满电,用起子卸下四颗电池盒上的固定螺丝,打开电池仓即可将电池装入电池盒。

Tip

官方说明书上指示,电池需要使用普通的非可充电AA电池,不要使用非官方提供的充电电池。这纯粹是官方的唬人手段,每节普通AA电池是1.5V,而镍氢AA充电电池是1.2V,虽然电压并不充足,但还是可以用的。而官方提供的可充电池组实际上也是大容量的镍氢充电电池。

Note

镍氢电池可以随意折腾,但如果想改装成锂电池,则比较危险,不要轻易尝试。

装170mm铝合金型材

iRobot Create

用4颗美制内六角螺栓6#-32*1将两根170mm铝合金型材固定在iRobot Create底盘上,螺帽处最好加上弹簧垫片和普通圆形垫片。

装配架子

铝合金型材的每个接头处需要使用一个角件,两颗M4*10内六角螺栓,两颗M4 T型螺母,两片弹簧垫圈和两片圆形垫片。架子的装配是很耗费时间的,可以先将四根200mm的铝合金型材固定在已经装好的两根170mm型材上,然后在装配最上面的3根240mm型材,也可以先按照下图的方式装配。

Frame

最后装配中间固定摄像头用的200mm型材。具体效果参考最后的图片。

安装数据线

将USB-RS232转接头与iRobot Create的数据线相连接,并插入iRobot Create底盘(底盘右侧有个活动的盖子,掀开即可看到数据线接口)。

数据线也可以自己用USB-TTL模块做一根,如下图:

数据线

左边的是USB-RS232转接头与iRobot Create的数据线相连接的数据线,右边的是自己用USB-TTL模块做的数据线。自己做数据线的缺点就是得自己将3根插针——发送针,接收针,接地插入底盘上对应的TTL数据口。

安置摄像头

用尼龙扎带或者绳子将摄像头绑在200mm铝型材上面即可。

最后的效果如图:

TurtleBot

最后只需要将笔记本放在小车上面,用数据线将底盘与笔记本USB接口相连,将Xtion pro Live深度摄像头与笔记本USB接口相连即可。

Note

笔记本的USB口最好是USB2.0口,可能现有的驱动不支持USB3.0。

最后

关于TurtleBot的几个网站:

平台官网 http://www.turtlebot.com/
ROS软件包 http://wiki.ros.org/Robots/TurtleBot
ROS GitHub https://github.com/turtlebot