机器人运动学——轮速里程计(SLAM)

目录

一、机器人运动学分析

二、阿克曼小车

 2.1运动学分析


一、机器人运动学分析

  想要让机器人运动, 除了提供目标速度还不够, 需要将机器人的目标速度转换每个电机实际的目标速度, 最终根据电机的目标速度对电机的控制实现对机器人的控制。 机器人的目标速度转换成电机的目标速度这个过程叫“运动学分析”,运动学分析又分为正解和逆解, 在运动学分析之前先来分别解释一下什么是运动学正解和运动学逆解(在笔者之前的机器人学中也有机械臂的正逆运动学分析有兴趣的同学可以去查看):

  对于移动机器人运动学分为以下两个

1、正解:通过机器人的各轮速度求出机器人 X 轴、 Y 轴和 Z 轴方向的速度。

2、逆解:通过机器人 X 轴、 Y 轴和 Z 轴方向的速度分别求出机器人各轮的速度。

小车的类型又有很多种类,比如阿克曼、两轮差速、麦轮小车、全向轮小车和四驱车。而我们日常的小轿车等都是以阿克曼的结构进行设计的。本文首先讲解阿克曼底盘的运动学,之后的类型会依次加入。

二、阿克曼小车

  阿克曼转向式的优点是可以使用普通轮子, 不需要使用全向轮, 可以提高机器人整体强度和减低成本, 缺点则是受限于前轮的转角幅度, 无法进行 0 半径转弯(简单说就是原地打转)。如下图为阿克曼机器人转向时的状态,要求4个轮子运动方向垂直相交与一点,四个轮子按照同一个圆心旋转

 2.1运动学分析

  首先讨论一下运动学逆解,即V_xV_yV_z三轴目标速度。这里约定一下符号:

                        V_L                         左轮速度
                        V_R                         右轮速度
                        Angle_L                         左轮转角
                        Angle_R                         右轮转角

 这里回归一下中学的一个物理公式,线速度和角速度的关系:

                                                 v=ωR                                                                                      (2-1)

 上图我们可知想要计算出O_1O_2=V_x*t很简单,角速度的公式计算O_1O_2/t=\omega,通过式2-1可得:

v=\omega R

R=\frac{v}{w}

R=\frac{O_1O_2}{\theta }=\frac{V_x*t}{V_z*t}=\frac{V_x}{V_z}(式2-2)

 如果我们已知Vx和Vz则就可以求出小车的转弯半径。接下里需要求解 Angle_LAngle_R。我们需要知道参数是轮距W,和轴距H。

 通过上图和上面的线速度和角速度的公式:

V_L=\omega*(R-0.5w)=\frac{V_x}{R}*(R-0.5w)

V_R=\omega*(R+0.5w)=\frac{V_x}{R}*(R+0.5w)

  Angle_LAngle_R 通过上图的几何关系很容易得出:

Angle_L=\tan^{-1}(V_x\frac{H}{R-0.5W})

Angle_R=\tan^{-1}(V_x\frac{H}{R+0.5W})

   逆运动学我们已经求出来了,接下里我们求解正解。正解的方法也很简单:

V_L+V_R=V_x\frac{R-0.5W}{R}+V_x\frac{R+0.5W}{R}=V_x\frac{R+R+0.5w-0.5w}{R}

V_L+V_R=2V_x

V_x=\frac{V_L+V_R}{2}

 求出了V_x,我们继续求解出V_z:

V_L-V_R=V_x\frac{R-0.5W}{R}-V_x\frac{R+0.5W}{R}=V_x\frac{R-R+0.5w+0.5w}{R}

R=V_x\frac{W}{V_R-V_L}

 根据式2-2我们可以得:

\frac{V_x}{V_z}=V_x\frac{W}{V_R-V_L}

V_z=\frac{V_R-V_L}{W}

 到这里我们就求解完成正解和逆解,小结一下:已知阿克曼式机器人轮距 W, 轴距 H, 机器人目标速度V_xV_zV_LV_RAngle_LAngle_R的关系为:

逆解:

 R=\frac{V_x}{V_z}

V_L=\frac{V_x}{R}*(R-0.5w),V_R=\frac{V_x}{R}*(R+0.5w)

Angle_L=\tan^{-1}(V_x\frac{H}{R-0.5W}),Angle_R=\tan^{-1}(V_x\frac{H}{R+0.5W})

正解: 

V_x=\frac{V_L+V_R}{2}

V_z=\frac{V_R-V_L}{W}

猜你喜欢

转载自blog.csdn.net/HHB791829200/article/details/128840810