首先感谢古月居转载我的文章,但是本文有很多乱码和不清晰的地方影响阅读体验,如果对本文感兴趣,欢迎大家去看我的知乎原帖,同时欢迎留言讨论!


接上一帖,现在考虑刚体的线速度和角速度,这里我们依旧定义定系为 [公式] ,动系为 [公式] ,那么动系相对于定系的变换矩阵就定义为:

因为这里只有两个坐标系,我们就采用默认的定义(这里第三章第一帖描述过了,可以看一下)省略矩阵下标,表达为T,注意坐标系多了千万别这么搞,坐标系混淆是一件很痛苦的事。

利用之前的结论,我们可以得到下面这个式子,对于对称阵R来说它的逆和转置相等:

[公式]

[公式]

注意,从结果我们可以看出 [公式] 表示相对于坐标系b的线速度和角速度,那么我们把 [公式]  [公式] 写入一个向量,称为the spatial velocity in the body frame, or simply the body twist,就表达为:

[公式]

正如用斜对称矩阵表示角速度矢量很方便一样,用矩阵表示twist也非常方便,那么在这里拓展之前的斜对称阵的表示方法用来表示twist:

[公式]

讨论完了 [公式] ,那么反过来,[公式] 代表什么呢,有下式:

可以看到上式中角速度是相对于定系s的,但是线速度却不是由动系的原点坐标的导数 [公式] 来表示的,我们对速度项 [公式] 做一下处理:

[公式]

这样 [公式] 的物理意义就清晰了,想象运动的刚体无限大, [公式] 表示在定系中刚体上某点的瞬时速度,这和我们理论力学中学过的绝对速度,相对速度,牵连速度的思想其实不谋而合,大家可以思考一下。

图1 物理意义图

和上面的描述一样,将把 [公式]  [公式] 写入一个向量,称为the spatial velocity in the space frame, or simply the spatial twist:

[公式]

[公式]

如果我们把运动的物体看作无限大的物体,那么body twist和spatial twist之间将出现一种关系:

还是先对符号加以说明 [公式] 代表动系b中的角速度, [公式] 代表定系s中的角速度, [公式] 为动系内刚体的线速度(注意这里是指对动系原点的速度), [公式] 为相对于定系的线速度,那么就有:

这里要用到我们之前chapter3 Ⅰ中的结论:

[公式]

[公式]

动系b相对于动系s有:

[公式]

反过来看,就有:

[公式]

我们把上式展开,就有:

这时候我们再用结论: [公式]  [公式] 的关系就为:

这个结论非常重要,接下来我们对它进行着重讨论。

对于给出的转换矩阵 [公式] ,它的adjoint representation(伴随表示)写为 [公式] :

[公式]

对于任意 [公式] ,关于T的adjoint map为:

[公式]

也可以写成:

[公式]

用矩阵形式 [公式] 来表示 [公式] ,就有:

[公式]

adjoint map满足以下性质:

对于 [公式]  [公式] ,有:

[公式]

同样,对于任意 [公式] ,下式成立:

[公式]

如果, [公式] ,就有:

[公式]

有了伴随表示,那么:

[公式]

[公式]

到此,关于twist的有关内容就介绍完毕了。

接下来我们用twist来描述Screw Interpretation:

图2 Screw Interpretation示意图

旋转轴记为 [公式] ,绕轴旋转的角速度为 [公式] ,twist记为V,螺丝旋进的时候绕轴在旋转的同时还在平动,旋转轴表示为 [公式] 的集合,其中q是轴上点的坐标, [公式] 是旋转轴的单位向量,h是螺距,为旋进时的线速度和角速度之比:

那么twist就表示为:

[公式]

此时,我们来分析一下螺丝的运动,螺丝可能只转动,或者在转动的同时平动,对应 [公式] ,也有可能只做平动,不转动,对应 [公式] ,对于三维空间中的刚体,可能做得就是平动,定轴转动以及二者组成的平面运动,所以这就引出了下面规范化 screw axis的定义:

screw axis S可以这样表示: [公式]

(1)当 [公式] 时,很显然这里的角速度向量是单位向量,线速度 :[公式]

,这里q就是 screw axis上一点的坐标,h是线速度和角速度的比值,当h=0时就代表刚体仅仅做定轴转动没有平动。

(2)当 [公式] 时,即代表刚体仅平动而没有定轴转动。

注意在上面的定义中我们规定了角速度和线速度均为单位向量,但在一般的twist中,这是没有限制的,角速度和线速度多大就是多大。

那么 [公式] 的矩阵表示就为:

[公式]

[公式]

同样,坐标系a相对于坐标系b的screw axis可以表示为:

[公式]

[公式]

之后介绍刚体运动的指数坐标,有了前面的基础,之后的工作就很好进行了

在平面运动中,我们知道任何平面刚体的运动都可以通过刚体绕一定点转动来完成,对于平动可以认为定点在无穷远处,那么对于在三维空间中运动的刚体,类似的结论还成立吗?答案是肯定的,这就是著名的Chasles–Mozzi theorem。

Chasles–Mozzi theorem其实是欧拉旋转定律的推论,它的内容为刚体的最广义位移等价于一个平移加上一个旋转,即刚体运动可分为平移运动与旋转运动。刚体的现在位置与现在取向可以视为是从某个初始位置与初始取向经过平移与旋转而成。

这里我们已经有了之前推导指数坐标和矩阵对数的基础,对于screw axis,相应结论也成立:

那么对于 [公式] 表示的screw axis,如果 [公式]  [公式] 是绕轴旋转的角度,那么转换矩阵T的指数坐标就表示为:

如果当 [公式] ,指数坐标为:

那么相应的刚体运动的转换矩阵T=(R,p)的矩阵对数就为:

那么根据矩阵对数的性质,就有:

如果 [公式] ,那么 [公式]

如果是其他情况,那么:

这样,关于twist的相关知识就介绍完毕。

接下来,我们来关注力和力矩组成的向量wrench。

考虑作用在刚体上一点某点r的线性力f,定义定系为 [公式] ,动系为 [公式] ,那么定系a中的点r可以表示为 [公式] ,力表示为 [公式] ,那么产生的力矩(torque或moment)就表示为:

[公式]

图3 坐标系和受力方向示意图

和twist一样,我们把力和力矩写入一个六维向量,称为spatial force或wrench,那么在定系a中的wrench记为 [公式] 

[公式]

wrench和twist具有相同的性质,如果我们知道动系b相对于定系a的转换矩阵 [公式] ,那么:

[公式]

同理:

[公式]

我们再用adjoint map的性质把上面两个式子表达一下:

[公式]

[公式]

我们这里把定系和动系统一成我们一直用的s和b,那么 [公式] 就表示spatial wrench, [公式] 就表示body wrench。

这一章的推导很多,数学概念很多,这里贴上原书的summary总结的表格,熟悉数学推导之后查表使用会比较方便:

完结撒花,Chapter3结束,接下来进入chapter4,链接如下:

现代机器人:力学,规划,控制(chapter4) - Mr.Bo的文章 - 知乎 zhuanlan.zhihu.com/p/36