Odometry预积分
Input
Eigen:Vector3d linnear_velocity //3轴线速度
Eigen:Vector3d angle_rate // 3轴角速度
即 ω ~ k \tilde{\omega}_k ω~k、 v ~ k \tilde{v}_k v~k
B i a s Bias Bias
B i a s Bias Bias部分设置了线速度 b v b^{v} bv,角速度 b r b^{r} br
N o i s e Noise Noise
N o i s e Noise Noise部分设置了线速度 η v \eta^{v} ηv,角速度 η r \eta^{r} ηr
Preintegrate
R j v j p j R_j\quad v_j\quad p_j Rjvjpj
R j = R i ⋅ ∏ k = i j − 1 E X P ( ( ω ~ k − b k r − η k r ) ⋅ Δ t ) v j = v i + ∑ k = i j − 1 R k ⋅ ( v ~ k − b k v − η k v ) p j = p i + ∑ k = i j − 1 v k ⋅ Δ t R_j = R_i \cdot \prod^{j-1}_{k=i} EXP ((\tilde{\omega}_k -b^r_k -\eta^r_k)\cdot \Delta t)\\ v_j = v_i+\sum^{j-1}_{k=i}R_k\cdot(\tilde{v}_k -b^v_k -\eta^v_k )\\ p_j = p_i + \sum^{j-1}_{k=i}v_k\cdot \Delta t Rj=Ri⋅k=i∏j−1EXP((ω~k−bkr−ηkr)⋅Δt)vj=vi+k=i∑j−1Rk⋅(v~k−bkv−ηkv)pj=pi+k=i∑j−1vk⋅Δt
Δ R i j Δ v i j Δ p i j \Delta R_{ij}\quad \Delta v_{ij}\quad \Delta p_{ij} ΔRijΔvijΔpij
Δ R i j = ∏ k = i j − 1 E X P ( ( ω ~ k − b k r − η k r ) ⋅ Δ t ) Δ v i j = ∑ k = i j − 1 R k ⋅ ( v ~ k − v i − b k v − η k v ) Δ p i j = ∑ k = i j − 1 Δ v i k ⋅ Δ t \Delta R_{ij} = \prod^{j-1}_{k=i} EXP ((\tilde{\omega}_k -b^r_k -\eta^r_k)\cdot \Delta t) \\ \Delta v_{ij} = \sum^{j-1}_{k=i}R_k\cdot(\tilde{v}_k -v_i -b^v_k -\eta^v_k ) \\ \Delta p_{ij} = \sum^{j-1}_{k=i}\Delta v_{ik}\cdot \Delta t ΔRij=k=i∏j−1EXP((ω~k−bkr−ηkr)⋅Δt)Δvij=k=i∑j−1Rk⋅(v~k−vi−bkv−ηkv)Δpij=k=i∑j−1Δvik⋅Δt
η r \eta^r ηr η v \eta^v ηv
Δ R i j \Delta R_{ij} ΔRij
Δ R i j = ∏ k = i j − 1 E X P ( ( ω ~ k − b k r − η k r ) ⋅ Δ t ) Δ R ~ i j = ∏ k = i j − 1 E X P ( ( ω ~ k − b k r ) ⋅ Δ t ) E x p ( − δ ϕ ⃗ i j ) = ∏ k = i j − 1 E x p ( − Δ R ~ k + i T ⋅ J r k ⋅ η k r Δ t ) δ ϕ ⃗ i j = − L o g ( ∏ k = i j − 1 E x p ( − Δ R ~ k + i T ⋅ J r k ⋅ η k r Δ t ) ) Δ R i j = Δ Δ R ~ i j ⋅ E x p ( δ ϕ ⃗ i j ) \Delta R_{ij} = \prod^{j-1}_{k=i} EXP ((\tilde{\omega}_k -b^r_k -\eta^r_k)\cdot \Delta t) \\ \Delta \tilde R_{ij} = \prod^{j-1}_{k=i} EXP((\tilde{\omega}_k -b^r_k)\cdot \Delta t) \\ Exp(-\delta\vec\phi_{ij} ) = \prod^{j-1}_{k=i}Exp(-\Delta\tilde R^T_{k+i} \cdot J^k_r \cdot \eta^r_k\Delta t) \\ \delta \vec\phi_{ij} = -Log( \prod^{j-1}_{k=i}Exp(-\Delta\tilde R^T_{k+i} \cdot J^k_r \cdot \eta^r_k\Delta t)) \\ \Delta R_{ij}=^\Delta \Delta \tilde R_{ij}\quad\cdot Exp(\delta\vec \phi_{ij}) ΔRij=k=i∏j−1EXP((ω~k−bkr−ηkr)⋅Δt)ΔR~ij=k=i∏j−1EXP((ω~k−bkr)⋅Δt)Exp(−δϕij)=k=i∏j−1Exp(−ΔR~k+iT⋅Jrk⋅ηkrΔt)δϕij=−Log(k=i∏j−1Exp(−ΔR~k+iT⋅Jrk⋅ηkrΔt))ΔRij=ΔΔR~ij⋅Exp(δϕij)
Δ v i j \Delta v_{ij} Δvij
Δ v i j = ∑ k = i j − 1 R k ⋅ ( v ~ k − v i − b k v − η k v ) Δ v ~ i j = ∑ k = i j − 1 Δ R ~ i k ⋅ ( v ~ k − v i − b k v ) δ v i j = ∑ k = i j − 1 ( Δ R ~ i k η k v − Δ R ~ i k ⋅ ( v ~ k − v i − b k v ) Λ ⋅ δ ϕ ⃗ i k ) Δ v i j = Δ v ~ i j − δ v i j \Delta v_{ij} = \sum^{j-1}_{k=i}R_k\cdot(\tilde{v}_k -v_i -b^v_k -\eta^v_k ) \\ \Delta \tilde v_{ij} = \sum^{j-1}_{k=i} \Delta \tilde R_{ik}\cdot(\tilde{v}_k - v_i -b^v_k ) \\ \delta v_{ij} = \sum^{j-1}_{k=i}(\Delta \tilde R_{ik}\eta^v_k - \Delta \tilde R_{ik} \cdot (\tilde{v}_k -v_i-b^v_k)^{\Lambda}\cdot \delta\vec\phi_{ik})\\ \Delta v_{ij} =\Delta \tilde v_{ij}-\delta v_{ij} Δvij=k=i∑j−1Rk⋅(v~k−vi−bkv−ηkv)Δv~ij=k=i∑j−1ΔR~ik⋅(v~k−vi−bkv)δvij=k=i∑j−1(ΔR~ikηkv−ΔR~ik⋅(v~k−vi−bkv)Λ⋅δϕik)Δvij=Δv~ij−δvij
Δ p i j \Delta p_{ij} Δpij
Δ p i j = ∑ k = i j − 1 Δ v i k ⋅ Δ t Δ p ~ i j = ∑ k = i j − 1 Δ v ~ i k ⋅ Δ t δ p i j = ∑ k = i j − 1 δ v i k ⋅ Δ t Δ p i j = Δ p ~ i j − δ p i j \Delta p_{ij} = \sum^{j-1}_{k=i}\Delta v_{ik}\cdot \Delta t \\ \Delta \tilde p_{ij} = \sum^{j-1}_{k=i}\Delta\tilde v_{ik}\cdot \Delta t \\ \delta p_{ij} = \sum^{j-1}_{k=i}\delta v_{ik}\cdot \Delta t \\ \Delta p_{ij} = \Delta \tilde p_{ij} - \delta p_{ij} Δpij=k=i∑j−1Δvik⋅ΔtΔp~ij=k=i∑j−1Δv~ik⋅Δtδpij=k=i∑j−1δvik⋅ΔtΔpij=Δp~ij−δpij
η i j Δ \eta^\Delta_{ij} ηijΔ
η i j Δ = [ δ ϕ ⃗ i j T δ v ⃗ i j T δ p ⃗ i j T ] \eta^\Delta_{ij} = [\delta\vec\phi^T_{ij}\quad\delta\vec v^T_{ij}\quad \delta\vec p^T_{ij}] ηijΔ=[δϕijTδvijTδpijT]
δ ϕ ⃗ i j − 1 → δ ϕ ⃗ i j \delta\vec\phi_{ij-1}\rightarrow \delta\vec\phi_{ij} δϕij−1→δϕij
δ ϕ ⃗ i j = − L o g ( ∏ k = i j − 1 E x p ( − Δ R ~ k + i T ⋅ J r k ⋅ η k r Δ t ) ) δ ϕ ⃗ i j = Δ R ~ j j − 1 δ ϕ ⃗ i j − 1 + J r j − 1 η j − 1 r Δ t \delta \vec\phi_{ij} = -Log( \prod^{j-1}_{k=i}Exp(-\Delta\tilde R^T_{k+i} \cdot J^k_r \cdot \eta^r_k\Delta t)) \\ \delta\vec\phi_{ij} = \Delta\tilde R_{j\ j-1}\delta\vec\phi_{ij-1}+J^{j-1}_r\eta^r_{j-1}\Delta t \\ δϕij=−Log(k=i∏j−1Exp(−ΔR~k+iT⋅Jrk⋅ηkrΔt))δϕij=ΔR~j j−1δϕij−1+Jrj−1ηj−1rΔt
δ v i j − 1 → δ v i j \delta v_{ij-1}\rightarrow \delta v_{ij} δvij−1→δvij
δ v i j = ∑ k = i j − 1 ( Δ R ~ i k η k v − Δ R ~ i k ⋅ ( v ~ k − v i − b k v ) Λ ⋅ δ ϕ ⃗ i k ) δ v i j = δ v i j − 1 + Δ R ~ i j − 1 η j − 1 v − Δ R ~ i j − 1 ⋅ ( v ~ j − 1 − v i − b i v ) Λ ⋅ δ ϕ ⃗ i j − 1 \delta v_{ij} = \sum^{j-1}_{k=i}(\Delta \tilde R_{ik}\eta^v_k - \Delta \tilde R_{ik} \cdot (\tilde{v}_k -v_i-b^v_k)^{\Lambda}\cdot \delta\vec\phi_{ik})\\ \delta v_{ij} =\delta v_{i\ j-1} + \Delta \tilde R_{ij-1}\eta^v_{j-1} - \Delta \tilde R_{ij-1} \cdot (\tilde{v}_{j-1} -v_i-b^v_i)^{\Lambda}\cdot \delta\vec\phi_{ij-1} δvij=k=i∑j−1(ΔR~ikηkv−ΔR~ik⋅(v~k−vi−bkv)Λ⋅δϕik)δvij=δvi j−1+ΔR~ij−1ηj−1v−ΔR~ij−1⋅(v~j−1−vi−biv)Λ⋅δϕij−1
δ p i j − 1 → δ p i j \delta p_{ij-1}\rightarrow \delta p_{ij} δpij−1→δpij
δ p i j = ∑ k = i j − 1 δ v i k ⋅ Δ t δ p i j = δ p i j − 1 + δ v i j − 1 ⋅ Δ t \delta p_{ij} = \sum^{j-1}_{k=i}\delta v_{ik}\cdot \Delta t \\ \delta p_{ij} = \delta p_{ij-1} + \delta v_{ij-1}\cdot \Delta t δpij=k=i∑j−1δvik⋅Δtδpij=δpij−1+δvij−1⋅Δt
A j − 1 A_{j-1} Aj−1
A j − 1 = [ Δ R ~ i j − 1 0 0 − Δ R ~ i j − 1 ( v ~ j − 1 − v i − b i v ) Λ I 0 0 Δ t I I ] A_{j-1} =\left[\begin{array}{ll} \Delta \tilde R_{i j-1} & 0 & 0 \\ -\Delta \tilde R_{i j-1} (\tilde{v}_{j-1} -v_i-b^v_i)^{\Lambda} & I & 0 \\ 0 & \Delta t I &I \end{array}\right] Aj−1= ΔR~ij−1−ΔR~ij−1(v~j−1−vi−biv)Λ00IΔtI00I
B j − 1 B_{j-1} Bj−1
B j − 1 = [ J r j − 1 Δ t 0 0 Δ R ~ i j − 1 0 0 ] B_{j-1} =\left[\begin{array}{ll} J^{j-1}_r\Delta t & 0 \\ 0 &\Delta \tilde R_{ij-1} \\ 0 & 0 \end{array}\right] Bj−1= Jrj−1Δt000ΔR~ij−10
η i j Δ \eta^\Delta_{ij} ηijΔ
η i j Δ = [ Δ R ~ i j − 1 0 0 − Δ R ~ i j − 1 ( ˙ v ~ j − 1 − v i − b i v ) Λ I 0 0 Δ t I I ] η i j − 1 Δ … + [ J r j − 1 Δ t 0 0 Δ R ~ i j − 1 0 0 ] η j − 1 d η i j Δ = A j − 1 η i j − 1 Δ + B j − 1 η j − 1 d \eta^\Delta_{i j} =\left[\begin{array}{ll} \Delta \tilde R_{i j-1} & 0 & 0 \\ -\Delta \tilde R_{i j-1} \dot (\tilde{v}_{j-1} -v_i-b^v_i)^{\Lambda} & I & 0 \\ 0 & \Delta t I &I \end{array}\right] \eta^\Delta_{i j-1} \ldots \\ +\left[\begin{array}{ll} J^{j-1}_r\Delta t & 0 \\ 0 &\Delta \tilde R_{i j-1} \\ 0 & 0 \end{array}\right] \eta^d_{j-1}\\ \eta^\Delta_{i j} = A_{j-1}\eta^\Delta_{i j-1}+B_{j-1}\eta^d_{j-1} ηijΔ= ΔR~ij−1−ΔR~ij−1(˙v~j−1−vi−biv)Λ00IΔtI00I ηij−1Δ…+ Jrj−1Δt000ΔR~ij−10 ηj−1dηijΔ=Aj−1ηij−1Δ+Bj−1ηj−1d
Σ i j \Sigma_{ij} Σij
Σ i j = A j − 1 Σ i j − 1 A j − 1 T + B j − 1 Σ η + B j − 1 T \Sigma_{ij} = A_{j-1}\Sigma_{ij-1}A^T_{j-1} +B_{j-1}\Sigma_\eta+B^T_{j-1} Σij=Aj−1Σij−1Aj−1T+Bj−1Ση+Bj−1T