楊宇
(廣西機電職業技術學院,廣西南寧,530007)
近年來,計算機視覺技術在工業機器人領域獲得了較為快速的發展,這與該技術具有獲取信息量大并且檢測精度高、檢測范圍廣等特征有很大的關系,這能夠進一步促進工業機器人的智能化程度[1]。
工業機器人智能視覺系統中,攝像機充當著機器人眼睛的角色,因此其重要性是不言而喻。目前,六自由度工業機械臂在機器人中得到了較為廣泛的應用,攝像機和多軸機械臂組合應用的視覺機器人系統亦可稱為手眼系統。由于攝像機的安裝位置有差異,因此可以將智能視覺引導系統分為兩種,一種是固定式手眼系統,另外一種是移動式手眼系統[2]。
在固定式手眼系統中,攝像機通常是固定安裝的。通過攝像頭,可以實現機械臂作業范圍內的覆蓋,并且使用固定坐標系來實現對工作目標的識別。與此同時,使目標工件的位置和姿態等信息被傳遞到機械臂,然后機械臂來開始一些智能操作。經實驗發現,固定式手眼系統的局限性較大。原因有二。第一是攝像機不跟隨機械臂向目標移動,在目標距離攝像頭距離超過一定距離的時候,對于攝像頭的精度有更高的要求,這樣會增加相應的費用。第二是機械臂與目標之間的距離過近的時候,可能導致攝像頭視線被遮擋,從而不能完成預定的智能操作。
移動式手眼系統的攝像機通常是安裝在機械臂的本體上。當機器人產生位移的時候,攝像頭也會隨之產生位移。在執行單元連接法蘭盤上,可以按照該系統,通過該系統,能夠得知目標工件信息。基于此,可以對控制機械臂采取一些智能操作。當前,在工業領域中,該系統使用較為廣泛。經實踐表明,移動式手眼系統比固定手眼系統的攝像頭移動靈活性更強,而且能夠使獲取的目標工件信息更加精準。
視覺引導系統起到了機器人眼睛的功能,它通過使用工業相機拍照,來對目標工件的位置信息進行獲取,識別工件的小孔或者角點等特征,從而對其進行匹配。然后,與位置信息模型結合起來,從而達到對工件位置定位的目的。最終,可以使工業機器人能夠對工件進行智能抓取。在該系統中,有兩個重要組成部分,一個是機械抓手,另外一個是工業相機。一般情況下,使用 Eye-in-Hand(眼在手上)如圖1所示, Eye-to-Hand(眼在手外)如圖2所示,這,其中,前者相機隨機器人的移動一起運動,而后者在機器人運動的情況下,相機不會運動。通過實踐研究發現,Eye-in-Hand(眼在手上)和 Eye-to-Hand(眼在手外)這兩種視覺引導方式所適用的場景不同,而且有各自的優勢。一般情況下,前者的優勢是引導模式比較靈活,劣勢是視野范圍不大,在對工件進行定位的時候,往往需要在多次進行位置計算之后,才可以將移動誤差盡可能減小。因此,其系統復雜程度更高,而且響應速度比較慢。一般情況下,這種系統比較適合小視野精確定位的情形。后者的優勢是拍照位置是固定的,視野范圍比較大,所以系統執行效率更高,但是往往計算結果精確度不高,不適合大視野粗定位情形。

圖1 Eye-in-Hand 引導模式

圖2 Eye-to-Hand 引導模式
在相機成像模型中,使用數學公式對成像過程進行推導,通過對目標物體的空間位置進行拍攝,從而對實際空間位置與圖像成像點之間的幾何變換關系進行確定。具體而言,該模型的構建需要分四個步驟進行。第一步剛體變換,第二步透視投影,第三步畸變校正,第四步數字化圖像。針孔模型是相機模型中最常見的,它的原理是小孔成像原理,如圖3所示。

圖3 針孔模型小孔成像原理圖
當前,有不少視覺領域中,是借助工業相機來對圖像進行采集,然后借助數字傳感信號進行數據傳輸。設P點的坐標為(x, y, z),并且該點的像素坐標為(u, v),那么該坐標系下的橫坐標與縱坐標代表該像素的寬度dx與高度dy。
本文設兩點是重合的。設nP的坐標為(nx, yn,zn),由相似三角形的關系可以得到像素坐標的推導公式為:

然后,可以進行矩陣變換,可以得到公式:

當光線經過工業相機的鏡頭之后,可以在感光陣列上進行成像,然后將光學信號進行轉換為電信號,由此可以得到完整的圖像信息。但是,需要注意的是,相機坐標系與圖像坐標系是不同的,所以有必要做好坐標系轉換。各個坐標系之間的轉換如圖4所示。

圖4 各個坐標系之間的轉換
相機所獲取的圖像都是二維平面圖像,可以通過二維坐標系進行轉換,如圖5所示。

圖5 二維坐標系轉換
針對坐標轉換,可以構建坐標模型,推出轉換關系表達式:

將上述關系表達式進一步轉換為矩陣,可得到:

然后,轉化為齊次形式,可得到:

對于相機標定,是針對機械手和相機進行手眼標定。也就是說,當工業機器人的需要用機械臂對物品進行抓取的時候,工業機器人的控制系統需要知道機械臂與相機之間的空間坐標關系。對于工業機器人而言,眼睛即工業相機,手即工業機器人的機械抓手。對于實際的控制過程,在相機對目標物的圖像像素位置獲取之后,可以通過坐標矩陣對該坐標轉換為空間坐標,然后將該坐標傳遞給機器人控制器,基于此,對電機的運行方式進行計算,最終達到對機器人位置的控制。在標定方法選擇方面,因為本文采用的工業相機自身畸變較小而且需要工業相機與機器人之間進行配合,建立相機坐標與機械手坐標的關系。基于上述原因,筆者選擇了機械手與相機之間的九點坐標標定法。九點坐標標定法的原理是工業機器人的機械臂末端有九個不同方向,然后通過這九個點來建立坐標,通過相機拍攝識別這些坐標,然后通過相機模型坐標進行轉換,接著借助矩陣變換得到最終的坐標。該方法的詳細工作流程如圖6所示。

圖6 九點坐標標定法流程
假設工業機器人的坐標系為(x, y, z),假定旋轉矩陣為R,平移向量為M,由相機坐標系(x’, y’ ),這兩者之間的關系表示為:

進一步轉換得到標定矩陣:

工業機器人產品控制器能夠達到運動控制功能控制的目的。比如,關節插補運動、直線插補運動、圓弧插補運動等運動功能的控制已經能夠實現。工業機器人的智能抓取需要考慮三個方面的內容:識別出所要抓取的目標、確定目標與機器人手爪之間的位置和姿態、針對選定的目標就夾持策略進行規劃。
針對目標識別和目標位姿獲取,可使用的視覺測量技術有多種。主要的思路是使用深度信息恢復,三維重構等技術,通過這些技術,可以測量目標的位置,然后通過對結果進行三維數據模型構建。該視覺系統又名為立體視覺系統,借助該系統,然后經過三維重構,最終能夠達到對目標的幾何尺寸和空間位置進行描述的目的。在該數據模型構建之后,能夠使用工業機器人進行抓取規劃。然而,在實踐中發現,立體視覺所需要處理的數據非常大,而且三維重構算法極為復雜,其中會涉及大量的計算。所以,目標深度信息的完整恢復難度較大,一般要額外提供目標的三維數據模型。目標識別一般包括這四個方面:模型庫和特征檢測以及假設生成和假設檢驗。
對于識別的過程,會使用到多種匹配技術,這樣才能夠在真實圖像中找到目標物。當前,使用較多的相關技術有模板匹配、位姿聚類和解釋樹等。求取目標位姿的主要方法包括:基于立體視覺的位姿測量,基于矩形的位姿測量,基于PNP問題的位姿測量和基于消失點的位姿測型。
通過獲取三維數據模型以及其位姿,基于此,才能進一步進行抓取規劃。一般而言,工業機器人的抓取規劃與仿人手這樣的智能手爪比較而言,前者更為簡單。工業機器人抓手的自由度較少,所以其夾持方式十分有限。以兩指夾鉗式手爪抓取一個立方體為例,機器人手爪坐標系原點OT建立在兩指連線的中點上,其Z軸設在手指接近物體的方向,Y軸設在兩手指連線的方向上,X軸有右手法則確定,手爪坐標系的各個軸分別記為XT,YT,ZT。對機器人手爪抓取路徑的規劃,實質,上就是這樣一系列過程:在坐標系{OT},{Ot}之間選取適當的路徑控制點,并建立其相應的坐標系,如:{OT1}{OT2} …… {OTn} 然后依次計算相鄰坐標系之間的齊次變換矩陣:……[3]。其中,變換矩陣TT1T用于將機器人手爪從坐標系{OT}引導到坐標系{OT1} ,將機器人手抓引導至坐標系 {OT2} ,依此類推,直到將手爪引導到夾持位置,即坐標系{Ot}。
對于工業機器人應用領域的一個經典問題——機器人抓取操作,本文從計算機視覺技術的角度進行了探討,提出了一種基于計算機視覺引導技術的工業機器人智能抓取的方法。希望通過計算機視覺這一新興技術來解決工業機器人應用領域的傳統問題。隨著科學技術,尤其是計算機視覺的不斷發展,相信在不久的將來,計算機視覺引導技術必將廣泛地應用到工業機器人領域當中,使其煥發出新的光彩。