学习笔记之——移动机器人运动学(Mobile Robot Kinematics)

本博文是本人学习《Introduction to Autonomous Mobile Robots》一书时写下的学习笔记。对于移动机器人而言,kinematics 和dynamics都是非常重要的,本博文先介绍一下运动学,后面会再写博客介绍动力学dynamics (that is, relating to force and mass)

目录

Kinematic Models and Constraints (运动学模型和约束)

表示机器人的位置

前向运动学模型

轮子的运动学约束(Wheel kinematic constraints)

固定的标准轮子

机器人的运动学约束

视频资料


Kinematic Models and Constraints (运动学模型和约束)

给机器人运动推导一个模型,是一个自下而上的过程。每个轮子对机器人的运动作贡献,同时又对机器人运动施加约束。根据机器人底盘的几何特性,多个轮子是连在一起的。所以它们的约束联合起来,形成对机器人底盘整个运动的约束。我们需要用相对清晰和一致的参考框架来表达各轮子的力和约束。在移动机器人学中,需要在全局和局部参考框架之间有一个清晰的映射。我们从形式上定义这些参考框架的开始,然后用最后得到的方程来注释单个轮子和整个机器人的运动学。

表示机器人的位置

将移动机器人建模为一个在水平面上运动的刚体,忽略机器人和它的轮子间内在的关联和自由度。如下图所示。对于该机器人的底盘而言,总的维度数是3个:2个为平面中的位置(x、y);一个为沿垂直轴方向的水平旋转角。

对于上图所示的平面全局参考系与机器人局部参考系。轴将平面上任意一个惯性基定义为从某原点开始的全局参考系。为了确定机器人的位置,选择机器人底盘上的一个点P作为它的位置参考点。基于定义机器人底盘上相对于P的两个坐标轴,作为机器人的局部参考系(一般以右手定则来定义坐标系)。在全局坐标系上,P的位置由坐标x和y确定,全局和局部坐标系之间的角度差由确定。因此,可以将移动机器人的位姿描述为具有3个元素的向量

注意:其中的下标I是代表,这个描述是基于全局坐标系的。

为了根据分量的移动描述移动机器人的运动,需要将沿全局参考系的运动映射成沿机器人局部参考系的运动。映射由下面正交旋转矩阵来完成

通过上述的矩阵,可以将全局坐标系的运动映射到机器人局部坐标系中。如下图所示,当时,有

对于给定的全局坐标系中的某个速度可以计算在机器人局部坐标系下的分量:

前向运动学模型

在最简单的情况下(),上式所描述的变换,足以产生一个获取移动机器人前向运动学的方程。而对于更一般的情况下,如下图所示的情况。

机器人有两个轮子直径为的轮子(differential-drive chassis,差速传动底盘)。设两个轮子的中点为P,每个轮子到P点的距离为L。两个轮子的旋转速度分别为:前向运动学模型所预测的机器人在全局坐标系下的速度为:

进一步地,可以通过上面R矩阵的逆,来根据机器人的局部坐标系计算全局坐标系

因此,先计算两个轮子在局部坐标系下的贡献,然后通过上面公式来分析在全局坐标系下的运动学模型。先假设机器人按下图中正方向运动。

首先我们来看看每个轮子的旋转速度对P点沿着XR正方向运动的贡献。如果其中一个轮子运动,而另外一个轮子是静止的。由于P点位于两个轮子的中间,将以半速运动

对于差速驱动机器人(differential-drive robot),上式的两个贡献可以简单地相加来计算

其次,假设机器人的两个轮子以相等的速度,但是相反的方向转动,其结果则是一个不移动的旋转机器人。在这种情况下。都是0。

最后,计算。考虑右轮(轮1),该向前旋转,在点P会参数逆时针转动。若轮1是单独旋转,机器人将围绕轮2旋转,由此可以计算出点P的旋转速度为(轮子是沿着半径为2l的圆弧移动的):

同理计算左轮。向前旋转,在P点产生顺时针转动,有:

联合这些方程,则可以得到差动驱动机器人的运动学模型:

接下来就是计算R矩阵的逆了。一般情况下,矩阵的逆都是比较难求的。但是R矩阵却是比较特殊,它的逆比较好求:

假设,,r=1,l=1;若机器人两个轮子并不是完全一样的速度的话,如,那么可以获得机器人在全局坐标系下的运动速度:

因此,移动机器人会以线速度为3(方向沿着全局坐标系的y轴);角速度为1运动。

轮子的运动学约束(Wheel kinematic constraints)

上面给出了移动机器人的运动学分析,接下来看一下移动机器的每个轮子对于机器人的运动学约束。

首先假设轮子的平面是垂直的,且轮子与地面之间只有一个单独的接触点且没有滑行,也没有侧向滑移。也就是说,轮子不会打滑,只有纯滚动与旋转。

一般移动机器人的轮子可以分为以下几类:

  1. 固定的标准轮(Fixed standard wheel)
  2. 可操作的标准轮(Steered standard wheel)
  3. 小脚轮(Castor wheel)
  4. 瑞典轮(Swedish wheel)
  5. 球形轮(Spherical wheel)

下面我们就简单介绍一下第一种。

固定的标准轮子

固定的标准轮没有可操纵的垂直旋转轴。因此,相对于底盘,轮子的角度是固定的。如下图所示。轮子A的位置通过极性坐标系(polar coordinates)来表示。轮子的平面与机器人底盘的夹角为,这个角度是固定不变的。

The rolling constraint for this wheel enforces that all motion along the direction of the wheel plane must be accompanied by the appropriate amount of wheel spin so that there is pure rolling at the contact point:,

上式的第一项代表沿轮子平面的运动。左边的三个向量代表三者对沿着轮子平面运动的贡献的映射。其中的R矩阵,就是上一节介绍过的,将全局坐标系下的运动参数转换到局部坐标系下。根据这个约束,沿着轮子方向的运动必须等于由轮子旋转产生的运动。

而滑动约束,则迫使沿着轮子垂直方向的分运动必须为0

除了固定的标准轮以外,还有:受操纵的标准轮子、小脚轮、瑞典轮(如下图)、球形轮等不同轮子的约束,详细的可以参考书籍《Introduction to Autonomous Mobile Robots》。这里就不一一介绍了

机器人的运动学约束

给定一个具有M个轮子的移动机器人。可以计算机器人底盘的运动学约束。主要思想是:个个轮子对机器人的运动加上0或更多的约束,所以过程只不过是根据机器人底盘不同种类轮子的配置,将这些运动学的约束适当的结合起来。其中小脚轮、瑞典轮和球形轮在机器人的底盘上没有加运动学的约束。所以只有固定的标准轮和可操纵的标准轮对机器人底盘的运动学有影响。

因此,我们假设机器人一个有N个标准轮。其中Nf个固定标准轮和Ns个可操纵标准轮。采用来代表Ns个可操纵标准轮的可变操纵角;代表Nf个固定标准轮的角度。在轮子旋转的情况下,固定的和可操纵的标准轮二者都有围绕水平轴的旋转,而且都是随时间而变化的函数。可表示为如下的矩阵

所有轮子的滚动约束可以表达为:

其中,J2是一个常对角N*N矩阵,其元素是全部标准轮子的半径r。是一个投影矩阵,该投影投射到沿着它们各个轮子平面的运动上。

注意的函数,因为可操纵标准轮的方向是时间的函数,而固定标准轮的方向是恒定的

视频资料

这里也给出《斯坦福大学公开课——机器人学》 Kinematics一章视频

斯坦福大学公开课——机器人学

发布了237 篇原创文章 · 获赞 254 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/gwplovekimi/article/details/105007244
今日推荐