十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

四驱移动机器人SSMR

四驱移动机器人SSMR 四轮驱动移动机器人(SSMR)在野外非结构化场景中有着广泛应用本文对SSMR的运动规律及特性进行了详细分析接着将SSMR运动模型抽象简化为两轮差速驱动机器人模型构建了SSMR的运动学模型并给出了简易的模型参数计算实验方案最后从实际应用角度对比分析了SSMR和car-like robot、差速驱动机器人的优缺点及其适用范围。引言移动机器人种类繁多但经典的“款型”也就只有几种普通场景基本够用了。在野外非结构化环境中比起《两轮差速驱动机器人》和《Car-like Robot》四轮滑动转向驱动移动机器人skid-steering mobile robot, SSMR算是一匹黑马把天赋展现得淋漓尽致。作为本文的主角——四轮驱动移动机器人(SSMR)就是四个轮子都是独立驱动轮简单想象就是四个电机驱动对应的四个轮子这能够提供强劲的马力也就是越障能力超强所以能够很好适应野外非结构化场景。需要注意的是四轮驱动机器人主要分为两类①滑动转向Skid-steer Drive即四个轮子是普通轮胎②麦克纳姆轮转向即四个轮子采用麦克纳姆轮。本文主要介绍前者后者下回分解。什么是滑动转向滑动转向skid steering也叫滑移转向/差速转向指车轮的朝向永远固定朝前没有转向拉杆、转向节、舵机。机器人要转弯时靠改变左右两侧车轮的转速差产生偏航力矩而车轮在转弯过程中必然相对地面发生横向刮擦滑动——所以叫滑动转向。如图 1.1中的NERVA LG Robot就是采用四个电机驱动四个普通轮子作为移动平台搭载各种传感器等设备在野外环境执行侦察任务。图 1.1 NERVA LG Robot(图片来源: https://www.epequip.com/catalogue/unmanned-systems/unmanned-ground-vehicles/nerva-lg-versatile-light-robotic-system/)一般地采用滑动转向的四轮驱动机器人的结构简化后就如图 1.2所示其结构非常简单只需要控制四个电机转动则可控制机器人灵活运动。为什么四轮驱动机器人的转向方式是滑动转向呢假如机器人的四个轮子速度相同则机器人肯定是做直线运动那假如四个轮子的速度不同则会产生什么效果如图 1.3所示只要四个主动轮的转速不同则会产生转向运动一旦产生转向运动意味着存在旋转中心图中ICR四个轮子与地面接触点图中点A的相对运动速度方向则如图 1.3所示合速度方向与线段A-ICR相互垂直而轮胎只能沿着纵向分速度方向转动做速度分解可知还存在沿轮子轴向电机轴向的横向分速度由于四个轮胎的横向分速度大小不同因此机器人会产生旋转分运动而纵向分速度产生纵向分运动合成运动则表现为机器人绕ICR做圆周运动。进一步分析可知横向分速度是由轮胎与地面的滑动摩擦力产生的纵向分速度是由轮胎与地面的滚动摩擦力产生的所以转向运动是靠滑动摩擦产生的因此滚动摩擦是由电机主动产生的而滑动摩擦是由于四个轮子速度不一致而被动产生的。图 1.3 SSMR的速度分解.ICR(Instantaneous Center of Rotation)表示旋转中心.点A表示轮胎与地面的理想接触点.我们知道四轮驱动机器人(SSMR)是靠滑动转向的相比于滚动摩擦滑动摩擦对轮胎的损耗极大尤其是在水泥等硬质路面如图 1.4所示四轮驱动机器人在水泥路面留下的轮胎磨痕。所以四轮驱动机器人常被用于野外环境因为泥土地面比较松软滑动转向时对轮胎的磨损减小且四个轮胎独立驱动“抓地力”强可“轻松”越过一般障碍。图 1.4 SSMR自旋. 黑色圆圈是在硬质路面运动留下的轮胎磨痕运动精度高才能画出标准正圆图片来源泰安硕宝智能科技有限公司产品运动模型分析机器人坐标系说明两轮差速驱动机器人《两轮差速驱动机器人》和《Car-like Robot》均以几何中心为原点建立坐标系这是因为低速运动状态下两轮差速驱动机器人和car-like robot的轮子可近似认为几乎不会存在滑动摩擦仅靠滚动摩擦便可实现旋转、平移等运动低速情况可以不用引入动力学分析而四轮驱动移动机器人(SSMR)建立坐标系具有一定的特殊性因为它是通过滑动摩擦实现转向运动的所以需要考虑机器人质量分布对机器人运动的影响。为简化运动模型这里做2个假设①机器人轮子滚动时不产生空转现象②机器人本体质量分布均匀且质心Center of Mass, COM位于机器人几何纵向对称线上但不一定位于几何横向对称线上。如图 2.1所示以机器人的几何中心为原点建立坐标系X-CENTER-Y而以质心COM为原点建立坐标系X-COM-Y两个坐标系X轴重合Y轴平行COM到CENTER的距离为dcc。机器人前向运动方向为X轴正方向红色箭头与之垂直向左为Y轴正方向绿色箭头Z轴垂直于纸面向外满足右手定则。图 2.1 四轮驱动移动机器人(SSMR)运动模型. X-CENTER-Y表示机器人的几何中心坐标系X-COM-Y表示机器人的质心坐标系.点A、B、C和D分别表示轮胎与地面的理想接触点。运动模型规律分析与两轮差速驱动机器人均存在非全向约束类似四轮驱动移动机器人(SSMR)也是仅通过线速度、角速度[v_c w_c]T来描述其运动二者的速度空间也相近因此坐标系的建立方式、速度空间的定义和速度方向的约定是一致的从图 2.1可见轮胎与地面的理想接触点(A、B、C和D)的合速度方向均垂直于旋转半径的径向方向并可被分解为沿着轮子滚动方向的纵向分速度和沿着电机轴向的横向分速度。规律左右侧轮的vx是相同的前后端轮的vy是相同的。总需要一个合成力来推动机器人横向运动吧但是找不到因为不可能四个轮子同时受到同向的横向摩擦力。如图 2.1所示两前轮受到向左的横向力而两后轮受到向右的横向力这两组横向力方向相反恰好使得机器人绕着质心做旋转运动也就是旋转中心是质心这是质心的特性叠加前向分运动则表现为机器人做圆周运动。通过上述分析可知点COM只有沿X轴方向的线速度以及角速度且ICR位于坐标系X-COM-Y的Y轴上。①左侧轮纵向分速度分析如图 2.2所示两个左侧轮与地面接触点的速度可表示为其中v1和v2分别表示点A和B的线速度r1和r2分别对应其转弯半径。而在RT△A-Q-ICR和RT△B-Q-ICR中使用三角变换对公式1进行转换表示为式中α1和α2分别表示A-ICR、B-ICR与Q-ICR的夹角。在进一步对公式2化简表示为式中v1x和v2x分别表示v1和v2的分速度。基于上述分析可知点A和B的纵向分速度是相同的同理可分析知点C和D的纵向分速度是相同的但左侧和右侧轮的纵向分速度是不同的。②前端轮横向分速度分析采用两侧轮纵向分速度分析方法相同的思路如图 2.3所示两个前端轮与地面接触点的速度可表示为其中v4表示点D的线速度r4对应其转弯半径。而在RT△A-Q-ICR和RT△D-P-ICR中使用三角变换对公式4进行转换表示为式中α1和α4分别表示A-ICR、D-ICR与P-ICR的夹角。因为AQ和DP长度相同在进一步对公式5化简表示为式中v1y和v4y分别表示v1和v4的分速度。基于上述分析可知点A和D的横向分速度是相同的同理可分析知点B和C的横向分速度是相同的但前端和后端轮的横向分速度是不同的。图 2.3 前端轮横向分速度示意图.线段DP与ICR-COM的交点为P.③规律总结通过上述①②步分析其规律转化为下述方程式中vl和vr分别表示左侧和右侧轮子的纵向分速度vf和vb分别表示前端和后端轮子的横向分速度见图 2.4。总结前后轮vx是相同的左右端轮的vy是相同的运动学模型建立在上面分析了四轮驱动移动机器人(SSMR)的运动规律那进一步应该如何建立其运动学模型呢这里的做法是将四轮驱动移动机器人(SSMR)的运动模型简化等效处理为两轮差速驱动机器人的运动模型。如图 2.4所示以ICR-COM为横轴线以CENTER-COM为纵轴线假设了虚拟左右轮的位置分别位于点L和R这里需要注意的是虚拟轮间距LR的长度不一定等于真实轮间距QP的且虚拟轮间距LR是动态变化的笔者的分析如下假如没有旋转运动无滑移意味着只有v_l和v_r且v_f和v_b均为0此时LRQP而如果存在旋转运动也就是vf和vb不为0存在滑移现象则实际情况发生了变化也就是说按照v_l和v_r及PQ计算出来的角速度并不是真实的角速度而旋转分运动不同滑移滑动摩擦程度不同对实际的角速度影响也不同因此虚拟轮间距LR是动态变化的与滑动摩擦相关因此不同摩擦系数的地面与轮胎接触对实际旋转运动也是有着不同影响的。这也是要实现精确控制的难点所在图 2.4 四轮驱动移动机器人(SSMR)模型简化等效示意图参考文献[2]的方法对四轮驱动移动机器人(SSMR)进行运动学建模其简化模型如图 2.5所示套用《两轮差速驱动机器人运动模型及应用分析》的运动学模型推导方法可得到下述关系​式中d_LR表示虚拟轮间距​图 2.5 四轮驱动移动机器人(SSMR)简化模型.若以虚拟的等效模型来表达运动模型则四轮驱动移动机器人(SSMR)简化模型表示为简化正运动学模型是基于虚拟左右驱动轮的速度来计算几何质心COM的速度可表示为​简化逆运动学模型是基于几何质心COM的速度分解出左右驱动轮的速度可表示为​若采用公式9-10来描述四轮驱动移动机器人(SSMR)这里有两个点需要进一步讨论问题在正运动学模型9中左右虚拟轮的线速度vl和vr如何得到根据公式7可知从简化实际运动控制的角度出发两左或右侧轮应该尽可能保持一致。这里做一个假象实验若机器人的两前轮的速度相同两后轮的速度相同但前后轮的速度不同机器人肯定是以介于前轮速度和后轮速度之间的某一速度直线运动可想象前轮拖着后轮加快运动后轮扯着前轮减缓运动。所以无论前后轮的速度如何变化机器人只会以一个速度运动由于前后轮速度不相等会引起轮胎与地面在纵向上同时存在滚动和滑动摩擦这会加速磨损轮胎且不利于准确运动控制。所以结论是尽可能保持两左或右侧轮速度相同用数学语言描述就是​式中[w_M1w_M2w_M3w_M4]表示对应轮子的转动角速度[R_M1R_M2R_M3R_M4]表示对应的轮子的半径。问题虚拟轮间距dLR具体是多少这也是四轮驱动移动机器人(SSMR)简化模型最难的一个参数是一个随着工况变化的参数且无法求得解析解。在参考文献[2]中给出的方法是引入了无量纲参数γ​式中dwb表示机器人的轮间距。问题则转化为如何求γ该参数与机器人的总负载、轮胎与地面的相对摩擦系数、转弯半径及质心位置都是有关系是一个非常复杂的参数所以常用的方法就是做实验控制不再改动的机器人在特定地面上做差速转向运动采集到多组实验数据后拟合估算γ。再回过头来看四轮驱动移动机器人(SSMR)运动学模型基于公式9-12可知正运动学模型为​逆运动学模型为​运动学模型应用那问题来了在实际中这两个模型13-14是怎么在实际工程中体现的呢套路和两轮差速驱动机器人相似不同之处也是难点是需要精确控制4个电机转动而上述推导是基于机器人质心COM来建模的若想要基于几何中心CENTER来建立运动学模型还需要做坐标变换实验测试ROS官网提供diff_drive_controller软件包[3],已经内置了四轮驱动移动机器人(SSMR)的正逆运动学模型仅需要根据说明配置好参数后便可控制Gazabo仿真器中的Husky或自己设计机器人了。diff_drive_controller运行后会发送geometry_msgs/ Twist.msg结构体内容包括沿着机器人质心坐标系x-y-z轴的线速度和角速度具体为Vetor3 linear float64 x float64 y float64 z Vetor3 angular float64 x float64 y float64 z但对于两轮差速机器人而言仅需两个参数沿x轴的线速度linear.xvc绕z轴的角速度angular.zwc如所示通过[vc wc]T两个参数便可控制机器人在Rviz中运动。具体如何使用diff_drive_controller以及控制机器人运动可参考ROS官网且其他博主也奉献了诸多实战经验和例程。本文主要分析理论模型​此外这里笔者给出一种简单实用的测量参数γ的方法①在机器人上安装陀螺仪用于测量机器人转动过程的角速度wc。②精确控制机器人的四个轮子安装设定速度转动保证两左右侧轮的转速相同并通过编码器反馈数据计算虚拟轮子的线速度vl和vr。 ③利用公式8计算出此时的虚拟轮间距dLR除以dwb得到γ。④绘制γ和[(vlvr)/(vr-vl)]或wc的数据图并对数据曲线进行拟合得到γ和[(vlvr)/(vr-vl)]或wc的关系表达式。当机器人一旦转弯时机载陀螺仪便可反馈实时机器人角速度根据关系式得到对应的γ。当机器人通过陀螺仪采集完数据且在实际应用时不允许使用陀螺仪则在数据拟合阶段对γ和[(vlvr)/(vr-vl)]的进行拟合也就是需要记录[vlvr]理论依据可参考公式8。运动性能分析SMR的四个轮子大小相同但四个轮子独立驱动且结构前后、左右对称因此SSMR的负载性能、越障性能要好于两轮差速驱动机器人和car-like robot。在转弯过程中SSMR是靠滑动实现的这会对轮轴产生扭矩而两轮差速驱动机器人和car-like robot却不会产生这种情况。运动控制分析从运动控制模型来看SSMR的运动难以精确控制因为存在严重的滑移情况所以需要配合其他传感器来辅助检测机器人的运动情况。相较于两轮差速驱动机器人和car-like robotSSMR需要同时控制四个电机的精确转动其难度最高。由于SSMR的质心和几何中心不重合且质心位置难以确定这也会导致控制模型不精确因此在设计过程中需要尽可能保证质心与几何中心相重合可采用配置块来调节。由于SSMR通过滑动摩擦实现转向其受到的影响因素众多这是对SSMR实现精确精确轨迹跟踪的一大挑战需要考虑动力学进行综合分析。总体来讲在应用场景中SSMR的特点是运动性能好、精确控制困难因此多用于野外非结构化场景最好为土质松软的地面降低磨损执行侦察、运输等任务。
返回列表