旋量(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的坐标。其中反对称阵的性质 。
总结一下,以旋量 为标准,运动旋量螺旋轴 ,做 标量 的螺旋运动,其中
评论(0)
您还未登录,请登录后发表或查看评论