旋转的表示

欢迎访问我的博客首页


旋转的表示

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

相关推荐
点云SLAM2 天前
图论中邻接矩阵和邻接表详解
算法·图论·slam·邻接表·邻接矩阵·最大团·稠密图
春日见8 天前
使用自定义路径规划算法和控制算法实现机器人导航(算法验证)
ubuntu·机器人·slam·ros2·路径规划·运动控制·导航
点云SLAM11 天前
四元数 (Quaternion)微分-四元数导数的矩阵表示推导(8)
线性代数·算法·计算机视觉·矩阵·机器人·slam·四元数
放羊郎12 天前
机器人自主导航方案概述
人工智能·算法·机器人·slam·建图
放羊郎12 天前
一款基于鲁班猫和STM32的自主导航实践
人工智能·数码相机·slam·视觉slam·建图·激光slam
极客代码14 天前
第七篇:深度学习SLAM——端到端的革命--从深度特征到神经辐射场的建图新范式
人工智能·python·深度学习·计算机视觉·slam·回环检测·地图构建
杀生丸学AI16 天前
【视频生成】GVS:生成式视图拼接
3d·aigc·slam·跨模态·三维重建·视觉大模型·空间智能
点云SLAM19 天前
弱纹理图像特征匹配算法推荐汇总
人工智能·深度学习·算法·计算机视觉·机器人·slam·弱纹理图像特征匹配
放羊郎19 天前
基于萤火虫+Gmapping、分层+A*优化的导航方案
人工智能·slam·建图·激光slam
放羊郎20 天前
基于ROS2的语义格栅地图导航
人工智能·slam·建图·激光slam