简介

移动机器人的运动学模型决定了如何将车轮速度映射到机器人的本体速度,而动力学模型则决定着如何将车轮扭矩映射到机器人的加速度

运动学建模中的两个重要问题:

  1. 车轮必须以什么速度行驶,才能达到给定的期望底盘速度 q ˙ \dot{q} q˙
  2. 考虑到各个车轮行驶速度的极限,底盘速度的极限是多少?

在这里插入图片描述

首先熟悉一下麦轮的移动方式。如上图所示,为麦轮常见的三种移动方式(向前,平行,斜向上)。

单个麦轮受力分析

首先说明一点,下图为麦轮与地面接触平面的截图,而俯视图中棍子方向刚好相差 90 度。如下图与地面接触时棍子为斜向左上,那么俯视图中看到的则是棍子方向斜向右上。

在这里插入图片描述

当麦轮前向转动时,棍子被动与地面接触,而棍子与地面接触可理想化视为点接触,该接触点在“碰到”地面瞬间会受到其运动方向相反的作用力(和普通轮胎分析相似),接触点的“运动方向”为正向后,所以摩擦力方向为正向前 F d F_d Fd

将摩擦力 F d F_d Fd 沿着垂直和平行于棍子轴线方向进行力分解,由于棍子是被动轮,因此会受到垂直于轮毂轴线的分力 F v F_v Fv 作用而发生被动转动,也说明分力 F v F_v Fv 是滚动摩擦力,对棍子的磨损较大。而平行于轮毂轴线的分力 F p F_p Fp 也会迫使棍子运动,只不过是主动运动(棍子被轴线两侧轮毂机械限位),所以分力 F p F_p Fp 是静摩擦。

总结下来,地面作用于棍子的摩擦力分解为滚动摩擦力和静摩擦力,滚动摩擦力促使辊子转动,属于无效运动:静摩擦力促使辊子相对地面运动(类似于普通橡胶轮胎运动情况),而银子被轮教“卡住”因而带动整个麦轮沿着辊子轴线运动。

进一步总结:电机输入轮毂的扭矩,一部分被棍子自转“浪费掉”,另一部分形成静摩擦驱动麦轮整体运动。单个麦轮实际的(受力)运动方向为棍子轴向方向,因此改变棍子轴线与轮毂轴线的夹角,就可以改变麦轮实际的(受力)运动方向。不过常见的麦轮,棍子与轮毂轴线的夹角均为 45 度。

单个麦轮速度分析

在这里插入图片描述

接下来分析棍子外侧与地面接触点的线速度 V ω V_\omega Vω 和平行于棍子轴线的速度 V p V_p Vp 之间的关系。

需要理解的一个问题是:平行于棍子轴线的速度 V p V_p Vp 是怎么产生的?

由于麦轮是由电机驱动,假如麦轮悬空未与地面接触(棍子未绕棍子轴线转动),则棍子外侧速度方向与麦轮平行,其大小为
V ω = ω ⋅ r V_\omega = \omega \cdot r Vω=ωr

其中, ω \omega ω 表示电机转动角速度, r r r 表示麦轮有效半径。

但是当麦轮与地面接触后,情况则会发生变化:摩擦力会使棍子绕轴线转动,电机扭矩提供的主动力则会产生分解,而有效转换的静摩擦力是分力 F p F_p Fp,也就是分力 F p F_p Fp 是促使麦轮平台有效运动的力,对应速度分解也是一个道理。可以理解为加入只有一个麦轮在地面运动,当电机以速度 V ω V_\omega Vω 转动,那么麦轮将自动适应以某一速度 V p V_p Vp 绕自身轴线被动旋转,所以平行于棍子轴线的分速度 V p V_p Vp 与电机转速的关系可表示为
V p = V ω ⋅ cos ⁡ ( 45 ° ) = ω ⋅ r ⋅ cos ⁡ ( 45 ° ) V_p = V_\omega \cdot \cos(45\degree) = \omega \cdot r \cdot \cos(45\degree) Vp=Vωcos(45°)=ωrcos(45°)

其中, 45 ° 45\degree 45° 表示棍子轴线与轮毂轴线的夹角,可见改变该夹角便可改变上式的比例关系。

正运动学

针对麦轮建立机体坐标系 body coordinate S b S_b Sb

正运动学模型(forward kinematic model)将得到一系列公式,让我们可以通过四个轮子的速度,计算出底盘的运动状态。

在这里插入图片描述

结合上述单个麦轮的分析可知,麦轮以 V ω 1 V_{\omega1} Vω1 的线速度进行旋转时,产生有效的分速度 V p 1 V_{p1} Vp1 方向为平行于棍子方向(上图左图)。分速度 V p 1 V_{p1} Vp1 针对坐标系 S b S_b Sb 进行正交分解(上图右图),可以分别产生在 X X X 轴和 Y Y Y 轴的分速度 V p 1 x V_{p1x} Vp1x V p 1 y V_{p1y} Vp1y。其他三个轮子也会产生同样的分解。

首先针对 Y Y Y 轴,我们不难得到
V Y b = V p 1 y + V p 2 y + V p 3 y + V p 4 y V_{Yb} = V_{p1y} + V_{p2y} + V_{p3y} + V_{p4y} VYb=Vp1y+Vp2y+Vp3y+Vp4y

再考虑 X X X 轴,我们可以得到
V X b = V p 1 x − V p 2 x + V p 3 x − V p 4 x V_{Xb} = V_{p1x} - V_{p2x} + V_{p3x} - V_{p4x} VXb=Vp1xVp2x+Vp3xVp4x

关于 X X X Y Y Y 轴方向比较好理解,难得是麦轮移动对车身旋转方向 ω b \omega_b ωb 的影响。接下来我们重点分析旋转。

在这里插入图片描述

如上图所示,这里做了简化,假设车身机械中心到麦轮机械中心的距离为 a + b a+b a+b,麦轮在连线的垂线方向的线速度为 ω ⋅ r \omega \cdot r ωr(即蓝线方向与车身与麦轮连线垂直),那么我们就有
ω b ⋅ ( a + b ) = ω ⋅ r \omega_b \cdot (a+b) = \omega \cdot r ωb(a+b)=ωr

而其他三个轮子同样具有此种关系,同时每个轮子对车身的影响具有可加性。因此我们可以得到
ω b ⋅ ( a + b ) = − ω 1 ⋅ r − ω 2 ⋅ r + ω 3 ⋅ r + ω 4 ⋅ r \omega_b \cdot (a+b) = -\omega_1 \cdot r - \omega_2 \cdot r + \omega_3 \cdot r + \omega_4 \cdot r ωb(a+b)=ω1rω2r+ω3r+ω4r

综上所述,假设四个轮子的角速度大小分别为 ω M 1 , ω M 2 , ω M 3 , ω M 4 \omega_{M1}, \omega_{M2}, \omega_{M3}, \omega_{M4} ωM1,ωM2,ωM3,ωM4,轮子半径相等为 r r r,那么有各个轮子的线速度为 v M 1 = ω M 1 ∗ r v_{M1} = \omega_{M1}*r vM1=ωM1r

[ v M 1 v M 2 v M 3 v M 4 ] = [ ω M 1 ⋅ r ω M 2 ⋅ r ω M 3 ⋅ r ω M 4 ⋅ r ] \left[\begin{matrix} v_{M1} \\ v_{M2} \\ v_{M3} \\ v_{M4} \\ \end{matrix}\right] = \left[\begin{matrix} \omega_{M1} \cdot r \\ \omega_{M2} \cdot r \\ \omega_{M3} \cdot r \\ \omega_{M4} \cdot r \\ \end{matrix}\right] vM1vM2vM3vM4=ωM1rωM2rωM3rωM4r

整理后,有如下正运动学模型(这是简化后的):

[ ω b z v b x v b y ] = [ − 1 ( a + b ) − 1 ( a + b ) 1 ( a + b ) 1 ( a + b ) 1 − 1 1 − 1 1 1 1 1 ] [ ω M 1 ⋅ r ω M 2 ⋅ r ω M 3 ⋅ r ω M 4 ⋅ r ] \left[\begin{matrix} \omega_{bz} \\ v_{bx} \\ v_{by} \\ \end{matrix}\right] = \left[\begin{matrix} -\frac{1}{(a+b)} & -\frac{1}{(a+b)} & \frac{1}{(a+b)} & \frac{1}{(a+b)} \\ 1 & -1 & 1 & -1 \\ 1 & 1 & 1 & 1 \\ \end{matrix}\right] \left[\begin{matrix} \omega_{M1} \cdot r \\ \omega_{M2} \cdot r \\ \omega_{M3} \cdot r \\ \omega_{M4} \cdot r \\ \end{matrix}\right] ωbzvbxvby=(a+b)111(a+b)111(a+b)111(a+b)111ωM1rωM2rωM3rωM4r

逆运动学

逆运动学模型(inverse kinematic model)得到的公式则是可以根据底盘的运动状态解算出四个轮子的速度。

直接通过矩阵计算即可得到。

由 4 个麦克纳姆轮组成的移动机器人的逆运动学模型为
[ ω M 1 ⋅ r ω M 2 ⋅ r ω M 3 ⋅ r ω M 4 ⋅ r ] = [ − a − b 1 1 − a − b − 1 1 a + b 1 1 a + b − 1 1 ] [ ω b z v b x v b y ] \left[\begin{matrix} \omega_{M1} \cdot r \\ \omega_{M2} \cdot r \\ \omega_{M3} \cdot r \\ \omega_{M4} \cdot r \\ \end{matrix}\right]= \left[\begin{matrix} -a-b & 1 & 1 \\ -a-b & -1 & 1 \\ a+b & 1 & 1 \\ a+b & -1 & 1 \\ \end{matrix}\right] \left[\begin{matrix} \omega_{bz} \\ v_{bx} \\ v_{by} \\ \end{matrix}\right] ωM1rωM2rωM3rωM4r=ababa+ba+b11111111ωbzvbxvby

其中 ω M i , i = 1 , 2 , 3 , 4 \omega_{Mi}, i = 1,2,3,4 ωMi,i=1,2,3,4 为轮子的驱动角速度, r r r 为轮子半径。

附一下自己在推导时所制作的示意图
在这里插入图片描述

自己设计的麦轮小车
请添加图片描述

Ref:

  1. 技术分享 | 浅谈麦克纳姆轮的运动方式
  2. 浅谈麦克纳姆轮全向移动平台之——运动学
  3. 麦克纳姆轮(Mecanum Wheel)运动学分析
  4. 麦克纳姆轮运动特性分析(图片版)
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐