服裝電子商務網(wǎng)站有哪些網(wǎng)絡違法犯罪舉報網(wǎng)站
這里先回顧一下預積分是怎么來的
VINS-Mono-IMU預積分 (三:為什么要預積分+預積分推導)
這里貼出預積分的公式
具體含義解釋看對對應的文章
整個誤差函數(shù)如下
預積分 α \alpha α β \beta β γ \gamma γ 是用 IMU 預積分獲得的增量(前面用了大篇幅去推導,可以看之前的文章),左邊是優(yōu)化獲得的增量,整體就是優(yōu)化后的值不能離預積分的增量太遠,太遠的話誤差值就會變大
對于四元數(shù)就是旋轉(zhuǎn)后的相乘結(jié)果盡可能為 0 , θ → 0 , q = [ 1 , n ? θ 2 ] \theta\rightarrow0,q=[1,\frac{\vec{n}\theta}{2}] θ→0,q=[1,2nθ?],這里有個 1 2 \frac{1}{2} 21? ,所以要乘個2
代碼中實際的寫法是 ( γ b k + 1 b k ) ? 1 ? ( q b k w ) ? 1 ? q b k + 1 w (\gamma^{b_{k}}_{b_{k+1}})^{-1}\otimes(q^{w}_{b_{k}})^{-1}\otimes q^{w}_{b_{k+1}} (γbk+1?bk??)?1?(qbk?w?)?1?qbk+1?w? ,含義是一樣的
注意:
這個殘差計算是每次優(yōu)化后都會進來計算的, k + 1 k+1 k+1 時刻(代碼中的 j j j)的值就是待優(yōu)化的值,每次進入函數(shù)計算都會被改變,具體計算方法和上面的公式一樣,疑問:感覺好像是 i i i 和 j j j 的值同時優(yōu)化的,后面具體看看代碼優(yōu)化量是哪個?
由于零偏 B a Ba Ba 也是優(yōu)化變量,而預積分又與零偏有關(guān)系,零偏改變了理論上是要重新積分的,但是由于這個零偏量變化很小,所以這里采用一階近似的方式來更新預積分,更新的預積分繼續(xù)作為這個約束,零偏更新建??催@篇文章VINS-Mono-IMU預積分 (七:預積分零偏建模方式)
這就是所謂的緊耦合,就是又作為約束又同時優(yōu)化自身變量
預積分協(xié)方差矩陣的使用
前面算出殘差 e e e 后,還需要成上信息矩陣(協(xié)方差)才行,因為雖然預積分作為約束,但是不是說這個約束是絕對準確的,它是有一個置信度的,前面通過ESKF就是為了計算預積分的置信度
由于現(xiàn)在設置的預積分約束因子,所以前面計算的預積分置信度就是用在這里計算的殘差上面,公式為 e T P e e^{T}Pe eTPe,對置信度 P P P 進行 L L T LL^{T} LLT 分解,這個分解相當于是對 P P P 開根號,那么新的殘差用 L T e L^{T}e LTe 來當作新的殘差。
代碼中對置信度取逆是因為,協(xié)方差越大代表不確定性越高,則權(quán)重應該越小,所以要取逆