运动学基础:坐标系与变换

各位同学,咱们今天聊点硬核的。运动学,说白了就是研究“怎么动”的学问。你让机器人从A点走到B点,中间怎么走、关节怎么转、速度怎么变,全得靠运动学来算。我刚开始做多轴联动的时候,觉得这玩意儿就是套公式,后来踩了坑才发现——坐标系没搞对,后面全白费。

核心观点:运动学是整个轨迹规划的“地基”。地基不稳,楼盖得再高也得塌。坐标系变换、正逆解、速度加速度,这三块必须吃透。

2.1 坐标系与齐次变换矩阵

先问个问题:你让机器人“往右走10厘米”,它知道“右”是哪儿吗?

答案是否定的。机器人只知道自己的关节角度,它需要你把“往右”这个指令,翻译成它听得懂的关节空间语言。这个翻译过程,就是坐标系变换。

2.1.1 坐标系的定义

每个运动轴、每个工具、每个工件,都有自己的坐标系。常见的坐标系有:

  • 世界坐标系(基坐标系):固定在机器人底座,是全局参考。
  • 关节坐标系:每个关节自己的角度参考。
  • 工具坐标系(TCP):固定在机器人末端,焊枪、夹爪都在这个系里。
  • 工件坐标系:固定在工件上,方便编程。

我个人习惯,在项目一开始就把所有坐标系标定好。有一次在产线上,因为工具坐标系偏了2毫米,焊枪直接怼到了工件上……嗯,从那以后我再也不敢偷懒了。

2.1.2 齐次变换矩阵

坐标系之间的变换,用齐次变换矩阵来描述。它是一个4x4的矩阵,包含了旋转和平移信息:

T = | R   p |
    | 0   1 |

其中:

  • R 是3x3旋转矩阵,描述姿态。
  • p 是3x1平移向量,描述位置。
  • 最后一行是 [0 0 0 1],保持齐次形式。

举个例子,把点从坐标系{A}变换到坐标系{B}:

^B P = ^B_T_A * ^A P

你想想看,这个矩阵乘法,其实就是把旋转和平移打包在一起,一次搞定。我在做六轴机器人离线编程时,经常要串联五六个变换矩阵,一个符号写错,末端位置就飞到天上去。

小技巧:写变换矩阵时,先写旋转,再写平移。我习惯在矩阵旁边标注“从哪到哪”,比如 ^B_T_A 表示“从A到B的变换”。这样不容易搞混。

2.2 正运动学与逆运动学

这两个概念,是运动学的“左右手”。

2.2.1 正运动学

正运动学:已知关节角度,求末端位姿。

说白了,就是“你告诉我关节转了多少,我告诉你手在哪儿”。

对于串联机器人,正运动学就是一连串的齐次变换矩阵相乘:

^0_T_n = ^0_T_1 * ^1_T_2 * ... * ^(n-1)_T_n

这个计算是确定的、唯一的。你给一组关节角,末端位姿就只有一个答案。我在调试SCARA机器人时,正运动学用来验证逆解是否正确——先正解算出位姿,再逆解算回关节角,看能不能对得上。

2.2.2 逆运动学

逆运动学:已知末端位姿,求关节角度。

这个就麻烦多了。同一个末端位置,可能有多种关节角度组合(多解),甚至可能无解(超出工作空间)。

逆运动学的求解方法主要有:

  • 解析法:通过几何关系直接推导公式。速度快,但只适用于特定构型(如PUMA 560)。
  • 数值法:用迭代逼近(如牛顿-拉夫森法)。通用性强,但计算慢,且可能不收敛。

避坑指南:我曾经在项目里直接用数值法做逆解,结果在奇异点附近迭代发散,机器人直接“抽风”。后来我改用解析法+数值法混合策略——先解析求初值,再数值微调。稳得很。

2.3 速度与加速度的数学描述

位置搞定了,接下来就是“动起来”的问题。速度、加速度,决定了轨迹的平滑度和执行效率。

2.3.1 速度描述

在关节空间,速度就是关节角度的变化率:

ω = dθ/dt

在笛卡尔空间,速度是末端位置的线速度和角速度:

v = dp/dt
ω = dR/dt

两者之间通过雅可比矩阵 J 关联:

ẋ = J * θ̇

这个雅可比矩阵,是运动学里最“要命”的东西。它把关节速度映射到末端速度,而且它还包含了机器人的几何信息。我在做轨迹规划时,经常要检查雅可比矩阵的秩——如果秩降低,说明机器人进入了奇异位形,这时候末端在某些方向上会失去自由度。

2.3.2 加速度描述

加速度是速度的变化率:

a = dv/dt
α = dω/dt

在轨迹规划中,加速度直接决定了运动的冲击度(Jerk)。加速度变化太剧烈,机器人会抖动,甚至损坏机械结构。

我个人的经验是:加速度的规划比速度更重要。速度可以快,但加速度一定要平滑。S型速度曲线比梯形曲线好得多,就是因为它的加速度是连续的。

关键公式:末端加速度与关节加速度的关系:

ẍ = J * θ̈ + J̇ * θ̇

注意,这里多了一项 J̇ * θ̇,这是速度对加速度的耦合项。很多初学者会漏掉这一项,导致加速度计算不准。

2.4 知识体系总览

下面这张图,把本章的核心逻辑串起来了。你仔细看,坐标系变换是基础,正逆运动学是桥梁,速度加速度是执行层。三者缺一不可。

运动学基础知识体系 运动学基础:知识体系总览 坐标系与变换 正运动学 & 逆运动学 速度与加速度 世界坐标系 工具坐标系 齐次变换矩阵 正运动学 逆运动学 解析法/数值法 关节空间速度 笛卡尔空间速度 雅可比矩阵 坐标系变换是基础 → 正逆运动学是桥梁 → 速度加速度是执行层 三者串联,构成完整的运动学知识体系

2.5 本章小结

这一章的内容,说白了就是三件事:

  1. 坐标系与齐次变换矩阵:让机器人在不同坐标系之间“翻译”位置和姿态。
  2. 正运动学与逆运动学:关节空间和笛卡尔空间之间的“双向翻译”。
  3. 速度与加速度:让运动“动起来”的数学描述,雅可比矩阵是关键。