关注同名微信公众号“混沌无形”,阅读更多有趣好文!
原文链接: 差速驱动机器人轮间距校准(包含原文PDF百度云下载链接)
这里校准实验以两轮差速驱动机器人为例,按照章节3.1所述,控制机器人自旋整周,并观察停止时位姿与初始状态位姿的重合度,如何评估重合度,可以利用一个小技巧:
利用地砖缝。如图 4.1所示,摆正机器人,让机器人的左右驱动轮均正好压在地砖缝上,接着再控制机器人自旋,当机器人停止后,观察机器人的左右驱动轮是否能够正好压在地砖缝上,若恰好压上,则说明校准成功,此时的轮间距数值非常接近真实值;若没有压上,则根据章节3.1中的阐述,对轮间距数值进行微调,直到能恰好压在地砖缝上。
ROS官方提供的校准demo[2]还和章节3.1介绍的方法有小变化:demo中使用了里程计(原理和《常见移动机器人轮直径校准》提到的轮直径校准相似),机器人根据里程计来判断是否达到目标位置。
可以进一步简化理解为:机器人自己认为达到目标位姿时,就停下,而此时停下的位姿很可能并不是真实的目标位置,这就需要通过调节轮间距的数值,直到机器人能够准确达到目标位姿为止。
在校准实验前,还应调节好驱动轮PID速度控制器的参数,保证能够“瞬间”启动、停止,以确保运动精度。
如图 4.2为轮间距校准实验对应的ROS网络节点图,其中calibrate_angular为校准节点,motor表示电机控制节点,odomsubpub为里程计发布节点。
其中,ROS校准demo还支持GUI调参,包括校准测试角度(test_angle)、运动速度(speed)、允许误差(tolerance)及里程计角度缩放校准因子(odom_angular_scale_correction)。
参数调节及测试结果如表 4 1所示,反复调节,逐步收敛到较为理想的准确值,驱动轮的轮间距最终校准直径为806cm。
与《常见移动机器人轮直径校准》中的校准过程及结果相比,可以看出角度的敏感性大于直线,因此轮间距误差引起的运动控制误差将大于轮直径误差引起的。
精彩的理论论证过程见原文链接(含全文下载链接)
由于网页排版效果一般,所以笔者按照期刊论文版式为小伙伴们整理了原文PDF,方便收藏和回味。
原文链接:差速驱动机器人轮间距校准(包含原文PDF百度云下载链接)
CSDN下载链接:如果喜欢的话,可以关注同名微信公众号“混沌无形”,阅读更多有趣好文!