因為一直使用6軸協作機器人,且主要應用是三維視覺,平常的手眼標定基本都是基于OpenCV來計算的,聽說有九點標定和十二點標定,順便了解下。
目錄
- 1.九點標定
- 1.1 基本原理
- 1.2 關于最小二乘法
- 1.3 具體示例
- 2.十二點標定
- 3.OpenCV 手眼標定
- 4.九點標定與 OpenCV 手眼標定的區別
1.九點標定
1.1 基本原理
九點標定的數學原理主要涉及通過已知的標定板上的九個特定點,計算相機坐標系與機器人坐標系之間的變換關系。具體步驟如下:
-
1.坐標系描述:
機器人坐標系:由機器人臂的末端執行器(例如機械臂或抓取工具)所定義的坐標系。
相機坐標系:由相機的傳感器和視場所定義的坐標系。
標定板坐標系:由標定板上的九個已知特征點所定義的坐標系。 -
2.變換矩陣:
在九點標定中,我們希望通過機器人坐標系中的已知位置點(標定板在機器人坐標系中的位置)與相機坐標系中的觀測點(標定板的圖像特征點)之間的關系來求解變換矩陣。該變換矩陣包括旋轉矩陣(R)和平移向量(T)。
對于每個標定板的姿態,機器人運動到不同的配置點(例如不同的角度和位置),同時采集圖像。每個圖像中的特征點位置提供了一個映射關系。
通過一系列最小二乘法求解這些位置關系,可以得到相機與機器人之間的空間變換關系。 -
3.數學模型:
假設相機和機器人坐標系之間的關系是一個剛性變換,通常由以下公式表示:
-
4.優化與求解:
在九點標定中,通過多次測量機器人臂末端的不同姿態和相機所拍攝的圖像,我們將多組數據輸入到優化算法(通常是最小二乘法)中,從而求解出旋轉矩陣和平移向量。
這些參數最終構成了從機器人坐標系到相機坐標系的完整變換矩陣。
1.2 關于最小二乘法
1.3 具體示例
2.十二點標定
十二點標定是九點標定的擴展,核心思想一致,但使用更多標定點(12 個),優勢包括:
3.OpenCV 手眼標定
關于這部分的原理和應用可以參考手眼標定系列的博文,這里不再闡述。
https://blog.csdn.net/qq_45445740/article/details/122170029
4.九點標定與 OpenCV 手眼標定的區別
- 九點標定:聚焦二維平面變換,通過多點擬合簡單模型,適用于低維度校準。
- 十二點標定:增加點數提升復雜模型擬合能力,適用于精度要求更高或存在非線性因素的場景。
- OpenCV 手眼標定:解決三維空間中機器人與攝像機的坐標轉換,需多組位姿數據,數學模型更復雜,應用于機器人視覺等場景。