空间与本体¶
这一页解决什么
机器人"在哪里、能怎么动"。坐标系、旋转、正逆运动学是后面感知、规划、控制、策略学习共同的语言——位姿错一个坐标系,后面所有模块都会错。必修;前置:线性代数(矩阵乘法、正交矩阵)。
学到什么程度¶
| 层次 | 学什么 | 完成标准 |
|---|---|---|
| 扫盲 | 本体、关节、位置、姿态、坐标系 | 在一张机器人图上标出基座、末端和相机的坐标系 |
| 基础 | 齐次变换、旋转表示、正逆运动学 | 跟随 E2 二连杆例子,解释可达与不可达目标 |
| 进阶 | 雅可比、奇异位形、动力学 | 按操作或移动任务选择推导与实现 |
核心知识¶
刚体位姿与 SE(3):一个物体相对某坐标系的位姿由旋转 R(3×3 正交矩阵,行列式为 1)和平移 t 组成,写成 4×4 齐次矩阵 T。所有"相机看到的物体在机器人基座下的位置"这类问题,都是一串 T 相乘:T_base_obj = T_base_cam · T_cam_obj。
旋转的几种表示:旋转矩阵直观但有 9 个数、要保持正交;欧拉角只有 3 个数,但有万向锁和角度跳变;四元数无奇异、插值平滑,q 与 −q 表示同一旋转;轴角适合描述"绕哪根轴转多少"。工程上存储和插值用四元数,计算用矩阵,神经网络回归常用连续的 6D 表示。
正运动学与逆运动学:正运动学由关节角算末端位姿,唯一且容易;逆运动学由期望末端位姿反求关节角,可能无解(够不着)、多解(肘上肘下)或在奇异位形附近数值不稳定。
雅可比矩阵:把关节速度映射到末端速度,J 不满秩时就是奇异位形——某个方向的末端运动无论关节怎么动都做不到。速度控制、力控和逆运动学的数值解都依赖它。
动力学:力和力矩如何产生加速度(M(q)q̈ + C(q,q̇)q̇ + g(q) = τ)。纯运动学仿真不需要,力控、高速运动和足式机器人需要。
本体形态:机械臂(操作)、移动底盘(导航)、足式和人形(地形与通用性)、灵巧手(精细操作)。形态决定了自由度、可用传感器和哪些算法适用。
路线之争 · 通用人形 vs. 专用形态¶
人形派认为世界是为人设计的,一个通用本体可以复用所有人类数据和工具;专用派认为轮式底盘加机械臂在成本、可靠性和能耗上远胜人形,工厂和仓库的大多数任务不需要腿。现实中两者并存:研究和资本关注人形,落地订单多在专用形态。
精选资源¶
跟随实验¶
-
E2 · 二连杆运动学
改杆长和目标点,比较关节空间与末端位置,故意测试一个不可达目标。
自测¶
T_cam_obj 和 T_obj_cam 是什么关系?怎么由一个求另一个?
互为逆变换。T⁻¹ 的旋转部分是 Rᵀ,平移部分是 −Rᵀt;不需要对 4×4 矩阵做通用求逆。
为什么欧拉角不适合做姿态插值或网络回归?
存在万向锁(某些姿态下丢失一个自由度),并且角度在 ±180° 处跳变,导致插值路径不自然、损失函数不连续。
逆运动学为什么会多解或无解?
无解:目标超出工作空间。多解:同一末端位姿可以由不同关节组合实现(如肘上和肘下)。奇异位形附近雅可比不满秩,数值解会发散。
调试机器人时,为什么先查坐标系再查算法?
坐标系方向、单位(米 / 毫米、弧度 / 角度)或变换顺序的错误会表现得像"算法不收敛",但改算法无效。用一个已知位姿做端到端核对最快。