标定板标定和九点标定的区别_标定系列一 | 机器人手眼标定的基础理论分析
近期我們會首先推出機器人多傳感器標定的系列內容,包括:
- 標定系列一 | 基礎理論分析
- 標定系列二 | 實踐之Camera-Odometry標定
- 標定系列三 | 實踐之Camera-Lidar標定
本文作者是曠視研究院研究員盧彥斌,在文中為大家主要介紹了機器人手眼標定的一些理論基礎,以及輪式機器人標定中的一些常見做法,希望能夠給大家一些啟發。
目錄
- 1 手眼標定的理論基礎
- 1.1 AX=XB
- 1.2 約束條件分析
- 1.2.1 旋轉矩陣所需的方程數量
- 1.2.2 平移向量的約束數量
- 2 基于平面運動的外參標定方法
- 2.1 傳感器的旋轉軸與平面法向量重合
- 2.2 引入其它約束
- 參考文獻
- 附錄A
一、手眼標定的理論基礎
1.1
手眼標定(hand eye calibration)是機器人領域中一個歷史悠久的問題。這里的手常指的是機械臂,眼常指的是安裝于機械臂上的相機或者固定于環境中的相機。如下圖所示。
在實際應用中,我們通常需要將相機觀察到的外界環境中物體的姿態從相機坐標系轉換到機械臂的坐標系中,輔助機械臂規劃一些后續動作(如抓取)。為了得到兩坐標系之間的轉換矩陣,我們就要對機器人進行手眼標定。手眼標定有兩種常見的標定方法。第一種是通過特殊的標定物,第二種是通過機器人運動建立約束。本文主要討論后一種方法。
假設k時刻,機械臂相對于世界坐標系的位姿為
,相機相對于世界坐標系的位姿為 ,相機相對于機械臂的位姿 X,那么有同樣地,對k+1時刻有
那么
令
,上式即是: 其中,A和B表示相鄰時刻機械臂和相機的局部運動。機械臂的局部運動可以通過其運動模型推算得到,相機的局部運動通常可通過外部的標定板輔助得到。由此,手眼標定問題轉化為求解 的問題。這里,我們稱k時刻與k+1時刻構成的 的方程為一個測量。1.2 約束條件分析
從
方程出發,我們分別考慮旋轉矩陣R和平移向量t需要的方程數量(即測量數量)。假設:那么
可以轉化為:1.2.1 旋轉矩陣所需的方程數量
本小節主要參考文獻[1]。由上述等式條件可得:
首先回顧一下旋轉矩陣的性質,
axis-angle表達式示意圖如下所示[6]。
旋轉矩陣和axis-angle表達式的關系可以由Rodrigues公式表示。
其中
, 分別為旋轉矩陣的旋轉軸和旋轉角度, ,定義如下反對稱矩陣有如下性質:
旋轉矩陣的跡與旋轉角度的關系為:
假設
分別為 的旋轉向量, 分別為 的旋轉角度,那么有:即
所以,
是 的實數特征值對應的特征向量,上式說明,
的旋轉軸經過 變換為 的旋轉軸。實際上,我們能從上式得到如下關系:證明見附錄A。
如果令
,上式等價于上述方程有一個顯然的特解
由于
秩為2,其一維零空間的基為 。因此 的解為示意圖如下圖所示。
由
的定義可知,每個 對應于一個 , 。因此,從一個 方程無法求解得到 ,有一個自由度求解不出來,且該自由度會同時影響 , 。下面考慮兩組組測量
。關于 的方程變為 有唯一解當且僅當左端方程滿秩。文獻[1]中證明,這等價于 。因此如果我們有兩組測量,且傳感器A(等價于B)在兩組測量中的(局部坐標系下)旋轉矩陣的旋轉軸不同,那么能夠求解得到
。從而,根據從Rodrigues公式可以求得
。1.2.2 平移向量的約束數量
在已知旋轉矩陣的情況下,平移向量的約束推導情況較為簡單。從一個方程
中,我們可以得到同樣,因為
有非零解 , 不滿秩,一個測量無法求解出 。當我們有兩組測量時,文獻[1]中證明,滿秩等價于
。因此,如果我們有兩組測量,且傳感器A(等價于B)在兩組測量中的旋轉矩陣的旋轉軸不同,那么能夠通過求解方程組求解得到 。二、基于平面運動的外參標定方法
機器人上不同傳感器之間的外參可以用手眼標定的方式來標定,這一般需要機器人在三維空間運動。對于一大類機器人而言,其通常被設計成在平面上運動。這種情況下,傳感器實際上只能繞一個軸(即平面法向量)旋轉,其在任何局部坐標系下的旋轉運動的旋轉軸均保持不變。此時,我們能夠求解出哪些參數呢?
假設世界坐標系的XY平面即為機器人的運動平面,Z軸為平面法向量。直觀上來說,兩個傳感器的安裝高度差對于局部旋轉和平面上的平移沒有影響,因此兩個傳感器各自坐標系的原點在世界坐標系下的z軸高度差是無法觀測到的。實際上,我們從
的方程能夠看出這一點。首先,由第一部分我們知道,此時旋轉軸 在所有的局部坐標系下是一樣的。其次,我們可以證明 滿足所有(A, B)的方程。而
, 即是世界坐標系z軸在兩個傳感器局部坐標系下的表達式。針對平面運動下的手眼標定問題,我們列舉一些典型做法作為參考。
2.1 傳感器的旋轉軸與平面法向量重合
以帶輪速計的機器人為例,通常可以假設輪速計的旋轉軸和平面的法向量重合。我們能夠證明,除了平移向量的z分量,其余5個參數都是可觀的。
以參考文獻[2]為例。作者的具體做法如下。
第一步,通過將
分解為歐拉角的ZYZ表示簡化旋轉矩陣參數的求解。假設那么旋轉矩陣對應的方程變為
即
已知
的情況下,我們可以同時求出 (注:如果輪速計內參未知,那么上述公式可用于提供輪速計的一個約束)。于是 變為只有最后一個Z旋轉未知的旋轉矩陣,可代入平移向量的方程中求解。文獻[3]是類似的思路,同樣都是利用A傳感器的旋轉軸是世界坐標系的z軸的性質,先解出旋轉矩陣的兩個參數,再利用平移向量的約束解出其余參數且有一個參數不可觀。具體做法會由系列后續文章詳細說明。2.2 引入其它約束
我們可以引入外界約束以求解所有參數,例如,2D激光和相機的外參標定通常需要6自由度參數。文獻[4]利用V型標定板和棋盤格建立點到面的約束。文獻[5]則利用互相垂直的三面體構建直線到平面和點到平面的約束。這部分與本文重點關系較小,這里就不分析了。
參考文獻
2. Antonelli, Gianluca, et al. "Simultaneous calibration of odometry and camera for a differential drive mobile robot." IEEE International Conference on Robotics and Automation(2010).
3. Guo, Chao X., Faraz M. Mirzaei, and Stergios I. Roumeliotis. "An analytical least-squares solution to the odometer-camera extrinsic calibration problem." 2012 IEEE International Conference on Robotics and Automation. IEEE, 2012.
4. Dong, Wenbo, and Volkan Isler. "A novel method for the extrinsic calibration of a 2D laser rangefinder and a camera." IEEE Sensors Journal 18.10 (2018): 4200-4211.
5. Gomez-Ojeda, Ruben, et al. "Extrinsic calibration of a 2D laser-rangefinder and a camera based on scene corners." 2015 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2015.
6. http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-17-quaternions/
附錄A
作者簡介
盧彥斌,北京大學博士,目前為曠視研究院高級研究員,長期從事三維重建和SLAM技術的產品化工作,對機器人、AR等領域有濃厚興趣;作為核心成員參與研發了世界領先的口腔三維真彩掃描儀,其產品曾于2015年獲得Bronze Edison Award for Innovation。
總結
以上是生活随笔為你收集整理的标定板标定和九点标定的区别_标定系列一 | 机器人手眼标定的基础理论分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html实体编码_多视角学习 | 当自动
- 下一篇: 苹果max的特殊功能