对于关节臂式机器人,一般会在它的末端执行器上固联一个坐标系 ,如图所示。通常情况下,工具的轴线为坐标系的 轴,并被称为接近向量,记为 。对于某
些应用来说,定义接近向量比定义欧拉角或横滚-俯仰-偏航角更为方便。
然而定义出 轴的方向还不足以表示完整坐标我们还需要确定 轴和 轴的方向。为了确定末端执行器的姿态,我们定义一个与接近向量正交的向量,它位于机器人手爪的两个手指之间,被称为姿态向量,记为 。有了接近和姿态这两个单位向量,就足以完全确定旋转矩阵了:
因为剩下的一列可以根据正交系的概念计算,即 。
即使两个向量 和 不是正交的,它们仍然能定义一个平面,而且计算出来的 仍垂直于这个平面。在这种情况下,我们需要用 来计算一个新的向量值,它仍然在 和 定义的平面中,只不过与 和 都正交。
使用工具箱函数,可以执行以下计算:
>> a = [1; 0; 0];
>> o = [0; 1; 0];
>> oa2r(o, a)
ans =
0 0 1
0 1 0
-1 0 0
任何两个非平行的向量都足以定义一个坐标系。对于一个摄像头,通常我们取光轴为 轴,摄像头的左侧为 轴。对于移动机器人,通常我们规定重力加速度方向(用加速度计测量)为 轴方向,前进方向(用电子罗盘测量)为 轴方向。