要解决的问题: 末端执行器在哪里?

正向运动学:

  • 齐次变换Homogeneous Transforms
  • 空间表示Spatial Representations

本文中 T 表示变换,R 表示旋转,具体下文将会介绍。

3.1 确定物体的位置和方向(位置和姿态)

先在物体上选一个参考点,然后在坐标系中描述这个参考点。

上图表示一个在坐标系{A}中的物体,我们会发现,即使我们描述了这个参考点,我们仍然需要3个坐标来描述物体的方向(参考书中翻译为姿态。后文中的位姿即位置和姿态)。因为固定了参考点,物体仍然可以绕着这个参考点旋转。用3个角度来描述物体的方向,所以我们需要一个6维的向量来描述该物体。

用右手定则确定坐标系的轴。

对于PUMA,如下图所示,这里有三个关节,最上面是末端执行器,它位于最后一个关节上,只有位置上的差异(不能自己旋转)。假定初始坐标系在第一个关节处,而第一个关节可以旋转,那么我们用

 [公式] 表示从初始的坐标系{0}到旋转之后坐标系{1}的关系。

同样,从第一个关节到第二个关节用

 [公式] 表示,第二个关节到第三个关节用 

[公式] 表示,第三个关节到末端执行器用

 [公式] 表示。

首先理解下面几个概念。

3.1.1 配置空间Configuration Space/自由度 Degrees of Freedom

配置q是唯一指定机器人上每个点的位置和方向(姿势)所需的最小参数集。

[公式]

这里PUMA一共有6个关节, n=6

  • Configuration Space 又叫 Joint space
  • Operational space 又叫 Work Space

3.1.2 操作空间中的末端执行器姿势

姿势x是唯一地指定机器人末端执行器的位置和方向所需的一组参数(不一定是最小的)。x的选择取决于不同的任务。

例如: [公式]

3.1.3 关节的类型

3.2 平移与旋转 Translation and Rotation

3.2.1 平移

长方形的一点为p,移动到另一个位置p', p到p'的向量为t

已知 [公式]  [公式] , 那么:[公式]

3.2.2 旋转

对于点 

[公式]有:

[公式]

对于点

 [公式] 有:

[公式]

写成矩阵形式:

[公式]

[公式]

这个旋转矩阵

 [公式] 有下面几个性质:

  • Orthogonal,即 x  y 垂直
  • Normal,即 ||x||=||y||=1
  • Determinant = 1
  • [公式]

这些性质对n维的旋转矩阵依旧有效。

3.3 齐次变换 Homogeneous Transformations

3.3.1 二维中的齐次变换

结合平移和旋转就有了齐次变换:

3.3.2 三维中的齐次变换

[公式] 表示绕着 x 轴旋转

 [公式] 角,所以它的矩阵中

 [公式] 。任何一种(原点不变的)旋转都可以分解为分别在 x , y , z 轴上的旋转的组合,所以3个轴上的旋转矩阵相乘就可以得到最终的 R 。需要注意的是顺序,下一节中将介绍。

例如:

上图中已知点 p 用坐标系{B}表示,即

 [公式] 求用坐标系{A}表示的

 [公式] 。上图右侧给出了公式。在该公式中

 [公式] 

 [公式] 是未知的。

 [公式] 是{B}的原点在{A}坐标轴上的投影。

[公式]

公式3-3-2中的矩阵又被称为方向余弦,其中每一项都是点乘,其中

 [公式] 表示单位向量

 [公式]

 [公式] 上的投影。它的大小等于夹角的余弦,因为单位向量的长度是1。

[公式]

[公式]

3.3.3 齐次变换在坐标系上的三种用途

  • 描述坐标系
  • 描述不同坐标系之间的映射
  • 对点/物体进行变换

例1: 描述坐标系

例2: 描述不同坐标系之间的映射

例子: 对点/物体进行变换

3.3.4 齐次变换的计算

[公式]

其中{F}是末端执行器的坐标系,{A}是世界坐标系。对一个点:

[公式]

矩阵乘法不符合交换律。

3.3.5 逆变换

从{B}到{A}的变换是从{A}{B}的逆变换: [公式]

3.3.6 仿射变换Affine Transformation

除了平移旋转还有缩放推移以及它们所有的组合,都称为仿射变换

关于齐次变换和仿射变换,这里有一个很形象的描述。

回到最开始的问题,对于PUMA,我们把所有机械手臂的变换相乘就得到

[公式]

其中 R 中有9个参数,

 [公式] 有3个参数,一共有12个参数。而我们已经知道只需要6个参数就可以确定一个物体的位置和方向,为什么这里会多出6个参数? --这个问题在后面章节会回答。

总结

  • 本节学习从一个坐标系空间到另一个坐标系空间的齐次变换
  • 以及如何连接多个变换
  • 最终我们得到了一个齐次变换,它是一个关于关节角 q 的函数,它描述了末端执行器相对于坐标系空间{0}的位置和方向。

这也被叫做正向运动学(Forward Kinematics)