1.概述
差分底盘系统是一种欠驱动系统,它存在三个自由度 ( X 、 Y 、 θ ) ( X 、 Y 、 \theta ) (X、Y、θ)但仅存在两个输入 ( v r 、 v l ) ( v_r 、 v_l) (vr、vl),这使得其运动是耦合的,不能单独分解分析。并且差分底盘仅能进行圆弧运动(直线运动可以视为圆弧半径 R → ∞ 即 r → 0 时 R → ∞ 即 r → 0 时 R→∞即r→0时)
2.运动解算
2.1 问题描述
(1) 已知:
- 底盘后轮左轮和右轮速度 v r 、 v l v_r 、 v_l vr、vl
- 轮子离底盘中心的距离: d d d
- 两轮之间的距离: b = 2 d b = 2 d b=2d
(2) 求底盘中心的速度 v v v和角速度 ω \omega ω
2.2 问题建模
首先,左右轮子的角速度是相同的,即
w
=
w
l
=
w
r
(0)
w=w_l=w_r \tag 0
w=wl=wr(0)
其次,线速度
v
v
v是沟通大圆周(整个运动模型转圈)和小圆周(轮子转圈)的桥梁,即:
v
l
=
w
l
∗
(
r
−
d
)
v
r
=
w
r
∗
(
r
+
d
)
(1)
v_l=w_l∗(r−d)\\ v_r=w_r∗(r+d) \tag 1
vl=wl∗(r−d)vr=wr∗(r+d)(1)
由(1)得到左右角速度解析式:
w
l
=
v
l
/
(
r
−
d
)
w
r
=
v
r
/
(
r
+
d
)
(2)
w_l=v_l/(r−d)\\ w_r=v_r/(r+d) \tag 2
wl=vl/(r−d)wr=vr/(r+d)(2)
由左右两个轮子角速度相等,得到:
w
l
=
w
r
=
v
l
/
(
r
−
d
)
=
v
r
/
(
r
+
d
)
(3)
w_l=w_r=v_l/(r−d)= v_r/(r+d) \tag 3
wl=wr=vl/(r−d)=vr/(r+d)(3)
解得底盘中心圆弧运动的半径:
r
r
r
r
=
(
v
r
+
v
l
)
∗
d
v
r
−
v
l
(4)
r=\frac{(v_r+v_l)*d}{v_r-v_l} \tag 4
r=vr−vl(vr+vl)∗d(4)
结合(2)(4)求角速度:
w
r
=
v
r
r
+
d
其中,
r
+
d
=
(
v
r
+
v
l
)
∗
d
v
r
−
v
l
+
d
=
(
v
r
+
v
l
)
∗
d
v
r
−
v
l
+
(
v
r
−
v
l
)
∗
d
v
r
−
v
l
=
2
v
r
∗
d
v
r
−
v
l
最后,
w
r
=
v
r
−
v
l
2
d
(5)
w_r=\frac{v_r}{r+d} \\ 其中,r+d=\frac{(v_r+v_l)*d}{v_r-v_l}+d =\frac{(v_r+v_l)*d}{v_r-v_l}+\frac{(v_r-v_l)*d}{v_r-v_l}=\frac{2v_r*d}{v_r-v_l} \\ 最后,w_r=\frac{v_r-v_l}{2d} \tag 5
wr=r+dvr其中,r+d=vr−vl(vr+vl)∗d+d=vr−vl(vr+vl)∗d+vr−vl(vr−vl)∗d=vr−vl2vr∗d最后,wr=2dvr−vl(5)
求底盘中心速度:
v
=
w
∗
r
=
v
r
−
v
l
2
d
(
v
r
+
v
l
)
∗
d
v
r
−
v
l
=
(
v
r
+
v
l
)
2
(6)
v=w*r=\frac{v_r-v_l}{2d} \frac{(v_r+v_l)*d}{v_r-v_l} = \frac{(v_r+v_l)}{2} \tag 6
v=w∗r=2dvr−vlvr−vl(vr+vl)∗d=2(vr+vl)(6)