鐘德星, 楊元, 劉瑞玲, 韓九強
(西安交通大學電子與信息工程學院, 710049, 西安)
機器人技術是一門涉及傳感器、控制理論、機械工程等多學科的應用技術[1]。20世紀80年代,計算機視覺技術首次應用到了機器人系統中,與傳統的機器人相比,視覺機器人在適應能力、控制精度、魯棒性等方面都更為出色。美國Willow Garage于2013年研發成功的PR2機器人,借助視覺傳感器感知周圍環境,可完成清潔打掃、自主充電等一系列動作[2]。但是,因為視覺機器人的技術難度較大,所以未能在工業領域得到大規模應用。
本文對視覺機器人的運動目標識別、定位測距、抓取裝配等技術進行了研究。利用計算機視覺技術對傳送帶上的工件進行自主識別定位,對視覺機械臂的運動方式進行數學建模,來分析其運動抓取方案。本文以五自由度的機械臂AL5D[3]為實驗對象,設計并組建了視覺機器人自主裝配生產線的軟硬件系統。通過相關測試,采用本文所提工件識別和抓取算法的單目視覺機器人工件裝配系統可以穩定高效地運行。
視覺機器人系統將視覺傳感器獲取的圖像信息作為反饋,構成閉環控制系統[4]。這為實現機器人自主目標識別、定位測距、抓取裝配奠定了基礎。本文的研究對象是傳送帶上一整套工件的各個單個部件,其中包括底座、內芯、彈簧和頂蓋,本文將采用改進型Camshift[5]算法來對其進行檢測和跟蹤。
Camshift算法在跟蹤開始前要先人為定位跟蹤目標,并手動初始化搜索框。為了實現全自動視覺機器人裝配,先通過算法識別出目標,然后對其進行跟蹤。為了識別目標工件,本文提出了一種以目標的R、G、B三通道處理值和形狀作為特征的目標識別算法。
在實驗過程中發現工件表面光線反射會導致在對應圖像區域R通道分量值變大,這對紅色目標的識別形成了很大的干擾。針對這種情況本文所使用的顏色特征采用通道之間求差的方法獲得,即
(1)
式中:R、G、B為彩色圖像的三通道值。采用以dgb、drg、drb為顏色特征的方案,對于以紅綠藍為基色的目標,可有效緩解由于光照不均所導致的顏色特征差異不明顯情況。
確定了對目標顏色特征的提取方案后,還要對目標的形狀特征進行判斷。由于目標工件都是圓形,且半徑有所不同,所以本文采用Hough圓檢測算法來進行目標的形狀特征提取[6]。根據顏色特征以及形狀特征識別并標記圖像中的目標區域,而后作出目標反向投影圖,并據此來跟蹤目標的位置。
Camshift算法對Meanshift均值漂移算法[7]做了改進,將Meanshift算法擴展到連續視頻幀序列中,使更加適合視頻流目標跟蹤[8]。而本文對Camshift算法做了進一步改進,提高其目標跟蹤的性能。Camshift算法的具體步驟如下:
(1)對初始框標定的待跟蹤物體進行顏色空間轉換,轉換到HSV空間并提取H分量圖像,繼而進行反向投影得到反向投影圖;
(2)根據反向投影圖和輸入框進行Meanshift迭代;
(3)下一幀圖像用上一幀的輸出框進行迭代。
在Meanshift迭代過程中,d維空間Rd中的樣本集中x點的Meanshift向量可定義為
(2)
Sh(x)≡{y:(y-x)T(y-x)≤h2}
(3)
式中:h為半徑;Sh為高維球區域;k為n個樣本點中落入Sh的個數。(xi-x)是xi相對于x的偏移,Mh(x)指向概率密度梯度方向[9]。
由式(2)(3)可知,無論xi、x間的距離多大,在Sh中所有樣本點對均值偏移量Mh(x)的影響相差不大,距離x越近的樣本點應對Mh(x)的影響越大。對此,本文對于均值偏移量的計算公式做了如下改進
(4)
GH(xi-x)=|H|-1/2G(H-1/2(xi-x))
(5)
式中:G(x)為單位核函數;H為正定矩陣,即帶寬矩陣;w(xi)為非負的樣本點權值。
在實際應用過程中,一般將H限定為一個對角陣,故式(5)可改寫為
(6)
將式(6)中x放到求和符外面,可得
(7)
將式(7)等號右邊第1項記為
(8)
在給定初始點x、核函數G(x)以及允許誤差ε后,Meanshift算法進行迭代計算:①計算mh(x);②將x賦為mh(x);③當‖mh(x)-x‖<ε時,停止迭代,反之執行步驟①,繼續迭代。
確定目標識別與跟蹤的算法后,為實現視覺機器人對于工件的準確抓取,還需對識別出目標的空間位置進行測量。視覺測量技術是一種基于坐標測量和視覺技術的新興測量技術[10],本文就是采取單目視覺測量技術來獲取目標的位置信息。
目標水平與豎直方向的空間位置分別為其相對于攝像頭光軸在XY軸方向的偏移[11]。目標水平方向空間位置測量原理如圖1所示。其中O為攝像頭透鏡光心,π為成像平面,V為像距,即光心到成像平面的距離,Z為目標中心到成像平面的距離,可得
(9)
同理,Y向測量示意如圖2所示,可得
(10)
當檢測到目標工件后,設得到的目標中心點像素坐標為(x′,y′),圖像中心坐標為(x0,y0),則

圖1 X向測量示意圖

圖2 Y向測量示意圖

(11)
將式(11)代入式(9)、(10),可得
(12)
因其中像距V難以測量,故借助攝像頭焦距f、物距U可得
(13)
在現實應用中,物距都遠遠大于像距,故
(14)
將式(14)代入式(13),可得
V≈f
(15)
將式(15)代入式(12),可得
(16)
至此,可通過式(16)求得目標的水平豎直位置。(x′,y′)為目標中心點像素坐標,Z為目標中心到像平面的垂直距離,攝像頭焦距f可以通過攝像頭標定的方法得到,本文采用基于二維靶標標定法來進行標定[12]。
單目視覺測距原理的示意如圖3所示,其中π′為攝像頭光心O所在平面,O′為實際目標的圓心,D為實際目標的直徑,o′為圖像中目標的圓心,d為目標在圖像中的直徑,Z′為實際目標中心到攝像頭光心的直線距離,θ為實際目標中心相對于攝像頭光軸的偏向角。

圖3 單目測距算法原理
由式(15)以及三角形相似原理可得
(17)
(18)
又因為
(19)
(20)
可得目標中心到攝像頭光心的距離
(21)
從而得到了目標物體的三維空間位置信息。
在實際抓取過程中,由于傳送帶是運動的,所以需要相機持續采集圖像,并對于工件的抓取位置做出預測。先用幀差法計算出傳送帶的運動速度,其次確定抓取動作的執行時間,最后與傳送帶速度結合預測合適的抓取點坐標[13]。
通過測量目標工件在傳送帶運動方向坐標的變化(xn-xm)與單幀的采樣時間間隔fs,便可以求得傳送帶的速度
(22)
由于視覺機器人在獲取目標位置后運轉機械手臂到執行抓取操作的位置還需要一定的時間ts,在此過程中抓取目標工件還是處于運動狀態,故要通過ts對工件的測量的X向位置x0進行矯正,即
xt=x0+tsvc
(23)
本文所使用的機械臂為鏈式結構,由連桿和關節組成,通過其末端的執行機構來操作目標物體。其中可控變量為機械臂的各個關節角度,通過建立機械臂數學模型,研究各關節角與末端執行器的位姿關系。
本文采用三維笛卡爾標準坐標系,在視覺機器人運動的過程中,主要涉及以下坐標系:基坐標系{B}、參考坐標系{S}(參考坐標系1的設立是為了方便目標識別與定位,參考坐標系2則是針對目標抓取)、腕部坐標系{W}、工具坐標系{T}、目標坐標系{G}、相機坐標系{C},如圖4所示。
以往公積金異地轉移流程太復雜,如今,隨著全國住房公積金異地轉移接續平臺的上線,職工只需向轉入地公積金中心提出轉移申請,轉入地公積金中心通過全國轉移接續平臺辦理,即可實現“賬隨人走、錢隨賬走”,手續簡化了很多。

圖4 視覺機器人標準坐標系
本文從固定基座開始編號,稱為連桿0,第一個可動連桿記為連桿1,最末端的連桿記為連桿n。連桿i和連桿i+1之間的關節為關節i+1。對于AL5D機器人,連桿參數是:連桿i-1的連桿轉角αi-1,連桿i-1連桿長度ai-1,連桿偏距即相鄰的兩個連桿長度ai-1和ai與關節軸i交點之間的有向距離di,關節角即αi-1按右手法則繞軸i旋轉到αi的角度θi。其連桿參數值如表1所示,其中a2、a3為確定值,為了易于用公式表示,故用符號表示。

表1 連桿參數表
在確定機器人各連桿參數與坐標系后,使用改進的D-H參數法,就可確定各連桿變換矩陣。將各連桿變換矩陣相乘就便得到最終變換矩陣,本文的最終變換矩陣為
(24)
其中對三角函數進行了簡寫,即si=sinθi,sijk=sin(θi+θj+θk),cijk=cos(θi+θj+θk)。
運動學正解是由關節角求得機械臂末端操作夾的位姿,但是在實際應用中,需通過操作夾的位姿來求得關節角組合,即運動學逆解問題[14]。
運動學逆解一般都有多組關節角對應一個位姿的情況。對于本文所研究的機械臂,各關節角的旋轉幅度為0°~180°,且目標的夾取位置只能是目標的正上方,故給定目標位置后,末端操作夾的位置也就確定了,繼而機械臂的各關節角唯一。
對于逆運動求解問題可通過封閉解法求得,研究表明:所有具備轉動關節和移動關節的串聯型6自由度機構均是可解的,而且具備6處旋轉關節的機械臂存在封閉解的充分條件為相鄰的3個關節軸相交于一點[15]。本文采用的機器人的2、3、4關節軸是平行的,所以其封閉解存在,故本文采用幾何解法進行機器人逆運動學求解。

圖5 腕部坐標系相對于基坐標系的位置

圖6 關節平面幾何關系
由圖6中角度關系以及機械臂關節的角度限定,可用幾何解法求出各個關節角的準確值,即
(25)
綜上所述,利用本文所提出的基于顏色和形狀特征的目標工件識別算法檢測到傳送帶上的目標工件,繼而通過基于Camshift的目標跟蹤算法以及單目視覺測距算法對目標工件進行實時跟蹤測距。通過式(23)得到抓取位置,換算成腕部坐標系相對于基坐標系的位置后,通過式(25)求得機械臂各個關節角的大小,從而完成整個識別抓取動作。
為驗證上述研究結果,本文搭建了一個視覺機器人工件裝配平臺來進行測試實驗。
視覺機器人工件裝配平臺以AL5D機械臂作為抓取裝置,選擇USC舵機控制板進行舵機的控制,選擇羅技C270相機作為圖像傳感器。利用Qt作為開發框架開發上位軟件,利用狀態設計模式,在系統內部維護動作、目標兩個狀態機,分別用來描述機器人可執行的動作和當前動作狀態機中所操作的目標工件種類。
為測試本系統性能,本文設計了兩個性能測試實驗:視覺測距精度測試和裝配成功率測試。
本文對不同位置的不同目標工件進行了視覺測距測試。實驗對目標工件不同情況下進行共計50次視覺測距,視覺測距所得三維空間坐標與目標實際空間坐標之間相對誤差如圖7所示。由圖7可知,視覺測距所得三維空間坐標與目標實際空間坐標之間的相對誤差在5%以內,完全滿足本文抓取裝配的精度要求。

圖7 空間測距相對誤差統計
此外,對視覺機器人工件裝配平臺進行了6組隨機空間位置的自主抓取裝配測試,每組測試進行5輪完整自主抓取裝配實驗,最終只有第5組測試中的一輪裝配由于光線干擾造成頂蓋工件角度測量錯誤,導致最終裝配失敗。總體自主抓取裝配成功率達到96.7%,完全達到了應用的要求。
針對傳統工業機器人示教型控制策略所導致的靈活性差的缺點,本文就視覺機器人的關鍵技術展開研究,提出了一套完整的視覺識別定位抓取算法實現方案,使得工業機器人環境適應能力大幅提高,執行任務的靈活性大大提高。
本文通過基于改進型Camshift的動態目標識別跟蹤算法對目標工件進行識別跟蹤,實驗測試結果表明,該算法對于目標工件的識別率達到100%,與此同時處理速度達到16.36幀/s,完全滿足對于實時性的要求。為保證視覺機器人機械手臂對目標工件的精準抓取,本文采用單目視覺測距對目標的三維坐標位置進行測量,實驗結果表明,該算法對于近距離目標空間位置的測量相對誤差小于5%。最終整體裝配成功率達到96.7%。
本文所提算法雖可以滿足本文指定的裝配工件的識別、定位、裝配等一系列操作,但對于更加精細或裝配精度更高的工件,本文所采用的單目測距算法的定位精度是有限的。在更高精度要求時,可采用深度攝像機和改進測距算法來對工件進行精度更高的空間測距定位。
參考文獻:
[1] 方勇純. 機器人視覺伺服研究綜述 [J]. 智能系統學報, 2008, 3(2): 109-114.
FANG Chunyong. A survey of robot visual servoing [J]. CAAI Transactions on Intelligent Systems, 2008, 3(2): 109-114.
[2] HSIAO E, COLLET A, HEBERT M. Making specific features less discriminative to improve point-based 3D object recognition [C]∥Proceedings of the 23rd IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ, USA: IEEE, 2010: 2653-2660.
[3] LYNXMOTION. AL5D arm assembly instructions rev. 2.1 [EB/OL]. [2017-08-18]. http: ∥www. lynxmotion.com/images/html/build143b.htm.
[4] 苑晶, 李陽, 董星亮, 等. 基于運動模式在線分類的移動機器人目標跟蹤 [J]. 儀器儀表學報, 2017, 38(3): 568-577.
YUAN Jing, LI Yang, DONG Xingliang, et al. Target tracking with a mobile robot based on on-line classification for motion patterns [J]. Chinese Journal of Scientific Instrument, 2017, 38(3): 568-577.
[5] WANG Z, YANG X, XU Y, et al. Camshift guided particle filter for visual tracking [J]. Pattern Recognition Letters, 2009, 30(4): 407-413.
[6] 夏磊, 蔡超, 周成平, 等. 一種用Hough變換檢測圓的快速算法 [J]. 計算機應用研究, 2007, 24(10): 197-199.
XIA Lei, CAI Chao, ZHOU Chengping, et al. New fast algorithm of Hough transform detection of circles [J]. Application Research of Computers, 2007, 24(10): 197-199.
[7] FUKUNAGA K, HOSTETLER L D. The estimation of the gradient of a density function, with applications in pattern recognition [J]. IEEE Transactions on Information Theory, 1975, 21(1): 32-40.
[8] LIU X, CHU H, LI P. Research of the improved Camshift tracking algorithm [C]∥International Conference on Mechatronics and Automation. Piscataway, NJ, USA: IEEE, 2007: 968-972.
[9] 孫小煒, 李言俊, 陳義. MeanShift圖像分割的快速算法 [J]. 測控技術, 2008, 27(7): 23-25.
SUN Xiaowei, LI Yanjun, CHEN Yi. Fast mean shift algorithm in image segmentation [J]. Measurement & Control Technology, 2008, 27(7): 23-25
[10] 陳小林. 單目視覺系統的姿態解算算法研究 [J]. 儀器儀表學報, 2014(s1): 45-48.
CHEN Xiaolin. Research of attitude calculation of single camera visual system [J]. Chinese Journal of Scientific Instrument, 2014(s1): 45-48.
[11] 韓延祥, 張志勝, 戴敏. 用于目標測距的單目視覺測量方法 [J]. 光學精密工程, 2011, 19(5): 1110-1117.
HAN Yanxiang, ZHANG Zhisheng, DAI Min. Monocular vision system for distance measurement based on feature points [J]. Optics and Precision Engineering, 2011, 19(5): 1110-1117.
[12] 馬頌德, 張正友. 計算機視覺-計算機理論與算法基礎 [M]. 北京: 科學技術出版社, 1998.
[13] XIONG P, ZHU X, SONG A, et al. A target grabbing strategy for telerobot based on improved stiffness display device [J]. IEEE/CAA Journal of Automatica Sinica, 2017, 4(4): 1-7.
[14] 張曉艷, 孫建橋, 丁千. 五自由度機械臂的運動學分析及時滯控制 [J]. 西安交通大學學報, 2013, 47(10): 103-108.
ZHANG Xiaoyan, SUN Jianqiao, DING Qian. Kinematics analysis and time delayed control of a five-degree of freedom manipulator [J]. Journal of Xi’an Jiaotong University, 2013, 47(10): 103-108.
[15] GOSSELIN C, FOUCAULT S. Dynamic point-to-point trajectory planning of a two-DOF cable-suspended parallel robot [J]. IEEE Transactions on Robotics, 2017, 30(3): 728-736.
[本刊相關文獻鏈接]
張鐵,林康宇,鄒焱飚,等.用于機器人末端殘余振動控制的控制誤差優化輸入整形器.2018,52(4):90-97.[doi:10.7652/xjtuxb201804013]
董肖莉,李衛軍,寧欣,等.應用三角形坐標系的風格化肖像生成算法.2018,52(4):139-144.[doi:10.7652/xjtuxb201804 020]
楊航,劉凌,倪駿康,等.雙關節剛性機器人自適應BP神經網絡算法.2018,52(1):129-135.[doi:10.7652/xjtuxb201801 019]
程傳奇,郝向陽,李建勝,等.融合改進A*算法和動態窗口法的全局動態路徑規劃.2017,51(11):137-143.[doi:10.7652/xjtuxb201711019]
李兵,杜俊偉,陳磊,等.工業機器人RV減速器傳動誤差分析.2017,51(10):1-6.[doi:10.7652/xjtuxb201710001]
尹貴,張小棟,陳江城,等.下肢康復機器人按需輔助自適應控制方法.2017,51(10):39-46.[doi:10.7652/xjtuxb201710 007]
欒玉亮,榮偉彬,吳方勇,等.3-PPSR柔性并聯機器人力控制研究.2017,51(4):85-90.[doi:10.7652/xjtuxb201704013]
黃昔光,黃旭,李啟才.利用共形幾何代數的串聯機器人位置逆解求解方法.2017,51(1):9-12.[doi:10.7652/xjtuxb2017 01002]
周雪峰,孫廣彬,劉曉光,等.應用擴展零力矩點預觀控制和分解動量控制的仿人機器人全身運動規劃方法.2016,50(12):58-63.[doi:10.7652/xjtuxb201612010]