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