李洪濤,張明柱,賈曉敏
(1. 河南科技大學機電工程學院,河南洛陽471003;2. 鄭州交通職業(yè)學院,河南鄭州450062)
自20 世紀60年代美國研制出世界上第一臺工業(yè)機器人以來,機器人技術及其產(chǎn)品已成為柔性制造系統(tǒng)(Flexible Manufacture System)、自動化工廠(Automatic Factory)、計算機集成制造系統(tǒng)(Computer Integrated Manufacturing System)的自動化工具[1-9]。近幾年來,工業(yè)機器人已獲得日益廣泛的應用,隨著成組裝運的快速發(fā)展,向貨板上裝貨操作呈現(xiàn)出自動化的發(fā)展趨勢,于是人們研制出搬運機器人來完成紙箱、油桶、罐頭盒等物品搬運與堆放等操作。機器人自動搬運系統(tǒng)可以根據(jù)用戶的不同要求配備不同的手爪(例如機械手爪、電磁吸盤、真空吸盤等),可以實現(xiàn)對各種工件的拾取搬運以及對零部件的放置和裝配,不但定位精確、工作節(jié)拍可調、工作空間大,而且性能優(yōu)良、運行平穩(wěn)、維修方便。
在機器人對工件進行拾取搬運以及對零部件放置、裝配過程中,操作位置的精確度直接影響機器人的工作質量及效率。為解決機器人在工作過程中出現(xiàn)位置偏差的問題,本文作者以目前應用較多的MOTOMAN-SV3X 輕型機器人為例,研究具有視覺定位及位置調整功能的機器人搬運系統(tǒng)。該系統(tǒng)在機器人執(zhí)行末端安裝真空吸盤,特別適用于對體積小、不易夾持的零部件(例如集成塊、玻璃等)進行拾取、放置及裝配,該系統(tǒng)也可以直接移植到具有相同自由度布局的機器人。
基于視覺信息的機器人搬運系統(tǒng)由機器人、攝像頭、圖像采集、圖像處理系統(tǒng)、搬運系統(tǒng)、工作臺A、工作臺B 以及被搬運工件組成,其搬運系統(tǒng)工作原理示意圖如圖1 所示[10]。
在原有的機器人控制器之外提供一臺計算機作為上位控制器,用攝像機作為數(shù)據(jù)采集裝置構成機器人實時控制系統(tǒng)。在拾取工件之后,用攝像機對工件進行拍攝,通過圖像處理提取工件的拾取位置偏差并計算出機器人末端的運動軌跡,然后對軌跡數(shù)據(jù)進行插補運算,最后通過正向反解得到每個軌跡點上機器人的位置。通過控制軟件Motocom32 將其軌跡數(shù)據(jù)和位置偏差以機器人JOB 文件的形式傳入控制柜,進而控制機器人將工件放置在正確的位置。
圖1 搬運系統(tǒng)工作原理示意圖
圖2 所示為MOTOMAN-SV3X 機器人。它屬于關節(jié)式球面坐標機器人,主要由吸盤1、腕力傳感器2、手腕3、上臂4、下臂5 和底座6 構成。
機器人的6 個關節(jié)自由度分別為:腕部回轉、腕部擺動、小臂自轉、小臂擺動、大臂擺動、腰部回轉。
圖2 MOTOMAN-SV3X 機器人
系統(tǒng)工作流程如圖3 所示,用攝像機對工件進行拍攝,對其照片進行圖像采集和預處理,提取工件的特征參數(shù),完成對工件的初始定位。利用Motocom32 通訊軟件將生成的JOB 文件傳到MOTOMAN XRC 控制柜中,由控制柜啟動機器人拾取工件,拾取工件完成后利用攝像機對其拍照,將拍攝照片中的實際拾取位置和之前編輯儲存的指定拾取位置對比,計算出拾取位置偏差值,將其偏差值換算成機器人系統(tǒng)中吸盤端點P 的坐標(px,py,pz)和方向矢量n、o、a 的差值,將位置偏差通過Motocom32 軟件傳入控制柜,進而修改預先編輯好的目標位置,控制機器人將工件精確地放置在合適的位置。
圖3 系統(tǒng)工作流程圖
將直角基坐標系O-xyz 定義在底座的中心處,將其端點指定為吸盤(夾持器)底部兩標記點連線的中點P (如圖2 中的點P 所示),于是,在直角基坐標系中,機器人末端吸盤的端點P 的坐標為(px,py,pz),則其齊次坐標可用4×1 的列矢量P 來表示:
用位置矢量P 來確定機器人末端吸盤在運動空間中的位置[11]。
機器人末端吸盤的姿態(tài)可用固接于吸盤的坐標系(也稱工具坐標系)相對于基坐標系的方位來描述。如圖4 所示,此坐標系O1-x1y1z1的原點在P 點上。
圖4 機器人末端吸盤坐標系
描述吸盤方向的三個單位矢量的指向如圖4 所示。圖中z1向矢量處于吸盤靠近物體的方向上,指向朝外,稱作接近矢量a;y1向矢量從吸盤底部標記的一點指向另一點,處于規(guī)定的機器人末端方向上,稱作方向矢量o;x1向矢量n,矢量a 和矢量o 可構成一個右手矢量集合,即n=o×a,稱作法向矢量。于是機器人吸盤的姿態(tài)可用4 ×4 齊次坐標旋轉矩陣R 表示為:
當已知吸盤位置矢量P 和姿態(tài)旋轉矩陣R 時,描述吸盤位姿的矩陣T 就能確定如下[12]:
機器人吸盤的位置和姿態(tài)可以從矩陣T 反過來求出,即在基系中,吸盤端點的坐標為 (px,py,pz),它的姿態(tài)可用固接于端點上坐標系的各軸單位矢量表示,分別是n、o 和a。
預先編譯好工件的指定拾取位置x1,y1,z1,如圖5 所示,當機器人拾取工件并移動到程序點4 時,對拾取工件進行拍照,然后對其照片進行圖像處理,提取特征參數(shù),計算出實際拾取位置x2,y2,z2,得出拾取位置偏差為cx=x2-x1,cy=y2-y1,cz=z2-z1,當機器人按照預先設定的程序指令移動到設定目標位置附近點7 時,此時機器人手部端點P 的位置坐標為(px,py,pz),在此基礎上與得到的拾取偏差值相加,即得到考慮拾取偏差值在內(nèi)的正確目標位置(mx,my,mz),即mx=px+cx,my=py+cy,mz=pz+cz。同理,預先編譯好機器人手部端點P 的三個方向矢量是n1,o1,a1,計算出實際拾取時端點P 的方向矢量為n2,o2,a2,得出端點P 方向矢量偏差為d0=n2-n1,e0=o2-o1,f0=a2-a1,此時機器人手部端點P 的方向矢量為n,o,a,在此基礎上與得到的P 點矢量偏差相加,即得出考慮拾取偏差值在內(nèi)的正確目標矢量d,e,f,即d =n +d0,e =o +e0,f =a+f0,將得出的正確目標位置和姿態(tài)代入等式(3),即得出描述機器人吸盤位姿的正確目標矩陣T',如等式(4)所示。最后,機器人通過重新規(guī)劃好的搬運軌跡放置工件。
圖5 預定機器人搬運工件示意圖
通過圖像處理獲得工件的特征參數(shù)后,將數(shù)據(jù)轉變?yōu)闄C器人能夠識別的文件格式[13],該JOB 文件中包含數(shù)據(jù)和偽指令。MOTOMAN-SV3X 工業(yè)機器人的搬運文件如下:
/ JOB;//作業(yè)
// NAME MOTEST;//自定義的文件名稱
// POS
/// NPOS 10,0,0,0,0,0;//程序點個數(shù)
/// TOOL 0;//工具號為0
/// POSTYPE PULSE;//以脈沖數(shù)作為關節(jié)變量
/// PULSE;//關節(jié)坐標
C00000 = 0,0,0,0,0,0;//機器人在示教時各程序點對應的6 個關節(jié)坐標
C00001 = 0,0,0,0,136 210,0
C00002 = 202 356,0,0,0,136 210,0
C00003 = 201 410,251 302,-128 025,5,196 512,2
C00004 = 170 212,455 110,-216 564,10,190 609,0
C00005 = 210 001,346 467,-301 237,13,217 640,-3
C00006 = 231 561,328 091,-523 148,15,231 091,-6
C00007 = 179 637,361 282,-371 066,17,257 943,-9
C00008 = 189 504,339 577,-247 783,20,213 011,-11
C00009 = 0,0,0,0,0,0
// INST
/// DATE 2012/5/8 15:07;//程序編制的日期
/// ATTR SC,RW
/// GROUP 1 RB1;//控制軸組為RB1
用RS-232C 將機器人控制柜與PC 機連接,通過調用Motocom32 動態(tài)鏈接庫中的外部接口函數(shù),便可實現(xiàn)PC 機與機器人的通信,將上述機器人JOB 文件上傳到機器人控制柜,從而開始對機器人的控制,然后上傳搬運程序執(zhí)行部分,便可控制機器人進行工作。
搬運程序執(zhí)行部分:
在機器人拾取工件并移動到程序點4 時,對工件的拾取位置進行拍照,并對其照片進行圖像處理從而采集數(shù)據(jù),再將采集到的和預先設定的拾取位置數(shù)據(jù)對比,得出拾取位置偏差。
根據(jù)得到的拾取位置偏差,修改預先編譯的后續(xù)程序點軌跡指令,通過調用Motocom32 動態(tài)鏈接庫中外部接口函數(shù),將重新規(guī)劃的搬運軌跡以JOB 文件形式上傳到程序存儲器。
0013 DOUT OT# (15)OFF;//外部信號接口15 口關
0014 DOUT OT# (16)ON;//外部信號接口16 口開
0015 WAIT IN# (16) =ON;//等外部信號和指定信號匹配,將重新規(guī)劃的搬運軌跡以JOB 文件形式傳入機器人程序存儲器
機器人按照重新規(guī)劃好的搬運軌跡準確地將工件放置在目標位置。
0016 MOVJ C00007 VJ =50.0;//程序點8,機器人放置工件至工作臺B
0017 MOVJ C00008 VJ = 100.0;//程序點9,機器人移至不碰觸工件和夾具(放置后)
0018 MOVL C00009 V =500.0;//程序點10,移動機器人至程序點1
0019 END;//結束
開發(fā)了基于視覺信息的工業(yè)機器人搬運系統(tǒng),重點介紹了機器人的位姿描述以及對機器人拾取位置偏差的解決方法,該方法能實時控制機器人工作,及時修改軌跡以確保機器人將工件精確放置在合適的位置,為工業(yè)機器人搬運碼垛技術的進一步發(fā)展奠定了基礎。
[1]顧震宇.全球工業(yè)機器人產(chǎn)業(yè)現(xiàn)狀與趨勢[J].機電一體化,2006,12(4):6-9.
[2]上海市機器人學會.服務機器人技術發(fā)展趨勢[J].機器人技術與應用,2009(3):5-11.
[3]ZHANG M Z,CAO H R.An Improved Method of Circle's Center and Radius Detection in Image Processing[C].IEEE International Conference on Automation and Logistics,ICAL 2008,Qingdao,China.2008.
[4]焦圣喜,江絳,馮玉昌,等.機器人視覺技術在活塞在線識別與分選中的應用研究[J].機床與液壓,2011,39(1):27-30.
[5]趙喜鋒,杜向黨,鞏靜靜等.基于動態(tài)目標的機器人無標定視覺伺服系統(tǒng)仿真[J].機床與液壓,2012,40(6):116-119.
[6]王曉麗.MOTOMAN 機器人軌跡規(guī)劃和控制系統(tǒng)的研究與設計[D].西安:西安科技大學,2009.
[7]武晉平.MOTOMAN-UP6 機器人焊接規(guī)劃與研究[D].北京:北京科技大學,2003.
[8]夏天.工業(yè)機器人運動學標定及誤差分析研究[D].上海:上海交通大學,2009.
[9]曹換榮,張明柱.機器視覺中的攝像機標定技術研究[J].工具技術,2008,42(11):104-107.
[10]Yaskawa.MOTOMAN 機器人使用說明書[M].北京:首鋼莫托曼機器人有限公司,1990.
[11]黃繼偉.遙操作機器人系統(tǒng)及其夾持器抓取算法研究[D].江蘇:東南大學,2004.
[12]崔建偉,宋愛國,黃惟一.遙操作系統(tǒng)中MOTOMANSV3X 機器人的運動建模研究[J].東南大學學報:自然科學版,2003,33(4):424-429.
[13]王曉麗,侯媛彬,王濤.基于VC+ +的工業(yè)機器人軌跡規(guī)劃研究[J].工礦自動化,2009,5(5):34-37.