2、运动学基础:空间刚体运动描述、旋转矩阵与欧拉角、齐次变换矩阵
各位同行,大家好。今天我们聊聊并联机构运动学的基础。说白了,就是怎么用数学语言描述一个刚体在空间里怎么动。
我刚开始接触并联机构时,觉得这东西不就是几个杆连起来嘛,有啥好描述的?后来真上手做项目,才发现——嗯,描述不清楚,后面奇异性分析根本没法做。所以这块基础,咱们得打扎实。
2.1 空间刚体运动的描述方式
一个刚体在空间里有几个自由度?六个。三个平移,三个旋转。平移好说,就是位置变了。旋转呢?麻烦点。
我个人习惯把刚体运动拆成两步:先看它往哪走了,再看它朝哪个方向转了。这样思路清晰。
举个例子。我在做六自由度并联平台时,动平台的运动就是典型的刚体运动。你得知道平台中心点在哪,还得知道平台平面是水平还是倾斜的。这两部分信息,缺一不可。
核心概念:刚体运动 = 位置变化 + 姿态变化。位置用三维向量描述,姿态用旋转矩阵或欧拉角描述。
2.2 旋转矩阵
旋转矩阵,说白了就是一个3×3的方阵。它能把一个向量从一个坐标系转到另一个坐标系。
你想想看,一个向量在空间里,你换个角度看,它的坐标值就变了。旋转矩阵干的就是这个活。
旋转矩阵有几个重要性质:
- 正交性:RTR = I,也就是说它的逆等于它的转置。这个性质在计算中非常有用。
- 行列式为+1:保证了是纯旋转,没有缩放或镜像。
- 三个自由度:虽然矩阵有9个元素,但受正交性约束,实际只有3个独立参数。
我记得有一次调试一个并联机构的逆解程序,怎么算都不对。折腾了半天,发现是旋转矩阵用错了——我用了非正交矩阵,结果位置全乱套了。从那以后,我每次用旋转矩阵前都会检查一下RTR是否等于I。
常见的旋转矩阵有绕X轴、Y轴、Z轴旋转的三种基本形式:
// 绕X轴旋转角度θ
Rx(θ) = [1, 0, 0;
0, cosθ, -sinθ;
0, sinθ, cosθ]
// 绕Y轴旋转角度θ
Ry(θ) = [cosθ, 0, sinθ;
0, 1, 0;
-sinθ, 0, cosθ]
// 绕Z轴旋转角度θ
Rz(θ) = [cosθ, -sinθ, 0;
sinθ, cosθ, 0;
0, 0, 1]
小技巧:实际编程时,我建议用四元数代替旋转矩阵做插值。旋转矩阵在连续旋转时容易出现万向锁,四元数就没这个问题。不过这是后话了。
2.3 欧拉角
欧拉角是另一种描述姿态的方式。它用三个角度来表示旋转:偏航角、俯仰角、滚转角。你开过飞机或者玩过无人机的话,对这些应该不陌生。
欧拉角的本质是三次连续的旋转。常见的顺序有ZYX、ZYZ等。不同的顺序,结果不同。这一点很多人容易搞混。
我曾经在项目中吃过这个亏。当时用欧拉角描述并联机构的动平台姿态,结果仿真和实测对不上。后来发现是旋转顺序搞反了——我用了ZYX,但实际机构用的是XYZ。你想想看,顺序一错,姿态全歪。
| 欧拉角类型 | 旋转顺序 | 常见应用 |
|---|---|---|
| ZYX(偏航-俯仰-滚转) | 先绕Z轴,再绕Y轴,最后绕X轴 | 飞行器、无人机 |
| ZYZ | 先绕Z轴,再绕Y轴,最后绕Z轴 | 机器人关节 |
| XYZ(固定角) | 绕固定坐标系的三轴依次旋转 | 并联机构平台 |
避坑指南:欧拉角有个致命问题——万向锁。当第二个旋转角为±90°时,第一个和第三个旋转轴会重合,导致失去一个自由度。我曾经在调试一个三自由度并联机构时遇到这个问题,动平台突然卡死,怎么算都算不出逆解。后来改用旋转矩阵才解决。
2.4 齐次变换矩阵
齐次变换矩阵,就是把旋转和平移打包在一起。它是一个4×4的矩阵:
T = [R p;
0 1]
其中R是3×3旋转矩阵,p是3×1平移向量。最后一行是[0 0 0 1]。
为什么要用齐次变换矩阵?说白了,就是为了把旋转和平移统一成一个矩阵乘法。这样,连续变换就可以用矩阵乘法串联起来,非常方便。
举个例子。并联机构的运动学链,从基座到动平台,中间经过多个关节。每个关节的变换都可以用一个齐次变换矩阵表示。整条链的变换,就是这些矩阵的乘积。
我在做六自由度并联机构的运动学建模时,就是用齐次变换矩阵把每条支链的变换关系写清楚。然后求逆解时,再把这些矩阵拆开,提取位置和姿态信息。
齐次变换矩阵的逆也很简单:
T^(-1) = [R^T -R^T * p;
0 1]
这个性质在运动学求解中非常有用。比如,已知动平台位姿,求基座到各关节的变换,就需要用到逆矩阵。
关键点:齐次变换矩阵是并联机构运动学建模的基石。无论是正解还是逆解,都离不开它。我建议大家在写代码时,把齐次变换矩阵的运算封装成函数,这样后续调用起来方便很多。
2.5 本章知识体系
下面这张图,是我自己总结的运动学基础的知识结构。你可以看看,理一理思路。
这张图把本章的核心内容串起来了。从空间刚体运动描述出发,分三条线:位置、姿态、齐次变换。姿态又分旋转矩阵和欧拉角两种方式。最后都汇聚到运动学建模中。
我个人觉得,理解这张图比死记公式更重要。因为公式可以查,但知识结构得自己建立。
2.6 小结
好了,这一章的内容就这些。总结一下:
- 刚体运动 = 位置 + 姿态
- 旋转矩阵是描述姿态的数学工具,有正交性
- 欧拉角直观但要注意旋转顺序和万向锁
- 齐次变换矩阵把旋转和平移统一,是建模利器
这些基础打好了,后面讲奇异性分析时,你就能跟上节奏了。嗯,下一章我们聊聊速度与加速度分析,那是奇异性分析的前奏。
公众号:蓝海资料掘金营,微信deep3321