- 本文的运动学仅讨论机器人自身坐标系下的情况
- 如需世界坐标系还需加上旋转矩阵
如图所示,建立如下世界坐标系 XOY ,世界坐标系中 X 正方向为机器人全局0度方向,建立机器人本地坐标系 xoy ,车头方向为本地坐标系 x 正方向。
机器人中心到每个轮子的x、y方向上的距离都为L,机器人旋转角速度为ω,逆时针方向为角速度正方向,机器人本体与轮子作为一个刚体,刚体中每个点的旋转角速度相等,因此有:
ω=ωLF=ωRF=ωLB=ωRB 轮系结构图如下:
对四舵轮机器人轮系而言,逆解已知量为⎣⎡vxvyωz⎦⎤,逆解待解量为⎣⎡VLFVRFVLBVRBALFARFALBARB⎦⎤。
上式中每个变量的含义:
- vx : 机器人局部坐标系x方向线速度
- vy : 机器人局部坐标系y方向线速度
- ωz : 机器人局部坐标系绕z轴旋转角速度
- VLF : 左前舵轮驱动轮线速度(m/s)
- VRF : 右前舵轮驱动轮线速度(m/s)
- VLB : 左后舵轮驱动轮线速度(m/s)
- VRB : 右后舵轮驱动轮线速度(m/s)
- ALF : 左前舵轮转向轮角度(Rad)
- ARF : 右前舵轮转向轮角度(Rad)
- ALB : 左后舵轮转向轮角度(Rad)
- ARB : 右后舵轮转向轮角度(Rad)
由三角形关系可得:
RLF2=[L+Rsin(A)]2+[L+Rcos(A)]2(1) RLB2=[L−Rsin(A)]2+[L+Rcos(A)]2(2) RRF2=[−L+Rcos(A)]2+[L−Rsin(A)]2(3) RRB2=[−L+Rcos(A)]2+[L+Rsin(A)]2(4) tan(2π−ALF)=Rsin(A)+2LRcos(A)+2L(5) tan(2π−ALB)=−Rsin(A)+2LRcos(A)+2L(6) tan(2π−ARF)=Rsin(A)+2LRcos(A)−2L(7) tan(2π−ARB)=−Rsin(A)+2LRcos(A)−2L(8) 上式中:
- L : 机器人中心到每个轮子之间的距离
- A : 机器人旋转中心与车体两轮连线的中点形成的夹角
- R : 机器人几何中心与旋转中心的距离
- RlF : 机器人旋转中心与左前轮连线距离
- RRF : 机器人旋转中心与右前轮连线距离
- RLB : 机器人旋转中心与左后轮连线距离
- RRB : 机器人旋转中心与右后轮连线距离
在该解算中,根据物理关系有:
V=vx+vy(9) A=arctan(vxvy)(10) V=Rωz(11) VLF=RLFωLF(12) VRF=RRFωRF(13) VLB=RLBωLB(14) VRF=RRFωRF(15) 联立式(9)、(11)可得解得 R:
R=ωzV=ωzvx+vy(16) 联立式(1)、(10)、(16)可解得RLF,带入式(12)可计算出 VLF
联立式(2)、(10)、(16)可解得RRF,带入式(13)可计算出 VRF
联立式(3)、(10)、(16)可解得RLB,带入式(14)可计算出 VLB
联立式(4)、(10)、(16)可解得RRB,带入式(15)可计算出 VRB
联立式(5)、(10)、(16)可计算出 ALF
联立式(6)、(10)、(16)可计算出 ARF
联立式(7)、(10)、(16)可计算出 ALB
联立式(8)、(10)、(16)可计算出 ARB
综上,此时已得到所有逆解待解量,在代码中实现的时候依然要注意arctan等反三角函数的奇点问题。
如图所示,建立如下世界坐标系 XOY ,世界坐标系中 X 正方向为机器人全局0度方向,建立机器人本地坐标系 xoy ,车头方向为本地坐标系 x 正方向。
机器人中心到前后轮子的距离都为L,机器人旋转角速度为ω,逆时针方向为角速度正方向,机器人本体与轮子作为一个刚体,刚体中每个点的旋转角速度相等,因此有:
ω=ωF=ωB 对双舵轮机器人轮系而言,逆解已知量为⎣⎡vxvyωz⎦⎤,逆解待解量为⎣⎡VFAFVBAB⎦⎤。
上式中每个变量的含义:
- vx : 机器人局部坐标系x方向线速度
- vy : 机器人局部坐标系y方向线速度
- ωz : 机器人局部坐标系绕z轴旋转角速度
- VF : 前舵轮驱动轮线速度(m/s)
- AF : 前舵轮转向轮角度(Rad)
- VB : 后舵轮驱动轮线速度(m/s)
- AB : 后舵轮转向轮角度(Rad)
由三角形关系可得:
RF2=[L+Rcos(2π−A)]2+[Rsin(2π−A)]2(1) RB2=[L−Rcos(2π−A)]2+[Rsin(2π−A)]2(2) tan(2π−AF)=L−Rcos(2π−A)Rsin(2π−A)(3) tan(2π−AB)=L+Rcos(2π−A)Rsin(2π−A)(4) 上式中:
- L : 机器人中心到每个轮子之间的距离
- A : 机器人旋转中心与车体两轮连线的中点形成的夹角
- R : 机器人几何中心与旋转中心的距离
- RF : 机器人旋转中心与前轮连线距离
- RB : 机器人旋转中心与后轮连线距离
在该解算中,默认已知关系有:
V=vx+vy(5) A=arctan(vxvy)(6) V=Rωz(7) VF=RFωz(8) VB=RBωz(9) 联立式(5)、(7)可得R:
R=ωzV=ωzvx+vy(10) 联立式(1)、(6)、(10)可得RF,带入式(8)可计算出 VF
联立式(2)、(6)、(10)可得RB,带入式(9)可计算出 VB
联立式(3)、(6)、(10)可计算出 AF
联立式(4)、(6)、(10)可计算出 AB
综上,此时已得到 VF、VB、AF、AB ,逆解待解量计算完成,在代码中实现的时候依然要注意arctan等反三角函数的奇点问题。
如下图所示,本文研究的单舵轮 AGV 的结构包括1个主动轮、2个定向轮和1个万向轮,其中主动轮为舵轮,有驱动和转向的功能。万向轮主要起支撑作用,提高AGV承载能力和稳定性,对运动学模型没有影响。定义AGV前面两个从动轮中心连线的中点O作为 AGV 的参考点,OXY 为小车局部坐标系。
在全局坐标系OXY中,有
⎣⎡x˙y˙θ˙⎦⎤=⎣⎡cosθsinθ0001⎦⎤⋅[vω](1) 式中: v 和 ω(定义逆时针旋转为正)分别为 AGV 在参考点O处的线速度和角速度。
根据图中的几何关系可得:
{l1=L/sinδl2=L/tanδ+d(2) 式中 L 为 AGV 前轮轴心线与后轮轴心线的间距; d 为舵轮横向偏距;δ 为舵轮偏转角,定义逆时针为正。
参考点处的线速度 v 与角速度 ω 表达式分别为:
{v=ω⋅l2ω=vd/l1(3) 式中 vd 为舵轮驱动速度。
将式(2)代入式(3)可得:
{v=vd(cosδ+Ldsinδ)ω=Lvdsinδ(4) 结合式(1)和式(4)可得,单舵轮 AGV 运动学模型为:
⎩⎨⎧x˙=vdcosθ(cosδ+Ldsinδ)y˙=vdsinθ(cosδ+Ldsinδ)θ˙=Lvdsinδ(5)