旋转的表示

欢迎访问我的博客首页


旋转的表示

三维空间内的旋转可以由三维旋转向量 n θ \bm n \theta nθ 表示。其中,单位向量 n \bm n n 表示旋转轴, θ \theta θ 表示旋转角度。旋转向量由一个轴和一个角表示,因此又称轴角,它是李代数 s o ( 3 ) \frak {so}(3) so(3) 空间中的向量。

1.旋转轴的性质


我们使用 n ∧ \bm n^ \land n∧ 表示向量 n \bm n n 的反对称矩阵,则它的平方

n ∧ 2 = [ 0 − n 3 n 2 n 3 0 − n 1 − n 2 n 1 0 ] [ 0 − n 3 n 2 n 3 0 − n 1 − n 2 n 1 0 ] = [ − n 2 2 − n 3 2 n 1 n 2 n 1 n 3 n 1 n 2 − n 1 2 − n 3 2 n 2 n 3 n 1 n 3 n 2 n 3 − n 1 2 − n 2 2 ] \bm n^ {\land 2} = \begin{bmatrix} 0 & -n_3 & n_2 \\ n_3 & 0 & -n_1 \\ -n_2 & n_1 & 0 \end{bmatrix} \begin{bmatrix} 0 & -n_3 & n_2 \\ n_3 & 0 & -n_1 \\ -n_2 & n_1 & 0 \end{bmatrix} = \begin{bmatrix} -n_2^2 - n_3^2 & n_1n_2 & n_1n_3 \\ n_1n_2 & -n_1^2 - n_3^2 & n_2n_3 \\ n_1n_3 & n_2n_3 & -n_1^2 - n_2^2 \end{bmatrix} n∧2= 0n3−n2−n30n1n2−n10 0n3−n2−n30n1n2−n10 = −n22−n32n1n2n1n3n1n2−n12−n32n2n3n1n3n2n3−n12−n22

于是

I + n ∧ 2 = n n T (1) \bm I + \bm n^ {\land 2} = \bm n \bm n^{\rm T} \tag{1} I+n∧2=nnT(1)

2.罗德里格斯公式


罗德里格斯公式用于根据旋转向量(即,轴角, s o ( 3 ) \frak {so}(3) so(3) 空间中的向量)求旋转矩阵。它有两种等价的表示形式:

R = { I + n ∧ 2 ( 1 − c o s θ ) + n ∧ s i n θ I c o s θ + n n T ( 1 − c o s θ ) + n ∧ s i n θ \bm R = \left\{\begin{aligned} & \bm I + \bm n^ {\land 2}(1 - cos\theta) + \bm n^ \land sin\theta \\ & \bm I cos\theta + \bm n \bm n^{\rm T} (1 - cos\theta) + \bm n^ \land sin\theta \end{aligned}\right. R={I+n∧2(1−cosθ)+n∧sinθIcosθ+nnT(1−cosθ)+n∧sinθ

使用公式 (1) 可以证明这两种形式等价。

3.右雅可比矩阵


右雅可比矩阵也有两种等价的形式:

J r = { I + n ∧ 2 ( 1 − s i n θ θ ) − n ∧ 1 − c o s θ θ I s i n θ θ + n n T ( 1 − s i n θ θ ) − n ∧ 1 − c o s θ θ \bm J_r = \left\{\begin{aligned} & \bm I + \bm n^ {\land 2} (1 - \frac{sin\theta}{\theta}) - \bm n^ \land \frac{1 - cos\theta}{\theta} \\ & \bm I \frac{sin\theta}{\theta} + \bm n \bm n^{\rm T} (1 - \frac{sin\theta}{\theta}) - \bm n^ \land \frac{1 - cos\theta}{\theta} \end{aligned}\right. Jr=⎩ ⎨ ⎧I+n∧2(1−θsinθ)−n∧θ1−cosθIθsinθ+nnT(1−θsinθ)−n∧θ1−cosθ

使用公式 (1) 可以证明这两种形式等价。以 − θ -\theta −θ 替换 θ \theta θ 即可得到左雅可比矩阵。

相关推荐
github5actions11 天前
ROS开发实战:如何用rviz文件保存和加载你的SLAM可视化配置(附避坑指南)
ros·slam·rviz·机器人开发
元让_vincent16 天前
DailyCoding C++ | SLAM里的“幽灵数据”:从一个未初始化的四元数谈C++类设计
开发语言·c++·slam·构造函数·类设计·激光里程计
大江东去浪淘尽千古风流人物19 天前
【SLAM】Hydra-Foundations 层次化空间感知:机器人如何像人类一样理解3D环境
深度学习·算法·3d·机器人·概率论·slam
大江东去浪淘尽千古风流人物20 天前
【pySLAM】pySLAM
人工智能·算法·机器学习·概率论·slam
大江东去浪淘尽千古风流人物22 天前
【VLN】VLN Paradigm Alg:模仿学习及其细节(3)
人工智能·python·深度学习·学习·算法·slam
大江东去浪淘尽千古风流人物23 天前
【VLN】VLN仿真与训练三要素 Dataset,Simulators,Benchmarks(2)
深度学习·算法·机器人·概率论·slam
大江东去浪淘尽千古风流人物24 天前
【SLAM新范式】几何主导=》几何+学习+语义+高效表示的融合
深度学习·算法·slam
lovod1 个月前
视觉SLAM十四讲合集
计算机视觉·slam·视觉slam·g2o·ba·位姿图
chen_jared1 个月前
slam十四讲第五章习题:相机内参变化与SLAM快门选择
数码相机·slam·标定
s09071361 个月前
【声呐图像处理】水下前视声呐(FLS)图像拼接与建图全流程解析
图像处理·slam·图像拼接·前视声呐·相位相关