视觉SLAM第三讲笔记

第三讲

旋转矩阵

向量 a 和其在一组基下的坐标的关系:
$$
a = [e_1,e_2,e_3][a_1,a_2,a_3]^T=a_1e_1+a_2e_2+a_3e_3
$$
坐标的具体取值,一个是和向量本身有关,第二也和坐标系的选取有关。

内积 描述了向量间的投影关系,外积 生成的向量垂直于这两个向量,大小是$|a||b|sin\left \langle a,b \right \rangle$。
$$
a\cdot b=a^Tb=|a||b|cos\left \langle a,b \right \rangle\\
a\times b =
\begin{bmatrix}
i &j &k \\
a_1 &a_2 &a_3 \\
b_1 &b_2 &b_3
\end{bmatrix}
$$
外积 只对三维向量有定义,外积的过程遵循右手法则,四指由 a 转向 b 。


坐标系之间也存在 旋转 关系,坐标系关系由 旋转矩阵(这个矩阵由两组基之间的内积组成) 给出,t 表示平移。
$$
a = Ra’+t
$$
旋转矩阵 R 具有正交性,R 和 R的转置的乘积是单位阵,行列式值是1。

这种形式在多次变化之后会变得复杂,引入齐次坐标和变换矩阵重写:
$$
\begin{bmatrix}a’\\ 1\end{bmatrix}=\begin{bmatrix}R &t\\ 0^T &1\end{bmatrix}
\begin{bmatrix}a\\ 1\end{bmatrix}=T\begin{bmatrix}a\\ 1\end{bmatrix}
$$
好处在于把旋转和平移写到一个矩阵里,使得整个关系变成了线性关系。

旋转向量和欧拉角

使用一个向量,其方向与旋转轴一致,而长度等于旋转角。这种向量,称为旋转向量。假设有一个旋转轴为 $n$,角度为 $\theta$ 的旋转,显然,它对应的旋转向量为 $\theta n$。

欧拉角使用了三个分离的转角,把一个旋转分解成三次绕不同轴的旋转。z 轴对应偏航角,y 轴对应俯仰角,x轴对应滚转角。

四元数

表达三维空间的旋转方式,特点是紧凑而没有奇异性。一个四元数如下定义:
$$
q=q_0+q_1i+q_2j+q_3k.
$$
一个旋转向量绕单位向量旋转 $\theta$ 时,这个旋转的四元数形式为:
$$
q=[cos\frac{\theta}{2},(n_x,n_y,n_z)sin\frac{\theta}{2}]^T
$$
旋转后的点 $p’$ 是
$$
p’=qpq^{-1}
$$