[文末提供原文PDF免费下载(期刊论文版式)]
混沌无形
混沌系统是世界本质,无形之中存在规律。机器人智能化发展从线性过渡到混沌,本号将分享机器人全栈技术(感知、规划、控制;软件、机械、硬件等)。
43篇原创内容
公众号
摘要:全向轮移动平台因其机动、灵活的特点而备受关注,本文深入分析全向轮的运动机理及其全向轮平台运动过程中的受力和速度情况,先后分析全向轮平台的3种运动模式及其内在运动规律;并采用速度分解的方法,详细分析了电机转速-全向轮实际运动速度-全向轮平台中心点速度之间的关系,给出完整的物理分析及数学推导过程,构建全向轮平台的运动学模型;最后从速度空间、运动效率等方面分析全向轮平台的适用场景。
01
引言
常见的全向移动机器人有两种,一种是基于麦克纳姆轮的移动平台(在之前的文章《麦克纳姆轮全向移动机器人运动模型及应用分析》中有详细分析),另一种是基于全向轮的移动平台,如图 1.1所示,也是今天文章介绍的主角,没有玩过的读者可以先看看全向轮平台制作及其运动的视频,感受全向轮平台炫酷的运动模式。
图 1.1 全向轮移动平台.(a)三轮全向移动平台;(b)四轮全向移动平台 (视频链接:https://mp.weixin.qq.com/s/BGvZdXA4EpI3QgaTKIe4ew)
图 1.2(a)麦克纳姆轮结构示意图, (b)全向轮结构示意图. 实线坐标系表示轮毂坐标系,虚线坐标系表示辊子坐标系.
如图 1.2所示,麦克纳姆轮和全向轮均采用“辊子+轮子”的构型,最大的区别就是麦轮的辊子轴线与轮毂轴线夹角一般呈45度,而全向轮的辊子轴线与轮毂轴线呈90度,正是由于角度的不同,麦轮与全向轮的表现出来的运动特性也会有较明显的区别:如图 1.3(a)(b)所示,电机输出转矩可使轮毂纵向滚动(主动),而与之垂直的辊子在受到外力作用而横向滚动(被动),两者可合成为任意方向的运动,这也是全向轮名称的由来,效果如图 1.3(c)。
具体可参考《麦克纳姆轮运动特性分析》和《全向轮运动特性分析》,了解这种轮毂+辊子构型的轮子的原理及运动特性。
图 1.3 全向轮运动速度分析. (a)全向轮投影模型,(b)全向轮简化模型,(c)全向轮速度分解.
全向轮特有的运动模式决定了全向轮移动机器人的构型。如图 1.4所示,常见的构型分为三轮构型和四轮构型两种,三轮构型仅使用三个电机,且不需要使用悬挂(三点决定一个平面),其结构较为简单;四轮构型使用四个电机,需要使用悬挂,但运动稳定性更好。
尽管这两种构型不一样,但是根据全向轮特性分析、建立运动学模型的思路和方法是一致的,而在各项比赛中的三轮构型应用相对较多。因此,本文以图 1.4(a)中的三轮构型的全向轮平台为例做进一步分析,第2章将先分析全向轮平台不同运动模式的规律及机理,并采用速度分解方法分析全向轮转速与全向轮平台中心点速度之间的关系,以此构建全向轮平台的正逆运动学模型;第3章将描述全向轮平台运动模型的应用场景及其开源项目,第4章对比分析差速机器人和全向轮平台之间差异,最后进行总结和展望。
图 1.4 全向轮机器人构型.(a)三轮构型,(b)四轮构型
02
运动模型分析
2.1
机器人坐标系说明
建立坐标系:如图 2.1所示,建立以机器人几何中心为原点的CENTER坐标系,机器人前向运动方向为_x_轴正方向(红色箭头),与之垂直向左为_y_轴正方向(绿色箭头),_z_轴垂直于纸面向外,满足右手定则。
图 2.1 三轮全向轮移动平台坐标系示意图. 点ABC分别表示全向轮与地面的接触点.
全向轮移动平台属于全向移动机器人范畴的原因是有三个自由度,意味着可以在平面内做出任意方向平移同时自旋的动作,如图 2.1所示,采用任意方向的线速度及角速度[vc w_c_]T来描述CENTER的速度,而_vc_可沿着坐标轴分解为两个分速度,表示为[vcx vcy w_c_]T。
其线速度[vcx vcy]T方向为沿着坐标轴正方向则为正,反方向为负;而机器人逆时针旋转的时候,角速度_w_c__为正,反之为负。(定义方式与《两轮差速驱动机器人运动模型及应用分析》中的相似)
2.2
运动模型规律分析
在对全向轮移动平台运动规律分析之前需要做两个基本假设:①全向轮平台运动过程中,轮子不会悬空而发生空转现象;②全向轮平台质量分布均匀,且质心位置在点CENTER处,以保证三(或四)个轮子在地面接触点受到的支撑力相同,确保三(或四)个等转速的轮子受到地面作用的摩擦力大小相同。
基于上述假设条件,并按照一定规律联合控制三个轮子转动,产生不同方向的摩擦力,便可实现全向平台以任意速度沿着任意方向运动。(详细分析见《全向轮运动特性分析》)
图 2.2 运动模式示意图. (a)前向运动,(b)左向运动,(c)逆时针自旋运动. 蓝色箭头表示全向平台的运动方向,橘色箭头表示每个全向轮的运动速度方向,箭头大小表示速度大小.
表 2 1 运动模式及规律分析
模式 | M1轮 | M2轮 | M3轮 |
---|---|---|---|
(a) | 0 | - | + |
(b) | + | - | - |
(c) | + | + | + |
备注:+表示轮子正转(绕轮毂坐标系_x_轴顺时针运动),-表示轮子反转(绕轮毂坐标系_x_轴逆时针运动),0表示轮子不转动;M1轮对应电机M1,M2轮对应电机M2,M3轮对应电机M3。
如图 2.2中呈现了麦轮平台的3种常规的运动模式。结合表 2 1的信息做进一步分析:
前向直线运动:以图 2.2(a)为例,M1电机静止,M2轮逆时针运动,M3轮顺时针运动,且M2和M3轮运动速度大小相同, M2轮和M3轮的速度方向也是其静摩擦力方向,摩擦力大小相等,方向关于全向轮平台CENTER坐标系的x轴对称。因此,M2轮和M3轮的静摩擦力在CENTER坐标系的_y_轴上的投影分量大小相等,方向相反,则相互抵消;而M2轮和M3轮的静摩擦力在CENTER坐标系的x轴上的投影分量大小相同,方向相同,则相互叠加,且与M1轮的辊子滚动方向一致(不会产生静摩擦阻力),则可驱动全向平台前向运动。M2轮和M3轮反向转动,则可驱动全向平台后向运动。
左向直线运动:以图 2.2(b)为例,需要控制三个全向轮同时按照一定速度运动。这里只定性分析关系,从图 2.1可以看出,由电机驱动全向轮转动产生的速度总是沿着轮毂径向(即圆ABC的切线方向),只是最终实际合成的运动速度会因为速度叠加的关系而发生变化。
从图 2.2(b)中看出,M1轮正转,M2轮反转,M3轮反转,对应着M2轮和M3轮速度在CENTER坐标系的_x_轴上的投影分量大小相等,方向相反,则相互抵消;而M2轮和M3轮速度在CENTER坐标系的_y_轴上的投影分量大小相同,方向相同,则相互叠加,且叠加后的方向与M1轮速度方向一致,形成进一步叠加。因此,若三个轮子反向转动而合成的运动为右向直线运动。
**这里需要注意的是:还需要抵消掉旋转运动。**M2轮和M3轮产生的速度有促使全向轮平台绕CENTER坐标系_z_轴顺时针方向转动的趋势,而M1轮则促使全向轮平台逆时针转动,因此需要调节三个全向轮的转速大小,将旋转运动平衡掉。
逆时针自旋运动:以图 2.2(c)为例,所有全向轮均正转,即所有全向轮的速度方向均沿着圆ABC的切线方向,且朝向逆时针方向。若将三个全向轮的速度矢量[**v**1 **v**2 **v**3]的起始点平移至点CENTER,那么三个速度矢量的夹角为120度,且速度大小相等,因此三个速度矢量合成为零向量,因此全向轮平台不会移动。
但是,速度矢量[**v**1 **v**2 **v**3]的真实起始点分布在圆ABC上,且方向均为逆时针,便可恰好叠加合成促使全向轮平台逆时针自旋。若所有全向轮等速反转,则全向轮平台顺时针自旋。(也可以逆向思维理解:一个圆盘绕着圆心自旋,圆周上的所有点[被抽象为全向轮与地面的接触点]的速度大小相等,方向均沿着圆切线,且均为顺时针或逆时针)
上述仅对三种特殊的运动模式做了定性分析,既然是全向轮平台,说明该平台可以沿着任意方向,以任意速度运动,若需要量化分析三个全向轮转速与移动平台中心点运动速度的关系,那就要建立运动学模型,以实现全向移动平台运动的精确控制。 (注:也可以从每个全向轮受力情况分析的角度入手,其思路和方法可以参考《麦克纳姆轮运动特性分析》、《麦克纳姆轮全向移动机器人运动模型及应用分析》)
2.3
运动学模型建立
如图 2.3所示,全向轮平台运动学模型是要建立三个全向轮转速与几何中心的速度之间的关系。正运动学模型是已知三个全向轮的转速,计算全向轮平台中心点CENTER的速度;逆运动模型是已知全向轮平台中心点CENTER的速度,计算三个全向轮的转速。
图 2.3 全向轮平台运动分解示意图. 图中_r_表示中心点CENTER到全向轮与地面接触点之间的距离.
那就先从逆运动模型开始:已知点CENTER速度[vc w_c_]T,需要分解到各个全向轮上,采用平面刚体运动规律分析方法,单个全向轮的速度是由点CENTER速度及角速度共同作用合成的,可表示为
式中,v_i_表示第_i_个全向轮的合速度,对应图 2.3中的橘黄色箭头;v_c_表示点CENTER的线速度,对应图 2.3中淡黄色箭头;wc_表示点CENTER的角速度速度,r_表示点CENTER到全向轮与地面接触点的矢量,因此**wc_×r_表示由全向轮平台按角速度w**_c_自旋产生的速度,对应图 2.3中浅蓝色箭头,该分速度方向及大小满足叉乘计算规则(右手定则),且公式中均为矢量运算,遵循平行四边形法则。
图 2.4 M1轮运动分解分析. (a)速度合成,(b)速度坐标轴分解.
Step 1:对全向轮M1进行速度分析
为计算电机输出轴转速,需要进一步分析。这里结合图 2.3和图 2.4,先以全向轮M1为例进行分析,将点A的合速度沿着坐标系_x_A_y_分解,表示为
其中,
式中,[v_1_x v_1_y]T表示_v_1在坐标系_x_A_y_的分速度,[vcx vcy]T表示_vc_的分速度,_r_表示的点A到点CENTER的距离(加粗表示矢量,常规是标量)。
(对标量的正负号说明:在公式(3)中_vcx_是正数,_vcy_是负数,_wc_为正数(逆时针旋转为正),变量[vcx vcy wc]隐含了符号的,但没有在公式中显示表达出来的原因是我们在实际编程控制时就会输入带符号的形参;但是距离_r_为正数,也是因为我们习惯将距离表述为正数。变量符号是根据自己建模喜好而定义的,但最好与常规表达一致)
在《全向轮运动特性分析》中对全向轮的速度有分解分析,结论是:如图 2.4(b)所示,全向轮的速度被分解为纵向分速度(_v_∥)和横向分速度(_v_⊥),纵向分速度是由电机转动产生的(主动),与电机转速呈正比,而横向分速度与对应的电机转动无关,是受到外力作用而产生的(被动)。
因此,参考图 2.4(b)和公式(2),点A的纵向分速度(_v_∥)和横向分速度(_v_⊥)表示为
进一步地,计算M1电机输出轴转速与M1全向轮运动速度的关系。依据《全向轮运动特性分析》,可知纵向分速度是由电机转动产生,进而可表示为
变换为
式中,_w_1表示M1全向轮的轮毂转动角速度,_R_表示全向轮(等效)半径。
Step 2:对全向轮M2进行速度分析
这里再采用同样的方法对M2轮的运动情况进行分析,具体如图 2.5所示。
如图 2.5(a)所示,在坐标系_x_B_y_中,M2轮的线速度_v_2同样是由_vc_和_w__c_×_r_合成的(参考公式(1)),而与_w__c_×_r_方向坐标系_x_B_y_的_y_轴重合,因此也仅需要将投影到坐标系_x_B_y_的坐标轴上。
与M1轮不同,M2轮的_x_(坐标系_x_B_y_)轴与CENTER坐标系_x_轴的夹角为120度,因此需要考虑该角度的影响:
图 2.5 M2轮运动分解.(a)速度合成,(b)速度横纵向分解
参考图 2.5(a),由于M2轮在CENTER坐标系的方位角为120度,因此坐标系_x_B_y_的_y_轴线与CENTER坐标系_x_轴线的(两直线)夹角为π/6,因此在坐标系_x_B_y_中,矢量**v**_c_与_x_轴的夹角可表示为
因此,_v_2沿坐标系_x_B_y_分解后表示为
同理,与M2输出轴转速相关的是M2轮的纵向分速度,因此可表示为
变换为
将公式(7)带入公式(10),化简得
式中,_w_2表示M2全向轮的轮毂转动角速度。
对全向轮M3的分析与M2轮的分析几乎一致,故不再赘述,而M3轮的轮毂转速(_w_3)可表示为
这里需要注意的是(参考图 2.4):
Step 3:全向轮平台的速度分解与合成
如图 2.4所示,将公式(13)带入到3个全向轮速度分解方程(6)(11)(12)并写成矩阵形式,也就是逆运动学方程,表示为
而正运动学方程就是基于3个全向轮的转速计算点CENTER的速度,理论分析和逆运动学相似,最简单的做法是将公式(14)逆变换即可,表示为
Step 4:全向轮平台的旋转中心位置计算
如图 2.6所示,全向轮平台运动过程也存在瞬时旋转中心(ICR,Instantaneous Center of Rotation),这在《两轮差速驱动机器人运动模型及应用分析》中有详细介绍。这里需要分情况讨论:
平移运动:当仅有平移运动时,是不存在ICR的。
自旋运动:当仅有自旋运动时,ICR的位置就是点CENTER。
平移+自旋运动:当既有平移运动,又有自旋运动时,ICR的位置由点CENTER的速度决定,用公式可表达为
式中,Rc_表示点ICR到点CENTER距离。当_Rc>0时,点ICR在向量**v**_c_的左侧,反之,在右侧。
而线段ICR-CENTER与向量**v**_c_是垂直关系,由此便可确定ICR在CENTER坐标系下的位置。
图 2.6 全向轮平台ICR计算. ICR表示全向轮平台中心点对应的旋转中心,蓝色虚线表示全向轮平台中心点CENTER在该速度下的预测运动轨迹.
2.4
运动学模型应用
那问题来了,在实际中这两个模型(14-15)是怎么在实际工程中体现的呢?
正运动学模型应用: 3个全向轮通过编码器测量各自的轮转速,基于公式(15)便可计算得到全向轮平台CENTER的速度信息[vcx vcy wc],并可进一步被用于计算机器人的里程计(里程计计算会在后续文章中更新)。
逆运动学模型应用:用于控制机器人运动。如控制全向轮平台CENTER以设定的速度[vcx vcy wc]运动,那就通过公式(14)计算得到3个全向轮的转速,转化的控制信号,输入到驱动电机控制器,再采用PID算法控制驱动轮精确转动。
03
应用平台
如图 3.1所示,Nav2是由Crosswing Inc.设计的模块化机器人平台,其移动平台是基于三轮全向轮移动平台而扩展设计的,搭载了机关雷达和可交互显示界面,可实现自主导航等诸多功能,在ROS官网有维护了一套开源软件包,感兴趣的读者可以下载试试。
图 3.1 Nav2 Robot (来源:http://wiki.ros.org/Robots/Nav2)
04
场景应用对比分析
不同类型的机器人具备不同的特点,其适用场景也有所不同。通过上述对全向轮平台运动特点的详细分析,可以看出全向轮平台与之前文章中的差速驱动机器人、麦轮平台存在诸多不同之处。
4.1
速度空间分析
速度空间范围不同:如图 4.1所示,在之前的文章《两轮差速驱动机器人运动模型及应用分析》中对两轮差速驱动机器人的速度空间做了分析,其只有2个自由度,不能沿着机器人坐标系Y轴运动,所以速度空间是一个矩形平面,效果如图 4.1(a)所示;而基于上述分析可知,全向轮平台有3个自由度,既可纵向、横向移动,又可自旋,其速度空间范围是一个长方体,效果如图 4.1(b)所示。
图 4.1 速度空间.(a)表示差速驱动机器人的速度空间范围,(b)表示全向轮平台的速度空间范围。
可见,全向轮平台的速度空间与麦轮平台的速度空间相同,且都比差速驱动机器人的速度空间多一维。因此,全向轮平台的运动灵活性要比差速驱动机器人更好。
4.2
运动效率分析
在章节2.2中分析,全向轮平台的各个轮子产生的力会相互抵消一部分,因此同样转矩产生的净推力效率较低,也就是一部分功率被内耗掉了,效率不如差速驱动机器人。且全向轮运动过程中同时存在纵向和横向分力,所以做机构设计时需要对电机轴(或联轴器)等加保护,这点与麦轮非常相似。
4.3
其他方面
此外,全向轮运动过程中的辊子存在滚动摩擦,因此辊子的磨损比普通轮胎严重(辊子半径小),因此适用于比较平滑的路面,若遭遇粗糙复杂的地形时耐久性要大打折扣。
由于辊子之间的非连续性,所以全向轮运动过程汇总存在连续微小震动,因此(最好)设计悬挂机构等辅助机构来消除。
轮毂结构较为复杂,单个全向轮的零部件较多,因此生产制造成本也较高。
总体而言,全向轮平台主要适用于运动空间非常受限的场景,比如狭小仓库等,也常被应用于机器人比赛,以达到高机动性的要求。
全向轮的整体情况与麦轮相似,在机器人比赛中,会采用四轮麦轮平台或者三轮全向轮平台作为机器人的移动平台,在此基础上增加相应的执行机构。三轮全向轮平台最大的特点是可以不用悬挂就基本能保证全向轮不会悬空,机械结构相对简单(且少控制一个电机),而麦轮平台有四个轮子,必须使用悬挂系统,且运动稳定性比全向轮平台更好,因此四轮麦轮平台会被应用于移动、转向速度更高的场景,而三轮全向轮平台会被应用于移动速度较低的场景。
05
结论及展望
本文从分析全向轮构型及其特性入手,详细分析了全向轮平台3种常见运动模式的规律及机理;接着也是单全向轮速度分解入手,逐步详细剖析了全向轮运动过程中CENTER点速度与全向轮实际速度、全向轮速度与电机输出轴转速等几类速度之间的合成与分解,并以全向轮M1和M2为例做了详尽的数学推导,导出全向轮平台的正逆运动学模型。最后,将全向轮移动平台与差速驱动平台从速度空间、运动效率等方面进行了分析,并指出全向轮平台全向特性的优势及其主要应用场景。
后面会总结常见移动平台的特性,敬请期待。
(文章仅笔者个人分析,有误请指正,谢谢!)
参考资料
[1] C Cáceres. Design, Simulation, and Control of an Omnidirectional Mobile Robot.
[2] https://robots.ros.org/nav2/
福利放送
笔者为小伙伴们整理了期刊论文版式原文PDF,方便收藏和回味
链接:https://pan.baidu.com/s/18J12kbDiw0fjh1te5UgaTA
提取码:ktnt
若链接失效,可在后台回复关键字:134642B或发送邮件:[email protected]
延伸阅读
全向轮运动特性分析
麦克纳姆轮运动特性分析
麦克纳姆轮全向移动机器人运动模型及应用分析
Car-like Robot运动模型及应用分析
四轮驱动(SSMR)移动机器人运动模型及应用分析
履带式机器人运动模型及应用分析
两轮差速驱动机器人运动模型及应用分析
-----------------------------------------------------------------------------
相关声明
1.如果转载本文,文末务必注明:“转自微信公众号:混沌无形”
2.若有侵权,请联系作者
全文完,感谢阅读!!如果觉得写的不错,那就点个赞或者“在看”吧。
混沌无形
混沌系统是世界本质,无形之中存在规律。机器人智能化发展从线性过渡到混沌,本号将分享机器人全栈技术(感知、规划、控制;软件、机械、硬件等)。
43篇原创内容
公众号