1. 机器人运动学概述
大家好,欢迎来到《机器人运动学与轨迹基础》的第一章。我是你们这门课的老朋友,一个在机器人堆里摸爬滚打了十几年的工程师。今天咱们不聊虚的,直接切入正题——运动学到底是个啥?
很多人一听到“运动学”三个字,脑子里就浮现出一堆复杂的公式和坐标系。其实没那么可怕。说白了,运动学就是研究机器人怎么动起来的学问,但它不管“为什么动”——那是动力学的事。我们只关心位置、速度、加速度这些几何关系。
核心观点:运动学是机器人控制的“眼睛”和“尺子”。没有它,你连机器人手在哪儿都不知道,更别说让它去抓东西了。
1.1 机器人的定义与分类
先说说什么是机器人。我个人的定义很简单:一种能感知环境、做出决策、并执行动作的机电一体化系统。注意,这里三个要素缺一不可。光有机械臂没有传感器,那是数控机床;光有算法没有执行器,那是仿真软件。
机器人的分类方式很多,我习惯从结构形态和应用场景两个维度来分:
| 分类维度 | 类型 | 典型代表 | 运动学特点 |
|---|---|---|---|
| 结构形态 | 串联机器人 | 工业六轴臂 | 工作空间大,刚度低,运动学正解简单 |
| 并联机器人 | Delta 机器人 | 刚度高,工作空间小,运动学逆解复杂 | |
| 移动机器人 | AGV、四足机器人 | 涉及轮式/足式运动学,非完整约束 | |
| 应用场景 | 工业机器人 | 焊接、搬运、装配 | 高精度、重复性、固定基座 |
| 服务机器人 | 扫地机、手术机器人 | 人机交互、环境适应、移动+操作 |
嗯,这里要注意。我们这门课主要讲的是串联式工业机器人的运动学。为什么?因为它的理论最成熟,也是你理解其他类型机器人的基础。我在项目中遇到过不少工程师,一上来就想搞并联机器人的运动学,结果连串联的DH参数都没搞明白,最后绕了一大圈又回来补课。
我的建议:先把串联机器人的运动学吃透。它就像编程里的“Hello World”,简单但能帮你建立完整的思维框架。
1.2 运动学基本概念
运动学里有两个最基础的概念:正运动学和逆运动学。你想想看,这俩就像是一对双胞胎,但性格完全相反。
- 正运动学:已知关节角度,求末端位姿。说白了就是“你告诉我每个关节转了多少,我告诉你手在哪儿”。这个计算是唯一的,也是简单的。
- 逆运动学:已知末端位姿,求关节角度。也就是“你告诉我手要去哪儿,我算算每个关节该转多少”。这个计算通常不唯一,可能有多个解,甚至无解。
为什么会这样?我举个例子你就明白了。你的手臂从A点移动到B点,你可以肘关节朝上,也可以肘关节朝下——两种姿势都能让手到达同一个位置。这就是逆运动学的多解性。
除了这两个,还有几个概念你得刻在脑子里:
- 自由度:机器人能独立运动的数目。一个六轴工业机器人有6个自由度,理论上可以到达工作空间内的任意位置和姿态。
- 工作空间:机器人末端能到达的所有点的集合。注意,不是所有姿态都能到达,所以通常我们分“可达工作空间”和“灵活工作空间”。
- 奇异位形:机器人失去一个或多个自由度的特殊姿态。我在调试一条焊接产线时遇到过这个问题——机器人突然卡住不动了,吓得我以为是电机烧了。后来一查,原来是进入了奇异点,雅可比矩阵秩亏了。
避坑指南:我曾经因为没仔细分析工作空间,把机器人安装在离工件太远的位置,结果末端死活够不到目标点。最后不得不重新设计安装底座,浪费了两周工期。所以,设计阶段一定要用运动学模型把工作空间算清楚。
1.3 位姿描述与空间变换
好,接下来是本章的重头戏——位姿描述。什么叫位姿?就是位置+姿态。位置好理解,就是三维空间里的一个点 (x, y, z)。姿态呢?就是机器人末端朝哪个方向,也就是它的“朝向”。
描述姿态的方法有很多,我常用的有三种:
| 方法 | 表示方式 | 优点 | 缺点 |
|---|---|---|---|
| 旋转矩阵 | 3×3 正交矩阵 | 直观,易于组合 | 9个参数,冗余 |
| 欧拉角 | 三个角度 (α, β, γ) | 参数少,物理意义明确 | 有万向锁问题 |
| 四元数 | 四个参数 (w, x, y, z) | 无奇点,插值平滑 | 不够直观 |
我个人习惯在底层计算中用四元数,但在调试和可视化时用欧拉角。为什么?因为欧拉角更符合人的直觉。你想想看,你跟同事说“绕X轴转30度,再绕Y轴转45度”,他马上能想象出来。但你说“四元数 (0.707, 0, 0.707, 0)”,他肯定一脸懵。
有了位姿描述,接下来就是空间变换。机器人运动学本质上就是一系列坐标变换的叠加。我们用齐次变换矩阵来统一描述旋转和平移:
# 齐次变换矩阵 T 的通用形式
T = | R p |
| 0 1 |
其中:
R: 3×3 旋转矩阵
p: 3×1 平移向量
0: 1×3 零向量
1: 标量 1
这个矩阵有什么用?假设你有两个坐标系——基坐标系 {B} 和工具坐标系 {T}。如果你知道 {T} 相对于 {B} 的变换矩阵 T_BT,那么任何在 {T} 中描述的点 p_T,都可以通过简单的矩阵乘法转换到 {B} 中:
p_B = T_BT * p_T
就这么简单。整个机器人运动学,说白了就是不停地做这种矩阵乘法。从基座到关节1,从关节1到关节2……一直乘到末端执行器。
关键点:齐次变换矩阵是机器人运动学的“通用语言”。无论你的机器人是什么结构,最终都可以用一串矩阵乘法来描述它的运动。
下面这张图展示了本章的知识体系,你可以把它当作一个思维导图来用:
好了,第一章的内容就到这里。记住,运动学是机器人学的基石,后面的轨迹规划、控制、动力学全都建立在这些概念之上。别急着往下翻,先把位姿描述和齐次变换矩阵搞明白——我保证,后面你会感谢自己现在的努力。