吳 艷,岳玉娜,齊志會(huì)
(北京航天發(fā)射技術(shù)研究所,北京,100076)
基于ADAMS和MATLAB的模塊化建模方法與實(shí)現(xiàn)
吳 艷,岳玉娜,齊志會(huì)
(北京航天發(fā)射技術(shù)研究所,北京,100076)
從動(dòng)力學(xué)模塊化模型重用的需求出發(fā),采用ADAMS與MATLAB聯(lián)合開(kāi)發(fā)的方法,以多軸重型車(chē)輛為對(duì)象,從拓?fù)浣Y(jié)構(gòu)與模型設(shè)計(jì)、模版開(kāi)發(fā)、服務(wù)開(kāi)發(fā)3個(gè)方面利用cmd腳本和m語(yǔ)言進(jìn)行模塊化建模與快速裝訂的方法研究,最后通過(guò)多軸重型車(chē)輛動(dòng)力學(xué)建模原型系統(tǒng)驗(yàn)證了模塊化建模方法的可行性、有效性以及模型的可重用性能,為復(fù)雜動(dòng)力學(xué)系統(tǒng)建模與模型重用提供了可以參考的方法。
模塊化;建模方法;ADAMS;MATLAB
隨著計(jì)算機(jī)技術(shù)與仿真技術(shù)的發(fā)展,功能化虛擬樣機(jī)被廣泛用于復(fù)雜產(chǎn)品設(shè)計(jì)與分析中。基于商用軟件和計(jì)算多體動(dòng)力學(xué)的動(dòng)力學(xué)虛擬試驗(yàn)樣機(jī)構(gòu)建及其仿真分析,為產(chǎn)品設(shè)計(jì)、性能分析、故障預(yù)示與診斷、可靠性分析等設(shè)計(jì)和分析提供了技術(shù)手段。
MSC ADAMS是目前被廣泛應(yīng)用的機(jī)構(gòu)動(dòng)力學(xué)建模與仿真集成環(huán)境之一。它提供了SDK開(kāi)發(fā)、用戶(hù)子程序和cmd腳本+宏命令3種主要二次開(kāi)發(fā)方式。其中SDK二次開(kāi)發(fā)方式可以實(shí)現(xiàn)外部程序和過(guò)程對(duì)ADAMS仿真的控制和數(shù)據(jù)交互,可用于分布式仿真[1];用戶(hù)子程序可以實(shí)現(xiàn)ADAMS沒(méi)有提供特殊功能的函數(shù)[2],支持Fortran和C++兩種開(kāi)發(fā)方式;cmd腳本+宏命令可以實(shí)現(xiàn) ADAMS軟件平臺(tái)內(nèi)的用戶(hù)化設(shè)計(jì)和界面開(kāi)發(fā)[3~5]以及模型的參數(shù)化[5]。上述3種二次開(kāi)發(fā)方法,主要針對(duì)ADAMS與外部的數(shù)據(jù)交互、用戶(hù)特殊的建模和仿真功能,雖然一定程度上提高了建模效率,但是沒(méi)有解決相同模型在不同動(dòng)力學(xué)仿真過(guò)程中的重用問(wèn)題。
本文從模型重用角度出發(fā),以多軸重型車(chē)輛動(dòng)力學(xué)模型為對(duì)象,提出了基于ADAMS與MATLAB 的模塊化建模方法,通過(guò)模塊化模型模版和參數(shù)化自動(dòng)裝配解決了多軸車(chē)輛建模工作量大、效率低、錯(cuò)誤率高的問(wèn)題,實(shí)現(xiàn)了典型功能模塊在不同類(lèi)型車(chē)輛模型中的重用。
1.1 cmd腳本語(yǔ)言
cmd腳本語(yǔ)言是ADAMS中View和PostProcessor模塊采用的開(kāi)發(fā)語(yǔ)言。它能夠?qū)崿F(xiàn)View中大部分的建模過(guò)程,同時(shí)還可以對(duì)ADAMS軟件進(jìn)行用戶(hù)定制開(kāi)發(fā)。利用cmd腳本語(yǔ)言可以無(wú)損的存儲(chǔ)模型,同時(shí)能夠?qū)崿F(xiàn)模型跨平臺(tái)、跨版本的移植。
cmd腳本中,典型的命令行語(yǔ)法結(jié)構(gòu)如圖1所示。語(yǔ)法結(jié)構(gòu)中,關(guān)鍵字1~3描述命令的對(duì)象,參數(shù)1~參數(shù)n描述命令的內(nèi)容,典型的關(guān)鍵字和參數(shù)如表 1所示。

表1 cmd語(yǔ)言說(shuō)明

續(xù)表1
利用cmd腳本語(yǔ)言,可以實(shí)現(xiàn)參數(shù)化的用戶(hù)模型開(kāi)發(fā)過(guò)程和基于腳本文件的用戶(hù)過(guò)程重用。圖2為利用 cmd語(yǔ)言建立參數(shù)化單向力模版的實(shí)例,其中model_name_new是模型名稱(chēng),axis_num為表示編號(hào)的變量。
1.2 m語(yǔ)言
m語(yǔ)言的語(yǔ)法結(jié)構(gòu)和使用方式與 Fortran語(yǔ)言相似,它通過(guò)調(diào)用MATLAB基本庫(kù)和工具箱的函數(shù),實(shí)現(xiàn)用戶(hù)過(guò)程的編程開(kāi)發(fā)。圖3為m語(yǔ)言文檔解析實(shí)例。
文件解析是iSight、Model Center等基于過(guò)程的多學(xué)科優(yōu)化系統(tǒng)常用的過(guò)程集成方式之一。利用MATLAB對(duì)文件操作的功能和m語(yǔ)言編程,可以方便地實(shí)現(xiàn)文件解析過(guò)程。
1.3 基于ADAMS與MATLAB的快速建模
基于ADAMS與MATLAB的快速建模方法,其實(shí)質(zhì)是利用cmd腳本語(yǔ)言實(shí)現(xiàn)用戶(hù)模版的參數(shù)化、模塊化,利用m語(yǔ)言實(shí)現(xiàn)用戶(hù)模版的實(shí)例化和模型裝配。可以用積木的制作過(guò)程來(lái)形象的描述基于ADAMS與MATLAB的快速建模過(guò)程。3種不同形狀的積木設(shè)計(jì)圖紙,可以看做是cmd腳本語(yǔ)言開(kāi)發(fā)的3個(gè)模版。不同數(shù)量積木的加工和組裝過(guò)程,就是m語(yǔ)言對(duì)模版實(shí)例化和模型裝配的過(guò)程,如圖4所示。
模型模版開(kāi)發(fā)和實(shí)例化的過(guò)程示例見(jiàn)圖5。
1.4 技術(shù)關(guān)鍵點(diǎn)
基于ADAMS和MATLAB的模塊化動(dòng)力學(xué)建模的技術(shù)關(guān)鍵點(diǎn)主要包括以下4點(diǎn):
a)對(duì)象需求與拓?fù)浣Y(jié)構(gòu)分析;
b)模型接口與參數(shù)設(shè)計(jì);
c)模塊化模型模版開(kāi)發(fā);
d)模型裝訂服務(wù)開(kāi)發(fā)。
以多軸重型車(chē)輛為例介紹基于 ADAMS與MATLAB的模塊化建模方法及其技術(shù)關(guān)鍵點(diǎn)的實(shí)現(xiàn)。
2.1 拓?fù)浣Y(jié)構(gòu)與模型設(shè)計(jì)
2.1.1 拓?fù)浣Y(jié)構(gòu)分析
多軸重型車(chē)輛結(jié)構(gòu)復(fù)雜、功能模塊多,根據(jù)動(dòng)力學(xué)模型載荷傳遞與分配關(guān)系,其承載結(jié)構(gòu)主要分為底盤(pán)和上裝兩個(gè)部分。
考慮到虛擬試驗(yàn)樣機(jī)分析過(guò)程中模型模塊功能拆解的獨(dú)立性,將多軸重型車(chē)輛分解為底盤(pán)、轉(zhuǎn)向、上裝3類(lèi)分系統(tǒng),各個(gè)分系統(tǒng)又分解為具體的功能結(jié)構(gòu)模塊,如圖6所示。
2.1.2 模型設(shè)計(jì)
模型設(shè)計(jì)的內(nèi)容包括接口設(shè)計(jì)和參數(shù)設(shè)計(jì)兩部分。
a)接口設(shè)計(jì):接口主要描述模塊化模型之間的關(guān)系。從模型重用出發(fā),接口設(shè)計(jì)要點(diǎn)是接口類(lèi)型和接口參數(shù)。接口類(lèi)型主要描述模型之間的連接方式,包括運(yùn)動(dòng)副(約束)類(lèi)型、載荷特性、剛度特性等。接口參數(shù)用于描述接口的數(shù)字特征,如位置、剛度、阻尼等。
b)參數(shù)設(shè)計(jì):參數(shù)設(shè)計(jì)主要是對(duì)描述具體模型或模塊的參數(shù)進(jìn)行設(shè)計(jì)。參數(shù)類(lèi)型包括質(zhì)量參數(shù)、模態(tài)參數(shù)、力學(xué)特性參數(shù)等,參數(shù)示例如表2所示。

表2 質(zhì)量屬性參數(shù)
2.2 虛擬試驗(yàn)樣機(jī)模版開(kāi)發(fā)
虛擬試驗(yàn)樣機(jī)模版包括模型模版、參數(shù)模版、功能模塊模版、裝訂模版4類(lèi)。
a)模型模版。
模型模版用于描述組成動(dòng)力學(xué)虛擬試驗(yàn)樣機(jī)的各個(gè)功能模塊的基本特性。根據(jù)表現(xiàn)方式不同,模型模版分為幾何模型、柔性承載結(jié)構(gòu)模型、輪胎模型、負(fù)載質(zhì)量模型等多類(lèi)模版。對(duì)于各類(lèi)模版,通過(guò)坐標(biāo)系分配和規(guī)范化的命令方式保證模版可以被不同的動(dòng)力學(xué)模型引用。
典型幾何模型模版命名規(guī)范和坐標(biāo)系規(guī)定見(jiàn)表3。
b)參數(shù)模版。
參數(shù)模版用于描述模型模版中各類(lèi)模型的有效參數(shù),以實(shí)現(xiàn)基于參數(shù)的虛擬試驗(yàn)樣機(jī)驅(qū)動(dòng)。參數(shù)模版采用cmd腳本語(yǔ)言開(kāi)發(fā),示例如圖7所示。

表3 典型幾何模型模版命名規(guī)范與坐標(biāo)系規(guī)定
圖7中“{}”為參數(shù)標(biāo)識(shí),其主要作用為表示參數(shù)位置;“{}”內(nèi)為用戶(hù)根據(jù)需要輸入的模型參數(shù)。
c)功能模塊模版。
功能模塊模版是多軸車(chē)輛動(dòng)力學(xué)樣機(jī)的核心模塊,主要描述動(dòng)力學(xué)模型功能模塊的組成、功能等。以ADAMS腳本文件為表現(xiàn)形式。功能模塊分解的原則是簡(jiǎn)化系統(tǒng)、保證模塊的可重用性。多軸重型車(chē)輛動(dòng)力學(xué)模型中根據(jù)功能模塊的重用情況,將其分為簡(jiǎn)單功能模塊、基本功能模塊和復(fù)雜功能模塊3類(lèi),如表4所示。

表4 多軸重型車(chē)輛模型功能模塊模版

續(xù)表4
d)裝訂模版。
模型裝訂模版的功能是通過(guò)參數(shù)模版、功能模塊模版的組合,建立滿(mǎn)足用戶(hù)虛擬試驗(yàn)要求的動(dòng)力學(xué)虛擬試驗(yàn)樣機(jī),以實(shí)現(xiàn)虛擬試驗(yàn)樣機(jī)參數(shù)、功能、模塊的可配置,從而簡(jiǎn)化樣機(jī)構(gòu)建過(guò)程,提高工作效率。
模型裝訂模版在MATLAB軟件環(huán)境下運(yùn)行,采用文本文件形式對(duì)虛擬試驗(yàn)樣機(jī)進(jìn)行主要狀態(tài)描述。狀態(tài)描述的主要內(nèi)容包括樣機(jī)模型文檔名稱(chēng)、模型組成、樣機(jī)屬性配置3部分內(nèi)容。
模型組成部分的模版內(nèi)容如圖8所示。樣機(jī)屬性配置示例如表5所示。

表5 樣機(jī)屬性配置示例
2.3 虛擬試驗(yàn)樣機(jī)應(yīng)用服務(wù)開(kāi)發(fā)
虛擬試驗(yàn)樣機(jī)應(yīng)用服務(wù)包括參數(shù)解析服務(wù)和模型裝訂服務(wù)2個(gè)部分。應(yīng)用服務(wù)流程如圖9所示。
a)參數(shù)解析服務(wù)。
參數(shù)解析服務(wù)是利用樣機(jī)技術(shù)狀態(tài)文檔,對(duì)虛擬試驗(yàn)樣機(jī)的各類(lèi)參數(shù)進(jìn)行解析,形成樣機(jī)所需的參數(shù)文件和參考點(diǎn)文件。
參數(shù)解析服務(wù)在MATLAB環(huán)境下以m函數(shù)腳本方式開(kāi)發(fā)。參數(shù)解析服務(wù)函數(shù)如表6所示。

表6 參數(shù)解析服務(wù)函數(shù)
b)模型裝訂服務(wù)。
模型裝訂服務(wù)是根據(jù)模型參數(shù)和裝訂參數(shù),利用模型模版、功能模塊模版建立動(dòng)力學(xué)虛擬試驗(yàn)樣機(jī)。
模型裝訂功能的核心代碼采用 MATLAB語(yǔ)言編寫(xiě),并編譯為可執(zhí)行文件,對(duì)代碼實(shí)行著作權(quán)保護(hù)。模型裝訂服務(wù)函數(shù)如表7所示。

表7 樣機(jī)裝訂的MATLAB子函數(shù)
為驗(yàn)證基于ADAMS與MATLAB的模塊化建模方法的可行性,開(kāi)發(fā)了多軸重型車(chē)輛建模原型系統(tǒng)。原型系統(tǒng)由界面層、接口層和核心層3個(gè)部分組成。界面層為面向用戶(hù)的原型系統(tǒng)最頂層結(jié)構(gòu),主要由參數(shù)設(shè)置、模型查看和數(shù)據(jù)顯示界面組成;接口層是界面層與核心層、核心層各模塊間數(shù)據(jù)傳遞的橋梁,由核心層各個(gè)模塊與界面層的接口、核心層各個(gè)模塊之間的數(shù)據(jù)接口組成;核心層是原型系統(tǒng)的核心,由參數(shù)設(shè)置、樣機(jī)裝訂、模型初步校核3個(gè)模塊構(gòu)成。接口層運(yùn)行邏輯如圖10所示。
原型系統(tǒng)參數(shù)界面和裝訂界面分別如圖11、圖12所示。
多軸重型車(chē)輛動(dòng)力學(xué)建模原型系統(tǒng),通過(guò)界面方式實(shí)現(xiàn)接口類(lèi)型、接口參數(shù)、模塊內(nèi)部參數(shù)的配置和基于裝訂參數(shù)的模塊化模型構(gòu)建,實(shí)現(xiàn)了以參數(shù)、接口和組件為基礎(chǔ)的動(dòng)力學(xué)參數(shù)化、模塊化、知識(shí)化、通用化,樣機(jī)構(gòu)建過(guò)程無(wú)需人工干預(yù),驗(yàn)證了基于ADAMS與MATLAB的模塊化動(dòng)力學(xué)建模方法的可行性和有效性。
采用基于ADAMS與MATLAB的模塊化建模方法,與傳統(tǒng)方法相比,建模時(shí)間從原來(lái)的大于15個(gè)工作日縮短到不足1個(gè)工作日,建模工作規(guī)范性明顯加強(qiáng),仿真過(guò)程管理和三級(jí)審簽人員的工作效率大幅提高。
本文提出了一種基于ADAMS與MATLAB的模塊化建模方法,以多軸重型車(chē)輛為對(duì)象,從拓?fù)浣Y(jié)構(gòu)與模型設(shè)計(jì)、模版開(kāi)發(fā)、服務(wù)開(kāi)發(fā)3個(gè)方面介紹了該方法的具體實(shí)現(xiàn)途徑。最后通過(guò)多軸重型車(chē)輛動(dòng)力學(xué)建模原型系統(tǒng)驗(yàn)證了基于ADAMS與MATLAB的模塊化建模方法的可行性與有效性及模型的可重用性能,實(shí)現(xiàn)了動(dòng)力學(xué)模型的參數(shù)化和模塊化,為其他動(dòng)力學(xué)系統(tǒng)建模提供了可以參考的方法。
[1] 梁思率, 等. ADAMS二次開(kāi)發(fā)技術(shù)在分布式仿真中的應(yīng)用[J]. 系統(tǒng)仿真學(xué)報(bào), 2009, 21(10): 2940-2944.
[2] 陳立平, 等. 機(jī)械系統(tǒng)動(dòng)力學(xué)分析及 ADAMS應(yīng)用教程[M]. 北京: 清華大學(xué)出版社, 2005.
[3] 戴聞, 等. 基于ADAMS二次開(kāi)發(fā)的零部件約束庫(kù)建模仿真研究[J]. 機(jī)械工程師, 2009(9): 76-78.
[4] 陳淑艷, 等. 基于ADAMS的履帶車(chē)輛二次開(kāi)發(fā)建模研究[J]. 機(jī)械設(shè)計(jì)與制造, 2008(10): 192-193.
[5] 姚壽文, 等. 綜合傳動(dòng)系統(tǒng)虛擬樣機(jī)建模與仿真平臺(tái)研究[J]. 計(jì)算機(jī)仿真, 2008, 25(2): 257-260.
[6] MSC Software. MSC.ADAMS/View高級(jí)培訓(xùn)教程[M]. 邢俊文, 陶永忠,譯. 北京: 清華大學(xué)出版社, 2004.
Study and Implementation of Modular Modeling Method Based on ADAMS and MATLAB
Wu Yan, Yue Yu-na, Qi Zhi-hui
(Beijing Institute of Space Launch Techology, Beijing, 100076)
A modular modeling method based on co-simulation of ADAMS and MATLAB is developed with multi-axle heavy vehicles as the research object in this paper. The method is illustrated in the aspects of topological model design, templates and services development using cmd script and MATLAB language. The feasibility and effectivity of the method and model reusability are tested through a multi-axle vehicle prototype building. This paper presents a referable approach for complex dynamic system modeling.
Modularization; Modeling method; ADAMS; MATLAB
TP391.9
A
1004-7182(2017)02-0066-06
10.7654/j.issn.1004-7182.20170215
2016-04-06;
2016-07-25
吳 艷(1977-),女,高級(jí)工程師,主要研究方向?yàn)閺?fù)雜系統(tǒng)仿真與虛擬試驗(yàn)
導(dǎo)彈與航天運(yùn)載技術(shù)2017年2期