一、运动学基础:刚体运动、自由度、位姿描述、齐次变换矩阵

各位同学,欢迎来到《正逆运动学计算速成》的第一章。

说实话,我刚开始学机器人时,觉得运动学就是一堆公式。后来踩了坑才发现,基础不牢,后面全白搭。今天咱们就把地基打扎实。

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矩阵,乘起来就是末端位姿。

记住:正运动学 = T1 * T2 * T3 * ... * Tn。每个Ti代表一个关节的变换。

知识体系总览

下面这张图,是我自己画的知识结构。你看一遍,心里就有谱了。

运动学基础 刚体运动 平移 + 旋转 形状大小不变 自由度 空间刚体:6个 平面刚体:3个 位姿描述 位置 + 姿态 旋转矩阵/欧拉角/四元数 齐次变换矩阵 4x4矩阵 串联变换的基础 正运动学 = T1*T2*...*Tn

你看,这四个知识点是环环相扣的。刚体运动是基础,自由度告诉你能动多少,位姿描述告诉你动到哪,齐次变换矩阵就是计算工具。

我的建议:刚开始学,别急着背公式。先理解每个概念在物理上是什么意思。比如齐次变换矩阵,你就当它是一个“打包盒”,把旋转和平移装一起,方便传递和计算。

好了,这一章就到这里。记住:基础不牢,地动山摇。下一章咱们就开始真正算正运动学了。


专注资料整理