吳 昊,鄒 鯤,唐 龍,閔康堯
(東華大學(xué) 機(jī)械工程學(xué)院, 上海)
半物理仿真又稱硬件在環(huán)仿真,是將部分產(chǎn)品實(shí)物引入仿真回路的一種仿真技術(shù)[1],即有真實(shí)硬件、實(shí)物、信號的參與,集機(jī)械與電子、軟件與硬件一體的綜合仿真。早期的半物理仿真主要應(yīng)用于武器裝備的研制和測試,隨著計(jì)算機(jī)控制技術(shù)發(fā)展及其在機(jī)電系統(tǒng)中的廣泛集成,其應(yīng)用越來越廣泛。在熱能動力領(lǐng)域,湯鑫宇等[2]以燃?xì)廨啓C(jī)為研究對象,通過dSPACE系統(tǒng)與實(shí)際電廠控制邏輯相連,構(gòu)建了半物理仿真平臺。在航空航天領(lǐng)域:沈景鳳等[3]應(yīng)用增強(qiáng)現(xiàn)實(shí)技術(shù),設(shè)計(jì)了一套多功能的航空發(fā)動機(jī)半物理仿真試車系統(tǒng);李心瞳等[4]針對火箭發(fā)動機(jī)液體推進(jìn)系統(tǒng)聯(lián)合仿真演示需求,利用Simulink和LabVIEW軟件開發(fā)了仿真控制模塊和視景仿真模型,搭建了全系統(tǒng)聯(lián)合仿真環(huán)境與平臺,并驗(yàn)證了其可靠性。在機(jī)器人領(lǐng)域:劉茜等[5]基于硬件在環(huán)技術(shù),搭建了空間機(jī)械臂操作任務(wù)驗(yàn)證平臺系統(tǒng),并通過試驗(yàn)驗(yàn)證了系統(tǒng)性能良好;馬來西亞國防大學(xué)的Amer等[6]針對無人裝甲車的轉(zhuǎn)向控制問題,利用Simulink平臺建模,通過半物理仿真技術(shù)對轉(zhuǎn)向激振器進(jìn)行測試,取得了不錯(cuò)的效果。2020年,德國夫瑯和費(fèi)風(fēng)能系統(tǒng)研究所的Basilios等[7]提出了一種用于大型風(fēng)力渦輪機(jī)實(shí)時(shí)仿真和控制的半物理仿真系統(tǒng),分析了軟硬件的選擇,將FAST仿真工具與實(shí)際控制硬件集成在一起,并給出了20 MW風(fēng)力機(jī)的數(shù)值試驗(yàn)結(jié)果。2021年,意大利PERCRO實(shí)驗(yàn)室的Moretti等[8]提出了一種將振蕩水柱與介電彈性體發(fā)生器相結(jié)合的一類波浪能轉(zhuǎn)換器的半物理仿真框架,在實(shí)驗(yàn)室環(huán)境中復(fù)制了工廠的實(shí)際操作條件,并與實(shí)際海上測試數(shù)據(jù)比較,證明了該系統(tǒng)能夠有效復(fù)制現(xiàn)實(shí)操作場景。此外,半物理仿真技術(shù)在汽車、電子等其他領(lǐng)域[9-18]也有廣泛運(yùn)用。目前普遍應(yīng)用的相關(guān)仿真技術(shù),如基于Matlab的Simulink仿真系統(tǒng),主要以理論數(shù)學(xué)模型的角度進(jìn)行仿真,缺乏良好的三維展示效果;而廣泛應(yīng)用于汽車行業(yè)的dSPACE系統(tǒng),雖有較強(qiáng)的實(shí)時(shí)性,但也不具備較好的三維效果,且成本十分昂貴。
因此,本文提出利用虛擬現(xiàn)實(shí)引擎Unity3D連接硬件電子系統(tǒng)調(diào)試控制程序的方法,以草坪毯自動修補(bǔ)機(jī)器人為研究對象,設(shè)計(jì)了一套硬件在環(huán)的半物理仿真系統(tǒng),包括以仿真電路板為載體的數(shù)據(jù)交互系統(tǒng)和基于Unity3D的上位機(jī)仿真平臺。針對草坪毯修補(bǔ)工藝,以運(yùn)動控制卡信號為驅(qū)動,模擬真實(shí)修補(bǔ)情況,研究仿真系統(tǒng)的實(shí)時(shí)性和準(zhǔn)確性。研究結(jié)果將對解決紡織機(jī)械開發(fā)調(diào)試、工藝設(shè)計(jì)驗(yàn)證等問題具有指導(dǎo)意義。
仿真系統(tǒng)整體方案設(shè)計(jì)如圖1所示,其分為下位機(jī)數(shù)據(jù)交互系統(tǒng)和上位機(jī)仿真平臺兩個(gè)子系統(tǒng)。
圖1 仿真系統(tǒng)整體方案設(shè)計(jì)Fig.1 Overall scheme design of the simulation system
上位機(jī)通過Unity3D搭建仿真平臺,利用通信口傳遞外部系統(tǒng)的控制信號,實(shí)時(shí)控制待仿真對象的三維模型運(yùn)動。下位機(jī)數(shù)據(jù)交互系統(tǒng)以仿真電路板為載體,連接上位機(jī)仿真平臺與外部真實(shí)硬件系統(tǒng)以交互數(shù)據(jù)。外部硬件系統(tǒng)的控制信號通過仿真電路板向仿真平臺發(fā)送,仿真平臺中模型運(yùn)動產(chǎn)生的虛擬傳感器信號通過仿真電路板向外部硬件系統(tǒng)反饋。
仿真平臺由一個(gè)主場景構(gòu)成,用于實(shí)現(xiàn)仿真系統(tǒng)的主要功能。仿真平臺通過模塊化設(shè)計(jì)分為模型導(dǎo)入和功能設(shè)計(jì),如圖2所示。首先在SolidWorks軟件中建立三維模型,經(jīng)過格式轉(zhuǎn)換將待仿真對象的三維模型導(dǎo)入U(xiǎn)nity3D主場景用于展示仿真過程。
圖2 仿真平臺模塊劃分Fig.2 Simulation platform module division
當(dāng)外部系統(tǒng)運(yùn)行實(shí)際程序時(shí),通過數(shù)據(jù)交互功能采集真實(shí)控制信號,控制模型進(jìn)行實(shí)時(shí)運(yùn)動。仿真過程中,通過數(shù)據(jù)庫模塊記錄仿真數(shù)據(jù)信息,幫助用戶驗(yàn)證控制程序邏輯是否與設(shè)想一致。
為實(shí)現(xiàn)仿真系統(tǒng)輔助驗(yàn)證控制程序的正確性,結(jié)合數(shù)據(jù)庫,在仿真平臺中設(shè)計(jì)了數(shù)據(jù)交互、運(yùn)動控制、實(shí)時(shí)調(diào)試、運(yùn)動節(jié)拍輸出和空間軌跡輸出等多個(gè)功能。
1)數(shù)據(jù)交互功能。在硬件設(shè)計(jì)基礎(chǔ)上編寫了數(shù)據(jù)采集和通信軟件協(xié)議。
2)運(yùn)動控制功能。在Unity3D中,通過父子關(guān)系和組件、腳本編程、提取公共參數(shù)的方法模擬常見機(jī)械結(jié)構(gòu)運(yùn)動。
3)實(shí)時(shí)調(diào)試功能。為了驗(yàn)證仿真系統(tǒng)的運(yùn)行,設(shè)計(jì)了單步調(diào)試、多步調(diào)試兩種實(shí)時(shí)調(diào)試功能,作為驗(yàn)證系統(tǒng)是否按照設(shè)定參數(shù)運(yùn)行的方式。
4)運(yùn)動節(jié)拍與空間軌跡輸出功能。為了幫助用戶驗(yàn)證運(yùn)動控制程序的正確性,設(shè)計(jì)了運(yùn)動節(jié)拍與空間軌跡輸出功能,作為驗(yàn)證控制程序邏輯是否正確的對照方式。
為了實(shí)現(xiàn)多種功能,基于SQL Server2008數(shù)據(jù)庫建立本地?cái)?shù)據(jù)庫Simulation,并建立干涉記錄、負(fù)載運(yùn)動節(jié)拍及空間軌跡表格。
下位機(jī)數(shù)據(jù)交互系統(tǒng)是本文仿真系統(tǒng)與外界系統(tǒng)連接的樞紐,旨在采集可編程邏輯控制器(PLC)控制電機(jī)、氣缸等各種常見外部電器元件的電平信號,將其發(fā)送給上位機(jī)仿真平臺以控制模型實(shí)時(shí)運(yùn)動,同時(shí)接收仿真平臺的虛擬傳感器輸出信號,向外界系統(tǒng)反饋。
將數(shù)據(jù)交互系統(tǒng)劃分為采集模塊和通信模塊,對采集模塊和通信模塊進(jìn)行軟硬件設(shè)計(jì)。采集模塊包括電機(jī)驅(qū)動信號采集和限位信號反饋、通用輸入輸出;通信模塊包括板內(nèi)芯片通信、擴(kuò)展電路板間通信和上下位機(jī)通信。數(shù)據(jù)交互系統(tǒng)的總體架構(gòu)設(shè)計(jì)如圖3所示。
圖3 數(shù)據(jù)交互系統(tǒng)的架構(gòu)Fig.3 The architecture of data interaction system
采集模塊以NXP公司生產(chǎn)的M0芯片LPC1114作為采集芯片,通過芯片GPIO引腳采集和輸出信號。針對不同電壓信號,采用光耦隔離可防止低壓控制電路與外部高壓電路之間的干擾?;诓煌δ苄枨?設(shè)計(jì)電機(jī)驅(qū)動信號采集接口、限位信號輸出接口及通用輸入輸出接口。
通信模塊以LPC11C24作為通信主控芯片。
數(shù)據(jù)交互系統(tǒng)中各部分通信方式如下:
1)電路板內(nèi)芯片間采用IIC總線通信。絕大部分芯片都自帶IIC接口,且移植性高,適合元器件間通信。
2)擴(kuò)展電路板間采用CAN總線通信。CAN總線采用差分信號,實(shí)時(shí)性好,有較強(qiáng)的抗干擾能力,可用于遠(yuǎn)距離通信。
3)上下位機(jī)間采用RS232通信。RS232通信連接簡便且易于編程及調(diào)試。
采集模塊含4塊LPC1114采集芯片,共計(jì)16路電機(jī)脈沖和方向信號采集、24路限位信號反饋、16路通用輸入輸出接口和20路TTL電平采集。4塊采集芯片電路完全相同,以其中一塊為例,其架構(gòu)設(shè)計(jì)如圖4所示。
圖4 采集模塊的架構(gòu)Fig.4 The architecture of acquisition module
通信模塊以LPC11C24為主控芯片,主控芯片與采集芯片間以IIC通信,擴(kuò)展電路板間主控芯片以CAN總線通信,主控芯片與上位機(jī)通過串口通信。通信模塊硬件架構(gòu)如圖5所示。
圖5 通信模塊硬件的架構(gòu)Fig.5 The architecture of communication module hardware
1)電機(jī)驅(qū)動信號采集。本文針對脈沖和方向信號的電機(jī)驅(qū)動方式設(shè)計(jì)了電路板電機(jī)驅(qū)動信號采集模塊。運(yùn)動控制器輸出的方向信號控制電機(jī)正反轉(zhuǎn),輸出脈沖信號的數(shù)量決定電機(jī)旋轉(zhuǎn)的角度,脈沖信號的頻率決定電機(jī)旋轉(zhuǎn)的速度。在仿真過程中仿真電路板的脈沖、方向采集接口與運(yùn)動控制器的脈沖、方向輸出引腳連接。方向信號以高低電平區(qū)分,與電機(jī)正反轉(zhuǎn)對應(yīng),對應(yīng)方式在運(yùn)動控制器內(nèi)部定義,只需查詢對應(yīng)引腳電平即可。脈沖分為兩種:第一種是當(dāng)上電引腳為高電平時(shí),下降沿跳變輸出脈沖;第二種是當(dāng)上電引腳為低電平時(shí),上升沿跳變輸出脈沖。本文通過GPIO引腳邊緣跳變中斷采集脈沖信號,根據(jù)運(yùn)動控制器的設(shè)定配置引腳上升/下降沿跳變中斷,當(dāng)脈沖輸出使引腳進(jìn)入中斷,查詢當(dāng)時(shí)方向信號的正負(fù),若為正,則脈沖個(gè)數(shù)累加,否則脈沖個(gè)數(shù)遞減。
2)傳感器反饋信號輸出。仿真電路板傳感器輸出接口與運(yùn)動控制器限位傳感器輸入引腳相連,將接口引腳配置成輸出模式,根據(jù)運(yùn)動控制器內(nèi)部設(shè)定,輸出高電平或低電平即可模擬傳感器信號的改變。
草坪毯修補(bǔ)系統(tǒng)總體結(jié)構(gòu)如圖6所示,該系統(tǒng)分為漏紗檢測和自動修補(bǔ)兩個(gè)部分。圖6中:1區(qū)域?yàn)榇亟q機(jī),漏紗檢測部分在此區(qū)域;4、5區(qū)域?yàn)樽詣有扪a(bǔ)區(qū),4為鉤剪機(jī)器人,5為刺針機(jī)器人,刺針機(jī)器人攜帶紗線穿過草坪毯,鉤剪機(jī)器人將紗線剪斷完成修補(bǔ)。
1—草坪毯生產(chǎn)簇絨機(jī);2—相機(jī)及支架;3—草坪毯;4—鉤剪機(jī)器人;5—刺針機(jī)器人。圖6 草坪毯修補(bǔ)系統(tǒng)總體結(jié)構(gòu)示意圖Fig.6 Schematic diagram of the overall architecture structure of the lawn carpet repair system
草坪毯修補(bǔ)機(jī)器人仿真系統(tǒng)整體架構(gòu)如圖7所示。其中載入機(jī)器人控制程序的上位機(jī)連接外部GALIL運(yùn)動控制卡,上位機(jī)控制系統(tǒng)將控制程序下載到運(yùn)動控制卡中,再通過信號采集電路板與仿真平臺的上位機(jī)連接,以實(shí)際修補(bǔ)程序控制Unity3D中修補(bǔ)機(jī)器人的運(yùn)動,分析仿真結(jié)果,驗(yàn)證修補(bǔ)程序。
圖7 仿真系統(tǒng)架構(gòu)示意圖Fig.7 Schematic diagram of the simulation system
根據(jù)仿真系統(tǒng)架構(gòu)圖,以草坪毯自動修補(bǔ)機(jī)器人為例,構(gòu)建的半物理仿真平臺實(shí)物如圖8所示,該仿真平臺主要分為上位機(jī)控制系統(tǒng)、GALIL運(yùn)動控制卡、仿真電路板以及Unity3D仿真上位機(jī)。其中:刺針機(jī)器人GALIL運(yùn)動控制卡輸出刺槍側(cè)水平天軌電機(jī)、垂直升降電機(jī)和織針往復(fù)電機(jī)的控制信號;鉤剪機(jī)器人GALIL運(yùn)動控制卡輸出鉤剪側(cè)底板水平移動電機(jī)、垂直升降電機(jī)、電剪刀旋轉(zhuǎn)電機(jī)的控制信號和電剪刀通斷信號。GALIL運(yùn)動控制卡通過上位機(jī)下載電機(jī)控制程序。
1—1.5V/24V穩(wěn)壓電源;2—上位機(jī)控制系統(tǒng);3—Unity3D仿真上位機(jī);4—鉤剪機(jī)器人GALIL運(yùn)動控制卡;5—仿真電路板;6—刺針機(jī)器人GALIL運(yùn)動控制卡。圖8 草坪毯自動修補(bǔ)機(jī)器人的半物理仿真平臺Fig.8 Semi-physical simulation platform of the robot for lawn carpet automatic repair
仿真系統(tǒng)整體搭建完成后,對該系統(tǒng)的顯示實(shí)時(shí)性等指標(biāo)進(jìn)行研究。實(shí)時(shí)性能主要由外部信號的采樣頻率、IIC通信和串口通信頻率、仿真平臺刷新幀數(shù)等來決定。通過GALIL運(yùn)動控制器的試驗(yàn)可知,仿真系統(tǒng)的采集脈沖頻率最高可達(dá)1 MHz,IIC通信頻率可達(dá)12 500 Hz,串口通信的最高頻率為115 200 Hz,仿真平臺幀刷新頻率上限為2 000幀/s。
上位機(jī)控制系統(tǒng)通過真實(shí)驅(qū)動程序控制仿真平臺Unity3D模型的運(yùn)動,對草坪毯修補(bǔ)機(jī)器人進(jìn)行機(jī)電聯(lián)合仿真,仿真過程中實(shí)時(shí)記錄模型運(yùn)動節(jié)拍和位置,生成運(yùn)動軌跡圖和時(shí)序圖。
修補(bǔ)機(jī)器人的控制程序完整流程如圖9所示,修補(bǔ)開始后,首先控制各軸電機(jī)回零,然后根據(jù)漏紗位置換算各個(gè)電機(jī)應(yīng)發(fā)送的脈沖個(gè)數(shù),從而設(shè)置電機(jī)運(yùn)動參數(shù),啟動電機(jī),控制刺針機(jī)器人和鉤剪機(jī)器人進(jìn)行修補(bǔ)。
圖9 修補(bǔ)程序完整流程簡圖Fig.9 Sketch of the complete repair process
通過分析修補(bǔ)工藝流程可知,織針和電剪刀的配合是修補(bǔ)流程中最為重要的部分。選取固定織針和電剪刀的刀片中心,以其初始位置為原點(diǎn),輸出織針、電剪刀空間運(yùn)動軌跡如圖10所示,其中x軸平行于天軌方向,y軸垂直于毯面方向,z軸垂直升降方向。
圖10 織針、電剪刀配合修補(bǔ)的運(yùn)動軌跡Fig.10 Trajectory of knitting needle and electric scissors in conjunction with repair
織針首先從A點(diǎn)沿天軌方向運(yùn)動至B點(diǎn),然后上升至C點(diǎn),到達(dá)修補(bǔ)位置;待電剪刀到達(dá)修補(bǔ)位置后織針從C點(diǎn)沿垂直于毯面的方向刺出,移動50 mm至D點(diǎn)后開始縮回,返回至C點(diǎn)后完成一針修補(bǔ),等待電剪刀完成配合運(yùn)動后織針上升至下一針修補(bǔ)位置處并重復(fù)修補(bǔ)過程。
電剪刀運(yùn)動過程與織針相似。從A′點(diǎn)開始出發(fā),至C′點(diǎn)為鉤剪側(cè)第一針修補(bǔ)位置,等待織針刺出;當(dāng)織針到達(dá)D點(diǎn)后開始回縮,紗線被毯面摩擦力帶起形成弧圈,電剪刀延遲0.3 s開始旋轉(zhuǎn),至D′點(diǎn)鉤住紗線并剪斷,隨后回轉(zhuǎn)至C′點(diǎn),完成一針修補(bǔ);第一針修補(bǔ)完成后織針與電剪刀垂直上升8 mm至下一針修補(bǔ)位置并重復(fù)修補(bǔ)過程。
通過觀察分析仿真系統(tǒng)輸出的運(yùn)動軌跡圖,可以驗(yàn)證系統(tǒng)控制程序編寫無誤,運(yùn)動軌跡符合修補(bǔ)流程。
仿真系統(tǒng)運(yùn)行后,刺針機(jī)器人沿天軌水平位移及其垂直升降位移、織針往復(fù)位移,鉤剪機(jī)器人沿天軌水平位移及其垂直升降位移、電剪刀旋轉(zhuǎn)角度、電源通斷情況隨時(shí)間的變化如圖11所示,圖中N0~N20為修補(bǔ)工藝的關(guān)鍵動作位置點(diǎn),每一個(gè)坐標(biāo)系原點(diǎn)均為該零件自身坐標(biāo)系原點(diǎn)。通過仿真系統(tǒng)輸出的時(shí)序圖,可以清晰直觀地看到草坪毯修補(bǔ)工藝的關(guān)鍵動作時(shí)序,進(jìn)一步證明了仿真結(jié)果與設(shè)置的控制流程相符,驗(yàn)證了仿真系統(tǒng)功能的可行性和準(zhǔn)確性。
修補(bǔ)過程主要依靠織針和電剪刀的頻繁移動,若適當(dāng)提高它們的運(yùn)行速度,就能提高機(jī)器人修補(bǔ)效率。以控制織針的電機(jī)轉(zhuǎn)速間接表示織針穿刺速度,當(dāng)電機(jī)轉(zhuǎn)速提升了54(°)/s后進(jìn)行機(jī)電聯(lián)合仿真,截取提速前后織針和電剪刀旋轉(zhuǎn)時(shí)序并進(jìn)行對比,結(jié)果如圖12所示。
圖12 提速前后織針和電剪刀運(yùn)動時(shí)序?qū)Ρ菷ig.12 Comparison of the movement timing of knitting needles and electric scissors before and after speed-up
由圖12可以清楚看到,提升織針穿刺速度后,織針和電剪刀配合完成修補(bǔ)時(shí)間明顯減少。在數(shù)據(jù)庫中可以讀取針鉤配合的精確運(yùn)動信息記錄,計(jì)算得到織針穿刺提速后單針修補(bǔ)完成時(shí)間減少了0.14 s,修補(bǔ)效率提升約23%,該結(jié)果可為后續(xù)工藝優(yōu)化提供理論依據(jù)和參考。
上述仿真結(jié)果表明:
1)GALIL運(yùn)動控制程序設(shè)計(jì)合理,各部件無干涉碰撞;
2)改變控制程序參數(shù),模型運(yùn)動隨之實(shí)時(shí)改變,系統(tǒng)精確記錄運(yùn)動節(jié)拍,可由數(shù)據(jù)庫記錄的數(shù)據(jù)計(jì)算物體運(yùn)動受影響程度;
3)相比傳統(tǒng)機(jī)械仿真,本文設(shè)計(jì)的半物理仿真系統(tǒng)具備良好的三維可視性,可連接外部硬件系統(tǒng),采集外部真實(shí)信號,控制模型實(shí)時(shí)運(yùn)動并記錄運(yùn)動信息。
本文針對目前紡織行業(yè)開發(fā)機(jī)電一體化設(shè)備中存在的現(xiàn)場調(diào)試?yán)щy、工作量大、開發(fā)周期長等難點(diǎn),為解決目前主流仿真軟件存在的問題,以草坪毯自動修補(bǔ)機(jī)器人為對象,研究設(shè)計(jì)了一套同時(shí)滿足較好三維展示效果、實(shí)時(shí)性、通用性,以及可連接真實(shí)硬件控制系統(tǒng)進(jìn)行調(diào)試的半物理仿真系統(tǒng)。通過GALIL運(yùn)動控制卡搭建聯(lián)合仿真平臺,驗(yàn)證了系統(tǒng)實(shí)時(shí)性和功能準(zhǔn)確性,得到如下主要結(jié)論:
1)以草坪毯自動修補(bǔ)機(jī)器人為仿真對象,進(jìn)行機(jī)電軟三位一體的聯(lián)合仿真,并通過分析修補(bǔ)工藝關(guān)鍵動作運(yùn)動軌跡圖、時(shí)序圖驗(yàn)證了仿真系統(tǒng)的功能。
2)本文開發(fā)的半物理仿真系統(tǒng)通過虛擬上位機(jī)與硬件電路板數(shù)據(jù)交互來連接部分真實(shí)機(jī)械硬件,具備良好的三維展示效果,可替代大部分現(xiàn)場調(diào)試工作,減少工作量、縮短開發(fā)周期且節(jié)約成本,大大提高設(shè)備研發(fā)效率。半物理仿真技術(shù)的應(yīng)用對紡織機(jī)械研發(fā)調(diào)試、程序邏輯優(yōu)化、系統(tǒng)設(shè)計(jì)和工藝開發(fā)均有重要意義。