麦克纳姆轮底盘运动学模型
1.麦克纳姆轮
麦轮一般是四个一组使用,两个左旋轮,两个右旋轮。左旋轮和右旋轮呈手性对称。
麦克纳姆轮由两大部分组成:轮毂和辊子(roller)。
- 轮毂:整个轮子的主体支架
- 辊子:安装在轮毂上的鼓状物
- 轮毂轴与辊子转轴呈 45° 角
麦轮底盘能够实现前后进退、左右平移、原地自转等多种方向的运动。
麦轮有四种安装方式:X-正方形(X-square)、X-长方形(X-rectangle)、O-正方形(O-square)、O-长方形(O-rectangle)。
其中 X 和 O 表示的是与四个轮子地面接触的辊子所形成的图形;正方形与长方形指的是四个轮子与地面接触点所围成的形状。
- X-正方形:轮子转动产生的力矩会经过同一个点,所以 yaw 轴无法主动旋转,也无法主动保持 yaw 轴的角度。一般几乎不会使用这种安装方式。
- X-长方形:轮子转动可以产生 yaw 轴转动力矩,但转动力矩的力臂一般会比较短。这种安装方式也不多见。
- O-正方形:四个轮子位于正方形的四个顶点,平移和旋转都没有任何问题。受限于机器人底盘的形状、尺寸等因素,这种安装方式虽然理想,但可遇而不可求。
- O-长方形:轮子转动可以产生 yaw 轴转动力矩,而且转动力矩的力臂也比较长。是最常见的安装方式。
2.麦克纳姆轮底盘运动学模型
以O-长方形的安装方式为例,四个轮子的着地点形成一个矩形。
底盘中心运动分析
麦轮底盘的运动是刚体的运动,为全驱动模型。
- 底盘中心线速度: v → \overrightarrow{v} v
- 底盘中心角速度: ω → \overrightarrow{\omega} ω
- 底盘中心指向轮子轴心向量: r r r
对底盘线速度进行分解,可以得到 v y 和 v x v_y和v_x vy和vx。
轮子轴心分析
取右上角轮子进行演示分析,如下图所示。
- 底盘一号轮子轴心速度: v 1 → \overrightarrow{v_1} v1
- 底盘一号轮子轴心沿垂直于 r → \overrightarrow{r} r方向的速度分量: v r 1 → \overrightarrow{v_{r1}} vr1
已知底盘的运动为刚体运动,满足如下公式:
v
1
→
=
v
→
+
ω
→
×
r
→
\overrightarrow{v_1}=\overrightarrow{v}+\overrightarrow{\omega}\times\overrightarrow{r}
v1=v+ω×r
则底盘一号轮子在
X
X
X轴和
Y
Y
Y轴方向上的分量如下,其中,
r
x
、
r
y
r_x、r_y
rx、ry为向量
r
→
\overrightarrow{r}
r在在
X
X
X轴和
Y
Y
Y轴方向上的分量。
{
v
1
x
→
=
v
x
→
−
ω
⋅
r
y
v
1
y
→
=
v
y
→
+
ω
⋅
r
x
\begin{cases}\overrightarrow{v_{1x}}=\overrightarrow{v_x}-\omega\cdot r_y\\ \overrightarrow{v_{1y}}=\overrightarrow{v_y}+\omega\cdot r_x\\\end{cases}
{v1x=vx−ω⋅ryv1y=vy+ω⋅rx
同理,可以算出其它三个轮子轴心的速度。
辊子分析
根据轮子轴心的速度,可以将其按照轮子接触地面的辊子方向(平行、垂直)进行分解。
- 底盘一号轮子轴心的速度: v 1 → \overrightarrow{v_1} v1
- 底盘一号轮子接触地面处辊子方向的单位矢量: u ^ \hat{u} u^
垂直辊子方向的速度分量 v 1 ⊥ → \overrightarrow{v_{1\bot}} v1⊥对轮子转速没有贡献,可以忽略不记。此处仅考虑平行于辊子方向的速度分量 v 1 ∥ → \overrightarrow{v_{1∥}} v1∥。
对于单位向量 u ^ \hat{u} u^,由于辊子以 45 ° 45\degree 45°方式安装在轮毂上,故而可将其分解为: u ^ = − cos 45 ° i ^ + cos 45 ° j ^ \hat{u}=-\cos{45\degree}\hat{i}+\cos{45\degree}\hat{j} u^=−cos45°i^+cos45°j^。其中 i ^ \hat{i} i^和 j ^ \hat{j} j^表示 X X X轴方向和 Y Y Y轴方向上的单位向量。
已知一号轮子轴心速度的分解:
v
1
→
=
v
1
x
⋅
i
^
+
v
1
y
⋅
j
^
\overrightarrow{v_1}=v_{1x}\cdot\hat{i}+v_{1y}\cdot\hat{j}
v1=v1x⋅i^+v1y⋅j^,则:
v
1
∥
→
=
v
1
→
⋅
u
^
=
(
v
1
x
⋅
i
^
+
v
1
y
⋅
j
^
)
⋅
(
−
cos
45
°
i
^
+
cos
45
°
j
^
)
v
1
∥
→
=
−
2
2
v
x
+
2
2
v
y
\overrightarrow{v_{1∥}} = \overrightarrow{v_1}\cdot\hat{u}=(v_{1x}\cdot\hat{i}+v_{1y}\cdot\hat{j})\cdot(-\cos{45\degree}\hat{i}+\cos{45\degree}\hat{j})\\ \overrightarrow{v_{1∥}} = -\frac{\sqrt{2}}{2}v_x+\frac{\sqrt{2}}{2}v_y
v1∥=v1⋅u^=(v1x⋅i^+v1y⋅j^)⋅(−cos45°i^+cos45°j^)v1∥=−22vx+22vy
轮子速度分析
对轮子,设平行于 Y Y Y轴正方向(车辆前进方向)的速度分量为 v ω → \overrightarrow{v_{\omega}} vω,该速度与辊子夹角 45 ° 45\degree 45°
由辊子速度即可得到轮子的转速:
v
ω
1
=
v
1
∥
→
cos
45
°
=
−
v
x
+
v
y
v_{\omega1} =\frac{\overrightarrow{v_{1∥}}}{\cos{45\degree}}=-v_x + v_y
vω1=cos45°v1∥=−vx+vy
整合分析
将上述步骤分别对四个轮子进行,设 r → \overrightarrow{r} r在 X X X轴和 Y Y Y轴分量分别为 a 、 b a、b a、b。
O-长方形麦克纳姆轮底盘的运动学模型如下所示:
[
v
ω
1
v
ω
2
v
ω
3
v
ω
4
]
=
[
−
1
1
a
+
b
1
1
−
(
a
+
b
)
−
1
1
−
(
a
+
b
)
1
1
(
a
+
b
)
]
[
v
x
v
y
ω
]
\begin{bmatrix}v_{\omega1}\\v_{\omega2}\\v_{\omega3}\\v_{\omega4}\end{bmatrix}= \begin{bmatrix} -1 & 1 & a+b\\ 1 & 1 & -(a+b)\\ -1 & 1 & -(a+b)\\ 1 & 1 & (a+b) \end{bmatrix} \begin{bmatrix}v_{x}\\v_{y}\\\omega\end{bmatrix}
⎣⎢⎢⎡vω1vω2vω3vω4⎦⎥⎥⎤=⎣⎢⎢⎡−11−111111a+b−(a+b)−(a+b)(a+b)⎦⎥⎥⎤⎣⎡vxvyω⎦⎤