使用树莓派在安装了ROS后,按照ROS的架构可以开发一个简单的四轮驱动Wifi小车:如图。
<iframe height=498 width=510 src="http://player.youku.com/embed/XODY2MTM2MDA4" frameborder=0 allowfullscreen></iframe>
配件说明
- 双向电机马达 X4
- 树莓派B+ X1
- 双路转向控制芯片 X1
- 万向轮 X4
- 五号电池盒 充电宝 各一个
- 面包板一个
- 底盘支架1套
重点说明
这里需要4节电池对马达进行直接供电,马达伺服电机虽然可以输出5V稳定电压,但是无法给树莓派供电。所以要搭载一个充电宝对树莓派供电。电池和充电宝需要共地!
硬件连接
- 左右两排轮子,每排2个轮子要并联
- 转向控制芯片的两路输出要并联到两排轮子上
- 转向控制芯片的GND连接到树莓派gpio的一个GND
- 转向控制芯片四路输入连接到树莓派gpio的4个PIN上
软件开发
这个是重点,轮子的转速和转向通过PWM实现。IPAD的控制是用Tornado Web服务器实现的,python代码本身既是Web服务器也是 ROS的一个node,接收前端的POST请求后发送ROS消息到马达控制node.
前台是HTML5的一个控制台,可以实现前行,后退,左右转向,原地转向指令的POST等。
ROS框架下的node和msg设计非常适合机器人传感器的分布式开发。
后记
本次实验使用树莓派和ROS的原因是为以后的智能扫地机器人作铺垫。ROS已经集成了SLAM导航以及室内地图自动生产功能,对机器人走遍室内每个角落是个很重要的。