2.1 坐标变换
人形机器人HRP-2 [128] (见图2.1a)身高154cm,搭载电池时体重为58kg,依靠电池可行走约1 h。HRP-2共有30个关节,每个关节都可以独立控制。图2.1b展示出了它的所有关节的名称和坐标轴。
图2.1 人形机器人HRP-2及其各关节的名称和坐标轴
2.1.1 世界坐标系
在控制这种人形机器人时,定义各组成部分的位置十分重要。设定世界坐标系,以初始状态的人形机器人正下方的点为原点,它的前方为 x 轴,它的左方为 y 轴,它的上方为 z 轴,如图2.2所示。
以世界坐标系Σ W [1] 为基准,描述机器人的位置及其周围的环境。从而可以通过数值比较计算来判断机器人的手指是可以抓住物体,还是会发生碰撞等问题。
世界坐标系中表示的位置被称为绝对位置。在图2.2中,手指的绝对位置用下面的三维向量表示。
图2.2 世界坐标系。将初始状态的人形机器人正下方作为原点。在世界坐标系里用 p h 表示指尖位置
同样,在世界坐标系中还使用了绝对姿态、绝对速度等术语。
2.1.2 局部坐标系和同次变换矩阵
现在转动机器人的肩部,来分析手指的位置 p h 会发生怎样的变化。从图2.3a中Σ W 的视角看,机器人的左肩位置为 p a ,机器人的肩膀到指尖的向量为 r 。从图2.3中可以得出
p h = p a + r
由图2.3b可知,如果将手臂张开状态下从肩膀指向指尖的向量设为 r ′,则指尖位置为
肩部的位置 p a 保持不变,通过向量 r 向 r ′的旋转可以实现手指尖的运动。
图2.3 世界坐标系Σ W 和手臂的局部坐标系Σ a
现在考虑固定在手臂(肩膀)上的局部坐标系Σ a 。与固定在地面上的世界坐标系不同,局部坐标系是根据机器人的运动而改变位置和姿态的“可移动坐标系”。
Σ a 是根据肩膀上设定的原点和 x 、 y 、 z 轴的单位向量组成。三个单位向量 e ax , e ay , e az 在手臂放下的初期姿态与Σ W 平行(见图2.3a)。一旦机器人手臂抬起,Σ a 就会以 e ax 轴为中心旋转,旋转角度为 ϕ (见图2.3b)。
手臂的旋转角度 ϕ 和Σ a 的关系如下所示。
因为是围绕 x 轴的旋转,所以只有 e ay 、 e az 发生变化。将三个向量汇总后的3×3矩阵 R a 定义如下。
使用矩阵 R a ,图2.3中的 r 和 r ′的关系可以用下式表示。
也就是说,乘以矩阵 R a ,向量会旋转。关于这一点将在后面详细说明(2.2节)。
将以局部坐标系Σ a 为基准点看指尖的位置设为 a p h 。左上角的附带字 a 表示以Σ a 为基准点。
在图2.3中,Σ a 和整个左臂作为一个整体进行旋转, a p h 是不变的。
表示左手臂手指尖的位置的方法如下:
· 从世界坐标系Σ W 的视角看手指尖位置 p h 。
· 从局部坐标系Σ a 的视角看手指尖位置 a p h 。
基于这些关系,式(2.1)、式(2.4)、式(2.5)可以表达为
式(2.6)还有如下的表达方式。
这里为了使矩阵计算前后一致,使结果与式(2.6)相同,适当地在向量和矩阵中追加了0和1。右边出现的4×4矩阵将手臂的位置和( p a , R a )整合在一起。这里可以写为
这样的矩阵称为同次变换矩阵 [2] 。同次变换矩阵 T a 将手臂的局部坐标系表示的点的坐标变换到世界坐标系。
左臂上的任意点都对应着一个 a p ,所以手臂的位置和姿态的信息包含在同次变换矩阵 T a 中。也就是说,可以认为同次变换矩阵本身表示手臂的位置和姿态。
2.1.3 基于一个局部坐标系定义另一个局部坐标系
在图2.4a中,Σ
a
是作为基准的局部坐标系Σ
b
。Σ
b
是与小臂一起运动的局部坐标系,胳膊肘挺直的状态下坐标轴设定为和Σ
a
平行。Σ
b
的
x
、
y
、
z
方向的单位向量分别为
。如果胳膊的回转角度是
θ
,那么
胳膊关节围绕 y 轴旋转,因此只有 a e bx 和 a e bz 会发生变化。此外,这些向量都以Σ a 为基准定义,因此左上方会加上字母 a 。
图2.4 大臂的局部坐标系Σ a 和小臂局部坐标系Σ b
三个单位矩阵由以下矩阵 a R b 定义。
从Σ b 的视角得到将手指位置 b p h (见图2.4a)转换为 a p h 的公式。
在这里,同次变换矩阵 b T a 有如下定义。
b p b 是在Σ a 上观察到的Σ b 的原点。
把式(2.10)代入式(2.7),从Σ b 视角指尖位置在世界坐标系中指尖位置变换的式子可以从下式求得。
把式(2.11)右边的同次变换矩阵的乘积归纳为 T b ,可得
T b ≡ T a a T b
矩阵 T b 是一个以世界坐标系形式表示Σ b 的同次变换矩阵,可以用于表示大臂的位置和姿态。 T a 会随着肩膀的旋转而变化, a T b 是会随着手肘的旋转而变化,这很好地表现了 T b 受到这两方面的影响。
2.1.4 同次变换矩阵的链式法则
将上述内容推广,Σ b 到Σ n 的局部坐标系具有依次连接的机理。毗邻坐标系Σ i 和Σ i +1 之间的同次变换矩阵可以用下式表示。
i T i+ 1
通过重复探讨前面的内容,可以求得如下的公式。
式中, T N 是表示世界坐标系中第 N 个关节的位置和姿态的同次变换矩阵。若要在连杆的末端追加关节,需要右乘同次变换矩阵。
将这种通过依次相乘同次变换矩阵来计算坐标变换的规则称为链式规则 [167] 。通过链式规则,可以准确地计算出连接有很多关节的复杂机器人的运动。


