本發(fā)明是一種基于DELMIA(Digital Enterprise Lean Manufacturing Interaction Application)人機(jī)任務(wù)仿真模塊二次開發(fā)的非沉浸式虛擬維修仿真快速生成方法,屬于二次開發(fā)技術(shù)輔助虛擬仿真的技術(shù)領(lǐng)域。
背景技術(shù):
1.DELMIA進(jìn)行非沉浸式仿真生成的優(yōu)勢(shì)。
DELMIA虛擬仿真平臺(tái)為工業(yè)領(lǐng)域中的產(chǎn)品外形設(shè)計(jì)、機(jī)器運(yùn)行仿真、人機(jī)工效評(píng)估等提供了強(qiáng)大的分析工具和仿真平臺(tái),其中人機(jī)任務(wù)仿真模塊(Human Task Simulation)以其全面、系統(tǒng)的仿真工具,為非沉浸式虛擬維修仿真生成提供了可行方案。使用者可以根據(jù)仿真任務(wù)要求、維修操作過程、工具使用方式、人體姿態(tài)調(diào)整等,生成其所需的虛擬維修仿真過程,并在仿真生成之后分析人員操作的可達(dá)性、工具操作的適用性以及產(chǎn)品設(shè)計(jì)的可行性,為產(chǎn)品設(shè)計(jì)人員及使用人員在產(chǎn)品的設(shè)計(jì)初期階段及早地了解產(chǎn)品本身提供了經(jīng)濟(jì)、有效、便捷的方式。
2.非沉浸式仿真制作過程繁瑣的客觀性和快速仿真生成的必要性。
然而在現(xiàn)階段非沉浸式仿真生成過程中,由于DELMIA人機(jī)任務(wù)仿真模塊中各類仿真和分析工具的多樣性、仿真和分析工具使用中參數(shù)設(shè)置的復(fù)雜性、以及實(shí)現(xiàn)仿真動(dòng)作時(shí)不同工具同時(shí)使用的不確定性,根據(jù)要求來完成規(guī)定的仿真過程變得非常繁瑣,例如生成1分鐘的仿真過程往往需要2周甚至更長的時(shí)間來完成。近些年關(guān)于DELMIA人機(jī)任務(wù)仿真模塊的培訓(xùn)資料非常有限,而且資料不能夠完全的覆蓋所有的工具操作指導(dǎo),使用人員需要經(jīng)歷較長的摸索和實(shí)踐來熟悉該模塊各類工具的使用,這為非沉浸式虛擬維修仿真生成帶來了很大的困難。此外,維修仿真過程多種多樣,而非沉浸式虛擬維修仿真生成過程繁瑣,所以提供一種快速生成仿真過程的方法變得尤為重要。
3.二次開發(fā)對(duì)快速仿真支撐的可行性。
Automation技術(shù)通過面向?qū)ο鬄橐粋€(gè)可執(zhí)行程序控制另一個(gè)可執(zhí)行程序提供了可行的思路,同時(shí),應(yīng)用程序設(shè)計(jì)接口可以同允許對(duì)象鏈接與嵌入的平臺(tái)進(jìn)行通訊。DELMIA的應(yīng)用工具二次開發(fā)控制函數(shù)可以通過應(yīng)用程序設(shè)計(jì)接口獲得,基于Automation技術(shù)的DELMIA二次開發(fā)需要文件結(jié)構(gòu)、應(yīng)用程序設(shè)計(jì)接口函數(shù)以及控制序列得以實(shí)現(xiàn)。通過DELMIA的二次開發(fā),可以實(shí)現(xiàn)虛擬仿真中相關(guān)工具的控制,在控制單一的仿真工具之后,逐一生成所需要的仿真任務(wù),然后通過虛擬維修過程中的邏輯關(guān)系,將生成的全部仿真任務(wù)進(jìn)行連接從而得到整個(gè)虛擬仿真過程。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是為了降低DELMIA虛擬仿真平臺(tái)中人機(jī)任務(wù)仿真模塊生成仿真過程中操作的復(fù)雜和繁瑣,以生成維修過程中的各類動(dòng)作為目標(biāo),基于DELMIA二次開發(fā)技術(shù),有針對(duì)性地分析、應(yīng)用、整合該模塊下的仿真工具,將各類動(dòng)作封裝成為獨(dú)立的應(yīng)用工具,避免了非沉浸式仿真生成過程中需要考慮邏輯順序、應(yīng)用方式、約束分析等復(fù)雜問題,形成快速生成虛擬仿真過程的系統(tǒng)性方法。
本發(fā)明提供了一種基于DELMIA二次開發(fā)的非沉浸式虛擬維修快速仿真方法,通過如下步驟實(shí)現(xiàn):
步驟一、分析維修過程中的維修動(dòng)作種類,對(duì)各類維修動(dòng)作在仿真中的要求進(jìn)行描述。
維修動(dòng)作種類包括有行走類動(dòng)作、姿態(tài)調(diào)整類動(dòng)作和手部操作類動(dòng)作。
更具體地,維修動(dòng)作包括人體避障行走、拾取物體、放下物體、徒手操作、維修工具使用和身體調(diào)整。
步驟二、為各維修動(dòng)作選取DELMIA人機(jī)任務(wù)仿真模塊中單個(gè)或多個(gè)仿真工具。
步驟三、獲取步驟二中涉及的DELMIA人機(jī)任務(wù)仿真模塊中仿真工具的二次開發(fā)控制方式。
步驟四、整合所選取的仿真工具對(duì)應(yīng)的二次開發(fā)方式;
在整合時(shí),將共有變量合并、特有變量單獨(dú)表達(dá)、關(guān)聯(lián)函數(shù)正確調(diào)用,同時(shí)通過設(shè)置輸入與輸出信息的傳遞方式將各類仿真過程所需要的函數(shù)進(jìn)行約束。
步驟五、封裝快速實(shí)現(xiàn)單一維修動(dòng)作仿真的工具
對(duì)各仿真工具在二次開發(fā)環(huán)境中進(jìn)行封裝,體現(xiàn)形式為軟件中的應(yīng)用模塊,用戶按照仿真目的設(shè)置應(yīng)用模塊中的參數(shù)值。
步驟六、將仿真任務(wù)過程分解為單一的維修動(dòng)作,應(yīng)用步驟五中封裝后的快速仿真工具,逐一生成仿真過程所需要的全部維修動(dòng)作。
步驟七、根據(jù)仿真的邏輯順序,將步驟六中所有的仿真維修動(dòng)作進(jìn)行時(shí)序控制,連接一起生成虛擬維修仿真過程。
與現(xiàn)有的在DELMIA人機(jī)任務(wù)仿真模塊中生成虛擬維修仿真的方法相比,本發(fā)明的優(yōu)點(diǎn)和積極效果在于:
a)本發(fā)明面向的虛擬平臺(tái)DELMIA為工業(yè)領(lǐng)域內(nèi)的通用軟件,可應(yīng)用該平臺(tái)下有人員參與的各類維修過程虛擬仿真;
b)基于客觀存在的各類DELMIA仿真工具的二次開發(fā)方式,通過對(duì)這些二次開發(fā)方式的邏輯分析、整合以及決斷,把二次開發(fā)方式這一客觀存在的有價(jià)值信息進(jìn)行有目的地、合理地分析及應(yīng)用,實(shí)現(xiàn)面向快速仿真的工具封裝;
c)以設(shè)置封裝后的快速仿真模塊中的參數(shù)指標(biāo)來代替直接操縱DELMIA人機(jī)任務(wù)仿真模塊中各類仿真工具,這一過程中免去了考慮仿真工具的邏輯順序及約束關(guān)系,降低了非沉浸式虛擬仿真過程生成的復(fù)雜性和繁瑣性,大大提高了仿真效率;
d)本發(fā)明方法中對(duì)于快速仿真的思路對(duì)于在DELMIA平臺(tái)中開展物體運(yùn)動(dòng)仿真、多人協(xié)同仿真提供了技術(shù)支撐。
附圖說明
圖1為本發(fā)明基于DELMIA二次開發(fā)的非沉浸式虛擬維修快速仿真方法的原理框圖;
圖2為通過本發(fā)明的快速仿真方法生成的虛擬維修過程示意圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明技術(shù)進(jìn)行詳細(xì)說明。
本發(fā)明針對(duì)DELMIA環(huán)境非沉浸式仿真生成過程操作的多樣性、復(fù)雜性和不確定性,分析虛擬維修仿真過程中所需要的維修操作類別,基于人機(jī)任務(wù)仿真模塊的工具欄中各類操作工具的二次開發(fā)控制函數(shù),以單一的維修操作仿真生成為目標(biāo),通過控制函數(shù)的邏輯控制和系統(tǒng)整合,同時(shí)考慮虛擬維修仿真過程中的操作約束,最終形成各類維修操作的仿真工具,為快速地生成非沉浸式虛擬維修仿真提供輔助支持。
如圖1所示,實(shí)現(xiàn)本發(fā)明的非沉浸式虛擬維修仿真快速生成方法,常用的維修動(dòng)作分類和仿真工具分析是基礎(chǔ),確定仿真工具的二次開發(fā)方式以及面向仿真實(shí)現(xiàn)的仿真工具組合是方法的必要條件,探索仿真工具二次開發(fā)方式并以快速仿真為目標(biāo)對(duì)所需要的仿真工具進(jìn)行合理地邏輯整合和封裝是方法的核心和關(guān)鍵,也是整個(gè)方法的創(chuàng)新之處。圖1的右側(cè)是對(duì)本方法應(yīng)用的示例說明,當(dāng)給定仿真過程需求后,逐一分析仿真過程中人員的動(dòng)作,并與方法中所分析的基本維修動(dòng)作一一對(duì)應(yīng),然后找到對(duì)應(yīng)后動(dòng)作的仿真工具封裝包,按照邏輯順序、并行關(guān)系對(duì)仿真人員的動(dòng)作逐一實(shí)現(xiàn)仿真,最終實(shí)現(xiàn)整個(gè)過程的仿真。
本發(fā)明的基于DELMIA二次開發(fā)的非沉浸式虛擬維修快速仿真方法,如圖1所示,下面說明各實(shí)現(xiàn)步驟。
步驟一、分析維修過程中的維修動(dòng)作種類。
維修過程因維修對(duì)象的不同多種多樣,但這些維修過程包含的基本維修動(dòng)作基本一致,所以在分析維修過程時(shí),可以將其分解為單一的維修動(dòng)作來進(jìn)行相關(guān)分析,這些基本動(dòng)作將整合仿真工具進(jìn)行封裝的目標(biāo)。分析維修操作中的常用維修動(dòng)作,如行走類動(dòng)作、姿態(tài)調(diào)整類、手部操作類等,并對(duì)這些維修動(dòng)作種類在仿真中的要求進(jìn)行描述。
面向行走類、姿態(tài)調(diào)整類、手部操作類三大類動(dòng)作,考慮三類動(dòng)作中常見的維修動(dòng)作,人體避障行走、拾取物體、放下物體、徒手操作、維修工具使用、身體調(diào)整覆蓋了維修過程中大部分的操作,本方法選用這六大類人員動(dòng)作進(jìn)行分析。在虛擬仿真中,這些維修動(dòng)作應(yīng)符合的仿真要求說明如下。
1)人體避障行走:按照維修操作要求,虛擬人在虛擬場(chǎng)景中以目標(biāo)點(diǎn)為行走的終點(diǎn),在行走過程中避開障礙物的前提下,以最短的路徑行走至終點(diǎn);
2)拾取物體:通過調(diào)整身體姿態(tài),如低頭、彎腰、下蹲等,以合理的手勢(shì)如抓握、拿捏等,將待拾取對(duì)象拿到手中,拾取完成后調(diào)整至標(biāo)準(zhǔn)姿態(tài);
3)放下物體:通過調(diào)整身體姿態(tài),如低頭、彎腰、下蹲等,以合理的放置姿態(tài)將手中的待對(duì)象放置于指定位置,放置結(jié)束后調(diào)整至標(biāo)準(zhǔn)姿態(tài);
4)徒手操作:針對(duì)需要通過手部操作實(shí)現(xiàn)的仿真過程,通過將手部移動(dòng)到指定位置,以合理的手勢(shì),依據(jù)正確的操作如擰緊、擰松等,完成徒手操作仿真;
5)維修工具使用:針對(duì)需要通過工具操作實(shí)現(xiàn)的仿真過程,手部以合理的姿勢(shì)抓握制定工具,并移動(dòng)到操作位置,依據(jù)正確的操作如擰緊、擰松等,完成工具使用仿真;
6)身體調(diào)整:為實(shí)現(xiàn)動(dòng)作直接的合理過渡,實(shí)現(xiàn)更為逼真的仿真過程,在上述動(dòng)作之間增加的身體調(diào)整動(dòng)作,如轉(zhuǎn)身、邁腿等。
步驟二、選取DELMIA人機(jī)任務(wù)仿真模塊中單個(gè)或多個(gè)合適的仿真工具以實(shí)現(xiàn)步驟一中的各類維修動(dòng)作。
面向上述六種維修動(dòng)作,選取完成各個(gè)動(dòng)作所必需要的單個(gè)或多個(gè)仿真工具,并確定在實(shí)現(xiàn)各個(gè)動(dòng)作時(shí),所需工具的邏輯順序及應(yīng)用方式,這是實(shí)現(xiàn)快速仿真正確和合理的依據(jù)。
1)人體避障行走:首先需要通過行走仿真工具,然后選擇行走平面,并在行走平面上確定人的行走終點(diǎn)來完成該維修仿真動(dòng)作;
2)拾取物體:首先通過姿態(tài)調(diào)整仿真工具將手移動(dòng)到目標(biāo)物體,然后以合理的手勢(shì)仿真工具和運(yùn)動(dòng)學(xué)仿真工具將手勢(shì)調(diào)至合理,最后通過拾取仿真工具完成該維修仿真動(dòng)作;
3)放下物體:首先通過姿態(tài)調(diào)整仿真工具將手和物體移動(dòng)到目標(biāo)位置,然后應(yīng)用放置仿真工具完成該維修仿真動(dòng)作;
4)徒手操作:首先通過姿態(tài)調(diào)整仿真工具將手移動(dòng)到目標(biāo)位置,然后以合理的手勢(shì)仿真工具和運(yùn)動(dòng)學(xué)仿真工具將手勢(shì)調(diào)至合理,最后通過確定始末動(dòng)作幀及循環(huán)次數(shù)完成該維修動(dòng)作;
5)維修工具使用:分為兩種情況。第一種為手上已拿起維修工具,通過姿態(tài)仿真工具將工具調(diào)整到合理的目標(biāo)位置,然后通過確定始末動(dòng)作幀及循環(huán)次數(shù)完成該維修動(dòng)作,第二種為手上未拿起維修工具,首先通過拾取物體操作拿起維修工具,然后根據(jù)第一種描述的仿真工具使用,完成該維修仿真動(dòng)作;
6)身體調(diào)整:該類動(dòng)作通過姿態(tài)仿真工具和運(yùn)動(dòng)學(xué)仿真工具完成仿真動(dòng)作。
DELMIA人機(jī)任務(wù)仿真模塊中共有X個(gè)工具欄約X個(gè)工具,大部分工具都與仿真的實(shí)現(xiàn)過程密不可分,如場(chǎng)景載入、人體控制、物體操縱等。如圖1所示,DELMIA平臺(tái)人機(jī)任務(wù)仿真模塊仿真工具中,有A仿真控制類、B對(duì)象控制類和C場(chǎng)景管理類。例如A仿真控制類工具有過程連接工具、任務(wù)控制工具等,B對(duì)象控制類工具有羅盤工具、運(yùn)動(dòng)學(xué)工具等,C場(chǎng)景管理類有導(dǎo)入工具、視角工具等。在步驟二中,為每個(gè)仿真動(dòng)作確定仿真工具。例如實(shí)現(xiàn)“向前,避障行走”用A-4、B-5和C-1這三個(gè)仿真工具,A-4、B-5和C-1為仿真工具編號(hào),例如A-4為A類編號(hào)為4的仿真工具。
步驟三、獲取步驟二中涉及的DELMIA人機(jī)任務(wù)仿真模塊中仿真工具的二次開發(fā)控制方式。
在確定仿真工具的二次開發(fā)控制方式時(shí),需要確定相關(guān)的函數(shù)及屬性等。仿真工具各自的二次開發(fā)方式多種多樣,每個(gè)仿真工具的二次開發(fā)方式在DELMIA函數(shù)庫中是確定的,在獲取每個(gè)仿真工具的二次開發(fā)方式時(shí),需要根據(jù)仿真過程,合理的選擇、取舍、優(yōu)化二次開發(fā)控制函數(shù)中的變量。
如圖1所示,例如過程鏈接工具對(duì)應(yīng)的二次開發(fā)控制方式為Process_link,任務(wù)控制工具對(duì)應(yīng)的二次開發(fā)控制方式為Task_control,為每個(gè)操作工具選取對(duì)應(yīng)的二次開發(fā)控制方式,可根據(jù)具體需要取舍其中的變量。
步驟四、整合步驟三中選取的仿真工具對(duì)應(yīng)的二次開發(fā)方式。
由于每個(gè)仿真工具的二次開發(fā)控制與實(shí)現(xiàn)方式不同,在實(shí)現(xiàn)維修動(dòng)作仿真時(shí),需要統(tǒng)一整合步驟三中針對(duì)每個(gè)維修動(dòng)作的仿真工具二次開發(fā)控制方式,這一步驟是實(shí)現(xiàn)快速仿真的核心與關(guān)鍵,決定了應(yīng)用該方法生成仿真的準(zhǔn)確性和便捷性。
根據(jù)步驟三確定所選仿真工具二次開發(fā)的函數(shù)及相關(guān)變量,以實(shí)現(xiàn)步驟二中的六類維修任務(wù)仿真為目標(biāo),分析這六類仿真過程所需要仿真工具的二次開發(fā)方式,通過合理和有序的邏輯控制,將共有變量合并、特有變量單獨(dú)表達(dá)、關(guān)聯(lián)函數(shù)正確調(diào)用,同時(shí)通過設(shè)置輸入與輸出信息的傳遞方式將各類仿真過程所需要的函數(shù)進(jìn)行約束,實(shí)現(xiàn)面向六類維修任務(wù)仿真過程生成的仿真工具控制函數(shù)的合理整合。
步驟五、封裝快速實(shí)現(xiàn)單一維修動(dòng)作仿真的工具。
選擇合適的開發(fā)環(huán)境,將步驟三中選取的仿真工具依據(jù)步驟四確定的整合方式,以生成六類維修動(dòng)作為目標(biāo),封裝為六個(gè)獨(dú)立的仿真工具,一般以軟件中的應(yīng)用模塊為體現(xiàn)形式,在這些獨(dú)立封裝的快速仿真操作應(yīng)用模塊中,給出能夠完成每一類維修動(dòng)作的參數(shù),用戶可以按照其仿真目的進(jìn)行參數(shù)值的設(shè)置,使用戶能夠只需要通過對(duì)模塊中的參數(shù)值進(jìn)行設(shè)定就可以完成規(guī)定的仿真動(dòng)作。通過封裝的應(yīng)用模塊,使用戶不操作或極少操作DELMIA人機(jī)仿真模塊下的仿真工具,就可達(dá)到快速生成仿真動(dòng)作的目的。
二次開發(fā)環(huán)境例如是C++、C#、VB等程序編寫軟件,在二次開發(fā)環(huán)境中將各仿真工具進(jìn)行封裝,某個(gè)維修工具封裝后表現(xiàn)為一個(gè)軟件應(yīng)用模塊,例如圖1中,向前避障行走的某個(gè)維修工具封裝為模塊1-1,用戶只需要設(shè)置模塊1-1中的參數(shù)值。
步驟六、逐一生成非沉浸式虛擬維修仿真任務(wù)所需要的全部維修動(dòng)作。
分析非沉浸式虛擬維修仿真任務(wù)所需要的全部維修動(dòng)作及仿真順序,基于步驟五中獨(dú)立封裝的仿真工具,在虛擬場(chǎng)景中指定的虛擬人的任務(wù)列表下生成各自的維修動(dòng)作。
步驟七、連接封裝后的維修動(dòng)作仿真工具以生成整個(gè)維修仿真過程。
基于快速仿真操作模塊與DELMIA仿真平臺(tái)之間的通訊,將步驟六中所有虛擬人生成的維修仿真動(dòng)作按照仿真邏輯進(jìn)行時(shí)序控制,最終生成虛擬維修仿真過程。
實(shí)施例
以某對(duì)象的拆卸過程的部分維修規(guī)程為例,完成DELMIA平臺(tái)下的非沉浸式虛擬維修過程仿真,部分維修規(guī)程如下
1)維修人員1在保障臺(tái)上棘輪扳手,避開機(jī)柜行走至目標(biāo)點(diǎn);
2)維修人員2在目標(biāo)點(diǎn)徒手?jǐn)Q開電接頭;
3)維修人員3攜帶螺絲刀在目標(biāo)點(diǎn)進(jìn)行拆卸操作。
根據(jù)步驟一分析上述維修規(guī)程所需要的維修動(dòng)作,并根據(jù)步驟五中封裝后的快速仿真工具生成相應(yīng)的維修動(dòng)作,如下面表1所示。
表1維修任務(wù)仿真示例
將快速仿真工具生成的每個(gè)維修動(dòng)作,根據(jù)維修規(guī)程要求的邏輯順序,根據(jù)步驟七的方法進(jìn)行時(shí)序控制,最終生成虛擬仿真過程,如圖2所示。