舵轮底盘运动解析
agv四舵轮底盘已经很常见了,他的灵活性高,驱动轮能量利用率高,底盘算法解析也早已烂大街,现在写一下自己的想法,来记录一下
一、目标
遥控器给三个参数,与车体方向同方向的: V x V_{x} Vx
与车体方向垂直的: V y V_{y} Vy
使车体自旋的: w w w
通过这三个参数,完成车体的所有动作,即给任意三个参数组合,车体都应能完成目标,包括围着四个轮子中的一个自旋灯复杂动作
二、两个舵轮
先使用两个舵轮来分析,再推广到四个轮子,循序渐进
两个前提
1、把所有运动都看成绕车体平面任意一点的圆周运动,直线运动和自旋只是他的特殊极限运动状态
2、车体包括轮子在内的所有组成部分围绕某一点做圆周运动时角速度w相同,线速度和圆心垂直。所以有公式
ω
=
ω
F
=
ω
B
\omega =\omega _{F}=\omega _{B}
ω=ωF=ωB
变量设定
前轮与车体当前姿态形成的夹角即为前轮方向轮偏转角设为: A F A_{F} AF
后轮与车体当前姿态形成的夹角即为后轮方向轮偏转角设为: A B A_{B} AB
目标圆心与车体两轮连线的中点形成的夹角即为车体速度与目标圆心夹角为: A A A
车体几何中心与目标圆心连线所形成的半径为: R R R
其他具体参数如图
几何关系
根据上图三角关系,做垂直线辅助分析,可以得到以下关系式
R
F
2
=
[
D
2
+
R
c
o
s
(
π
2
−
A
)
]
2
+
[
R
s
i
n
(
π
2
−
A
)
]
2
R_{F}^{2}=[\frac{D}{2}+Rcos(\frac{\pi }{2}-A) ]^{2}+[Rsin(\frac{\pi }{2}-A) ]^{2}
RF2=[2D+Rcos(2π−A)]2+[Rsin(2π−A)]2
R
B
2
=
[
D
2
−
R
c
o
s
(
π
2
−
A
)
]
2
+
[
R
s
i
n
(
π
2
−
A
)
]
2
R_{B}^{2}=[\frac{D}{2}-Rcos(\frac{\pi }{2}-A) ]^{2}+[Rsin(\frac{\pi }{2}-A) ]^{2}
RB2=[2D−Rcos(2π−A)]2+[Rsin(2π−A)]2
t
a
n
(
π
2
−
A
F
)
=
R
s
i
n
(
π
2
−
A
)
D
2
−
R
c
o
s
(
π
2
−
A
)
tan(\frac{\pi}{2}-A_{F})=\frac{Rsin(\frac{\pi}{2}-A)}{\frac{D}{2}-Rcos(\frac{\pi }{2}-A)}
tan(2π−AF)=2D−Rcos(2π−A)Rsin(2π−A)
t a n ( π 2 − A B ) = R s i n ( π 2 − A ) D 2 + R c o s ( π 2 − A ) tan(\frac{\pi}{2}-A_{B})=\frac{Rsin(\frac{\pi}{2}-A)}{\frac{D}{2}+Rcos(\frac{\pi }{2}-A)} tan(2π−AB)=2D+Rcos(2π−A)Rsin(2π−A)
物理关系
V = V x + V y V=\sqrt{V_{x}+V_{y}} V=Vx+Vy
A = t a n ( V y V x ) A=tan(\frac{V_{y}}{V_{x}}) A=tan(VxVy)
V = R ω V=R\omega V=Rω
V F = R F ω V_{F}=R_{F}\omega VF=RFω
V B = R B ω V_{B}=R_{B}\omega VB=RBω
即得到控制四个电机所需要的所有参数:
V
F
,
V
B
,
A
F
,
A
B
V_{F},V_{B},A_{F},A_{B}
VF,VB,AF,AB
完成两个舵轮的控制
三、四个舵轮
前面已经使用了两个舵轮来分析,现在只需要扩展到四个舵轮
两个前提
1、把所有运动都看成绕车体平面任意一点的圆周运动,直线运动和自旋只是他的特殊极限运动状态
2、车体包括轮子在内的所有组成部分围绕某一点做圆周运动时角速度w相同,线速度和圆心垂直。所以有公式
ω
=
ω
L
F
=
ω
L
B
=
ω
R
B
=
ω
R
B
\omega =\omega _{LF}=\omega _{LB}=\omega _{RB}=\omega _{RB}
ω=ωLF=ωLB=ωRB=ωRB
变量设定
和两个舵轮的情况命名规则相似
L为车体四个多轮构成的正方形边长
几何关系
根据上图三角关系,做垂直线辅助分析如上图,可以得到以下关系式
R
L
F
2
=
[
L
2
+
R
s
i
n
(
A
)
]
2
+
[
L
2
+
R
c
o
s
(
A
)
]
2
R_{LF}^{2}=[\frac{L}{2}+Rsin(A) ]^{2}+[\frac{L}{2}+Rcos(A)]^{2}
RLF2=[2L+Rsin(A)]2+[2L+Rcos(A)]2
R L B 2 = [ L 2 − R s i n ( A ) ] 2 + [ L 2 + R c o s ( A ) ] 2 R_{LB}^{2}=[\frac{L}{2}-Rsin(A) ]^{2}+[\frac{L}{2}+Rcos(A)]^{2} RLB2=[2L−Rsin(A)]2+[2L+Rcos(A)]2
R R B 2 = [ − L 2 + R c o s ( A ) ] 2 + [ L 2 − R s i n ( A ) ] 2 R_{RB}^{2}=[-\frac{L}{2}+Rcos(A) ]^{2}+[\frac{L}{2}-Rsin(A)]^{2} RRB2=[−2L+Rcos(A)]2+[2L−Rsin(A)]2
R
R
B
2
=
[
−
L
2
+
R
c
o
s
(
A
)
]
2
+
[
L
2
+
R
s
i
n
(
A
)
]
2
R_{RB}^{2}=[-\frac{L}{2}+Rcos(A) ]^{2}+[\frac{L}{2}+Rsin(A)]^{2}
RRB2=[−2L+Rcos(A)]2+[2L+Rsin(A)]2
t
a
n
(
π
2
−
A
L
F
)
=
R
c
o
s
(
A
)
+
L
2
R
s
i
n
(
A
)
+
L
2
tan(\frac{\pi}{2}-A_{LF})=\frac{Rcos(A)+\frac{L}{2}}{Rsin(A)+\frac{L}{2}}
tan(2π−ALF)=Rsin(A)+2LRcos(A)+2L
t a n ( π 2 − A L B ) = R c o s ( A ) + L 2 − R s i n ( A ) + L 2 tan(\frac{\pi}{2}-A_{LB})=\frac{Rcos(A)+\frac{L}{2}}{-Rsin(A)+\frac{L}{2}} tan(2π−ALB)=−Rsin(A)+2LRcos(A)+2L
t a n ( π 2 − A R F ) = R c o s ( A ) − L 2 R s i n ( A ) + L 2 tan(\frac{\pi}{2}-A_{RF})=\frac{Rcos(A)-\frac{L}{2}}{Rsin(A)+\frac{L}{2}} tan(2π−ARF)=Rsin(A)+2LRcos(A)−2L
t a n ( π 2 − A R B ) = R c o s ( A ) − L 2 − R s i n ( A ) + L 2 tan(\frac{\pi}{2}-A_{RB})=\frac{Rcos(A)-\frac{L}{2}}{-Rsin(A)+\frac{L}{2}} tan(2π−ARB)=−Rsin(A)+2LRcos(A)−2L
物理关系
V = V x + V y V=\sqrt{V_{x}+V_{y}} V=Vx+Vy
A = t a n ( V y V x ) A=tan(\frac{V_{y}}{V_{x}}) A=tan(VxVy)
V = R ω V=R\omega V=Rω
V L F = R L F ω L F V_{LF}=R_{LF}\omega _{LF} VLF=RLFωLF
V L B = R R B ω L B V_{LB}=R_{RB}\omega_{LB} VLB=RRBωLB
V R F = R L F ω R F V_{RF}=R_{LF}\omega _{RF} VRF=RLFωRF
V
R
B
=
R
L
B
ω
R
B
V_{RB}=R_{LB}\omega _{RB}
VRB=RLBωRB
即得到控制四个电机所需要的所有参数
V
L
F
、
V
L
B
、
V
R
F
、
V
R
B
、
A
L
F
、
A
L
B
、
A
R
F
、
A
R
B
V_{LF}、V_{LB}、V_{RF}、V_{RB}、A_{LF}、A_{LB}、A_{RF}、A_{RB}
VLF、VLB、VRF、VRB、ALF、ALB、ARF、ARB
完成四个舵轮的控制
四、总结
此方法能很好的利用舵轮的独立性,灵活性特点,根据力学分析,四个轮子在运行的过程中均没有产生对底盘的拉伸和压缩的力,机械损耗小,整车灵活。但是对每一个轮子的控制精度要求高