李若磊,李耀光,閆鑫
(西安工程大學 電子信息學院,陜西 西安 710048)
當前的服裝生產過程中流水線基本依賴于工人手工操作[1]。服裝行業實現全自動化、無人化生產,提升服裝生產效率是今后發展的必然趨勢,傳統的工業機器人可通過示教與編寫指令來完成點對點的指定工作[2]。但如果目標位置改變就要重新進行示教,因此采取機器視覺對目標進行定位,代替人工重復操作,可以提高工廠的生產效率。
目前,機器視覺的工業機器人技術大多運用于焊接與搬運碼垛中[3-5],因此采用機器視覺中的定位技術與工業機器人和縫紉機結合,可得到工業協作型縫紉機器人。工業協作型縫紉機器人配備具有靜電吸附、負壓吸附等。機器人的末端執行器來完成面料的抓取、轉移、靜電吸附[6-7]。機器人將轉移的面料輸送至全自動縫紉機處,使面料與縫紉機形成配合,完成縫制作業。
隨著人口紅利的消失,使得在作為勞動密集型產業代表的服裝業中進行“機器換人”成為行業轉型升級的必然選擇[8]。在簡單重復的工作崗位率先引入機器人進而逐漸將機器人應用于全部崗位是制造業“機器換人”的必由發展之路[9]。夏楠等人設計并實現了筒子紗包裝自動縫紉系統[10],Henderson Sewing公司將Baxter集成到其縫紉機生產系統,實現了縫紉自動化[11],陳劍虹等人完成了基于機器人的壓鑄件表面打磨工作站的開發[12]。張秋華等人完成了一種圓柱體小零件機器人自動打磨拋光系統的設計[13]。為了實現縫紉機器人的設計,本文將視覺定位技術引入到縫紉機器人控制過程中,實現對目標的定位。采用Socket(套接字)建立機器人和示教器的通訊,可視化操作方便和簡化了工作過程。采用分層式控制,提高了工作效率,能夠實現縫紉對目標的自主縫紉。
該工作系統主要由工業機器人模塊、機器視覺模塊和縫紉機模塊組成。工業機器人模塊由三個主要部分組成,分別是機械本體、控制柜和示教器。機器視覺模塊由工業相機和光源組成用于對布料的定位,經過CCD圖像卡將信息傳遞給機器人控制柜,由上位機上編寫的程序進行分析定位,獲得物體位置信息,傳遞給工業機器人,最后由工業機器人對物體進行抓取,配合縫紉機完成縫紉任務,示教器可以方便操作和監視機器人位置狀態。系統結構圖如圖1所示。機器人自動上料系統的工作流程如圖2所示。首先完成相機標定,為后續提高標定精度做好準備。然后,通過工業相機采集圖像,并將獲取的圖像信息傳遞給上位機。上位機根據九點標定原理從像素點和實際坐標點直接求解轉換矩陣并由此測得物體的位姿信息,與控制柜進行RS-232通信傳遞位姿信息,由控制柜控制機器人完成布料的抓取和放置動作。
視覺模塊:CCD相機選取基恩士CV-H500C工業數字高速攝像機,采用串口進行通訊。相機安裝在目標物體的上方。鏡頭選取型號基恩士CA-LH16,焦距為16 mm,滿足設計的要求。光源采用基恩士的背光照明(CA-DS)光源,其照明系統響應時間快,可獲得高品質、高對比度圖像。
工業機器人模塊:選用XB7六軸機器人,并使用Titanite控制系統對其進行控制。其控制系統內部自帶socket通信接口,方便與示教器進行通信,同時賦予了機器人更高的精度、速度和穩定性。
縫紉機模塊:縫紉機本體選擇標準的TC129,主要負責自動縫紉機的縫紉工作,縫紉機伺服控制器采用YSC-8330,采用RS232與機器人控制柜通訊。通過控制步進電機、變頻器和電磁閥等設備可以調節縫紉機的縫紉方式、設置縫紉速度等,滿足機器人末端運行速度的要求,完成縫紉。
相機標定的目的是:建立相機成像幾何模型并矯正透鏡畸變。本系統選擇基恩士工業相機作為圖像采集設備,相機型號為CV-H500C。本文采取張正友標定法求解從像素坐標系到圖像坐標系、圖像坐標系到相機坐標系、相機坐標系到世界坐標系的關系。像素坐標系和圖像坐標系轉換關系如圖3所示。像素坐標系和圖像坐標系都在成像平面上,只是各自的原點和度量單位不一樣,其轉換關系如下:
圖像坐標系與相機坐標系如圖4所示。二者屬于投影關系,根據小孔成像原理可知其關系如下:
從相機坐標系變換到世界坐標系屬于剛體變換,即物體不會發生形變,只需要進行旋轉和平移,平移如圖5所示。則其轉換關系如下:
通過上面的4個坐標系轉換,就可以得到一個點從像素坐標系轉換到世界坐標系的公式:
通過matlab進行標定,標定結果如圖6所示:
機器視覺系統的標定是機器視覺的關鍵技術之一,是準確測量目標物體的必要過程[13]。由于本次實驗室目標物體高度固定,且“eyeinhand”型標定工序繁瑣迭代誤差較大,所以選擇“eyetohand”型,進行標定。
傳統的手眼標定操作不僅復雜繁瑣,還存在計算量和誤差傳遞較大的問題。而本次采用的手眼標定系統只需獲取像素坐標和與之對應的機械臂坐標,進而求得轉換矩陣。這樣不僅節約了時間,還減少了計算量并提高了標定精度。本次實驗采用九點標定法。將檢測到像素坐標和機器人坐標數據寫入到HALCON中函數算子vector_to_hom_mat2d(Row,Colum,Row_robot,Column_robot,HomMat2D),求得像素坐標系與機械手坐標系轉換的變換矩陣H。
求得轉換矩陣后,進行實驗測試。所得目標物體機械臂坐標系下的坐標的計算結果如表1所示。滿足本次設計的要求。
三次多項式軌跡規劃只能夠保證速度和位移連續,并不能保證加速度連續。加速度不連續將會對使電機抖動、甚至沖擊。本文將五階多項式作為路徑段,確定起始點、終點的位置及速度和加速度。

表1 機械臂坐標系下參考點的真實坐標和計算坐標
可設置一些約束條件:
經過matlab仿真后可知相比于三次多項式插值,關節角度和角速度曲線顯示得都相對平滑,而角加速度曲線在中間點2s處變化稍大。結果分析得出,五次多項式插值法雖然計算量有所增加,但是其關節空間軌跡平滑、運動穩定,且階數越高滿足的約束項越多。由加速度曲線對比,采用五次多項式插值,保證速度平滑,加速度不突變。圖7、圖8分別為五次樣條插值和三次樣條插值。
機器人系統主要功能是運動控制、動作監測、故障反饋、實時通訊、工作模式的切換,采用RL語言作為編程語言。RL程序根據范圍大小分為工程、程序模塊以及函數。一個工程中可以包含多個程序模塊文件,程序模塊分文程序模塊(.mod)和系統模塊。函數就是用戶自定義的用于重復調用的程序塊。圖9表示整體程序架構圖,圖10表示工程、程序以及函數關系圖。
系統啟動后,啟動相機視覺定位功能,機器人從初始位置到達目標位置。機器人末端取料完成后到達待縫紉區域發出信號給縫紉機,縫紉機開始運動,此時機器人帶動縫料與縫紉機配合進行縫紉,待布料縫紉完成后,機器人到達收料區,控制電磁閥打開收料窗,待縫料落下后關閉收料窗,機器人回到初始位置等待信號準備再次縫紉,如此循環往復來實現縫紉機器人系統自主縫紉。工作流程如圖11所示。
為了更加直觀地觀察到機器人縫紉控制系統各部分實時控制的情況,對縫紉機器人人機界面進行了設計。圖12表示操作界面,A表示主菜單按鈕,B表示狀態欄,C表示快捷設置欄,D表示機械單元與編程指示,F表示主顯示區。狀態欄主要用來顯示操作模式、控制器工作狀態、機器人運行狀態、最新日志等重要信息。快捷設置欄主要用于調節機器人關節以及程序運行參數,同時還可以指示當前參數的設置狀態。主顯示區主要用于編寫程序以及畫面顯示作用。圖13表示程序編寫界面。圖14表示機器人位置監測界面。圖15表示I/O信號顯示界面。
為了驗證設計的可行性,進行實際操作實驗對本本系統進行測試,首先進行硬件的連接與啟動,系統上電后開始調試程序,設置參數。圖16和圖17分別為實驗過程和實驗結果,結果表明,系統的各個模塊均可完成各自功能,機器人按照預期正常運行并完成預定動作。
本文設計的視覺縫紉機器人控制系統,實現了基于視覺的機器人自主布料定位,自動抓取,自動縫紉、下料的工作任務,能夠代替人工進行縫紉工作,提高了工作效率。本系統硬件搭建容易,軟件結構清晰。相比傳統的縫紉控制系統,其開放的系統結構可以靈活地更新和拓展控制系統的功能。