石征錦,朱歡歡,朱本慶,張嘉易,趙方昕
(1.沈陽理工大學(xué),遼寧 沈陽 110159; 2.黃山職業(yè)技術(shù)學(xué)院,安徽 黃山 245000)
微小型零件自動裝配的軟件設(shè)計(jì)與實(shí)現(xiàn)
石征錦1,朱歡歡1,朱本慶2,張嘉易1,趙方昕1
(1.沈陽理工大學(xué),遼寧 沈陽 110159; 2.黃山職業(yè)技術(shù)學(xué)院,安徽 黃山 245000)
針對微小型零件的裝配問題,搭建了四軸微裝配系統(tǒng),利用VC++平臺開發(fā)了微小型零件自動裝配軟件,實(shí)現(xiàn)了可視化人機(jī)交互式裝配.微裝配系統(tǒng)軟件設(shè)計(jì)模式采用分層架構(gòu)的思想,通過分析類和對象的關(guān)系,采用創(chuàng)建類的方式封裝了微裝配軟件系統(tǒng)架構(gòu)的主要模塊.軟件模塊包括運(yùn)動控制、氣動控制、圖像采集與處理、模板數(shù)據(jù)管理、示教再現(xiàn)以及相機(jī)標(biāo)定.采用面向?qū)ο蟮姆绞綄?shí)現(xiàn)了各個模塊間的數(shù)據(jù)交換,創(chuàng)建了機(jī)器視覺與示教再現(xiàn)相結(jié)合的自動裝配控制模式.裝配測試表明:該系統(tǒng)運(yùn)行平穩(wěn),裝配過程中無需人工干預(yù),可以很好地實(shí)現(xiàn)不同尺寸微小型零件的自動裝配;軟件具有很好的重復(fù)性、人機(jī)交互性和穩(wěn)定性.
微裝配;軟件設(shè)計(jì);機(jī)器視覺;示教再現(xiàn)
隨著科學(xué)技術(shù)的迅猛發(fā)展以及人們對制造業(yè)產(chǎn)品的需求越來越大,對產(chǎn)品質(zhì)量要求也越來越高,越來越多的產(chǎn)品需要借助自動化機(jī)械設(shè)備才能較快較好地實(shí)現(xiàn)生產(chǎn).機(jī)器視覺與運(yùn)動控制的完美結(jié)合為實(shí)現(xiàn)這一目標(biāo)提供了很好的技術(shù)支撐.首先,運(yùn)動控制技術(shù)已日趨成熟,它可以精確、平穩(wěn)、快速地實(shí)現(xiàn)產(chǎn)品的加工、搬運(yùn)、存放等;其次,機(jī)器視覺技術(shù)可以很好地實(shí)現(xiàn)產(chǎn)品的非接觸式檢測,廣泛應(yīng)用在產(chǎn)品的識別、定位、檢測、測量等方面.機(jī)器視覺與運(yùn)動控制的結(jié)合,可以實(shí)現(xiàn)非人工干預(yù)下的自動化生產(chǎn)作業(yè),降低成本,提高生產(chǎn)效率和產(chǎn)品質(zhì)量.
機(jī)械設(shè)備的自動化程度越高,意味著軟件的復(fù)雜度也越高.本文針對微小型零件的裝配問題,搭建了基于機(jī)器視覺的微小型零件自動化裝配平臺.該裝配軟件采用模塊化的設(shè)計(jì),各模塊內(nèi)聚度高,便于日后的維護(hù)升級;模塊間耦合度低,可并行化軟件開發(fā),提高研發(fā)進(jìn)度.
1.1 微小型零件裝配任務(wù)
裝配結(jié)構(gòu)件由1個基板件和3個待裝配小件組成,零件的尺寸不均.微小型零件的組成均為平板類零件,其最小平面特征尺寸為1.8 mm,零件厚度為300 μm,最大外形尺寸為7.5 mm.系統(tǒng)裝配采用順序裝配方式,按零件順序號依次將一號、二號、三號零件裝配到基體上.零件的裝配即為待裝配件與基板件上的零件槽孔的裝配,主要屬于間隙配合,配合公差在0.01 mm以內(nèi).微小型結(jié)構(gòu)件示意如圖1所示.
圖1 微小型結(jié)構(gòu)件示意
1.2 微裝配系統(tǒng)結(jié)構(gòu)模塊
微裝配系統(tǒng)是集機(jī)光電于一體的自動化設(shè)備[1],包括軟件系統(tǒng)和硬件系統(tǒng).硬件系統(tǒng)主要起微小型零件裝配動作的執(zhí)行與承載作用;軟件系統(tǒng)的主要作用在于通過界面化的人機(jī)操作,實(shí)現(xiàn)對微小型零件的裝配動作控制和過程監(jiān)控.圖2所示,本文設(shè)計(jì)的微裝配系統(tǒng)主要包括機(jī)械結(jié)構(gòu)、電氣部分、光學(xué)部分、工控機(jī)以及上位機(jī)控制軟件.各個部分協(xié)同合作, 組成一個高效運(yùn)行的自動化系統(tǒng).處于工作狀態(tài)的工業(yè)相機(jī)通過千兆網(wǎng)線將采集到的圖像數(shù)據(jù)傳送至主機(jī),軟件系統(tǒng)對內(nèi)存中的圖像數(shù)據(jù)進(jìn)行處理.PMAC控制卡通過普通網(wǎng)線便可將數(shù)據(jù)傳送至PC機(jī),實(shí)現(xiàn)上位機(jī)與下位機(jī)的相互通訊.對于電氣元件的控制,主要由數(shù)據(jù)采集卡控制繼電器的方式間接實(shí)現(xiàn),數(shù)據(jù)采集卡通過USB接口與PC機(jī)完成通訊.
1.3 微小型零件自動裝配工藝流程
在微小型零件自動化裝配過程中,采取了“吸附抓取-位姿調(diào)整-釋放裝配”三步走的策略,以及示教再現(xiàn)與視覺伺服相結(jié)合的裝配控制模式[2].其中,微裝配系統(tǒng)電機(jī)的運(yùn)動軌跡保存于示教文件中.在微小型零件的自動裝配過程中,首先,軟件系統(tǒng)讀取預(yù)先編寫的坐標(biāo)數(shù)據(jù)和各硬件的索引標(biāo)號,時刻監(jiān)聽下位機(jī)的運(yùn)行狀態(tài);然后,電機(jī)運(yùn)行到位后,根據(jù)讀取的硬件索引標(biāo)號,視覺模塊的上相機(jī)或下相機(jī)采用位置觸發(fā)的方式完成目標(biāo)零件的圖像采集,即運(yùn)動控制系統(tǒng)到達(dá)示教目標(biāo)位置后,將到位信號反饋至上位機(jī),上位機(jī)根據(jù)到位信號指示和規(guī)劃好的動作順序控制相應(yīng)相機(jī),完成圖像采集與處理;最后,根據(jù)圖像處理得到的偏差數(shù)據(jù),運(yùn)動控制模塊進(jìn)行相應(yīng)誤差補(bǔ)償.微小型零件裝配流程如圖3所示.
圖2 微裝配硬件與軟件系統(tǒng)
圖3 微小型零件裝配流程
根據(jù)制定的微小型零件自動化裝配工藝,結(jié)合搭建硬件的模塊化思想,采用模塊化和面向?qū)ο蠓謱拥乃枷腴_發(fā)了微裝配系統(tǒng)控制軟件,并通過VC++平臺開發(fā)了微裝配軟件的人機(jī)界面.其控制軟件由總控平臺、界面層、數(shù)據(jù)層、邏輯層組成.
微裝配系統(tǒng)采用的分層式軟件架構(gòu)具有參數(shù)化設(shè)置、數(shù)據(jù)驅(qū)動、結(jié)構(gòu)模塊化等特點(diǎn)[3].當(dāng)某一模塊的硬件需更新或替換時,可以直接對控制該硬件的相關(guān)模塊軟件進(jìn)行更新.這樣,操作簡便,不需要更改其他模塊的代碼.這就提高了微小型零件裝配控制軟件的柔性.控制軟件具有很好的集成性、封裝性和復(fù)用性,方便維護(hù)和升級,能夠快速響應(yīng)硬件更新和功能需求的變化.
(1)總控制平臺是整個微裝配系統(tǒng)的大腦,負(fù)責(zé)系統(tǒng)的內(nèi)存管理、命令下達(dá)、裝配監(jiān)控和數(shù)據(jù)收發(fā),擔(dān)負(fù)了微小型零件裝配過程中的全部控制決策[4].
(2)界面層提供可視化的人機(jī)交互接口,通過對系統(tǒng)的人工干預(yù)操作,處理裝配過程中相關(guān)的數(shù)據(jù).
(3)數(shù)據(jù)層相當(dāng)于界面層和邏輯層的接口協(xié)議,對人機(jī)交互的界面層發(fā)送的指令,通過數(shù)據(jù)層認(rèn)可,實(shí)現(xiàn)界面層和邏輯層的數(shù)據(jù)傳輸.
(4)邏輯層通過數(shù)據(jù)層的接口協(xié)議,將人機(jī)界面層發(fā)出的控制指令發(fā)送給硬件.
軟件是微裝配系統(tǒng)的核心,軟件系統(tǒng)的各個功能是利用VC++平臺開發(fā)的上位機(jī)軟件實(shí)現(xiàn)的.整個程序的運(yùn)行基于線程工作模式.它主要包括3個線程(主線程、線程二、線程三)和1個定時器.3個線程分別負(fù)責(zé)界面按鈕的響應(yīng)、圖像數(shù)據(jù)處理及限位開關(guān)狀態(tài)監(jiān)聽.其中,定時器主要負(fù)責(zé)UI界面的IO按鈕狀態(tài)及編輯框和文本框坐標(biāo)數(shù)據(jù)的更新;線程一為主線程,負(fù)責(zé)界面按鈕的消息響應(yīng)、初始化過程中配置文件和示教數(shù)據(jù)的讀??;線程二負(fù)責(zé)限位開關(guān)、力傳感器和光電開關(guān)的實(shí)時狀態(tài)檢測,對整個系統(tǒng)的運(yùn)行狀態(tài)實(shí)時監(jiān)控;線程三負(fù)責(zé)讀取集合中的示教數(shù)據(jù),通過判別讀取的標(biāo)記號來執(zhí)行相應(yīng)裝配動作,包括電機(jī)插補(bǔ)運(yùn)行、圖像數(shù)據(jù)處理、視覺伺服誤差補(bǔ)償以及氣路系統(tǒng)開關(guān),完成后將完成信號和定位數(shù)據(jù)反饋到運(yùn)動控制系統(tǒng).整個自動裝配過程是基于線程同步機(jī)制運(yùn)行的,保證了微裝配系統(tǒng)的順序操作運(yùn)轉(zhuǎn).整個自動裝配的運(yùn)行流程如圖4 所示.
圖4 自動裝配的運(yùn)行流程
3.1 運(yùn)動控制模塊軟件設(shè)計(jì)
運(yùn)動控制模塊選用美國的PMAC控制卡.它是基于 PCI 總線的高集成度、高可靠度的脈沖式運(yùn)動控制卡,是一種開放式多軸運(yùn)動控制器[5],具有數(shù)控的基本功能,如運(yùn)動控制、線性控制、內(nèi)務(wù)處理、同主機(jī)的數(shù)據(jù)交互等.它具有良好的跨平臺移植性.
PMAC是基于Motorola DSP的伺服控制卡,不同型號的PMAC可控制的最大軸通道個數(shù)不同,其DSP型號也不一樣.它具有的專門伺服芯片可完成編碼器反饋計(jì)算等工作.PMAC一般采用工控機(jī)+運(yùn)動控制卡(IPC)的控制方式,搭建系統(tǒng)比較靈活,可擴(kuò)展性強(qiáng).利用VC++軟件平臺調(diào)用PMAC運(yùn)動控制卡接口函數(shù),便可實(shí)現(xiàn)上位機(jī)軟件對PMAC控制卡的控制.基于PMAC的控制系統(tǒng)可以很好地實(shí)現(xiàn)微裝配系統(tǒng)四軸電機(jī)運(yùn)動的高精度和快速控制,而且長時間運(yùn)行的性能平穩(wěn).
針對運(yùn)動控制的上位機(jī)軟件設(shè)計(jì),設(shè)定了兩種運(yùn)行模式:單軸運(yùn)行模式,插補(bǔ)運(yùn)行模式.在單軸運(yùn)行模式中,可以實(shí)時顯示當(dāng)前位置、目標(biāo)位置、跟隨誤差、當(dāng)前速度以及目標(biāo)速度,進(jìn)行位置和速度補(bǔ)償;在插補(bǔ)運(yùn)行模式中,可以實(shí)現(xiàn)X和Y兩軸插補(bǔ)、XYZ三軸插補(bǔ)以及XYZW四軸插補(bǔ),極大地提高了微小型零件的裝配效率.運(yùn)動控制模塊的軟件設(shè)計(jì)如圖5所示.
圖5 運(yùn)動控制模塊的軟件設(shè)計(jì)圖
3.2 視覺處理模塊軟件設(shè)計(jì)
微裝配系統(tǒng)的視覺模塊采用西安某公司生產(chǎn)的CMOS面陣工業(yè)相機(jī),用千兆網(wǎng)線實(shí)現(xiàn)相機(jī)與PC機(jī)的通信[1],數(shù)據(jù)傳輸快速、平穩(wěn),配合微距鏡頭的最小物理尺寸分辨率可達(dá)2 μm/pixel.
視覺軟件設(shè)計(jì)中采用的OpenCV開源函數(shù)庫功能強(qiáng)大,而且開源免費(fèi),只需要在VC++中進(jìn)行簡單配置便可以調(diào)用其中的圖像處理算法.視覺模塊的主要功能是圖像的采集與處理,相機(jī)的觸發(fā)方式為軟件觸發(fā)[6].控制系統(tǒng)到達(dá)目標(biāo)位置后,相機(jī)采集一幀圖像,在線程中通過一系列圖像處理算法得到微小型零件的位姿狀態(tài),從而為控制系統(tǒng)完成裝配決策提供依據(jù).根據(jù)視覺處理得到的誤差結(jié)果,吸附頭完成微小件的拾取、轉(zhuǎn)移、調(diào)整等裝配動作.在線程的圖像數(shù)據(jù)處理完成后,計(jì)算出零件位姿信息,并傳遞至主程序.定時器實(shí)時更新界面,以便操作者及時分析處理結(jié)果.多線程下的圖像處理模式使得整個程序運(yùn)行流暢,內(nèi)存空間被有效利用,各個線程同步運(yùn)行,分工協(xié)作,可防止運(yùn)行程序卡死.視覺處理模塊的軟件設(shè)計(jì)如圖6所示.
圖6 視覺處理模塊的軟件設(shè)計(jì)圖
3.3 氣路控制模塊軟件設(shè)計(jì)
氣路控制硬件采用的是國內(nèi)某公司生產(chǎn)的USB2831數(shù)據(jù)采集卡.它具有12位的AD精度,250 KS/s的采樣頻率,可以實(shí)現(xiàn)對繼電器開關(guān)的控制.數(shù)據(jù)采集卡在微裝配系統(tǒng)中主要實(shí)現(xiàn)3個功能:第一,實(shí)現(xiàn)氣動系統(tǒng)電磁閥的開閉,控制吸附頭和裝配托盤,保持其位姿不變;第二,接收粘貼在吸附頭上應(yīng)變片的反饋吸附力信號,進(jìn)行氣動壓力的調(diào)節(jié);第三,當(dāng)吸附頭與裝配托盤接觸時,接收限位開關(guān)的高電平信號,控制Z軸停止運(yùn)動.氣路控制模塊的軟件設(shè)計(jì)如圖7所示.
3.4 示教再現(xiàn)模塊軟件設(shè)計(jì)
微小型零件的自動化裝配是基于示教再現(xiàn)方式實(shí)現(xiàn)的.微小型零件依次擺放在零件存儲區(qū)域的零件槽中,示教文件記錄了每個零件所在的坐標(biāo)位置以及該位置下需要動作的硬件索引號.在系統(tǒng)運(yùn)行之前,首先,讀取軟件系統(tǒng)配置文件和示教文件;然后,觸發(fā)啟動開關(guān),線程機(jī)制獲取觸發(fā)信號,停止等待,讀取示教數(shù)據(jù),微裝配運(yùn)動控制系統(tǒng)根據(jù)讀取的坐標(biāo)數(shù)據(jù)運(yùn)動作業(yè);最后,運(yùn)動控制完成信號一經(jīng)到達(dá),軟件系統(tǒng)即通過對示教文件中當(dāng)前步驟標(biāo)記號判別,進(jìn)行氣路開關(guān)或視覺模塊的相機(jī)觸發(fā)采集和圖像處理,完成零件吸附抓取或識別定位等裝配作業(yè).
圖7 氣路控制模塊的軟件設(shè)計(jì)圖
對基件和一號、二號、三號零件裝配運(yùn)行時間進(jìn)行測試.測試的零件裝配時間如表1所示.
表1 零件裝配時間 s
裝配測試表明,每套零件的裝配時間不超過220 s,可持續(xù)裝配5 h.
針對微小型零件裝配任務(wù)的高復(fù)雜度,設(shè)計(jì)開發(fā)了基于模塊化和分層化的微小型零件裝配控制軟件.采用模塊化進(jìn)行系統(tǒng)各個部分的開發(fā),不僅提高了軟件的開發(fā)速度,而且,主程序只需調(diào)用各個模塊提供的接口函數(shù),便可以實(shí)現(xiàn)集成開發(fā),方便了軟件的開發(fā)、維護(hù)和升級.各個模塊編寫及調(diào)試完成后的裝配測試表明,該微裝配系統(tǒng)可以平穩(wěn)快速地實(shí)現(xiàn)微小型零件的自動裝配,在重復(fù)裝配過程中,程序的異常處理機(jī)制和內(nèi)存管理機(jī)制可以很好地保證系統(tǒng)安全、長時間的平穩(wěn)運(yùn)行,且無內(nèi)存泄露.
[1] 劉周林.微裝配系統(tǒng)控制技術(shù)研究[D].沈陽:沈陽理工大學(xué),2013.
[2] 李仕雄,張奇志.無標(biāo)定機(jī)械臂視覺伺服控制的實(shí)驗(yàn)設(shè)計(jì)[J].北京機(jī)械工業(yè)學(xué)院學(xué)報(bào),2006,21(3):5-7.
[3] 劉 超.基于機(jī)器視覺的微小型零件自動測量與裝配[D].大連:大連理工大學(xué),2009.
[4] 苗 然.面向微裝配的DSP圖像采集與處理系統(tǒng)關(guān)鍵技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2009.
[5] 鄭魁敬,趙永生.基于PMAC的并聯(lián)機(jī)床運(yùn)動控制技術(shù)研究[J].機(jī)床與液壓,2004(8):36-39.
[6] 侯智卿.基于線陣CMOS的傳輸皮帶檢測系統(tǒng)研究[D].太原:中北大學(xué),2011.
Automatic Assembly of Microminiature Parts Software Design and Implementation
SHI Zheng-jin1,ZHU Huan-huan1,ZHU Ben-qing2,ZHANG Jia-yi1,ZHAO Fang-xin1
(1.Shenyang Ligong University,Shenyang 110159,China; 2.Vocational College of Huangshan,Huangshan 245000,China)
To solve the assembly problem of the microminiature parts, the micro-assembly system with four axes has been set up and man-machine interactive assembly directed by vision has been realized based on automatic assembly software developed by VC++platform. Software style of the micro-assembly system was designed by adopting the idea of layer architecture. By analyzing the relationship between classes and objects, main core modules that software structure of the micro-assembly system depends on was integrated by the way of creating classes. Software system is consisted of six modules, including motion control, pneumatic control, image gathering and processing, template data management, teaching-playing, and camera calibration. Meanwhile, data exchange of the each module could be easily realized by adopting the object-oriented method. Depending on the combination of machine vision and teaching-playing, automatic assembly mode has been created. Assembly experiments show that the system can run smoothly and assembly process runs very well without human intervention. Automatic assembly of microminiature parts with different dimensions has been realized and the software can keep a good state of reusability, man-machine interactive and robustness.
micro-assembly; software designing; machine vision; teaching-playing
2016-12-12
國家863計(jì)劃資助項(xiàng)目(2009AA04Z167)
石征錦(1963-),男,遼寧沈陽人,教授,研究方向?yàn)橄冗M(jìn)控制理論及應(yīng)用、現(xiàn)代檢測與自動化裝置.
1006-3269(2017)01-0001-05
TP29
A
10.3969/j.issn.1006-3269.2017.01.001