🦾 机器人学基础¶
本系列笔记以机械臂为对象,系统梳理从结构描述到运动控制的核心知识。
整体脉络¶
机器人学的知识链条可以沿一条主线理解:先描述结构 → 再建立数学模型 → 最后实现控制。
graph LR
A["<b>结构</b><br>连杆 · 关节 · DOF"] --> B["<b>数学工具</b><br>旋转矩阵 · 齐次变换"]
B --> C["<b>位置关系</b><br>正/逆运动学"]
C --> D["<b>速度关系</b><br>雅可比矩阵"]
D --> E["<b>力/力矩关系</b><br>动力学建模"]
E --> F["<b>运动实现</b><br>轨迹规划 · 控制"]
每一层都建立在前一层的基础上:
| 层级 | 核心问题 | 输入 → 输出 |
|---|---|---|
| 结构 | 机器人有几个关节?怎么连的? | — |
| 坐标变换 | 如何描述空间中的位置和姿态? | 旋转/平移参数 → 变换矩阵 |
| 运动学 | 关节角 ↔ 末端位姿 的映射? | \(q \leftrightarrow T\) |
| 速度 | 关节速度 → 末端速度? | \(\dot{q} \xrightarrow{J} v\) |
| 动力学 | 实现期望运动需要多大力矩? | \(q, \dot{q}, \ddot{q} \to \tau\) |
| 轨迹与控制 | 如何平滑地从 A 运动到 B? | 期望轨迹 → 关节指令 |
核心概念速览¶
1. 结构与自由度¶
机器人由连杆(Link)和关节(Joint)交替串联构成。关节分为转动关节(R)和移动关节(P),每个单自由度关节提供 1 DOF。
\[F = 6(n-1) - \sum_{i=1}^{j}(6-f_i) \quad \text{(Grübler-Kutzbach 公式)}\]
- 一般工业机械臂取 6 轴(恰好覆盖末端 6 DOF),>6 轴为冗余机器人
2. 坐标变换¶
描述刚体的位姿 = 位置 + 姿态。核心工具:
| 工具 | 作用 | 关键性质 |
|---|---|---|
| 旋转矩阵 \(R \in SO(3)\) | 描述姿态 | \(R^T R = I,\ \det R = 1\) |
| 齐次变换 \(T\) (4×4) | 同时描述旋转 + 平移 | 可链式组合:\({}^A_C T = {}^A_B T \cdot {}^B_C T\) |
| 欧拉角 (RPY) | 3 参数姿态表示 | 存在万向节死锁 |
| 四元数 | 4 参数姿态表示 | 无奇异、适合插值 |
旋转顺序
固定轴(外旋)按 \(R_z R_y R_x\) 左乘;随体轴(内旋)按 \(R_x R_y R_z\) 右乘——两者结果相同但物理含义不同。
3. 运动学¶
正运动学(FK):给定关节角 \(q\),求末端位姿 \(T\)。
\[{}^0_n T = \prod_{i=1}^{n} {}^{i-1}_i T(\theta_i)\]
每个连杆变换由 DH 参数 \((a,\ \alpha,\ d,\ \theta)\) 唯一确定。
逆运动学(IK):给定目标 \(T\),求关节角 \(q\)。
- 解析法 / 几何法:闭合解,快但仅限特定构型
- 数值法:\(q_{k+1} = q_k + J^{-1}(x_d - x(q_k))\),通用但可能收敛到局部解
- 多解(6R 最多 16 组)、无解、奇异位形
4. 速度与雅可比¶
雅可比矩阵 \(J(q)\) 建立关节速度 → 末端速度的线性映射:
\[\begin{bmatrix} v \\ \omega \end{bmatrix} = J(q)\,\dot{q}\]
| 转动关节 R | 移动关节 P | |
|---|---|---|
| 雅可比列 | \(\begin{bmatrix} z_{i-1} \times (p_n - p_{i-1}) \\ z_{i-1} \end{bmatrix}\) | \(\begin{bmatrix} z_{i-1} \\ \mathbf{0} \end{bmatrix}\) |
- 奇异性:\(\det(J) = 0\) 时末端丧失某方向运动能力
- 可操作性:\(w = \sqrt{\det(JJ^T)}\),越大越灵活
- 冗余逆:\(\dot{q} = J^\dagger v + (I - J^\dagger J)z\)(零空间投影)
5. 动力学¶
描述力/力矩与运动的关系:
\[\tau = M(q)\ddot{q} + C(q,\dot{q})\dot{q} + G(q)\]
| 方法 | 思路 | 复杂度 | 适用 |
|---|---|---|---|
| 牛顿-欧拉 | 力平衡递推 | \(O(n)\) | 实时计算 |
| 拉格朗日 | 能量法 \(\mathcal{L} = K - P\) | \(O(n^3\sim n^4)\) | 符号建模 |
力雅可比
由虚功原理:\(\tau = J^T(q)\mathcal{F}\),将末端力映射到关节力矩。
6. 轨迹规划与控制¶
轨迹规划——生成带时间信息的光滑运动指令:
| 方法 | 特点 |
|---|---|
| 三次多项式 | 4 个边界条件(位置 + 速度),简单 |
| 五次多项式 | 6 个边界条件(+ 加速度),更平滑 |
| LSPB | 梯形速度曲线,工业最常用 |
| 笛卡尔规划 | 直线 + SLERP 姿态插值 |
控制——跟踪期望轨迹:
| 方法 | 原理 |
|---|---|
| 独立关节 PID | 每个关节独立反馈,忽略耦合 |
| 计算力矩 (CTC) | \(\tau = M\mathbf{u} + C\dot{q} + G\),利用动力学模型前馈补偿 → 闭环线性化 |
| 阻抗控制 | 设定期望力学行为 \(M_d \ddot{e} + B_d \dot{e} + K_d e = F_{\text{ext}}\) |
| 力/位混合控制 | 不同方向分别做力控和位控 |
各章笔记¶
| 章节 | 内容概要 |
|---|---|
| 连杆、关节与自由度 | 关节类型(R/P)、连杆、自由度计算(Grübler 公式) |
| 位姿描述与坐标变换 | 旋转矩阵、齐次变换、欧拉角、四元数 |
| 运动学 | DH 参数、正运动学(矩阵连乘)、逆运动学(解析/几何/数值) |
| 速度与雅可比 | 雅可比矩阵构建、逆速度、奇异性、可操作性 |
| 动力学 | 惯性张量、牛顿-欧拉法、拉格朗日法 |
| 轨迹规划与控制 | 多项式插值、LSPB、笛卡尔规划、PID / CTC / 力控制 |