手眼标定算法
對于多傳感器的定位融合,傳感器之間的坐標融合是必備的,下面將給出標定算法。本文以精密激光定位系統(ALPS)與慣性傳感器(IMU)的標定為例。(大家不要關心ALPS是什么,只需要知道其可每個接收器可以測到自己的三維坐標)通過引入羅德里格矩陣和奇異值分解對AX=XB進行了優化求解。
本文主要是對剛寫的一篇文章的總結與通俗講解(doi: 10.1117/1.OE.61.6.064103)
閱讀導航:前面都是為了構建得到AX=XB模型,知道的直接看求解計算的優化求解部分,最后的總結注明一些原理供大家查看和百度
問題描述:
將ALPS與IMU有各自的坐標系,現在要將其統一到同一坐標系下,如圖1所示,我們要求出坐標系b到坐標系t轉換矩陣X。其中的w為ALPS的固定坐標系,g為IMU的固定坐標系,由于IMU 輸出的是增量,所以只需求出旋轉矩陣即可。
圖1? 靶標板姿態變換
構建模型:
通過圖1不斷的姿態變換,其過程中都滿足
其中
?由于只需要求解旋轉矩陣R則可以將式(1)解耦即拆開得到
?我們只求解第一個需要上面的第一個式子即可
注:其中Cwt(這里將上下標寫一起和公式里是一樣的)可以使用四個光電接收器構建一個t坐標系(先找平面兩條線叉乘得到z軸然后以平面的一根為x軸與z軸叉乘得到y軸),Cbg可以通過IMU的三個歐拉角計算,航角要靠地磁,室內容易干擾需要注意。
求解計算:
接下來就求解方程
?? ?
?其中運算符號
? ? ? ??
以及“^”表示把矩陣非0的拉直如下所示
? ? ?? ? ??
?到此就轉換為求解
如果要求不高用最小二乘即可,下是通過引入羅德里格矩陣和奇異值(SVD)分解進行的優化
優化求解:首先引入羅德里格矩陣,旋轉矩陣R可以表示為
?其中
其矩陣表示后有如下性質
?設
則求解的式子就變成了如下所示:
這里由于上式奇異,所以要多測幾次得到2個以上的式子聯立得到
?其中
?最后由于等式的左右兩邊都有誤差,所以應該用總體最小二乘,解決方法就是結合SVD分解,具體原因可以看文章開頭的文章或百度,操作方法就是
得到
?
?將其帶回上面提到的羅德里格表示旋轉矩陣的方程即可得到R。
總結
?其實不要被漫長的公式嚇到,整體過程總結起來就是
第一步:得到AX=XB化簡為求解Ra=b,其中a,b實際是矩陣A和B的轉軸,轉的過程相當于繞它轉一個角度,具體可以百度旋轉矩陣的表示。
第二步:優化求解,通過引入羅德里格矩陣將旋轉矩陣R中9個未知數變為3個,又考慮到等式左右系數矩陣都有誤差,所以用了SVD分解,具體可百度整體最小二乘。
?
?
?
?
?
?
?
?
?
?
?
?
總結
- 上一篇: 【人工智能 一种现代方法】搜索-复习
- 下一篇: SM3密码杂凑算法原理