3D視覺引導機器人的重要前提條件是建立起相機與(yu) 機器人之間的坐標關(guan) 係,即手眼標定。為(wei) 便於(yu) 將市麵上任意3d結構光相機與(yu) 國內(nei) 外
工業(ye) 機器人結合做手眼標定,基於(yu) Opencv開發了此腳本工具,用於(yu) 離線手眼標定,代碼開源,操作簡單,適用性廣泛。
展示全部
器材準備
1. 3D結構光相機一個(ge)
2. Opencv專(zhuan) 用的棋盤格標定板,規格為(wei) 9*6 ,10mm使用教程
3. 工業(ye) 機器人一台
4. PC一台(帶usb3.0接口)
5. 手眼標定工具軟件包解壓至本地
數據準備
1. 離線標定
2. 手眼標定,分眼在手上eih和眼在手外eth。基礎知識請自行了解
3. 旋轉類型一般分2種,常見進口機器人都為(wei) abg,例如abb,ur,fanuc,kuka等;國產(chan) 機器人大部分為(wei) gba
4. 其他文件路徑默認在當前目錄下
5. 在當前目錄下新建robotpose.txt 和caldata文件夾
(一)標定板采樣至少10組RGB數據,格式為(wei) png即可
(二)機器人pose也相應采樣同等組數,打開robotpose.txt -> 每行記錄一組笛卡爾(x,y,z,rx,ry,rz)-> 每個(ge) 浮點數之間用半角逗號
間隔
執行標定
1. 下載到本地後,打開手眼標定工具
2. 標定工具選擇Opencv,標定類型視情況選,旋轉類型視情況選(大多情況是abg)
3. 點擊標定按鈕,標定結果和殘差的.yaml文件都生成在當前目錄下
Opencv手眼標定求解原理概述:
1. 坐標係之間的關(guan) 係可以用齊次矩陣表示H = [R t],其中H為(wei) 4*4方陣,R為(wei) 3*3旋轉方陣,t代表3*1平移向量,任意坐標係之間位置的轉換,都可以用齊次矩陣(旋轉和平移)來描述,下麵將簡述手眼標定中各坐標係之間的關(guan) 係,以及如何通過Opencv算子解出目標手眼矩陣。先交代一個(ge) 前提(齊次矩陣的文字表達)。例 A_H_B = [R t] , 把A坐標係先經過R旋轉,再經過t平移,可到達B坐標係,也可以理解成B坐標係下的某個(ge) 點在A坐標係下的位姿.
2. 手眼標定涉及以下幾個(ge) 坐標係
Pixel_H_Image 圖像平麵坐標係在像素平麵坐標係下的位姿
Image_H_Camera 相機光心坐標係在圖像坐標係下的投影位姿
Camera_H_World 世界坐標係(人為(wei) 定) 在相機坐標係下的位姿
Base_H_Tool 機器人末端工具坐標係在機器人基坐標係下的位姿,機器人正運動學計算得到,即可在示教器上直接查看
Tool_H_Camera | | Base_H_Camera 手眼矩陣二選一,根據相機固定方式來定,即相機坐標係在工具坐標係下的位姿 或 相機坐標
係在機器人基坐標係下的位姿
Base_H_Obj 物體(ti) 在基坐標係下的位姿
World_H_Obj 物體(ti) 在世界坐標係下的位姿
Pixel_H_Obj 物體(ti) 在像素平麵坐標係下的位姿
3. 通過cv::calibrateCamera()求內(nei) 參
輸入參數:Pixel_H_Obj (從(cong) 多副含有標定板的圖像中通過cv::findChessboardCornersSB()得到),World_H_Obj (通過vector容
器和棋盤格規格得到)
輸出參數:Pixel_H_Camera = Pixel_H_Image*Image_H_Camera
4. 通過cv::solvePnP()計算得到相機外參,並得到最終要的標定板在相機下的位姿
輸入參數:Pixel_H_Camera,Pixel_H_Obj ,World_H_Obj(均通過上述過程得到)
輸出參數:Camera_H_Obj (每張圖片一個(ge) 位姿,放入vector容器)
5. 通過cv::calibrateHandeye()求出手眼矩陣
眼在手上時:
輸入參數:Base_H_Tool(多組位姿,放入vector容器),Camera_H_World
輸出參數:Tool_H_Camera
眼在手外時:
輸入參數:Tool_H_Base(多組位姿,放入vector容器),Camera_H_World
輸出參數:Base_H_Camera
6. 驗算手眼標定精度
眼在手上時,理論上每組的Base_H_Obj相同,因此:
Base_H_Obj(待求) = Base_H_Tool(已知) * Tool_H_Camera(手眼矩陣) * Camera_H_Obj(已知),求多組Base_H_Obj,估算誤差
眼在手外時,理論上每組的Tool_H_Obj相同,因此:
Tool_H_Obj (待求)= Tool_H_Base(已知) * Base_H_Camera(手眼矩陣),求多組Tool_H_Obj,估算誤差
您可以通過我們(men) 的官方網站了解更多的国产欧美在线信息,或直接來電谘詢4006-888-532。