04速度运动学与雅可比矩阵
1. 简介:为什么它是“桥梁”?
我们在前几个文档中学习了位置(运动学)和力/力矩(动力学)。
雅可比矩阵 (Jacobian Matrix, ) 之所以被称为“桥梁”,是因为它在微分层面连接了这两个领域:
连接关节空间与笛卡尔空间:它描述了关节速度 () 如何映射为末端执行器的线速度和角速度 ()。
连接运动与力(虚功原理):这是动力学的入口。它描述了末端广义力如何转化为关节需要提供的力矩 ()。
对于平面 2R 机械臂,若采用完整位姿速度 ,则末端广义力应写为
(二维力 + 末端力矩)。
如果没有雅可比矩阵,我们就无法根据末端想要的速度反推关节转速,也无法根据末端抓取的负载计算关节电机需要多大的力矩。
2. 核心定义
对于一个 自由度的机器人,其关节变量为 。末端位姿(位置与姿态)可写为 。
雅可比矩阵定义为偏导数矩阵:
3. 架构流程 (Mermaid)
代码块
Plain Text
graph LR
subgraph 关节空间 Joint Space
q_dot["关节速度 (d_theta)"]
Tau["关节力矩 (Torque)"]
end
subgraph 笛卡尔空间 Cartesian Space
v["末端速度 (Linear/Angular Velocity)"]
F["末端受力 (Force/Moment)"]
end
J_block["雅可比矩阵 J(q)"]
JT_block["雅可比转置 J_T(q)"]
q_dot -->|乘 J| J_block --> v
F -->|乘 J_T| JT_block --> Tau
style q_dot fill:#e1f5fe,stroke:#01579b
style v fill:#e1f5fe,stroke:#01579b
style Tau fill:#fff9c4,stroke:#fbc02d
style F fill:#fff9c4,stroke:#fbc02d
4. Python 代码验证:计算 2 连杆机械臂的雅可比
我们使用 sympy 符号推导来自动生成平面 2R 机械臂的完整位姿雅可比()。
代码块
Python
import sympy as sp
import numpy as np