旋转的表示

欢迎访问我的博客首页


旋转的表示

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

相关推荐
胡摩西4 天前
制造业室内精准定位:毫米级技术如何破解工厂自动化“最后一厘米”难题
人工智能·自动化·slam·室内定位·roomaps
冰水不凉7 天前
cartographer源码阅读四-MapBuilder
学习·slam
躺不平的小刘11 天前
视觉SLAM十四讲:全攻略 —— 逻辑脉络、学习路线与Ubuntu 18.04实践准备
linux·学习·ubuntu·slam
胡摩西14 天前
机器人的“室内GPS”:RoomAPS如何为移动设备打造专属室内定位系统
机器人·slam·gps·室内定位·roomaps
charlee4414 天前
最小二乘问题详解16:束平差工程实践总结
slam·鲁棒优化·sfm·束平差·外点剔除
orcasdli14 天前
ROS1+VINS-fusion+RTAB-Map 程序部署记录
ros·slam·vio
胡摩西14 天前
毫米级精准定位如何实现机器人自动回充:技术原理与工程实现
人工智能·机器学习·机器人·slam·室内定位·agv·roomaps
G果14 天前
LIO-SAM 学习总结
学习·slam·点云·ros2·导航·nav2·liosam
点云SLAM15 天前
Tracy Profiler 是目前 C++ 多线程程序实时性能分析工具
开发语言·c++·算法·slam·算法性能分析·win环境性能分析·实时性能分析工具