参考: 矩阵分析,slam十四讲
1. 点
点
是空间中的某个坐标
,是绝对的,它的值是参照原点
的,而向量
用于表示力和速度等具有方向
和大小
的量, 通常用具有长度和方向的线段来表示.
2. 向量
表示从起点指向某处的一个箭头,不要将向量和它的坐标两个概念混淆,向量是空间中一样东西,比如 a ⃗ \vec a a,这里 a ⃗ \vec a a 并不是与若干实数相关联的,只有当我们指定这个三维空间中某个坐标系时,才可谈论该向量在此坐标系下的坐标.
2.1 向量的几何表示
直观上,向量通常被标示为一个带箭头的有向线段。线段的长度表示向量的大小(或称模长),向量的方向即箭头所指的方向
给定两点
A
A
A、
B
B
B 时,就可确定一固定向量:如确定一个一个始于从点
A
A
A 终于点
B
B
B 的向量,符号表示为:
A
B
⃗
\vec{AB}
AB.
在三维空间,虽然点和向量都具有三个分量,但对于向量,如果将向量放在坐标系中的任何位置(平移),都不会改变其性质,因为向量表示的是方向和大小,与位置距离无关,它的值是相对与基准点
的.
2.2 向量的代数表示
代数表示指在指定了一个坐标系之后,用一个向量在该坐标系下的坐标来表示该向量. 对于自由向量,将向量的起点平移到坐标原点后,向量就可以用一个坐标系下的一个点来表示,该点的坐标值即向量的终点坐标.
即,在取定一组基后,线性空间中的元素与坐标(也就是一个向量)一一对应.
3. 旋转向量
顾名思义,就是指向量之间的旋转
,每一个向量又都对应一个坐标系,因此又表示两个坐标系之间的旋转
.
李代数
s
o
3
so3
so3 就是旋转向量,假设存在李代数
ϕ
=
θ
n
\phi=\theta \boldsymbol n
ϕ=θn,其中角度
θ
\theta
θ 表示旋转角,
n
\boldsymbol n
n 表示旋转轴(单位向量). 所以,旋转向量
ϕ
\phi
ϕ 的方向与旋转轴一致,长度等于旋转角.
计算旋转向量:叉乘(外积)
a
×
b
=
a
∧
b
a \times b=a^{\wedge}b
a×b=a∧b
注意叉乘的先后顺序,表示从
a
a
a 转向
b
b
b.
举例,orb-vio中估计重力向量
从惯性坐标系
到VINS系统的世界坐标系
的旋转变换时,显然重力是一个向量,其大小和朝向并不会随着坐标系的旋转而发生变化,重力向量在两个坐标系不同,可以将
R
W
I
=
E
x
p
(
v
^
θ
)
v
^
=
g
I
^
×
g
W
^
∥
g
I
^
×
g
W
^
∥
,
θ
=
a
t
a
n
2
(
∥
g
I
^
×
g
W
^
∥
,
g
I
^
⋅
g
W
^
)
R_{WI}=Exp(\hat {\boldsymbol v} \theta) \\ \hat {\boldsymbol v} =\frac{\hat {\boldsymbol g_I} \times \hat {\boldsymbol g_W}}{ \| \hat {\boldsymbol g_I} \times \hat {\boldsymbol g_W} \|}, \ \ \theta=atan2( \| \hat {\boldsymbol g_I} \times \hat {\boldsymbol g_W} \|, \ \hat {\boldsymbol g_I} \cdot \hat {\boldsymbol g_W})
RWI=Exp(v^θ)v^=∥gI^×gW^∥gI^×gW^, θ=atan2(∥gI^×gW^∥, gI^⋅gW^)