公式(10)还能大概推测一下,
z
˙
=
F
z
+
G
n
\dot{z}=Fz+Gn
z˙=Fz+Gn
则
δ
z
=
(
F
z
+
G
n
)
δ
t
\delta{z}=(Fz+Gn)\delta{t}
δz=(Fz+Gn)δt
则
<
(
z
+
δ
z
)
(
z
+
δ
z
)
′
>
=
<
z
z
′
>
+
<
z
δ
z
′
>
+
<
δ
z
z
′
>
+
<
δ
z
δ
z
′
>
<(z+\delta{z})(z+\delta{z})'> =<zz'>+<z\delta{z}'>+<\delta{z}z'>+<\delta{z}\delta{z}'>
<(z+δz)(z+δz)′>=<zz′>+<zδz′>+<δzz′>+<δzδz′>
其中,
<
δ
z
δ
z
′
>
=
<
(
F
z
+
G
n
)
(
F
z
+
G
n
)
′
>
δ
t
2
=
<
F
z
z
′
F
′
>
+
<
G
n
n
′
G
′
>
=
F
P
F
′
+
G
Q
G
′
<\delta{z}\delta{z}'>=<(Fz+Gn)(Fz+Gn)'>\delta{t}^{2} \\ =<Fzz'F'>+<Gnn'G'> \\ =FPF'+GQG'
<δzδz′>=<(Fz+Gn)(Fz+Gn)′>δt2=<Fzz′F′>+<Gnn′G′>=FPF′+GQG′
其中,
<
z
δ
z
′
>
=
<
z
(
F
z
+
G
n
)
′
>
=
P
F
<z\delta{z}'> =<z(Fz+Gn)'> \\ =PF
<zδz′>=<z(Fz+Gn)′>=PF
其中,
<
δ
z
z
′
>
=
<
(
F
z
+
G
n
)
z
′
>
=
F
P
<\delta{z}z'> =<(Fz+Gn)z'> \\ =FP
<δzz′>=<(Fz+Gn)z′>=FP
所以,
<
(
z
+
δ
z
)
(
z
+
δ
z
)
′
>
=
F
P
F
′
+
G
Q
G
′
+
P
F
+
F
P
+
P
=
(
I
+
F
)
P
(
I
+
F
′
)
+
G
Q
G
′
<(z+\delta{z})(z+\delta{z})'> =FPF'+GQG'+PF+FP+P \\ =(I+F)P(I+F')+GQG'
<(z+δz)(z+δz)′>=FPF′+GQG′+PF+FP+P=(I+F)P(I+F′)+GQG′
至于,(11)不知道说的啥
公式12里面的各种求导不知道了。。
预积分的东西先放一放,VIN的精髓估计也不在这里
总的来说这篇参考不错 https://www.cnblogs.com/ilekoaiq/p/8836970.html
视觉部分
1,SfM是谁的创造,本质是啥?
2,先来个松耦合的,获得初始化。
相机和imu之间的旋转在文章中没有看到,https://www.zybuluo.com/Xiaobuyi/note/866099 这里可以看到
A,纯视觉:
初始化的时候先不管b,从最后一帧出发,往前翻,找到任何的可以跟踪上的,标准是30个feature,20个视差?
这个方法的精髓是公式14,
把第一帧的坐标系当作是世界坐标系
相机坐标系->body(imu)坐标系
旋转么扭一扭
平移部分还有一个尺度的系数,为啥还要加这么个系数?
B,视觉惯性:
1)偏置部分
有了公式15就线性就到就行了,就是
J
b
w
γ
J_{b_{w}}^{\gamma}
Jbwγ的来源我还不是很清楚;
2)速度,尺度,位置
公式(17)还算比较好理解,说(5)变成(17),这个看样子不是推导的来的,是从SfM的来的吧。
公式(18)是怎么回事,文章的意思是(14)+(17)=(18),但是(18)是个定义出来的变量吧,所以不明白(18)和之前的(14),(17)有什么关系?
以及公式(18) 的
χ
I
\chi_{I}
χI的尺寸和
H
b
k
+
1
b
k
H^{b_k}_{b_{k+1}}
Hbk+1bk的尺寸不对吧?经过仔细查看资料,获得如下理解:
α
=
R
b
k
c
0
(
s
(
p
b
k
+
1
−
p
b
k
)
+
1
2
g
Δ
t
2
−
v
b
k
Δ
t
)
=
R
(
s
(
p
c
k
+
1
−
p
c
k
)
+
(
R
−
R
)
p
Δ
+
1
2
g
Δ
t
2
−
v
b
k
Δ
t
)
)
\alpha=R_{b_k}^{c_0}(s(p_{b_{k+1}}-p_{b_k})+\frac{1}{2}g{\Delta}t^2-v_{b_k}{\Delta}t) \\ =R(s(p_{c_{k+1}}-p_{c_k})+(R-R)p_{\Delta}+\frac{1}{2}g{\Delta}t^2-v_{b_k}{\Delta}t))
α=Rbkc0(s(pbk+1−pbk)+21gΔt2−vbkΔt)=R(s(pck+1−pck)+(R−R)pΔ+21gΔt2−vbkΔt))
由此得到:
α
−
(
R
−
R
)
p
Δ
=
R
(
s
(
p
c
k
+
1
−
p
c
k
)
+
1
2
g
Δ
t
2
−
v
b
k
Δ
t
)
)
=
(
R
Δ
t
,
0
,
1
2
R
Δ
t
2
,
R
(
p
c
k
+
1
−
p
c
k
)
)
⋅
(
v
b
k
,
0
,
g
,
s
)
{\alpha}-(R-R)p_{\Delta}=R(s(p_{c_{k+1}}-p_{c_k})+\frac{1}{2}g{\Delta}t^2-v_{b_k}{\Delta}t)) \\ =(R{\Delta}t,0,\frac{1}{2}R{\Delta}t^2,R(p_{c_{k+1}}-p_{c_k})){\cdot}(v_{b_k},0,\textbf{g},\textbf{s})
α−(R−R)pΔ=R(s(pck+1−pck)+21gΔt2−vbkΔt))=(RΔt,0,21RΔt2,R(pck+1−pck))⋅(vbk,0,g,s)
这里g,s都是三维向量
但文章中公式(18)忽略了第一个
R
R
R,转而变成:
α
=
(
I
Δ
t
,
0
,
1
2
R
Δ
t
2
,
R
(
p
c
k
+
1
−
p
c
k
)
)
⋅
(
v
b
k
,
v
b
k
+
1
,
g
,
s
)
\alpha=(I{\Delta}t,0,\frac{1}{2}R{\Delta}t^2,R(p_{c_{k+1}}-p_{c_k})){\cdot}(v_{b_k},v_{b_{k+1}},\textbf{g},\textbf{s})
α=(IΔt,0,21RΔt2,R(pck+1−pck))⋅(vbk,vbk+1,g,s)
接着,
β
=
R
(
v
b
k
+
1
−
v
b
k
+
g
Δ
t
)
=
(
R
,
R
,
Δ
t
,
0
)
⋅
(
v
b
k
,
v
b
k
+
1
,
g
,
0
)
\beta=R(v_{b_{k+1}}-v_{b_k}+g{\Delta}t) \\ =(R,R,{\Delta}t,0){\cdot}(v_{b_k},v_{b_{k+1}},\textbf{g},0)
β=R(vbk+1−vbk+gΔt)=(R,R,Δt,0)⋅(vbk,vbk+1,g,0)
所以:
[
α
β
]
=
[
I
Δ
t
,
0
,
1
2
R
b
k
c
0
Δ
t
2
,
R
b
k
c
0
(
p
c
k
+
1
−
p
c
k
)
R
b
k
c
0
,
R
b
k
c
0
,
Δ
t
,
0
]
⋅
[
v
b
k
,
v
b
k
+
1
,
g
,
s
]
\begin{bmatrix} \alpha \\ \beta \end{bmatrix}=\begin{bmatrix} I{\Delta}t,0,\frac{1}{2}R_{b_k}^{c_0}{\Delta}t^2,R_{b_k}^{c_0}(p_{c_{k+1}}-p_{c_k}) \\ R_{b_k}^{c_0},R_{b_k}^{c_0},{\Delta}t,0 \end{bmatrix}{\cdot}\begin{bmatrix} v_{b_k},\\v_{b_{k+1}},\\\textbf{g},\\\textbf{s} \end{bmatrix}
[αβ]=[IΔt,0,21Rbkc0Δt2,Rbkc0(pck+1−pck)Rbkc0,Rbkc0,Δt,0]⋅⎣⎢⎢⎡vbk,vbk+1,g,s⎦⎥⎥⎤
上面这些推理和文章略微有些出入,比如文章中公式(17)写的是:
α
=
R
b
k
c
0
(
s
(
p
b
k
+
1
−
p
b
k
)
+
1
2
g
Δ
t
2
−
R
c
0
b
k
v
b
k
c
0
Δ
t
)
\alpha=R_{b_k}^{c_0}(s(p_{b_{k+1}}-p_{b_k})+\frac{1}{2}g{\Delta}t^2-R^{b_k}_{c_0}v_{b_k}^{c_0}{\Delta}t)
α=Rbkc0(s(pbk+1−pbk)+21gΔt2−Rc0bkvbkc0Δt)
而VINS-Mono代码分析总结中公式(3.12)是没有
R
c
0
b
k
R^{b_k}_{c_0}
Rc0bk这个旋转的东西的,因为两边的
v
v
v是不一样的。
文章的意思是 R c 0 b k R^{b_k}_{c_0} Rc0bk和 p c k p_{c_k} pck等都是可以通过SfM得到的。