旋量(2)

上篇利用一个螺丝钉介绍了旋量,描述一个旋量为[公式]。当给它一个螺丝刀,会发生螺旋运动,被描述为 [公式] 。此螺旋运动,分为角速度和线速度,可以描述所有的空间刚体运动。

我们结合我们的机器人后,再看看旋量。

机器人的关节一般只有两种,旋转副和移动副,很少见到有螺丝钉的螺旋副。所以在本篇中我们把螺丝钉简化一下,简化为两种形态(1)节距无限大的一颗“旋转钉”,也就是旋量中[公式] ,不知道有没有这种东西,自己画了一下;(2)节距为零的纯钉子,也就是旋量中 [公式] 


这两种旋量,就可以表示旋转副和移动副了。对于(1)我们只能进行旋转输入,螺旋运动变为纯转动,此时旋量轴 [公式] ;对于(2)我们只能进行平移运动,没有旋转。那就意味着没有旋转轴,只有平移方向,所以 [公式]  [公式] 。此时旋量轴 [公式] 

(此处涉及单位旋量的原部矢量、对偶部矢量的关系,以及退化后的单位线矢量和单位偶量。对细节感兴趣的伙伴移步其他资料哦。)

旋转矩阵的指数表示(Exponential representation)

假设螺丝(1)上某一点p,从t=0开始到 [公式] ,位置从 [公式] ,实质上就是绕旋转轴转了 [公式] 角。上篇我们还写到绕某一旋转轴转动 [公式] 角的旋转矩阵为 [公式] 。所以上面运动表达为公式的话, [公式]

两边对t求导得

[公式]

向量微分方程求解得以下解。注意的是,由于旋转轴为单位阵,时间t的变化和转角 [公式]的变化是等价的,所以t和[公式]可互相替换。[公式]

还知道, [公式] 。将指数项Taylor展开可得 [公式]

此公式称为旋转矩阵罗德里格斯公式(Rodrigues' formula),也是旋转矩阵得指数表示。

齐次变换矩阵(T矩阵)的指数坐标表示(Exponential coordinates representation of a homogeneous transformation )

在前几篇中,我们说用T矩阵来表示一个六自由度的量,感觉非常不值当。通过分析了旋转矩阵,将其转换为指数形式 [公式] ,成为了一个三自由度的量。结合一下平移,我们可以定义六维T矩阵的指数坐标为 [公式] 。用公式表达为, [公式]

可定义,当 [公式] 为螺旋轴(screw axis),如果旋转轴为单位向量[公式] ,那么对于任意距离 [公式] 在这个轴上的运动可被表述为 [公式]

当只平移运动时, [公式] [公式]

刚体运动的矩阵对数

有指数,就会有对数。任意一个T矩阵,总能找到一个螺旋轴S和一个标量 [公式] [公式]

那么, [公式] 就是T矩阵的对数。

算法: 通过[公式] ,找到一个 [公式] 和一个螺旋轴 [公式] ,使得 [公式] 。向量 [公式] 包含T的指数坐标系,并且 [公式] 为T的矩阵对数。

(1)如果 [公式] ,那么 [公式]

(2)否则,利用R求出 [公式]  [公式]  [公式]

[公式]

(3)再计算 [公式] ,其中 [公式] 

例:frame{b}和frame{c}如下图,当前位姿用T_sb和T_sc表示。求{b}->{c}的变换关系用指数形式表达出来,并求转动角度。

1)因为是相对于固定坐标系{s},所以

[公式]

求得T_bc,

2)利用R,求 [公式]  [公式] ,得 [公式]  [公式]

3)利用p,求 [公式] ,得 [公式]

4)经过分析,此运动为纯旋转得螺旋运动,则 [公式] ,可以得到螺旋轴上的一点q的坐标。其中反对称阵的性质 [公式] 

总结一下,以旋量 [公式] 为标准,运动旋量螺旋轴 [公式] ,做 标量[公式] 的螺旋运动,其中

[公式]