一、前言
首先说一下我的运行环境
操作系统:UbuntuKylin-14.04
ROS版本:indigo
机器人平台:iRobot Create
陀螺仪:ADXRS610(±300°/sec)
注意Turtlebot2采用kobuki底盘,自带标定好的陀螺仪,所以不需要标定。但是我的iRobot Create移动机器人平台本身是不带陀螺仪的,我购买了dfrobot社区的ADXRS610陀螺仪,陀螺仪的模拟输出引脚RATEOUT接在iRobot Create的cargo bay连接器(就是底盘中间的DB-25并口)PIN4引脚Analog input上,连上电脑可以直接读取到陀螺仪模拟信号经过底盘AD芯片转换过得数字信号,默认值是500。
二、陀螺仪的安装
(1)ADXRS613
有些版本的Turtlebot是自带ADXRS613陀螺仪芯片的,在Sparkfun上也有这块芯片的breakout board:Gyro Breakout Board - ADXRS613 - 150°/s
这块板子已经停产,我找了下sparkfun的中国代理商奥松机器人商城里也买不到这块板子。不过sparkfun的主页上有这块板子的原理图,可以自己淘宝买ADI公司的ADXRS613芯片自己焊一块陀螺仪的接线板,值得注意的是这块芯片是BGA封装的,它没有引脚,底部是锡球,如下图:
这种封装的芯片手工焊成功率挺低的,我第一次就是买了芯片照着原理图设计了PCB,然后把板子做出来焊上元件,结果RATEOUT引脚输出是个定值,旋转芯片输出电压不随之变化,妥妥地焊坏了。
(2)ADXRS610
不得不说国外良心网站真多,我在dfrobot上找到了类似上面那块板子的陀螺仪:Gyro Breakout Board - ADXRS610
可以在dfrobot的中国代理商 DFRobot开源硬件及机器人商城购买:http://www.dfrobot.com.cn/goods.php?id=333
这块板子接线和上面板子差不多,就是测量范围(gyro_measurement_range)有差别:
ADXRS610:±300°/秒
ADXRS613:±150°/秒
不过ADXRS610便宜好多,性能上稍微差点,不过够用了,最重要的是不用自己焊BGA封装的芯片!!!
【安装】:
首先把排针焊在这块板子上,利用