SLAM-14讲第三章_2

旋转向量

1. 轴角法

用一个轴绕着一定角度旋转表示旋转变换
轴角法表示: ( x , y , z , θ ) (x,y,z,\theta) (x,y,z,θ)
其中包含两个部分:

  • 轴: ( x , y , z ) (x,y,z) (x,y,z)
  • 角度: θ \theta θ

2. 旋转向量

  1. 轴角法的轴: ( x , y , z ) (x,y,z) (x,y,z)方向的单位向量 n ⃗ \vec n n
  2. 轴角法的角度: θ \theta θ
    旋转向量如下:
    ( x i θ , y i θ , z i θ ) (x^i \theta,y^i \theta,z^i \theta) (xiθ,yiθ,ziθ)

旋转向量与旋转矩阵之间的转换

R = cos ⁡ θ I + ( 1 − c o s θ ) n n T + s i n θ n ∧ R=\cos\theta I+(1-cos\theta)n n^T+sin \theta n^{\wedge} R=cosθI+(1cosθ)nnT+sinθn
通过以上公式就可以获得旋转矩阵与旋转向量的转换。
同理反向公式:
θ = a r c c o s t r ( R ) − 1 2 \theta=arccos \frac{tr(R)-1}{2} θ=arccos2tr(R)1
R n = n Rn=n Rn=n
因此对应于特征值为1的特征向量
这里介绍下反对称化符号^:
v = [ a , b , c ] v=[a,b,c] v=[a,b,c]
v ∧ = [ 0 − c b c 0 − a − b a 0 ] v^{\wedge} = \left[\begin{matrix} 0 &-c&b \\ c&0&-a \\ -b&a&0 \end{matrix}\right] v=0cbc0aba0
v ∧ b = v × b v^{\wedge} b=v \times b vb=v×b


欧拉角

按固定和相对分类

  • 固定轴旋转,左乘
  • 相对轴旋转,右乘
  • 按不同轴分类(roll-z,pitch-y,yaw-x)

XYZ

  • YZY
  • ZYZ
  • ZYX

  • 欧拉角关于万向锁的问题,欧拉角比较直观,但是由于这个万向锁的问题,导致相关的迭代比较困难,因此在计算的时候,一般不用欧拉角,欧拉角一般用于输出和测试中,供认测试观看。

四元数

四元数理解相对比较困难,我们记住一些转换既可以了。

  • 欧拉角和旋转矩阵带有奇异性(如万象锁)

  • 所以四元数的优势就出来了(但是四元数不直观阿,但是没有奇异性导致他计算比较有优势)
    q = [ cos ⁡ ( θ 2 ) , n x sin ⁡ ( θ 2 ) , n y sin ⁡ ( θ 2 ) , n z sin ⁡ ( θ 2 ) ] q=[\cos(\frac{\theta}{2}),n_x\sin(\frac{\theta}{2}),n_y\sin(\frac{\theta}{2}),n_z\sin(\frac{\theta}{2})] q=[cos(2θ),nxsin(2θ),nysin(2θ),nzsin(2θ)]

  • 其中 n x , n y , n z n_x,n_y,n_z nx,ny,nz为轴角法中的轴单位向量, θ \theta θ为旋转角

下面进一步的介绍四元数
  1. 加法和减法
  2. 乘法
  3. 模长
    1. 模长
    2. 两模长乘法公式
  4. 共厄
    1. 共厄公式
    2. 共厄和自己相乘
    1. 逆的公式
    2. 逆与本身相乘
    3. 括号逆
  5. 数乘

如何用四元数表示旋转

三维点 p = [ x , y , z ] p=[x,y,z] p=[x,y,z]:对应的四元数 [ 0 , x , y , z ] T [0,x,y,z]^T [0,x,y,z]T
三维点 p ′ = [ x ′ , y ′ , z ′ ] p'=[x',y',z'] p=[x,y,z]:对应的四元数 [ 0 , x , y , z ] T [0,x,y,z]^T [0,x,y,z]T
q是一个单位四元数,它指定了旋转,那么转换公式如下:
p ′ = q p q − 1 p'=qpq^{-1} p=qpq1
最后把 q ′ 的 虚 部 取 出 来 就 可 以 了 , 就 是 转 换 后 的 坐 标 点 q'的虚部取出来就可以了,就是转换后的坐标点 q


四元数变旋转矩阵

q + = [ s − v T v s I + v ∧ ] q^+=\left[\begin{matrix} s & -v^T \\ v & sI+v^\wedge \end{matrix}\right] q+=[svvTsI+v]
q ⊕ = [ s − v T v s I − v ∧ ] q^⊕= \left[\begin{matrix} s& -v^T \\ v& sI-v^{\wedge} \end{matrix}\right] q=[svvTsIv]

[ 1 0 0 T R ] = q + q − 1 ⊕ \left[\begin{matrix} 1 & 0 \\ 0^T & R \end{matrix}\right]=q^+ q^{-1^⊕} [10T0R]=q+q1

R = v v T + s 2 I + 2 s v ∧ + ( v ∧ ) 2 R=v v^T +s^2 I+2sv^{\wedge}+(v^{\wedge})^2 R=vvT+s2I+2sv+(v)2

相似-仿射-射影变换

  1. 欧式变换
    正常变换,旋转加平移
  2. 相似变换
    可大可小,但体积比保持不变,形状变了
  3. 仿射变换
    可大可小,不但体积比不变,形状也可以变换,但平行性保持不变
  4. 射影变换
    可大可小,都变了
    image
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值