两轮差速驱动机器人轮间距校准方法

关注同名微信公众号“混沌无形”,阅读更多有趣好文!

原文链接: 差速驱动机器人轮间距校准(包含原文PDF百度云下载链接)

如图 3.2所示,两轮差速驱动机器人是采用自旋(旋转)的方式来校准轮间距,如:控制机器人自旋一整周(图 3.2(b)),该圆周的直径就是轮间距,则可以通过测量驱动轮运动的距离(周长),计算出轮间距。(这里采用自旋的方式,是为了减少机器人运动路程,降低实验测试占地面积需求。) 

因此,要校准轮间距,就需要先校准轮直径,否则上述提到的使用驱动轮运动的距离来作为周长的数据就是不准确的,具体可以通过下面公式来分析。

 如图 3.2所示,假设机器人以角速度w逆时针自旋,左(右)轮运动的路径长度l可表示为

式中,θ表示轮轴转过的角度,d表示驱动轮直径,n表示驱动转动的圈数。 

结合实际,公式(2)可变化为

 

式中,dwb’表示轴间距测量值,dwb*表示轴间距真实值。

公式(3)中,轴间距测量值计算对应的弧长不一定等于驱动轮运动的路径长度,因此需要在测量值的基础上进行调节,以缩小与真实值间的偏差。

为实现校准的目的,从实际操作角度来看,这里需要对轮轴转过的角度θ做一个特殊处理,一般设定θ等于2π的整数倍,即控制两轮差速驱动机器人自旋整圈数,通过接下来的公式分析。 

根据公式(3)可知,假设机器人自旋M圈,则驱动轮需要转动的圈数可表示为

 实际上,我们是很难控制驱动轮转动n圈的,所以需要参考《常见移动机器人轮直径校准》中使用编码器计数的方式来辅助控制,假设驱动轮转动一整圈,编码器tick计数为g,则根据公式(4),得到编码器总tick计数G为

 

 

所以,仅需要控制机器人自旋运动,同时高频采集编码器计数,如果计算值达到G,则立即控制机器人停止。

按照上述步骤执行,肯定会出现一个现象:由于公式(4)中的dwb’是测量值(不精确),编码器目标值G是根据测量值dwb’计算出来的,而机器人实际上是基于真实值dwb*在运动,所以当按照编码器目标值G停止时,机器人位姿也肯定不会与初始位姿保持完全一致(如图 3.3所示),所以需要基于轴间距初始测量值进行微调节:

如图 3.3(a),假如机器人实际运动停止位姿超前,说明机器人“走多了”,原因是公式(5)中计算的编码器目标值G偏大,所以轴间距初始测量值dwb’ 较真实值dwb*偏小,应该调大。 

反之,如图 3.3(b),假如机器人实际运动停止位姿滞后,说明机器人“走少了”,应该基于轴间距初始测量值dwb’调小。

这里回答之前埋下的伏笔:为什么需要先校准轮直径? 

从公式(5)可以看出,我们计算编码器目标值G时,默认了驱动轮直径d是精准的,所以在没有校准轮直径前去校准轴间距,结果是不准确的。

 

精彩的理论论证过程见原文链接(含全文下载链接)

由于网页排版效果一般,所以笔者按照期刊论文版式为小伙伴们整理了原文PDF,方便收藏和回味。

原文链接差速驱动机器人轮间距校准(包含原文PDF百度云下载链接)
CSDN下载链接:

差速驱动机器人轮间距校准PDF

如果喜欢的话,可以关注同名微信公众号“混沌无形”,阅读更多有趣好文!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

混沌无形

谢谢老板

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值