反对称矩阵 2
这个记号 [ϕ]× 是三维向量 ϕ 的反对称矩阵(也叫叉乘矩阵或斜对称矩阵)。
它的核心作用是:把“叉积运算”转换成“矩阵乘法”。如果没有它,我们没法对旋转求导,也就得不到雅可比矩阵。
1. 数学定义(形式长什么样?)
设 ϕ=(ϕ1,ϕ2,ϕ3)⊤∈R3,它的反对称矩阵定义为:
[ϕ]×=[0 −ϕ3 ϕ2
ϕ3 0 −ϕ1
−ϕ2 ϕ1 0 ]
重要性质:这个矩阵是奇异的(秩为2),且转置等于负自身(即 [ϕ]×⊤=−[ϕ]×)。
2. 核心数学意义(为什么用它?)
它实现了一个优雅的等价关系:对于任意三维向量 a,向量叉积等同于这个矩阵左乘:
ϕ×a=[ϕ]×⋅a
例如,ϕ×a 的结果是垂直于 ϕ 和 a 的向量,用矩阵形式就可以写成上面的方阵乘以 a。
3. 在SLAM/MLPnP中的物理含义(ϕ是啥?)
在之前的高斯-牛顿推导中,ϕ 是李代数 so(3) 上的旋转增量(即微小旋转向量扰动量)。
它的方向是旋转轴;
它的模长(范数)是绕该轴旋转的弧度。
当我们对位姿施加一个微小扰动 Rnew=exp([ϕ]×)⋅R 时,这个 [ϕ]× 就是扰动量对应的线性变换矩阵。
4. 它在雅可比推导中的关键作用(回顾公式)
我之前写推导时有一步:
[ϕ]×(Rpi)=−(Rpi)×ϕ
左边是“旋转向量叉乘旋转后的3D点”,右边利用反对称矩阵的性质,把变量 ϕ 挪到了右边,变成了“负的3D点反对称矩阵 乘以 ϕ”。 (交换叉乘顺序,方向取反)
这样做的目的,是为了从式子中提取出 ϕ 的线性系数,这个系数就是旋转部分的雅可比矩阵−(Rpi)×,也就是代码里的-skew(R * p_i)。
💡一句话总结:[ϕ]× 就是把旋转向量 ϕ “包装”成一个 3×3 的矩阵,用来计算它和任意向量的叉积,从而在线性化(泰勒展开)时求出微小旋转对3D点的导数。
