劉海豐,陳 鵬
(1.武漢工程大學 智能機器人湖北省重點實驗室, 湖北 武漢430205; 2.武漢工程大學 計算機科學與工程學院, 湖北武漢430205)
?
基于RGB-D圖像的機械臂關節角度檢測的研究
劉海豐1,2,陳 鵬2
(1.武漢工程大學 智能機器人湖北省重點實驗室, 湖北 武漢430205; 2.武漢工程大學 計算機科學與工程學院, 湖北武漢430205)
針對機械臂各個關節的角度值,提出了一種利用RGB-D圖像的計算方法。首先通過Kinect獲取彩色圖像和深度圖像并做對齊處理;接著利用閾值分割的方法提取機械臂目標,用細化算法提取出機械臂輪廓骨架;然后結合機械臂各剛體部件的位置關系對其關節點定位;最后利用向量的性質計算機械臂關節角度。該方法能夠有效地計算出機械臂各關節角度,具有較高的準確性和較強的魯棒性。
機械臂;深度圖像;細化算法;關節點定位;關節角度
隨著機器人技術的高速發展和社會工業化進程的加速,機器人逐漸參與到人類的活動中來,并日益成為人類的好幫手。機械臂也是一種重要的機器人技術,由于它能完成多種多樣的任務(如裝配、搬運、焊接等),能代替人類在一些危險的、惡劣的工作環境中完成既定的任務,因此,被廣泛用于工業制造、空間探索、國防科技等領域[1]。
由于工業機器人系統是多輸入、多輸出、強非線性、強耦合的高度復雜系統[2],在長時間高速運動的情況下,機器人的非線性動力學特性十分顯著,并且在實際工作中存在各種不確定性因素,嚴重影響著機器人的控制性能,甚至有可能出現故障,破壞物體和傷及工人,變為機器殺手[3]。如何保證工業機器人在運行過程中的穩定性、可靠性、和安全性,已成為研究的熱點問題[4]。
本文通過Kinect對機械臂實時識別定位跟蹤定位關節點,再根據定位的關節點計算機械臂關節角度,以第三視角對機械臂進行關節角度檢測。對機械臂的故障檢測、精準度提高和安全保障具有一定的研究價值。
1.1 RGB-D圖像的采集與對齊
本文使用微軟公司產品Kinect設備對RGB-D圖像進行采集,Kinect設備包括一個彩色攝像頭,一個紅外發射攝像頭和一個紅外接收攝像頭,通過開發包Kinect SDK可以獲取彩色圖像數據和深度圖像數據[5]。彩色圖像[6]屬于多通道圖像,不同通道有著不同的物理意義,對某一通道信息進行圖像分析處理可以達到不同的目的。深度圖像與彩色圖像不同,深度圖像[7]的像素值與物體距離有關,不會受光線、陰影、環境變化等外界因素的干擾[8],能夠很好的彌補彩色圖像的缺點,在圖像處理中彩色圖像與深度圖像可以互相補充,達到所需要的目的。本文使用Kinect SDK采集彩色圖像,分辨率為640×480,如圖(a),采集的深度圖像分辨率為320×240,如圖(b)。由于彩色圖像與深度圖像的空間坐標系不同,用Kinect SDK獲取的彩色圖像與深度圖像是不對齊的[9],本文通過映射圖保存深度圖像與彩色圖像的坐標對應關系,如圖(c),通過映射圖中的彩色圖與深度圖的映射坐標關系,可以得到對齊后的彩色圖像,如圖(d)。

(a)彩色圖像,(b)深度圖像,(c)映射圖,(d)對齊圖
1.2 機械臂目標提取
Kinect中深度值最大為4096 mm,本文采集的深度圖像的像素值可通過距離值歸一化計算:
f(x,y)=d(x,y)×255÷4096
如果機械臂周圍有其他物體,單純的通過深度圖像進行閾值分割[10],就無法提取機械臂目標;又由于機械臂附近的物體與機械臂深度值相同時,無法通過深度圖像閾值區別判斷,所以本文將彩色圖像中的顏色信息作為深度圖像的輔助信息,把機械臂從深度圖像中分離出來。首先利用深度圖像設定一個合理的閾值區間,當前像素值在此閾值區間時,則為機械臂目標區間。此時,通過深度圖像閾值分離的圖像有可能含有機械臂以外的物體,本文結合彩色圖像的顏色信息將機械臂以外的其他物體分離出來,為了忽略光照強度的影響,將彩色圖像轉換為YCbCr圖像,選取機械臂區域Cb,Cr通道的平均值,將其設為輔助閾值,然后將分割后的深度圖像遍歷,通過彩色圖與深度圖像的坐標映射關系檢索深度圖像每個像素坐標對應彩色圖像的像素值,如果對應彩色圖像的Cb,Cr通道值在閾值范圍內,則是機械臂目標,如果不在閾值范圍內則是機械臂以外物體,將其分割掉,最后得到機械臂輪廓,如圖3所示。

圖2 算法流程圖

圖3 閾值分割后的機械臂輪廓
1.3 機械臂輪廓圖像預處理
本文閾值分割算法能夠得到機械臂輪廓,但由于機械臂自身線纜、商標的遮擋機械臂輪廓會有些空洞,輪廓圖像不完整,需先經過膨脹腐蝕[11]操作將空洞填充,然后經過中值濾波[12]得到完整的平滑的輪廓圖像,如圖4所示。

圖4 預處理后的機械臂輪廓
1.4 機械臂輪廓圖像的細化
細化就是在保持原來形狀的基礎上,經過一層層的剝離,去掉原圖的一些點,最終得到圖像的中心線。好的細化算法要求:
1)收斂性;
2)連通性;
3)保持原圖的基本形狀;
4)減少筆畫相交處的畸變;
5)細化結果是原圖像的中心線;
6)細化的快速性和迭代次數少。
本文采用Zhang快速并行細化算法[13],能較好地滿足以上條件,得到的圖像見圖5,目標圖像像素值為1,背景像素值為0。它能較好地保持機械臂的基本形狀,連通性較好。

圖5 機械臂輪廓的細化
1.5 機械臂關節點的定位
每種機械臂都會有它的產品說明書和產品技術規格書,本文實驗采用的是安川首鋼公司的長臂型機械臂MOTOMAN-MA2010,它的產品技術規格如圖6所示,機械臂各個關節的結構尺寸都有標注,各部分的關節比例關系為后面關節點定位提供有效的信息。

圖6 機械臂結構尺寸圖
遍歷整幅機械臂骨架圖,細化后的機械臂骨架線機械臂骨架部分像素值為1,背景部分為0,機械臂骨架為單位像素寬,找出像素值為1的八鄰域只有一個像素值為1的所有像素點,根據機械臂關節位置關系,像素坐標點縱坐標y最大的像素點為機械臂底座關節點位置,像素點橫坐標x最小的為機械臂末端執行器的關節點位置。再從機械臂末端執行器關節點的像素位置開始沿骨架線遍歷,直到遍歷到機械臂底座關節點位置截止,路徑的像素點總個數為機械臂骨架線長度,再通過機械臂產品規格圖,可以得到各個關節的比例,其他關節點按照計算的骨架線長度和各個關節的比例關系就可以定位出來,定位出的關節點如圖7所示。

圖7 機械臂關節點定位
機械臂由一系列關節連接起來的連桿組構成,如圖8所示。給每一個連桿在關節處建立一個連桿坐標系,該連桿坐標系隨關節運動而運動。用A矩陣描述連桿坐標系間相對平移和旋轉的齊次變換。A1表示第一連桿對基坐標的位姿,A2表示第二連桿對第一連桿的位姿......第二連桿對基坐標位姿為T2=A1A2,則機械臂末端相對于基座的位姿T6=A1A2A3A4A5A6,稱為機器人運動學方程。機器人逆運動學就是已知直角坐標空間的位姿T6,求解各關節相鄰兩連桿的夾角和距離。首先根據機械臂末端關節坐標設置An,
T6=A1A2A3A4A5A6
(1)
再分別用An(n=1,2,...,5)的逆左乘式(1),有:
(2)
(3)
(4)
(5)
根據上述5個矩陣方程對應元素相等,可得到若干個可解的代數方程,便可求出各關節相鄰兩桿的夾角和距離。
由于機械臂各關節變量相互耦合,逆運動方程的解也不是唯一的解,需根據機械臂的組合形態和各關節的運動范圍經過多次反復計算,選擇一組合理的解。通過逆運動學求解機械臂各關節角度十分復雜,本文以Kinect相機建立空間坐標系,如圖9所示,定位出的關節點由二維坐標圖像轉換為三維坐標的,再將機械臂關節角度的計算簡化為對空間向量夾角的計算,該方法簡單有效。
深度圖像到空間三維坐標的轉換[14]可由如下表達式求得:
(7)
式中,(i,j)為圖像坐標,(x,y)為空間坐標,(δx,δy)為Kinect的鏡頭畸變,(cx,cy)為圖像中心點,(fx,fy)為比例參數,d是距離值。根據定位出的關節點像素的二維圖像坐標和深度值,按公式(7)即可算出每個關節點的空間坐標。
對于Kinect坐標系中任意兩個不重合的坐標點A(x1,y1,z1),B(x2,y2,z2),可轉化到傳統空間坐標系中組成向量AB。轉化公式為:
(8)
根據以上性質,機械臂關節角度的計算可以簡化為空間向量夾角的計算,如定位出的關節點A、B、C之間關節角度,可以直接通過計算空間向量BA和BC的夾角得出,公式如下:
(9)
(10)
(11)

圖8 機械臂連桿坐標系

圖9 機械臂關節點空間向量表示
實驗平臺是Win7 x86 + VS2012 + Kinect for Windows SDK v1.6 + OpenCV3.0,圖像采集設備是Kinect,機械臂是安川首鋼公司的長臂型機械臂MOTOMAN-MA2010。實驗主要分為數據的采集,機械臂輪廓的提取,機械臂輪廓填充、平滑處理,機械臂輪廓的細化,機械臂關節點的定位以及關節角度的計算,關節角度的計算是按定位出的5個關節點依次按順序取3個關節點計算而來。

表1 機械臂關節角度
從實驗結果可以看出,本文以深度圖像為主、彩色圖像為輔提取機械臂輪廓圖像,通過膨脹、腐蝕、中值濾波預處理輪廓圖像,再對輪廓圖像細化算得到機械臂骨架,細化后的機械臂骨架為單位像素寬,該方法可以魯棒地實現機械臂關節點的定位和關節角度的計算。另外,本文所使用的方法只需一次手工設定閾值,能夠自動地定位機械臂關節點,并計算出關節角度。
本文提出了一種提取機械臂目標輪廓的方法,首先結合深度圖像和彩色圖像,利用膨脹腐蝕方法填充機械臂輪廓中的空洞,用中值濾波對機械臂輪廓進行平滑處理后;用細化法對機械臂輪廓進行細化處理,得到的機械臂骨架為單位像素寬;其次,結合機械臂各關節的位置關系和各關節部件的比例關系,定位出機械臂關節點;最后,用空間向量法計算關節角度。該方法保證了機械臂關節點定位的準確性,并為深度相機仿真機械臂檢測和機械臂奠定了基礎。由于該機械臂工作空間小,不會出現遮擋情況,本文未對遮擋情況進行處理。另外,由于Kinect對物體距離的測量本身存在一定誤差,圖像處理也有部分誤差,所以機械臂關節角度的計算存在一定的誤差,今后將進一步研究提高計算的準確性。
[1] 王田苗,陶永.我國工業機器人技術現狀與產業化發展戰略[J].機械工程學報,2014,50(9):1-13.
[2] 劉海濤.工業機器人的高速高精度控制方法研究[D].廣州:華南理工大學,2012.
[3] 蔡自興,郭璠.中國工業機器人發展的若干問題[J].機器人技術與應用,2013,03:9-12.
[4] 劉磊.工業機器人遠程監控診斷服務系統的設計開發[D].大連:大連理工大學,2014.
[5] 周致富. 基于Kinect傳感器的三維點云模型重建研究[D].武漢:武漢科技大學,2015.
[6] Deng J, Hu J, Wu J. A study of color space transformation method using nonuniform segmentation of color space source[J].Journal of Computers,2011,6(2):288-296.
[7] Yang L, Ren Y, Zhang W. 3D depth image analysis for indoor fall detection of elderly people[J].Digital Communications and Networks,2016,2(1):24-34.
[8] 周穎.深度圖像的獲取及其處理[D].西安:西安電子科技大學,2008.
[9] 趙旭. Kinect深度圖像修復技術研究[D].大連:大連理工大學,2013.
[10] 周楊. 深度圖像分割算法的研究與仿真實現[D].哈爾濱:哈爾濱理工大學,2008.
[11] 陸宗騏,朱煜. 數學形態學腐蝕膨脹運算的快速算法[C]//中國圖象圖形學學會.第十三屆全國圖象圖形學學術會議論文集.中國圖象圖形學學會,2006.
[12] Wu J. Wavelet domain denoising method based on multistage median filtering[J].The Journal of China Universities of Posts and Telecommunications,2013,20(2)2:113-119.
[13] 吳選忠.Zhang快速并行細化算法的擴展[J].福建工程學院學報,2006,4(1)1:89-92.
[14] Wang S, Li C,Kong D, et al. Extracting hand articulations from monocular depth images using curvature scale space descriptors[J].Frontiers of Information Technology & Electronic Engineering,2016,17(1)1:41-54.
(責任編輯:熊文濤)
Research on the Detection of Manipulator Arm Joint Angle Based on RGB-D Image
Liu Haifeng1,2, Chen Peng2
(1.HubeiKeyLaboratoryofintelligentrobot,WuhanInstituteofTechnology,Wuhan,Hubei430205,China2.SchoolofComputerScienceandEngineering,WuhanInstituteofTechnology,Wuhan,Hubei430205,China)
For the angle value of each joint of manipulator arm, a calculation method is proposed, using RGB-D image. Firstly, the RGB color and depth image are obtained, using Kinect and alignedto segment the manipulator arm from the depth image by the threshold segmentation. Secondly, the manipulator arm outline frames are extracted according to the thinning algorithm. By combining the position relation of the rigid body parts of the manipulator arm, the joint points are located and the joint angle of the manipulator is calculated based on the properties of the vector. The method can locate joint point and calculate the joint angle of the manipulator with high accuracy and robustness.
manipulator arm;depth image; thinning algorithm; joint point calibrated; joint angle
2016-05-18
湖北省教育廳青年人才項目(Q20111504);武漢工程大學科學研究基金項目(12116021);武漢工程大學研究生教育創新基金項目(CX201274)
劉海豐(1989- ),男,湖北宜昌人,武漢工程大學智能機器人湖北省重點實驗室碩士研究生。
陳 鵬(1990- ),男,湖北宜昌人,武漢工程大學計算機科學與工程學院碩士研究生。
TP311
A
2095-4824(2016)06-0097-05