李兆龍,張坤浩,單 磊,張 芳
(1.洛陽市產品質量檢驗檢測中心,河南 洛陽 471000;2.中國科學院上海高等研究院,上海 201210)
如今每年晶體學衍射線站都有著巨大的機時需求缺口。為此,世界各大同步輻射光源都配置了不同的自動上樣系統(tǒng),在提高了安全性同時,也大大提高了線站實驗效率[1]。
當前的蛋白質晶體上樣系統(tǒng)樣品獲取及樣品轉移功能的實現都需要事先對樣品點以及上樣點進行坐標標定。坐標標定需要工作人員手動示教,將機械手移動至目標點,完成對該目標點全局坐標變量的更改[2-3]。其中衍射儀測角頭可以三自由度平移且與機械手處于不同的臺面,隨著試驗的進行會存在位置偏差的積累,因此對其坐標的標定維護尤為頻繁。本文針對這種情況介紹了1 種利用視覺定位的方式來實現蛋白質晶體機械臂上樣位置的自動標定。
該方法使用工業(yè)相機完成視覺定位,選用500 萬像素的相機配置8 mm 焦距鏡頭作為視覺傳感器。具體參數見表1、表2。
表1 HT-SUA500C-T 工業(yè)相機參數
表2 HTF0818-5MP 鏡頭參數
對于單目視覺來說無法判斷出照片深度信息。增加激光測距傳感器一方面可對深度信息進行測量,另一方面可以利用激光點與測角頭中心位置偏差來修正視覺定位的誤差。激光測距傳感器參數見表3。
表3 松下HG-C1100 激光測距傳感器參數
對于測角頭的識別定位由于其尺寸小且環(huán)境緊湊狹小,若相機距離較遠將會影響視覺定位精度,而且當抓手靠近目標時機械手可能會阻擋視野,導致測角頭被遮擋,干擾識別定位。因此本方法采用“Eye-in-Hand”型手眼系統(tǒng),將工業(yè)相機固定于機械手法蘭盤處,采取圖像信息。
如圖1 所示,相機成像過程可表示為圖像點在世界坐標系、相機坐標系、圖像坐標系及像素坐標系的轉換[4]。
圖1 相機成像模型示意圖
由圖1 可看出世界坐標系下一點Pw需經過4 個坐標系轉化,方可在成像平面內通過像素坐標表示,根據齊次坐標變換原理可得像素坐標系與世界坐標系的映射關系,公式為
式中:ZC為PW點在相機坐標系下的zc軸坐標值;u,v為PW點在平面像素坐標系下的坐標值;f 為相機焦距;dx,dy 為像素點在圖像坐標系x,y 軸方向上的尺寸大??;u0,v0為圖像坐標原點在像素坐標系下的坐標值;為世界坐標系到相機坐標系的旋轉矩陣、平移矩陣;XW,YW,ZW為PW點在世界坐標系下坐標值;A 為相機的內參數矩陣;M 為相機的外參數矩陣。
通過張正友標定算法,利用二維棋盤標定板即可得到相應的內外參數矩陣。本文通過MATLAB 相機標定工具對相機進行標定[5],得到相機內參見表4。
表4 相機內參
手眼標定的目的在于實現物體在世界坐標系和機器人坐標系中的變換,從而能夠根據圖像信息來進行相應的位姿變換。
通過Tsai-Lenz 手眼標定算法[6],求解得到了“Eyein-Hand”型視覺系統(tǒng)的手眼關系矩陣
該系統(tǒng)的視覺定位有2 個研究對象,分別為測角頭和激光傳感器光斑。兩者外部輪廓可分別近似為直徑9、0.8 mm 的圓。
由于激光光斑中心亮度較高,故而根據顏色特征來提取光斑圖像。顏色特征對于圖像的方向、視角、尺寸等條件依賴較小,有較高魯棒性。首先確定激光光斑中心HSV 色彩閾值,設定閾值的上限和下限分別為(0,0,240),(170,20,255),遍歷整個圖像的像素點,閾值外的像素值都設置為0,閾值內的像素值設置為255,即可得到圖像的ROI 的掩模。將掩模與原圖像做運算,即可提取出激光光斑圖像,如圖2(a)所示。得到的激光光斑特征圖像會存在一些噪點,進行中值濾波后,得到了更為平滑的光斑圖像,如圖2(b)所示。
圖2 濾波前后激光測距傳感器光斑圖像
利用opencv 的最小閉圓擬合和霍夫圓檢測算法[7]可分別通過閉合圓來圈定激光光斑與測角頭圖像,并確定圓心的像素坐標位置如圖3 所示。
圖3 圖像識別定位
得到圓心的像素坐標后,根據公式(1),即可求解出相應的激光光斑和測角頭在相機坐標系下的坐標,并通過左乘手眼關系矩陣公式(2)得到其在機械臂工具坐標系下的坐標,從而實現坐標定位。通過對測角頭進行3 組視覺定位實驗,測定其定位誤差,實驗測定結果見表5。
表5 測角頭中心視覺定位實驗誤差
可以看出通過單目視覺定位的測角頭中心坐標X、Y 方向平均誤差為1.68 mm 和1.64 mm。
由于單目視覺定位的誤差在1.6 mm 左右,足以使得位于抓手上的激光測距傳感器的光斑落于測角頭上,可確定測角頭的Z 軸坐標值。通過調整抓手高度,使抓手位于測角頭上方指定高度后,方可進行下一步的圖像采集和定位。
識別得到光斑及測角頭圓心的像素坐標,得到坐標偏差值后,根據公式(1)求解對應的相機坐標系下坐標偏差,通過手眼關系矩陣得到真實坐標偏差。最后傳遞坐標偏差值控制機械手進行位置補償。
將測角頭移動至不同位置進行3 組自動標定實驗,分別手動示教至真實位置,測量其標定誤差,見表6。
表6 測角頭自動標定誤差
可見3 組視覺定位數據經過1 次偏差補償后的X,Y 方向平均誤差為0.313 mm 和0.227 mm。
本文通過采用激光測距傳感器與單目視覺定位結合的方式,實現了對測角頭三維坐標的定位,并通過光斑位置與測角頭中心偏差補償的方式,提高了測角頭視覺標定精度。將X,Y 方向定位精度提高至0.313 mm和0.227 mm,可用于實現上樣位置自動定位。