混沌系统是世界的本质,无形中有规律。机器人智能化发展从线性过渡到混沌,本号将共享机器人全栈技术(感知、规划、控制、软件、机械、硬件等)。
42篇原创内容
公众号
[文末提供原文PDF免费下载(期刊论文版)
:参数校准是机器人运动控制的基础,本文依次介绍car-like robot前轮零位、前轮转向分辨率、轮间距、轴间距等参数的校准原理和方法,最后分析上述运动参数的校准顺序。
01
写在前面
为什么要校准?这个问题也详细阐述了校准的基本原则和方法(本文不再重复,感兴趣的读者可以回顾)。
本文是移动机器人参数校准系列的第三篇文章——car-like robot校准运动参数。
02
Car-like Robot运动参数分析
在《常见移动机器人运动学模型》一文中,总结了常见的移动机器人运动学模型。介绍了常见移动机器人轮直径校准car-like robot但在《差速驱动机器人轮间距校准》中没有介绍轮直径校准方法car-like robot轮间距校准,这里埋伏笔,后面给出答案。
除上述轮径校准外,car-like robot其他运动参数也需要校准,这里是 2.1中对应的car-like robot以运动学模型为例(完整运动学模型分析见《Car-like Robot运动模型及应用分析):
从公式(1)可以看出,有两个参数会被使用,前轮虚拟转向角_θ_H和轴间距_dtk_(即AB和FG距离),后轮中心速度_vbs_已通过轮直径校准实验进行校准。
需要进一步分析:校准前轮虚拟转向角_θ_H,需要校准前轮转向零位和转向角分辨率;要校准轴间距,需要先校准轮间距;上述校准的前提是已完成轮直径校准(具体原因在后面分析说明)。
图 2.1 car-like robot运动模型简图.灰色区域表示机器人实际简化模型,而橙色虚线则表示简化等效自行车模型(详细变量符号定义见《Car-like Robot运动模型及应用分析)。
如果前轮转向角、轴间距等参数测量不准确,使用运动方程转换计算会造成较大误差,运动越远,误差会累积放大,因此需要校准上述参数!
03
校准前轮转向参数
3.1
如果校准前轮虚拟转向角_θ_H,前轮转向零位和转向角分辨率需要校准。具体原因如下:
如图 2.1.前轮转向电机需要驱动ABDC四连杆机构旋转前轮虚拟转向角_θ_H 运动达到运动会达到目标值A或B位置转动角度测量传感器,测量左前轮或右前轮的转向角,并通过几何约束转换为前虚拟轮(H具体转换公式如下:
式中,_dwb_表示机器人左右轮间距,_dtk_表示前后轮轴的轴间距,_θ_A、_θ_B与_θ_H左前轮、右前轮和中间虚拟前轮的转向角,_l_F-ICR、_l_G-ICR和_l_E-ICR分别表示点F、G和E到ICR的距离。
可以进一步简化公式(2)
从公式(3)可以看出,任意知道_θ_A或_θ_B,则可计算出_θ_H,前提是_dwb_与_dtk_是准确值。
图 3.1 左前轮运动范围示意图.(a)控制信号(s)左前轮转角(_θ_A)关系,(b)左前轮转向范围示意图。(假设角度测量传感器安装在转轴上A上)
这里面就需要注意:当控制指令驱动前轮回正,也就是(固定连接于左(或右)前轮转向轴)角度测量传感器的读数为0(或90度,视具体传感器读数为准)时,机器人自认为前轮已经回到零位(即与后轮方向保持在同一平面),但由于加工误差、装配间隙等影响,角度传感器读数为0时,真实的前轮并没有回正,但是我们肉眼却难以观察出来,这就意味着我们发送指令控制机器人直线运动时,机器人的实际运动轨迹却是圆弧,只是这圆弧轨迹的半径很大,短距离内非常接近直线,但是运动距离越远,机器人实际运动轨迹相对于参考直线的偏离度就越大,所以要校准机器人前轮零位,尽可能保证前轮实际零位与控制零位的偏差趋近于0。
借助图 3.描述,图 3.1(a)橙色线段_l_2表示左前轮控制信号与转向角的理想线性关系;如果前轮零位未校准且偏差,则直线度不会通过坐标轴原点,对应图 3.1(a)中蓝色线段_l_1.零位校准的目标是准确测量偏差_θ_bias,并将偏差值作为转角补偿放入控制模型。
如果前轮零位已经校准,为了控制前轮的准确运动,还需要校准前轮的转向分辨率。换句话说,如图所示, 3.1(b),控制信号与左(或右)前轮转角呈线性关系(注:控制信号s与虚拟前向转角_θ_H不是线性关系),所以假设要控制左前轮转角向图 3运动.1(b)中的_θ_A理论上需要根据分辨率计算位置控制信号值:
式中,_k_A表示转向角分辨率,对应图 3.1(a)理想函数图像的斜率,_θ_max和_s_max分别表示转角最大值和控制信号值最大值。
从应图 3.1(a)可以看出,分辨率未校准的函数图像(青色线段)_l_3)斜率不同于理想图像,分辨率校准需要测量和计算准确的分辨率。
综上所述,前轮转向角参数未校准时,存在零位偏差_θ_bias,还有转向角分辨率偏差。接下来,我们将介绍这两个参数的校准方法。
3.2
根据以上分析,角度传感器测量的零位不一定等于前轮转向角的实际零位,这将导致机器人根据角度测量值移动时,其运动轨迹不是直线,而是半径非常大的弧。
因此,只要调整前轮零位偏差_θ_bias,对控制信号进行补偿,控制机器人直线运动设定距离后,如果其初始姿势与终止姿势平行,则表明其运动轨迹为直线,基于此思路校准前轮零位偏差值。
如何判断机器人运动设定距离前后位置是否平行是关键,这里结合图 3.前轮零位校准实验的示意图:
以机器人金属外壳侧为基准参考面,笔者使用5个m长鱼线作为参考线(对应图 3.3中的绿线),拉直后靠近基准参考面,使拉直后的鱼线与机器人侧面重叠。笔者根据机器人凹陷侧的形状进行了补偿.2(a)所示。
然后控制机器人直线运动的设定距离(如4)m),当机器人停止时,观察机器人侧面(即上述基准参考面)是否仍与鱼线(参考线)重叠。如果重叠,则校准成功,如果有位置偏差(如图所示).3.需要进一步调整零位偏差_θ_bias。进一步分析姿势:
如果机器人侧面远离鱼线,说明前轮转向角左偏,应调整零位偏差,使前轮转向角略右;
如果机器人侧面撞到鱼线,说明前轮转向角右偏,应调整零位偏差,使前轮转向角略偏左。
为了保证零位偏差值校准的精度,需要多次测试验证。经过15多次测试,校准结果为0.1°。
从上述实验过程可以看出,如果前轮转向角偏差,运动距离越远,偏差将进一步放大,机器人比鱼线位置关系更容易观察,也可以控制机器人运动距离,提高前轮转向角校准的准确性。(左右前轮零校准相当于虚拟前轮转向角校准)
图 3.2 前轮零位校准实验.(a)机器人起始位姿,(b)机器人终止位姿.
图 3.3 轮间距-前轮零位校准实验示意图(点击看大图)
3.3
在校准前轮转向角的零位后,进行前轮转向分辨率校准,参考图 3.1(a)中的函数图像可知,仅需要测量函数直线段不同位置的坐标,通过最小二乘法拟合就可以得到,具体实现如下:
如图 3.4所示,以右前轮为例讲解。将机器人放置于铺好的白纸之上,参考机器人机身几何特征在白纸上绘制机器人的对称中心线。
接着,输入控制信号控制右前轮转角转动到某一位置,并持续保持静止状态,采用直杆(笔者使用的是铝型材)紧紧贴在右前轮外侧,此时直杆与对称中心线的夹角为右前轮的转角(内错角相等),并记录此状态下的控制信号数值(如PPM信号)和测量的转角,如此重复上述操作,测量并记录不同位置的数据。
图 3.4 前轮转向分辨率校准实验.(a)实测图,(b)示意图.
最后,通过最小二乘法拟合估计图 3.1(a)理想函数图像的斜率(对应公式4中的_k_A),由此得到右前轮的转向分辨率,而我们在控制car-like robot运动时,是基于虚拟转向角的,因此在实际控制过程中,还需要通过公式(3)将右前轮转角转化为虚拟前轮转角。
此外,由于前轮转向机构存在死点而需要设计机械结构来限制转向角度范围,为避免机械限位机构产生撞击带来的影响,还应在软件层面设置软件限位,保证软件限位角度范围在机械限位角度范围内,以限制控制信号输出范围在软件限位角度范围内。
04
轮间距校准
相较于《差速驱动机器人轮间距校准》中介绍的方法,理论上也可应用于car-like robot,从《Car-like Robot运动模型及应用分析》中可知,car-like robot是存在最小转弯半径的,没法做自旋运动,因此需要控制机器人做圆周运动,而car-like robot的最小转弯半径往往也比较大,因此机器人可运动的最小圆周占用的实验场地是比较大的(一般篮球场这种场地才能满足)。考虑到实验场地大小限制,且机器人的体积较大,校准的精度没有小体积的机器人的要求高,因此笔者使用一种简单的方法——“墨迹法”。
图 4.1 轮间距校准实验.(a)轮间距校准原理,(b)轮间距校准实验。
如图 3.3和图 4.1所示,控制机器人在铺好的白纸上运动,其轮子运动后会在纸张上留下印记,多次测量左右轮印记中心线的间距,求平均作为car-like robot的轮间距。
如图 4.1(a),由于轮胎印记是有宽度的,而轮间距指的是左右两轮对称中心面之间的距离,因此笔者在测量轮间距数据时,是测量左轮胎印记的外(或内)侧到右轮胎印记的内(或外)侧距离,并没有先找出左右轮胎印记的中心线,再测量两中心线的间距,上述方法理论上测得的数据是等于轮胎中心的间距数据。
实际轮胎印记如图 4.1(b)中虚线红框内,采集20对点测量距离,并求其均值,为527.54mm。
05
轴间距校准
在校准轮间距的基础上,进行轴间距校准。参考《两轮差速驱动机器人运动模型及应用分析》、《Car-like Robot运动模型及应用分析》,car-like robot的两后轮运动模式、规律和两轮差速驱动机器人的左右驱动轮是一致的,因此参考图 2.1中的car-like robot模型,可得到以下方程:
式中,_rbs_表示后桥中心的转弯半径,_vbs_表示后桥中心的线速度,_w_表示机器人的角速度,_v_F和_v_G分别表示左右后轮的线速度,_l_F-ICR表示点F到瞬时旋转中心ICR的距离。
从前文《常见移动机器人轮直径校准》一文可知,通过安装与car-like robot两后轮的编码器可以实时测量两后轮的转速,并结合已校准的轮直径参数,便可计算出两后轮的线速度,再结合已校准的轮间距参数,便可根据公式(5)实时计算出左后轮到旋转中心的距离_l_F-ICR。
将公式(5)带入公式(2)的第一个方程,化简为
式中,_dtk_表示机器人前后轮轴的轴间距。
因此,控制机器人做半径变化的圆周运动,实时采集同一时刻的左右后轮的速度以及左前轮转向角,并根据公式(6)计算得到轴间距数值,多次测量求均值作为轮间距的校准值。
06
参数校准流程
通过前文的论证分析,可以看出car-like robot的运动参数校准是有先后顺序的。
最先应该校准的是前轮零位,保证机器人在设定距离内能够沿着直线运动;其次,应该校准机器人的轮直径和轮间距,因为轮直径和轮间距校准仅要求机器人是沿直线运动的;再者,校准前轮转向分辨率,能够实现控制信号精准控制前轮的转向,使得期望控制转向角度与实际转向角度相同;最后,校准轴间距,因为轴间距校准依赖于轮间距、前轮转向角的测量值及驱动轮线速度等参数,故放在最后校准。
此外,在校准过程中,还应注意机器人四轮的胎压是否一致,左右两侧轮胎的胎压不同,会导致机器人运动时候偏向胎压低的一侧,而无法正常沿直线运动,这将影响校准实验测试结果。
07
结论及展望
本文分析了car-like robot的运动参数及其校准的原由,并采用理论和实践相结合的方法依次介绍了前轮零位、前轮转向分辨率、轮间距及轴间距等参数的校准过程,最后阐述了上述参数校准的先后顺序及其原因,在行文过程中,从运动机理等方面阐述了car-like robot与两轮差速驱动机器人参数校准的异同。
当然,校准方法和思路并不唯一,还有其他各种实操方法,读者可自行设计实验。
(文章仅笔者个人分析,有误请指正,谢谢!)
福利放送
笔者为小伙伴们整理了,方便收藏和回味
链接:https://pan.baidu.com/s/12oWIs0PwyxYCwlZaPNymbQ
提取码:i5kl
若链接失效,可在后台回复本文标题或发送邮件:Zippen-Huang@outlook.com
差速驱动机器人轮间距校准
常见移动机器人轮直径校准
常见移动机器人运动学模型总结
麦克纳姆轮全向移动机器人运动模型及应用分析
麦克纳姆轮运动特性分析
全向轮运动特性分析
全向轮机器人运动模型及应用分析
Car-like Robot运动模型及应用分析
履带式机器人运动模型及应用分析
两轮差速驱动机器人运动模型及应用分析
可重构全向移动机器人
-----------------------------------------------------------------------------
1.如果转载本文,文末务必注明:“转自微信公众号:混沌无形”
2.若有侵权,请联系作者
全文完,感谢阅读!!如果觉得写的不错,那就点个赞或者“在看”吧。
混沌系统是世界本质,无形之中存在规律。机器人智能化发展从线性过渡到混沌,本号将分享机器人全栈技术(感知、规划、控制;软件、机械、硬件等)。
42篇原创内容
公众号