盧 軍,胡 凡,郝 磊
(陜西科技大學 機電工程學院,西安 710021)
?
基于視覺定位裝配機器人的設計與實現
盧軍,胡凡,郝磊
(陜西科技大學 機電工程學院,西安710021)
建立視覺定位系統,用于裝配機器人對工件的精確定位,將獲取到的位姿信息傳遞給控制系統,從而引導機器人完成精確的裝配動作。該機器人通過自主研發,擁有先進的視覺定位系統、圖像識別算法以及創新性的機械結構,具有較高可靠性與魯棒性。控制系統以DMC5400為核心,用MFC來開發軟件,設計并實現了自動控制及手動控制兩種模式,采用S型加減速曲線,對各個軸的平穩控制。實際測試表明,該裝配機器人性能穩定、執行效率高,在裝配點位置隨機和工件輪廓不規則的情況下均能高精度地完成裝配過程。
裝配機器人;視覺定位;串聯驅動;MFC
智能化、數字化是先進制造技術和機電設備的發展方向。隨著照相機技術和自動控制理論的發展,具有視覺功能的機器人開始被人類制造出來,逐步形成了機器視覺學科和產業。與其它感知方式相比,視覺感知能夠進行非接觸測量因而具有巨大優勢。在國外,圖像處理技術領域存在長期競爭優勢,但具有視覺定位的工業機器人公司也不多。在國內,自上世紀80年代就開始在高校和科研單位全面開展工業機器人的研究,取得不少的科研成果;但由于沒有和企業有機地進行聯合,至今仍未形成具有影響力的產品和有規模的產業,而且普遍存在精度不高的問題[1-2]。
本研究基于視覺定位系統、“快速精確線性運動裝置”和DMC5400運動控制卡設計裝配機器人。由機械結構入手,循序漸進,最后制造出樣機,實現對工件的精確定位與裝配,并將精度控制在0.1mm以內。通過實驗驗證了引入視覺定位系統的機器人的裝配精度與穩定性,在裝配點位置隨機的情況下,能夠實現高精度、高效率地裝配。
為了在保證裝配精度的條件下提高裝配效率和系統的穩定性,設計出一款“快速精確線性運動裝置”,如圖1。該技術是一種既能實現快速移動,又能實現在設定位置上的精確定位的技術,它由宏觀快速移動裝置和微觀精確微動裝置組成。
“快速精確線性運動裝置”采用兩級步進電機串聯驅動滑臺運動模式如圖1所示。第一級伺服控制采用小傳動比運動控制模式,以實現滑臺的快速宏觀運動,縮短滑臺運動時間;第二級伺服控制采用大傳動比運動控制模式,以實現滑臺的微觀慢速精確運動,提高滑臺在設定位置的定位精度。該技術可克服單動力伺服控制所存在的缺陷,有效地滿足精密裝配機器人的快速、精密的性能要求。

1、8.聯軸器 2、6.步進電機 3.底座 4.滑動導軌 5、9.滾珠絲杠 7.減速器 10、16.滾珠絲杠螺母 11.螺母架 12、18.承載臺 13、19.滑塊 14.承載臺支架 15、17.電機固定支架 20.標尺光柵 21.光柵讀數頭光柵尺 22.光柵尺固定板
圖1快速精確線性運動裝置
結合“快速精確線性運動裝置”最終設計出整體的機械結構實物圖如圖2,在裝配過程中,裝配工件位于C軸的末端,有三種不同的形狀,分別為工字形、凸字形和三角形。同時裝配底板上也有這三種形狀的工位,每個工位的尺寸在長和寬方向比工件大0~0.5mm,以凸字形為例,尺寸如圖3。裝配機器人的最終目的是穩定、快速、準確地將工件平行地裝入對應底板。

圖2 機械結構整體實物圖

圖3 凸字形底板和工件尺寸
在機器視覺應用中通常采用模板匹配的方法對目標物體進行識別定位[3],但它的效率隨著圖像分辨的增大而降低,同時匹配的精度受被識別對象制作精度影響大,因此其應用場合受到了一定的限制。本視覺算法采用先粗定位再精定位的思想,不僅克服了一般的模板匹配算法的運行效率低、定位精度低等缺點,并且還有非常高的可靠性和魯棒性。以凸字形為例使用迭代的最優閾值分割法和基于區域特征的干擾區域去除法:
(1)灰度圖像f(x,y)取閾值T進行閾值分割[4-5]得到二值圖像F(x,y),即:

(1)
其中T是閾值。
迭代的(最優的)閾值選擇:
(2)
其中sum_b、sum_o分別指按閾值Tt分割后的背景面積和物體面積。
②計算Tt+1的值:
(3)
Tt+1提供一個更新了的背景與物體的區分。
③如果有Tt+1==Tt停止迭代;否則,返回第①步。

圖4 二值化后的凸字形底板圖像
(2)從二值圖[6-7]中提取目標區域。通過面積特征閾值去除二值圖中背景區域,剩下的部分即為目標物體區域。

(4)

(5)
其中area指物體的面積,obj_region指提取的區域,thr_area指面積的閾值。對凸字形底板分割后的二值圖像使用面積特征閾值剔除了非凸字形區域的其它干擾點,如圖5,使目標區域達到完全分割。

圖5 凸字形底板面積閾值后的區域
(3) 目標物體定位
要知道目標物體在世界坐標系的位置,必須先知道目標物體的在圖像中的像數坐標。如圖6,通過最小二乘法[8]擬合曲線,找到兩條直線的交點。對于凸字形底板選取A(mould_x,mould_y)點表征其在圖像中的位置,以EF邊的中點I為起點,底板中心J為終點的向量與圖像x方向的夾角mould_a為凸字形底板的角度。對于工字形底板和三角形底板位姿的定義方式與凸字形底板類似。同時對于凸字形、工字形和三角形工件的定位與其相應的底板定位算法相同。

圖6 凸字形底板定位
控制系統是機器人的核心部分,是整個裝置的“大腦”,由它來處理復雜的環境目標等信息,結合視覺系統傳遞過來的位姿信息進行路徑規劃,然后通過驅動器來驅動對應電機的運轉,完成裝配的過程。傳統的機器人控制系統采用的是專用的計算機加多單片機+多控制回路的封閉式體系結構。這種結構的控制器在高速、高精度和多軸同步運動控制等方面存在技術瓶頸。本裝配機器人的控制系統上層采用個人電腦,底層采用DMC5400運動控制卡兩層架構,PC機與DMC5400運動控制卡之間通過PCI總線進行通信[9-10]。控制系統框圖如圖7所示。

圖7 控制系統框圖
控制系統的硬件主要是由PC、DMC5400運動控制卡、步進電機驅動器、步進電機以及電源等電器部件組成。 采用這種系統架構 ,使得系統硬件器件數量少,電氣路線設計簡單,組建方便。其中,X軸、Y軸、C軸Z軸選用Leadshine86HS35步進電機,X′軸和Y′軸選用安川57HD3403-21B/8步進電機,能夠靈活高效地驅動裝配機器人的運動,X′和Y′軸的運動分別是X和Y軸的運動補償。選定電機后,配套選用S-350-48H電源模塊和LeadshineME872步進電機驅動器。S-350-48H電源模塊輸出48V直流電壓給ME872驅動器供電。為提高步進電機輸出力矩及性能,本系統采用電機線圈并行接法。通過DMC5400發送信號脈沖和方向電平信號直接控制步進電機的旋轉角度和方向,實現電機的正、反轉、加速、恒速和減速。電源模塊、步進電機驅動器與步進電機的電路設計如圖8。同時,為提升整個系統結構及功能的完整性,使系統操作更加靈活,工作更加穩定可靠,對硬件及電路進行精心設計與搭建,如圖9。

圖8 步進電機控制模塊電路設計圖

圖9 硬件電路圖
由于一套DMC5400卡最多只能控制4個電機聯動,而控制對象有六個軸,所以采用C軸與X′軸共用一組輸出,Z軸與Y′軸共用一組輸出的輸出方式,并通過使能信號來確定哪一個軸的運動。當控制系統接收到視覺系統傳過來的位姿信號時,首先C軸轉動,調整工件的角度,然后X軸、Y軸運動,快速將工件移動到被裝配點的正上方,此時相機再次拍照,求出X軸方向和Y軸方向的誤差,并通過X′軸、Y′軸進行微調補償,最后Z軸向下運動進行裝配,裝配完成后Z軸抬起到指定位置。
在控制過程中,為了使步進電機運行平穩沒有沖擊現象,采用S形速度曲線(圖10)。電機平穩加速啟動,當速度達到設定值后勻速運動,直到執行機構末端接近目標位置后開始減速,到達目標位置恰好停止運動。S形速度曲線可以有效改善甚至消除運動物體加減速時的振動,保證了高精度裝配的要求。限位裝置采用OMRON的EE-SX672常開型光電開關,當限位開關被觸發時產生中斷信號使主控制器產生中斷響應,控制伺服電機立即減速停止運動。

圖10 “S”型曲線運動的速度和加速度
4.1視覺系統部分軟件設計
視覺系統的最終目的是傳遞X軸、Y軸和C軸的坐標信息給控制系統。根據定位算法,視覺系統可以得到工件和底板的初始位姿信息,但由于工件分布在以C軸為圓心的圓周上,當C軸轉動時,X軸和Y軸的坐標信息會發生變化,所以這種初始位姿信息不能夠直接傳遞給控制系統,必須經過坐標轉換[11]處理。
如圖11,O1為視覺坐標系下的坐標原點,旋轉前的中心坐標為(a0,b0),旋轉后的中心坐標為(a1,b1),則坐標(x0,y0)旋轉α角后的新坐標為(x1,y1),可由如下矩陣計算。

圖11 坐標轉換示意圖
其逆變換為:
(7)
即:
(8)
逆變換后有:
(9)
由于在該視覺裝配機器人中,C軸旋轉中心在旋轉前后沒有變化,所以(a1,b1)=(a0,b0),式(9)化簡得:
(10)
程序實現:
X= (result_2.x-center_x) *cos(delta_a_temp) +(result_2.y-center_y) *sin(delta_a_temp) +center_x;//計算旋轉后X的坐標值
Y= -(result_2.x-center_x) *sin(delta_a_temp) + (result_2.y-center_y)*cos(delta_a_temp) +center_y;//計算旋轉后Y的坐標值
部分代碼如下:
IplImage*imPro=cvCloneImage(wholeIm);//獲取圖像
…
cvCvtColor(imPro,grayIm,CV_BGR2GRAY);//灰度化
…
cvThreshold(grayIm,grayIm,100,255,CV_THRESH_BINARY_INV);//閾值分割
…
coutourNum=cvFindContours(grayIm,contourStorage,&contours,sizeof(CvContour),CV_RETR_CCOMP,1);//*位姿識別
…
calMeanValue(c1,centerP);//計算中心
getAngleInf(c1,angle);//得到角度信息
…
cvReleaseImage(imPro);//釋放圖像內存
cvReleaseImage(grayIm);
4.2控制系統部分軟件設計
控制系統的最終目的是接受視覺系統傳遞過來的坐標信息,并按照坐標信息實現對各個軸的運動控制。由于視覺系統反饋的坐標是以像素為單位,而控制系統運動的坐標則是以脈沖為單位,因此必須先通過實驗測試求出每個脈沖對應的像素值pixel_pulse,然后對其進行轉化,程序實現為:
X_PUL= ((X_result_1 - (error_x/pixel_ratio)) /pixel_pulse); //計算X軸移動的脈沖數
Y_PUL= (Y-result_1.first.y- (error_y/pixel_ratio)) /pixel_pulse; //計算Y軸移動的脈沖數
C_PUL=((delta_a)/360) * 6400;//計算C軸移動的脈沖數
運動過程中,為了實現控制的穩定與準確,利用while()循環等待一個動作完成,然后再進行另外的動作。同時用DoEvents()函數來檢測在運動過程中是否有其他的急停等虛擬鍵的信號,防止程序進入死循環導致故障。部分代碼如下:
voidDoEvents()
{
staticMSGmsg;
if( ::PeekMessage(&msg,NULL,0,0,PM_REMOVE) )
{
::TranslateMessage( &msg);
::DispatchMessage( &msg);
}
}
......
d5400_board_init();//初始化控制卡
voidrot_C(-C_PUL,1000 )
//C軸轉,動速度為1000PUL/S
voidlinkage_XY(Y_PUL,-X_PUL,2000)
//X軸、Y軸聯動
......
voidlinkage_X1Y1(Y_PUL1,-X_PUL1,int500 )
//X′軸、Y′軸聯動
voiddown_Z(800,500 )
//Z軸向下移動800PUL,速度500PUL/S
voidup_Z(-800,500)
//Z軸向上移動800PUL,速度500PUL/S
d5400_board_close();
//關閉運動控制卡
4.3軟件集成
通過MicrosoftVisualStudio2012將視覺系統的軟件和控制部分的軟件集成在同一開發環境下,最終的MFC界面如圖12所示。其中包含了自動和手動兩種模式。在自動模式中,當用戶配置好相關信息后,該視覺定位裝配機器人會自動完成定位、裝配等一系列的過程;手動模式中,用戶可根據實際情況對每個電機軸的行程和速度等運動參數進行設定,實現單軸或多軸聯動控制,手動模式主要用于機器的調試。

圖12 軟件系統的MFC界面
搭建裝配好樣機和控制系統的軟硬件,對裝配機器人進行調試。視場范圍內隨機擺放底板的位置,通過多次測試發現,該視覺定位裝配機器人能夠精準、快速地完成裝配任務。以凸字形為例,其裝配前后的狀態如圖13。通過對比可以看到,工件已經完整地裝入底板,各邊緊貼著對應底板的邊緣,實現了高精度裝配,且平均每1.3s完成一次裝配動作。

圖13 裝配前后工件與底板的狀態
采用視覺定位系統,裝配工件與裝配點之間采用的是相對坐標,不僅底板在視覺范圍內可以隨機擺放,而且機器人每次進行裝配完成后不需要進行回零操作,大大提高了裝配效率和工業智能化程度。與許多
現有裝配機器人只能完成規則的圓形工件裝配相比,該裝配機器人可以完成形狀不規則和位置隨機的工件的裝配。同時采用“快速精確線性運動裝置”,用兩級步進電機串聯驅動滑臺運動,克服了單動力運動控制所存在的缺陷,裝配精度和效率都有很大的提高,使最終裝配精度能夠維持在0.1mm以內,每完成一次裝配動作耗時不足1.5s,很好地滿足現在企業對精密定位裝配精度的要求。該裝配機器人將會在在實際裝配現場,特別是在不適于人工裝配的環境中得到廣泛的應用。
[1] 任福繼,孫曉.智能機器人的現狀及發展[J].科技導報,2015,33(21):32-38.
[2] 董欣勝,張傳思,李新.裝配機器人的現狀與發展趨勢[J].組合機床與自動化加工技術,2007(8):1-4,13.
[3]ZhuQidan,LiuChuanjia,CaiChengtao.ANovelRobotVisualHomingMethodBasedonSIFTFeatures[J].Sensors(Basel,Switzerland), 2015,15(10): 26063-26084.
[4] 葛旋,鐘佩思,呂曉東,等.基于機器視覺的螺栓智能裝配系統[J].制造業自動化,2014(18):150-153.
[5] 王帥,徐方,陳亮,等.視覺技術在機器人零部件裝配中的應用研究[J].組合機床與自動化加工技術,2015(8):107-110.
[6] 郭瑞,劉振國,曹云翔,等.基于視覺的裝配機器人精確定位研究[J].制造業自動化,2014(10):154-156.
[7] 李睿,耿璐,程武山.基于機器視覺的螺母定位系統[J].機床與液壓,2013,41(23):60-64.
[8] 劉延杰,賴日飛,榮偉彬,等.基于改進隨機Hough變換的快速中心檢測方法[J].納米技術與精密工程,2011,9(4):298-304.
[9] 黃心漢. 微裝配機器人系統研究與實現[J]. 華中科技大學學報(自然科學版),2011,39(z2):418-422.
[10]AndreyLoukianov,MasanoriSugisaka,HidenoriKimura,etal.Implementingdistributedcontrolsystemforintelligentmobilerobot[J].ArtificialLifeandRobotics,2004, 8(2):159-162.
[11] 郭英起,唐彬,張秋江,等.基于空間直角坐標系的高精度坐標轉換方法研究[J].大地測量與地球動力學,2012,32(3):125-128.
(編輯李秀敏)
DesignandImplementationoftheAssemblyRobotBasedonVisionPositioning
LUJun,HUFan,HAOLei
(CollegeofMechanicalandElectricalEngineering,ShaanxiUniversityofScience&Technology,Xi′an710021,China)
Theestablishmentofvisionpositioningsystemforprecisepositioningoftheworkpieceassemblyrobot,willgettothepositionandorientationinformationtothecontrolsystem,soastoguidetherobottocompletethepreciseassemblyoperation.Therobotisself-developedwithadvancedvisualpositionsystem,imagerecognitionalgorithmandinnovativemechanicalstructure,whichownshighreliabilityandrobustness.ControlsystemwithDMC5400asthecore,usingMFCtodevelopsoftware,designedandcarriedouttwomodelsofautomaticcontrolandmanualcontrol,usingStypeaccelerationanddecelerationcurve,toachievethesmoothcontrolofeachaxis.Thepracticaltestshowsthattheperformanceoftherobotisstable,highefficiencyandtheassemblyprocesscanbecompletedwithhighaccuracyinthecaseofrandomassemblypositionandirregularcontouroftheworkpiece.
assemblyrobot;visualpositioning;tandemdrive;MFC
1001-2265(2016)08-0140-05DOI:10.13462/j.cnki.mmtamt.2016.08.038
2016-03-04;
2016-04-11
盧軍(1961—),男,陜西咸陽人,陜西科技大學教授,碩士生導師,博士,研究方向為智能機器人技術,(E-mail)573356972@qq.com;
胡凡(1991—),男,湖北黃岡人,陜西科技大學碩士研究生,研究方向為工業機器人,(E-mail)1146906085@qq.com。
TH166;TG659
A