旋转的表示

欢迎访问我的博客首页


旋转的表示

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

相关推荐
火星机器人life1 天前
ubuntu20使用自主探索算法explore_lite实现机器人自主探索导航建图
slam
Perishell5 天前
无人机避障——感知部分(Ubuntu 20.04 复现Vins Fusion跑数据集)胎教级教程
无人机·slam·建图感知
xMathematics11 天前
ORB-SLAM2学习笔记:ORBextractor::operator()函数的逐行解析
人工智能·计算机视觉·机器人·无人机·slam
大鹅同志12 天前
ROS合集(七)SVIn2声呐模块分析
slam·sonar·rov·水下slam
清 澜12 天前
《三维点如何映射到图像像素?——相机投影模型详解》
计算机视觉·机器人·自动驾驶·slam·三维重建·三维视觉·投影变换
点云SLAM20 天前
PCL点云库点云数据处理入门系列教材目录(2025年5月更新....)
计算机视觉·slam·点云配准·点云数据处理·pcl点云库·点云分割·点云识别
simple_whu25 天前
Ubuntu24.04编译ORB_SLAM的一系列报错解决
ubuntu·slam
Livan.Tang25 天前
LIO-SAM框架理解
人工智能·机器学习·slam
charlee441 个月前
详解SLAM中的李群和李代数(中)
slam·李群·李代数
ergevv1 个月前
3DGS-slam:splatam公式
slam·公式·3dgs·splatam·链式求导