一、运动学基础:刚体运动、自由度、位姿描述、齐次变换矩阵
各位同学,欢迎来到《正逆运动学计算速成》的第一章。
说实话,我刚开始学机器人时,觉得运动学就是一堆公式。后来踩了坑才发现,基础不牢,后面全白搭。今天咱们就把地基打扎实。
1.1 刚体运动——机器人为什么不会散架?
先问个问题:你手里的手机,从桌面移到空中,它变形了吗?没有。这就是刚体——形状和大小都不变的理想物体。
我当年做第一个六轴机械臂项目时,以为关节之间的连杆会轻微弯曲。结果一算,误差全来自装配间隙,连杆本身几乎不变形。所以,放心把连杆当刚体处理。
举个例子:你端着咖啡从A点走到B点,身体是平移,手腕可能还在旋转保持杯口朝上。机器人也一样,末端执行器的运动,就是一系列平移和旋转的组合。
1.2 自由度——机器人到底能怎么动?
自由度,说白了就是独立运动的个数。一个刚体在三维空间里,能沿X、Y、Z轴平移,还能绕这三个轴旋转——一共6个自由度。
我见过不少新手问:“为什么我的六轴机器人,末端只能走直线,不能转圈?” 嗯,这里要注意:自由度是关节能动的数量,不是末端能走的轨迹。6个关节,每个关节给1个自由度,加起来就是6。
| 物体 | 自由度 | 说明 |
|---|---|---|
| 平面上的点 | 2 | 只能沿X、Y移动 |
| 平面上的刚体 | 3 | X、Y移动 + 绕Z旋转 |
| 空间中的刚体 | 6 | 3个平移 + 3个旋转 |
| 典型工业机器人 | 6 | 6个旋转关节 |
1.3 位姿描述——告诉机器人“你在哪、脸朝哪”
位姿,就是位置+姿态。位置好理解,就是坐标(x, y, z)。姿态呢?就是朝向。
我记得有一次调试焊接机器人,位置算得贼准,结果焊枪歪了5度,焊缝全偏了。从那以后,我特别重视姿态描述。
描述姿态,常用三种方法:
- 旋转矩阵:3x3矩阵,直观但参数多(9个元素,实际只有3个独立)
- 欧拉角:绕固定轴转三次,比如Z-Y-X顺序。简单,但有万向锁问题
- 四元数:4个参数,无万向锁,插值平滑。我强烈推荐用这个
1.4 齐次变换矩阵——把平移和旋转打包
齐次变换矩阵,说白了就是把旋转矩阵和平移向量塞进一个4x4的矩阵里。为什么是4x4?因为要统一乘法运算。
你看,如果只有旋转矩阵R和平移向量t,变换一个点p的公式是:p' = R * p + t。这有加法和乘法,不统一。用齐次坐标后,变成:p' = T * p,全是乘法,方便串联。
// 齐次变换矩阵的样子
T = [ R t ]
[ 0 1 ]
// 其中R是3x3旋转矩阵,t是3x1平移向量
// 举个例子:绕Z轴转90度,再沿X轴平移5个单位
T = [ 0 -1 0 5 ]
[ 1 0 0 0 ]
[ 0 0 1 0 ]
[ 0 0 0 1 ]
为什么要学这个?因为正运动学就是一连串的齐次变换矩阵相乘。每个关节一个T矩阵,乘起来就是末端位姿。
知识体系总览
下面这张图,是我自己画的知识结构。你看一遍,心里就有谱了。
你看,这四个知识点是环环相扣的。刚体运动是基础,自由度告诉你能动多少,位姿描述告诉你动到哪,齐次变换矩阵就是计算工具。
好了,这一章就到这里。记住:基础不牢,地动山摇。下一章咱们就开始真正算正运动学了。