基本概念
-
何为位姿图?(Pose Graph)
参考BA优化,对路标点与其对应点轨迹进行位姿和路标点优化(特征点、GPS、IMU获得位姿),去除路标只考虑相机之间位姿的联系,进行图优化,构建位姿图。 -
位姿图的节点和边
(1):节点:相机位姿 T 1 , . . . , T n T_1,...,T_n T1,...,Tn
(2):边:两节点之间的相对运动(可以来自于GPS、IMU、特征点法、直接点法)
公式推导
- 估计
T
i
,
与
T
j
T_i,与T_j
Ti,与Tj之间的运动
Δ
T
i
j
:
(
李
群
)
\Delta T_{ij}:(李群)
ΔTij:(李群):
Δ ξ i j = ξ i − 1 。 ξ j = ln ( T i − 1 T j ) ∨ ( 用 李 群 表 示 为 : T i j = T i − 1 T j ) \Delta \xi_{ij}=\xi_i^{-1}。\xi_j=\ln(T^{-1}_iT_j)^\vee(用李群表示为:T_{ij}=T_i^{-1}T_j) Δξij=ξi−1。ξj=ln(Ti−1Tj)∨(用李群表示为:Tij=Ti−1Tj) - 构建最小二乘优化位姿
ξ i , ξ j : 待 优 化 变 量 \xi_i,\xi_j:待优化变量 ξi,ξj:待优化变量
e ^ i j = Δ ξ i j ln ( T i j − 1 T i − 1 T j ) ∨ \hat e_{ij}=\Delta \xi_{ij}\ln(T^{-1}_{ij}T_i^{-1}T_j)^\vee e^ij=Δξijln(Tij−1Ti−1Tj)∨
证明:
已知 e A d ( T ) ξ × = T e ξ × T − 1 ( 注 : A d ( T ) = [ R t × R 0 R ] ) ⟺ e ξ × T = T e A d ( T − 1 ) ξ × e^{Ad(T)\xi×}=Te^{\xi×}T^{-1}(注:Ad(T)=\left[\begin{matrix}R&t×R\\0&R\end{matrix}\right])\iff e^{\xi×}T=Te^{Ad(T^{-1})\xi×} eAd(T)ξ×=Teξ×T−1(注:Ad(T)=[R0t×RR])⟺eξ×T=TeAd(T−1)ξ× - 求导:
∨ : S E ( 3 ) → s e ( 3 ) \vee :SE(3) \rightarrow se(3) ∨:SE(3)→se(3)
× : s e ( 3 ) → S E ( 3 ) ×:se(3) \rightarrow SE(3) ×:se(3)→SE(3)
e i j ∂ δ ξ i = J r − 1 ( e i j ) A d ( T j − 1 ) \frac{e_{ij}}{\partial \delta \xi_i}=J^{-1}_r(e_{ij})Ad(T_j^{-1}) ∂δξieij=Jr−1(eij)Ad(Tj−1)
∂ e i j ∂ δ ξ j = J r − 1 ( e i j ) A d ( T j − 1 ) \frac{\partial e_{ij}}{\partial \delta \xi_j}=J_r^{-1}(e_{ij})Ad(T_j^{-1}) ∂δξj∂eij=Jr−1(eij)Ad(Tj−1)
J r − 1 ( e i j ) ≈ I + 1 2 [ ϕ e × p e × 0 ϕ e × ] ( ϕ e = s o ( h a t ( S O ) ) , p e = t ) J^{-1}_r(e_{ij})\approx I+\frac{1}{2}\left[\begin{matrix}\phi_e×&p_e×\\0&\phi_e×\end{matrix}\right](\phi_e=so(hat(SO)),p_e=t) Jr−1(eij)≈I+21[ϕe×0pe×ϕe×](ϕe=so(hat(SO)),pe=t)
e ^ i j = l n ( T i j − 1 T i − 1 e − δ ξ i × T j − 1 ) ∨ = l n ( T i j − 1 T i − 1 T j ( e A d ( T i − 1 ) × ξ i ) ∨ ( e A d ( T j − 1 ξ j ) × ) ) ∨ = l n ( T i j − 1 T i − 1 T j [ I − ( A d ( T i − 1 ) × ) ∨ + ( A d ( T j − 1 ) × ) ] ) ∨ = e i j + ∂ e i j ∂ δ ξ i δ ξ i + ∂ e i j ∂ δ ξ j δ ξ j \hat e_{ij}=ln(T^{-1}_{ij}T_i^{-1}e^{-\delta \xi_i×}T_j^{-1})^\vee\\ =ln(T^{-1}_{ij}T_i^{-1}T_j(e^{Ad(T_i^{-1})×\xi_i})^{\vee}(e^{Ad(T_j^{-1}\xi_j)×}))^\vee\\ =ln(T^{-1}_{ij}T_i^{-1}T_j[I-({Ad(T_i^{-1})×})^{\vee}+({Ad(T_j^{-1})×})])^\vee\\ =e_{ij}+\frac{\partial e_{ij}}{\partial \delta\xi_i}\delta \xi_i+\frac{\partial e_{ij}}{\partial \delta\xi_j}\delta\xi_j e^ij=ln(Tij−1Ti−1e−δξi×Tj−1)∨=ln(Tij−1Ti−1Tj(eAd(Ti−1)×ξi)∨(eAd(Tj−1ξj)×))∨=ln(Tij−1Ti−1Tj[I−(Ad(Ti−1)×)∨+(Ad(Tj−1)×)])∨=eij+∂δξi∂eijδξi+∂δξj∂eijδξj - 目标函数:
m i n 1 2 ∑ i , j ξ e i j T ⋁ i j − 1 e i j min\frac{1}{2}\sum_{i,j\xi}e^T_{ij}\bigvee_{ij}^{-1}e_{ij} min21i,jξ∑eijTij⋁−1eij