旋转的表示

欢迎访问我的博客首页


旋转的表示

三维空间内的旋转可以由三维旋转向量 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 θ 即可得到左雅可比矩阵。

相关推荐
请不要叫我菜鸡9 天前
无环SLAM系统集成后端回环检测模块(loop):SC-A-LOAM以及FAST_LIO_SLAM
目标检测·slam·fast-lio·a_loam·sc-pgo·回环检测
小虎哥哥爱学习11 天前
《机器人SLAM导航核心技术与实战》第1季:第9章_视觉SLAM系统
图像处理·人工智能·算法·计算机视觉·机器人·自动驾驶·slam
我搞slam19 天前
Cartographer源码理解
算法·slam·cartographer
杀生丸学AI1 个月前
【三维重建】近期进展(完善中)
3d·aigc·slam·三维重建·nerf·视觉大模型
WHAT8161 个月前
【Orb-Slam3学习】 特征匹配函数的目的与分类
c++·人工智能·算法·slam
Chris·Bosh1 个月前
intel RealSense D435i自制数据集跑SLAM
linux·slam
Johaden2 个月前
视觉SLAM ch3补充——在Linux中配置VScode以及CMakeLists如何添加Eigen库
linux·c++·ide·vscode·编辑器·slam
风与铃的约定2 个月前
2.2 视觉SLAM 实践:Eigen
c++·机器人·slam·视觉slam·eigen·机器人运动学
Johaden2 个月前
在C++程序中新建并使用库
linux·运维·服务器·c++·slam
WHAT8162 个月前
【视觉SLAM】 G2O库编写步骤介绍
算法·slam·g2o