视觉SLAM_03_旋转向量和欧拉角

说明:转发请注明作者和出处;以下文章内容为精简版,详细版以pdf格式的幻灯片形式呈现,请见链接:视觉SLAM_03_旋转向量和欧拉角.pdf

0.目录

1.旋转向量

  用矩阵来表示旋转,至少有两个缺点:

  • 表达方式冗余:旋转矩阵9个分量,但一次旋转只有3个自由度;
  • 旋转矩阵自身带有约束:必须是正交矩阵,且行列式的值为1。

因此,寻找更紧凑地描述旋转和平移是很有必要的。

  任意旋转都可以用一个旋转轴和一个旋转角来刻画。方向与旋转轴一致,而长度等于旋转角的向量称之为旋转向量。使用旋转向量只需一个三维向量即可描述旋转。使用一个旋转向量和一个平移向量即可描述一次变换。

  设旋转轴为单位长度向量 n \boldsymbol{n} n,角度为 θ \theta θ,那么向量 θ n \theta \boldsymbol{n} θn即可描述这个旋转。从旋转向量到旋转矩阵的转换过程由罗德里格斯公式给出,由于推导过程比较复杂,这里只给出转换公式:
R = cos ⁡ θ I + ( 1 − cos ⁡ θ ) n n T + sin ⁡ θ n   ^ (1) \boldsymbol{R} = \cos \theta \boldsymbol{I} + (1 - \cos \theta) \boldsymbol{n} \boldsymbol{n}^T + \sin \theta \boldsymbol{n} \hat{\,} \tag{1} R=cosθI+(1cosθ)nnT+sinθn^(1)
其中, I \boldsymbol{I} I为单位矩阵,符号   ^ \hat{\,} ^是向量到反对称矩阵的转换符,设单位向量 n = ( n x , n y , n z ) \boldsymbol{n} = (n_x, n_y, n_z) n=(nx,ny,nz),则有:
n   ^ = [ 0 − n z n y n z 0 − n x − n y n x 0 ] \boldsymbol{n} \hat{\,} = \begin{bmatrix} 0 & -n_z & n_y \\ n_z & 0 & -n_x \\ -n_y & n_x & 0 \end{bmatrix} n^=0nznynz0nxnynx0
  反之,也可以计算从一个旋转矩阵到旋转向量的转换。
θ = arccos ⁡ t r ( R ) − 1 2 (2) \theta = \arccos \frac{\rm tr(\boldsymbol{R}) - 1}{2} \tag{2} θ=arccos2tr(R)1(2)  关于旋转轴 n \boldsymbol{n} n,旋转轴上的向量在旋转后不发生改变,说明:
R n = n (3) \boldsymbol{R} \boldsymbol{n} = \boldsymbol{n} \tag{3} Rn=n(3)因此,转轴 n \boldsymbol{n} n是矩阵 R \boldsymbol{R} R特征值为1对应的特征向量。求得特征向量再归一化即可得到旋转轴。

2.欧拉角

  无论是旋转矩阵还是旋转向量,它们描述旋转非常不直观。而欧拉角则提供了一种非常直观的方式来描述旋转,它使用了三个分离的转角,把一个旋转分解成三次绕不同的坐标轴的旋转。欧拉角共有12( 3 × 2 × 2 3 \times 2 \times 2 3×2×2)种定义方式。

图2-1 ZYX转角定义(摘自参考文献1)
  欧拉角一个重大的缺点是会碰到著名的万向锁问题,又称为奇异性问题,如图:2-2所示:
图2-2 万向锁问题(摘自参考文献1)

3.参考文献

  • 高翔等. 视觉SLAM十四讲:从理论到实践第二版. 北京:电子工业出版社,2019.8.
  • 同济大学数学系. 线性代数第五版. 北京:高等教育出版社,2007.5.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一字艺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值