手眼标定原理
文章目錄
- 一、固定標定板
- 二、固定相機
- 三、求解AX= XB
- 1、求解旋轉矩陣
參考了https://zhuanlan.zhihu.com/p/103749589
手眼標定法是標定攝像頭與機械臂的一個經典方法,不過這個思想也適用于其他傳感器,比如自動駕駛中激光雷達與攝像頭之間的標定,比如東京大學的這篇工作《LiDAR and Camera Calibration using Motion Estimated by Sensor Fusion Odometry》。
手眼標定法的核心公式只有一個,AX=XB,這里的 X 就是指手(機械臂末端)與眼(攝像頭)之間的坐標轉換關系。下面結合機械臂的兩種使用場景,講一下這個公式的由來。
用Base表示機械臂的底座(可以認為是世界坐標系),用End表示機械臂的末端,用Camera表示攝像頭,用Object表示標定板。
一、固定標定板
英文為eye-in-hand。表示為相機隨著機械臂運動,但標定板固定情況下,估計相機到機械臂末端end的變換矩陣。如下圖所示
此時Base->End的變換矩陣固定,Object->Base的變換矩陣固定
此時考慮相機在不同兩個位置C1和C2處拍攝了標定板圖片情況,具有下面的等式約束
就得到了
AX=XB
即求解得到X
二、固定相機
這種情況是相機固定,但是標定板隨著機械臂變化而變化,英文表示為Eye-to-hand
此時固定的變換矩陣變為Base->end和Base->Camera間的變換矩陣
考慮標定板的不同位置,獲得下面等式約束:
三、求解AX= XB
將變換矩陣變為旋轉矩陣+平移向量,此時獲得下面式子:
其中R表示旋轉矩陣,t表示平移向量
1、求解旋轉矩陣
旋轉矩陣分布在Rx的左右兩側,因此使用向量化算子Vec(x)進行求解,其中向量化算子的性質如下表示
因此AX=XB左右等式同時取向量化算子,即:
Vec(AX)= Vec(XB)
因此只需vec(Rx)前面系數項的奇異值特征向量,即可獲得Rx值,即
平移向量求解如下:
總結
- 上一篇: C语言题目:5-7 购物(二) (25
- 下一篇: SVG格式编辑工具