摘 要: 針對工業機器人的弧焊、切割和涂膠等應用,介紹了視覺工業機器人作業路徑規劃系統。描述了攝像機坐標標定方法,采用圖像采集技術獲取環境信息,運用圖像處理技術對采集的信號進行處理,實現了機器人實時控制和離線編程。實踐證明,該系統重復精度高,能夠滿足弧焊、切割和涂膠的要求,能夠適應生產線的需要。
關鍵詞: 機器視覺;圖像處理;工業機器人;路徑規劃
機器人自問世以來,已經被廣泛地應用于各個工業領域,例如焊接、搬運、裝配和噴涂等[1]。不過這些應用大多基于示教再現和離線編程。示教再現過程機器人利用率低,示教再現的精度也不高。離線編程是采用CAD技術建立起機器人及其工作環境的幾何模型,通過算法在離線的情況下進行作業路徑規劃,對于復雜的作業路徑,CAD模型的建立存在一定的難度。而視覺機器人作業路徑規劃系統能夠及時采集機器人工作環境信息,實現對機器人的實時控制,提高了機器人工作效率。同時,該系統能夠自動生成機器人控制文件,不需要CAD技術的支持,增強了機器人系統的靈活性和適應性。
1 系統構成及工作原理
機器人作業路徑規劃系統是在Motoman UP6工業機器人系統上做二次開發的。 CCD攝像機采集到外部環境的圖像信息,系統通過采集卡實現對圖像的獲取,獲取圖像后,通過圖像的增強、濾波、邊緣檢測、細化等處理技術對圖像信息進行分析處理和重建。系統對這些處理后得到的數據進行實時計算,計算出圖像中作業對象的特征點的位置信息。對獲取的特征點信息,系統有兩種功能,一是通過Motocom32的庫函數與機器人通信,實現對機器人的實時控制,完成指定作業;另一功能是快速生成機器人控制文件,并可對文件編輯修改,當把這些文件導入機器人控制柜后,則可控制機器人完成指定作業。
2 系統軟硬件組成
整個系統由2個子系統組成,一個為工業機器人系統,另一個為機器視覺系統。2個子系統通過軟件平臺進行通信。具體構成如圖1所示。
2.1 工業機器人系統
工業機器人系統包括有Motoman UP6工業機器人本體、YASNAC- XRC- UP6機器人控制柜、示教編程器和相關的外部設備以及與計算機進行數據通信的軟件Motocom32。其中,機器人本體具有6個自由度,各個關節均為旋轉關節,各自由度由交流伺服電機驅動,其重復定位精度可達0.08 mm。
2.2 機器視覺系統
機器視覺系統主要設備有M0814-MP鏡頭、CV-A11攝像機、PC2-Vision圖像采集卡以及計算機等。
(1)CV-A11攝像機及鏡頭
選擇的攝像機是丹麥AVI公司生產的CV-A11攝像機。攝像機線掃描頻率為37.5 kHz,其CCD總像素為659 ×494,攝像機信噪比大于56 dB,工作電壓為12V± 10%,外形尺寸為29mm×44mm×66mm,鏡頭接口為 C-mount接口。鏡頭為日本computar公司的M0814-MP鏡頭,鏡頭焦距為f=8 mm,焦點手動控制, 成像適合設計的要求。
(2)圖像采集卡
圖像采集卡選用加拿大CORECO公司生產的PC2-Vision圖像采集卡。該圖像采集卡自帶8 MB存儲器用于圖像序列的存儲,通過高速PCI總線可實現直接采集圖像到VGA顯存或主機系統的內存,兼容RGB、RS-170/CCIR等視頻格式,可采集標準彩色復合視頻和RGB分量,能夠同時采集6個黑白攝像頭、2個RGB攝像頭或2個雙通道模擬攝像頭圖像;支持外部事件出發輸入,支持顯示分辨率2 048×2 048,具有3個8位40 MHz A/D轉換器。
3 系統的軟件實現
根據系統的功能要求,本文應用VC++6.0編制了系統實現的軟件程序,程序設計采用模塊化設計方式。系統在完成硬件檢測、系統初始化等工作后實現機器人路徑規劃,整個系統可分為攝像機標定、圖像獲取與圖像處理、機器人運行控制等功能模塊。軟件實現基本流程如圖2所示。
3.1 攝像機的標定
在系統進行坐標提取前,必須對攝像機進行標定,以建立攝像機與實際空間點的對應關系。在基于機器視覺的機器人路徑規劃系統中,存在著3個坐標系:機器人坐標系、平臺坐標系和圖像坐標系。其中圖像坐標系是以圖像左上角為原點,以像素為單位的直角坐標系,x、y軸分別表示該像素在數字圖像中的行數與列數。為了在視覺系統中建立統一的坐標,確定圖像上某輪廓點與實際圖形點的對應關系,就需要建立圖像坐標系與機器人坐標系、平臺坐標系與機器人坐標系兩者之間坐標轉換關系,最終將平臺坐標和圖像坐標統一在機器人坐標系下。圖像像素坐標系中的點到世界坐標系的變換可用矩陣表示為:
3.2 圖像采集
計算機調用圖像采集卡的動態鏈接庫函數VnImgCon.dll中相應的控制函數,來控制圖像采集卡對攝像機攝取的視頻信號進行數據采集,以BMP格式存儲在計算機內。通過調用采集卡自帶庫函數采集一幀圖像到內存,然后回顯到屏幕。在程序中調用了以下函數:
GetSrc:得到指向被用作連接圖像源對象的指針。
IfxCreateCaptureModule:創建一個圖像捕捉的對象。
GetCam:使攝像機對象指針為指定端口。
GetAttr:返回攝像機基本采集參數。
IfxWriteImgFile:保存圖像文件。
3.3 圖像處理
系統攝像機所采集的圖像為BMP格式的位圖文件,為了在圖像處理部分中能將注意力集中在圖像處理的算法實現上,而不被DIB的顯示與操作等底層處理所干擾,建立一個比較完整的DIB類庫,主要實現三大功能:位圖操作的基本函數,包括對像素點的操作、位圖相關的信息和位圖占據內存空間的信息。在進行圖像處理編程時,只需在文檔類的頭文件中加入CDib類的定義,通過該類提供的公有型(public)接口函數調用,即可實現與之相關的功能。在此類庫的基礎上,對圖像進行處理,包括圖像的平滑和去除噪聲等圖像預處理,選定灰度閾值對圖像進行二值化處理,對圖像進行細化,計算圖像中的特征量,實現空間定位。圖像處理的函數主要有以下幾個:
圖像二值化:
WindowTrans(lpDIBBits,::DIBWidth(lpDIB),::DIBHeight(lpDIB) ,m_bLow)
調用函數進行細化:
ThiningDIB(lpDIBBitsWIDTHBYTES(::DIBWidth(lpDIB)*8), ::DIBHeight(lpDIB))
求坐標:
PointDIB(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB), point,dian,mm);
程序進一步對圖像進行處理,得到圖像的邊緣特征,處理后的圖像如圖3所示,最終求得圖形位置坐標。
3.4 機器人運行控制
獲取機器人坐標點后,計算機根據坐標點信息,進行運動決策,產生相應的機器人運動控制指令,并通過Motocom32軟件提供的庫函數對機器人進行遠程控制,實現對特征點的自動定位,控制機器人進行相應的操作,完成作業軌跡。機器人實時控制的流程圖如圖4所示。
視覺機器人作業路徑規劃系統把CCD獲取的作業路徑圖像信息轉化為機器人運動的控制指令,使機器人完成作業任務。為驗證這一“轉化”,以機器人的連續切割作業為例,將其付諸實施。具體實施方案如下:以平板玻璃臺面作為切割對象,以白板筆當作割槍,以機器人繪制曲線的過程來模擬實際切割作業過程。實驗結果如圖5所示。
由圖5可以看出,該方案重復精度高,誤差較小,能夠滿足生產的需求,同時也提高了系統自動化程度,節省了人力物力。
參考文獻
[1] 吳立德.計算機視覺[M].上海:上海復旦大學出版社,1993.
[2] 凌云光視數字圖像公司.CCD&CMOS圖像和機器視覺產品手冊.
[3] 章毓晉.圖像工程上冊:圖像處理和分析[M].北京:清華大學出版社,1999.
[4] 孫樹棟.工業機器人技術基礎[M]. 西安:西北工業大學出版社 ,2006.
[5] VERNON D. Machine vision in the electronics and PCB inspection industry - The current position and future directions. Department of Computer Science Maynooth College,Ireland. 2001.