数理基础 · A1
线性代数与刚体旋转表示
机器人里每一次坐标变换都在用矩阵。四元数、旋转矩阵、李群李代数是后面运动学、标定、优化的通用语言,学不好这里,后面全是黑箱。
要学什么
- 四种姿态表示(旋转矩阵 / 旋转向量 / 四元数 / 欧拉角)的互换,以及各自该在什么场合用
- 齐次变换 SE(3):复合、求逆,以及「变换一个点」和「变换一个向量」的区别(平移量加不加)
- 四元数的双覆盖(q 与 −q 表示同一个旋转)、归一化、slerp 插值
- 欧拉角的万向锁:为什么不能拿它做插值或积分
- 手算一条相机 → 机械臂末端 → 基座的坐标链,并说明每一步在哪个坐标系里
四条路线需要多深
算法精通
系统软件用过
嵌入式电控知道
机械结构用过
「精通」= 能从零推导 / 能手写实现 / 能判断别人的方案对不对;「用过」= 能调起来、能改参数;「知道」= 能听懂、能提问。
怎么算学会了
能手推旋转矩阵与四元数的互相转换,能解释为什么不能用欧拉角做插值(万向锁),能写出 SE(3) 的复合与求逆。
常见错误
- 用欧拉角做插值,姿态在奇异位形附近突然翻转,肉眼像是「电机抽了一下」
- 四元数不归一化,跑久了姿态缓慢漂移,第一反应却去查编码器
- 混淆基变换与坐标变换,公式看起来对,方向反了,标定怎么调都差 3 厘米