手眼標定 - 標定誤差優化項
- 一、TCP標定誤差優化
- 1、注意標定針擺放范圍
- 2、TCP標定時的點次態與工作姿態盡可能保持相近
- 二、深度相機對齊矩陣誤差
- 1、手動計算對齊矩陣
- 三、手眼標定拍照姿態
- 1、TCP標定姿態優先
- 2、水平放置棋盤格優先
為減少最終手眼標定的誤差,可做或注意以下步驟(環節)。
一、TCP標定誤差優化
1、注意標定針擺放范圍
如:在實際焊接、碼垛等工作時,機械臂的工作范圍或擺動范圍主要集中在X軸的[150mm , 1500mm]
范圍,Y軸的[-150mm , 350mm]
范圍,Z軸的[-200mm , 600mm]
范圍,那么在做TCP時,應將標定針(或標定點)擺放在X =(150 + 1500)/ 2 = 825mm 左右的位置,而不宜擺放在過于靠近最小值和最大值的附近。(Y軸和Z軸計算方式同理)
2、TCP標定時的點次態與工作姿態盡可能保持相近
如:實際焊接時槍頭與XY平面的夾角在[30-50]°之間
,焊接的方向一般指向+X+Y、+X-Y、-X+Y、-X-Y,那么做TCP時的點位也應該與焊接時的姿態、夾角保持一致或相近。
二、深度相機對齊矩陣誤差
1、手動計算對齊矩陣
市面上常見的深度相機一般有彩色點云和非彩色點云(深度點云),彩色點云和深度點云之間一般有對齊矩陣,該矩陣可通過上位機獲取,但一般都不夠精準。盡量自己計算。
方法: 同一位置下,分別進行彩色點云和深度點云拍照,然后將兩點云進行配準(配準算法可使用Open3D或PCL可提供的接口),最終的配準矩陣,即我們需要的對齊矩陣。然后重復拍照N次(每組照片盡量拍攝不同物體),計算對齊矩陣的平均值(N越大,對齊矩陣精度越高)。
三、手眼標定拍照姿態
1、TCP標定姿態優先
手眼標定時,處于拍照姿態時此時的工具的姿態(本文指的是:工具向量與機器人坐標系下的XY平面的夾角)盡可能與做TCP標定時(工具向量與機器人坐標系下的XY平面的夾角)的姿態保持一致(或相近),如果在該姿態下相機無法拍到棋盤格,則可將棋盤格傾斜放置。傾斜角度慢慢調整,直到工具姿態接近TCP姿態且相機可以拍到棋盤格為最佳。
局限性: 如果相機精度不是很高,得通過增加拍照次數的方式減少手眼誤差,則該方案可能有局限性,因為棋盤格斜立擺放拍照姿態會受到限制,一般只能讓相機朝XY平面方向上的一個固定范圍方向,不能繞Z軸拍照360°,所以最終的手眼矩陣不具有可靠的全方位都可用的最佳效果!
2、水平放置棋盤格優先
水平放置棋盤格方法,該方法可顯著增加拍照次數:拍照姿態一般讓相機Z軸與棋盤格平面法向量夾角處于0°-25°范圍(夾角過大亦會影響手眼矩陣精度),讓相機調整至可拍到整個棋盤格的位置,然后繞Z軸360°都拍下,精度差的相機拍照次數最好在大幾十次甚至100次以上,而精度高的工業相機配合精度高的機器人手眼拍照次數可控制在10次以下。