工業(yè)六軸機器人,協(xié)作機器人,包括并聯(lián)機器人乃至AGV,其實都是又聾又瞎。如果把掃描臂比作人的胳膊,手比作末端執(zhí)行器(如焊槍,手抓)等等,往往需要眼睛才能干活。視覺的信息是非常豐富的,這個眼睛就是工業(yè)相機。機器人視覺是個研究熱點,各種方向?qū)映霾桓F。這里我僅僅列出我接觸過的,做過的,且在工業(yè)界成功的方向:
(1)視覺跟蹤:典型代表是焊縫跟蹤,視覺以線激光3D傳感器為主,引導機器人末端對準焊縫。
(2)定位/糾偏:這個在3C行業(yè)做的最多,相機以2D相機為主,拍照測量目標位置或者得到其偏差,機器人改變末端位置使其精準定位。
(3) 視覺伺服:這個相對難一些,2D/3D都有,也可以算在視覺跟蹤范疇中,專指目標物運動,視覺獲取目標物特征,控制機器人使其動態(tài)跟蹤誤差最??;大家可以搜搜梅西和視覺守門員對抗,就是視覺伺服典型代表。
(4)輪廓掃描/圖像重建:這也是一個精彩紛呈的方向,典型代表就是CT和各種三坐標測量儀,CT雖然大部分不用掃描臂,但仍可以歸為此類問題,記錄機械末端實時位置-相機拍照所得圖片,經(jīng)過相應的數(shù)學運算,將人體內(nèi)部器官三維重建(CT),激光掃描輪廓,重建3D模型(三坐標測量儀/汽車車身掃描)。

如果做這個機器人視覺方向的項目,有幾個共性問題需要提出來,并將其總結歸納一般方法,做好標準作法,當然以下問題在項目中可能用不到,但作為技術儲備是非常必要的,我僅是拋磚引玉,期望引起大家特別是項目設計階段的思考.
a.相機和機器人安裝問題:這里可以區(qū)分為 eye in hand 和eye to hand的問題,如下圖(引用halcon)所示
這兩種方法都有其典型應用,Eye to hand要簡單一些,需要注意的問題如下:
1)相機電源線和通信線是否足夠長,不要被掃描臂扯到,或被夾到線;
2)待測物如果發(fā)生變動了,是否會出現(xiàn)相機離焦問題,最好能夠?qū)崿F(xiàn)自動對焦功能;
3)eye in hand用于跟蹤的時候,如果機械末端軌跡如果是曲線,如何處理?不同的項目,難以共性總結,但項目設計階段,必須考慮。
4)打光的問題,如果2D相機,必須克服外界光線對相機的干擾。打光的關鍵就是從目標物出發(fā),思考光源如何打。
5)在三維重建過程中,很重要的事情就是圖像不要產(chǎn)生拖影,不產(chǎn)生拖影最有效的辦法就是等掃描臂或者運動軸停止了再同步觸發(fā)拍照。但這樣效率不高。還有一個辦法就是等待運動軸勻速了,再異步獲取圖像,注意涉及到加減速部分幀舍棄。
以上洋洋灑灑寫了這么多,總之就是一句話,穩(wěn)定可靠的得到好的圖像,先圖像,后處理,不要迷信算法,算法沒有有效數(shù)據(jù)支撐,算法沒有價值。
b.相機標定相關問題:如果需要精確定位,相機就必須要標定,這是一個非常長的篇幅才能說明的問題。這里我只是介紹下我看過的比較好資料,我都是依據(jù)這些資料寫的代碼,并驗證成功。
(1)2D:2D相機都是小孔成像原理,這方面比較好的闡述當屬OPCV那本書。重點是區(qū)分好靶面,鏡面和目標物三者矩陣換算關系,如果需要高精度或者魚眼鏡頭,需要處理相機畸變。棋盤格和菲林板都可以用,但是如果跟機器人末端配合的話還是推薦棋盤格,因為菲林板的圓孔,掃描臂末端不好精準定位。
(2)激光視覺:這里推薦天津大學葉聲華院士實驗室提出的消隱法標定,論文可以搜到。
(3)3D相機:3D有很多種,如雙目相機,還有各種編碼結構光等傳感技術融合,實在難以總結,還得具體項目具體分析。
c.機器人TCP標定:機器人出場的TCP是手腕圓心,很多項目,必須標定末端工具的TCP點,方法主流就兩種而已。但必須強調(diào)的是,怎么標也肯定有誤差,如何解決是關鍵。首先要清楚的是,這是一個系統(tǒng)誤差,多試幾次,就可以得到的系統(tǒng)誤差具體值的,是可以在末端移動中乘以這個誤差矩陣的。
d.手眼關系:這里特指相機和機器人末端之間關系。我們圖像處理得到的是像素坐標,機器人得到的末端TCP在機器人基坐標系的位置。如果把這兩件事關聯(lián)起來,就要做,像素坐標到機器人末端TCP的對應關系,這里主要的矩陣包括:像素坐標系-相機鏡頭坐標系-機械手末端TCP坐標系—機器人基坐標系;
如果標定了相機,和TCP,那么接下來少的就是,相機和TCP的標定了。這個2D相機的做法可以是,相機看棋盤格四個點得到像素坐標,機器人末端對準這四個點讀取位置,而后建立期間的矩陣關系;
e.坐標系綜合: 以上洋洋灑灑寫了這么多,說穿了就是建立好相機和機器人坐標系之間的關系,相信大家看的也暈了,但做幾次也就沒啥了。需要注意的是,不同坐標系,不要相加減。
f.采圖周期與控制周期問題:
1)采圖方式:同步采集和異步采集,為了提高采圖效率,建議采用異步采集。
2)圖像通信接口:GIGE和USB3各有優(yōu)劣,但GIGE能滿足的情況下肯定是首選,因為傳輸距離更遠,且網(wǎng)絡技術發(fā)展速度明顯更快,更符合未來發(fā)展方向;
3)控制周期:不是越短越好,關鍵要合適,這個很難用穩(wěn)定性理論去把握,還得靠調(diào)試;
g.安全問題:作為系統(tǒng)軟件設計者,必須考慮如果圖像處理有問題了,會不會影響機器人運動,圖像接口斷開了怎么處理,安全鏈如何設計。
以上洋洋灑灑寫了很多,后期也許會有更正,但核心問題大致就是這些,上位機軟件工程師,如果從事過類似手眼系統(tǒng)開發(fā)的,其實本質(zhì)是系統(tǒng)工程師,需要全盤考慮,設計合理,有特色,且能保證系統(tǒng)穩(wěn)定性,且按時交付,特色技術很大程度上決定了你的項目值多少錢,設計和調(diào)試能力決定能不能把錢穩(wěn)穩(wěn)地得到。