孫 剛,曹云峰,莊麗葵,王西超
(南京航空航天大學(xué) 自動(dòng)化學(xué)院,江蘇 南京 210016 )
現(xiàn)代飛控系統(tǒng)設(shè)計(jì)向先進(jìn)的主動(dòng)控制技術(shù)、綜合控制技術(shù)、主動(dòng)安全技術(shù)和智能控制技術(shù)的方向發(fā)展,傳統(tǒng)的系統(tǒng)研制再到樣機(jī)驗(yàn)證已難以滿足現(xiàn)代飛控系統(tǒng)的復(fù)雜狀況,而在機(jī)械、航空航天等領(lǐng)域的虛擬原型(virtual prototype,VP) 研究為這些領(lǐng)域中復(fù)雜系統(tǒng)設(shè)計(jì)提供了強(qiáng)有力的支持,其中美國(guó)佐治亞大學(xué)開(kāi)展了汽車(chē)領(lǐng)域的復(fù)雜系統(tǒng)樣機(jī)平臺(tái)的研究[1-2];航天二院李伯虎院士團(tuán)隊(duì)以導(dǎo)彈系統(tǒng)虛擬樣機(jī)設(shè)計(jì)為背景,開(kāi)展了多領(lǐng)域復(fù)雜系統(tǒng)虛擬樣機(jī)工程的研究[3];北航陳宗基等[4]針對(duì)飛控系統(tǒng)設(shè)計(jì)需要,研究了飛控系統(tǒng)虛擬樣機(jī)技術(shù).本文從系統(tǒng)工程的角度,進(jìn)行了支持系統(tǒng)頂層設(shè)計(jì)、功能驗(yàn)證的虛擬樣機(jī)平臺(tái)研究.
基于模型的系統(tǒng)工程(model based system engineering,MBSE)是對(duì)系統(tǒng)工程活動(dòng)中建模方法應(yīng)用的正式認(rèn)同,以使建模方法支持系統(tǒng)要求、設(shè)計(jì)、分析、驗(yàn)證和確認(rèn)等活動(dòng),這些活動(dòng)從概念性設(shè)計(jì)階段開(kāi)始,持續(xù)貫穿到設(shè)計(jì)開(kāi)發(fā)以及后來(lái)的所有的生命周期階段[5-6].本文以MBSE為指導(dǎo)思想,利用SysML系統(tǒng)建模語(yǔ)言,搭建由Rhapsody、Simulink、VC、Oracle、Doors構(gòu)成的飛行控制系統(tǒng)虛擬樣機(jī)平臺(tái),如圖1所示.平臺(tái)的作用是建立起飛控系統(tǒng)虛擬樣機(jī)(FCS-VP)的仿真模型并進(jìn)行功能驗(yàn)證,將飛控系統(tǒng)的需求模型、功能模型、動(dòng)力學(xué)模型等集成在一起,從功能和行為模擬完整的飛控系統(tǒng),使設(shè)計(jì)人員在早期即可通過(guò)飛控樣機(jī)方案的驗(yàn)證消除其中可能存在的錯(cuò)誤并修改,以避免后期工程研制出現(xiàn)反復(fù).
該平臺(tái)以IBM Rhapsody為核心架構(gòu),在Rhapsody中利用SysML需求圖和用例圖構(gòu)建飛控系統(tǒng)需求模型,利用塊圖/對(duì)象圖和狀態(tài)圖/順序圖設(shè)計(jì)飛控系統(tǒng)功能模型[7];在Matlab/Simulink中來(lái)進(jìn)行飛機(jī)連續(xù)系統(tǒng)模型設(shè)計(jì),如飛行控制律、動(dòng)力學(xué)系統(tǒng)模型等;利用Visual C++6.0 開(kāi)發(fā)系統(tǒng)可視化界面連接Rhapsody、Matlab/Simulink和Oracle,并利用ADO數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)與Oracle數(shù)據(jù)庫(kù)建立關(guān)聯(lián),管理飛控系統(tǒng)虛擬樣機(jī)開(kāi)發(fā)過(guò)程中的數(shù)據(jù)、文檔和模型的存?。籇oors中的用戶需求能夠和Rhapsody中的需求模型雙向動(dòng)態(tài)關(guān)聯(lián).
1) 與傳統(tǒng)飛控系統(tǒng)設(shè)計(jì)方法中以文檔形式存在的設(shè)計(jì)方案對(duì)應(yīng),采用形式化圖形系統(tǒng)建模語(yǔ)言SysML構(gòu)造飛控系統(tǒng)虛擬樣機(jī),而Rhapsody平臺(tái)是目前對(duì)SysML建模支持最為完善的工具之一,且具有模型仿真、調(diào)試及文檔自動(dòng)生成等功能,能夠?qū)︼w控系統(tǒng)進(jìn)行工程項(xiàng)目全周期的支持,并提供直觀的需求視圖、用例視圖以及狀態(tài)圖、順序圖和活動(dòng)圖對(duì)飛控系統(tǒng)進(jìn)行模擬,生成可執(zhí)行的應(yīng)用程序.
2) 由于SysML缺乏對(duì)飛控系統(tǒng)連續(xù)動(dòng)態(tài)行為的支持,而Matlab/Simulink是目前連續(xù)系統(tǒng)建模領(lǐng)域的標(biāo)準(zhǔn)軟件,本平臺(tái)集成Rhapsody/SysML與Matlab/Simulink,對(duì)于飛控系統(tǒng)離散和邏輯基本特征采用基于SysML的離散事件進(jìn)行建模仿真;而對(duì)于飛控系統(tǒng)基于連續(xù)時(shí)間域的物理特性采用基于Simulink的連續(xù)系統(tǒng)進(jìn)行建模仿真[8].融合離散時(shí)間仿真系統(tǒng)和連續(xù)時(shí)間仿真系統(tǒng),并利用SysML與Simulink進(jìn)行協(xié)同仿真,是構(gòu)建飛控系統(tǒng)虛擬樣機(jī)平臺(tái)的重要部分.
3) 平臺(tái)進(jìn)行了多項(xiàng)工程功能的開(kāi)發(fā),Doors進(jìn)行飛控系統(tǒng)各項(xiàng)需求的管理,并將需求導(dǎo)入Rhapsody中建立需求用例圖,而Oracle進(jìn)行系統(tǒng)開(kāi)發(fā)中的數(shù)據(jù)、文檔、模型的存儲(chǔ)工作,VC提供用戶界面用以管理Oracle中各項(xiàng)工程信息.
本平臺(tái)的運(yùn)行原理是以Rhapsody平臺(tái)下動(dòng)態(tài)調(diào)用由Simulink/RTW生成的連續(xù)系統(tǒng)模型代碼融入SysML代碼中,模型代碼的動(dòng)態(tài)交互方式是本平臺(tái)研究的重點(diǎn).研究Rhapsody平臺(tái)SysML代碼運(yùn)行原理,修改Simulink代碼嵌入SysML模型代碼中,利用Rhapsody運(yùn)行平臺(tái)進(jìn)行代碼的融合.為實(shí)現(xiàn)SysML與Simulink代碼的交互,本文在Rhapsody平臺(tái)利用SysML的模塊擴(kuò)展機(jī)制設(shè)置Profile文件以及相應(yīng)的配置屬性[9].
SysML Profile 是一種SysML為了讓所有建模工具都支持它而擴(kuò)展的一個(gè)特定的包,Profile包括構(gòu)造型(stereotype)、標(biāo)記值(tagged value)和約束(constraint)等元素,構(gòu)造型是指在已有模型元素的基礎(chǔ)上構(gòu)造新的模型元素,其模型內(nèi)容和形式與原有模型相同,增加新的語(yǔ)義或約束;標(biāo)記值擴(kuò)展模型元素的附加屬性;約束可以擴(kuò)展模型元素增加新的規(guī)則.
在Rhapsody平臺(tái)下添加Profile以實(shí)現(xiàn)SysML與Simulink的無(wú)縫集成,添加的Profile包含新的模型元素其構(gòu)造型為SimulinkBlock,即以SysML類(lèi)模型為基礎(chǔ)的Simulink模塊;為了告知Rhapsody平臺(tái)相應(yīng)的信息,還應(yīng)添加相應(yīng)的標(biāo)記值,IncludePath標(biāo)記Simulink模型代碼運(yùn)行時(shí)調(diào)用的頭文件路徑;Matlab-Root標(biāo)記Matlab求解器目錄;SimulinkProjectFile 標(biāo)記所需Simulink 模型文件路徑;SimulinkSampleTime標(biāo)記SysML模型與Simulink模型之間進(jìn)行數(shù)據(jù)交互的時(shí)間周期;SimulinkCodeDir指定Simulink 模型的RTW 代碼路徑;SimulinkSourceFiles標(biāo)記Simulink模型RTW代碼文件中需要導(dǎo)入到SysML模型中的文件名稱(chēng).
為了實(shí)現(xiàn)SysML模型與構(gòu)造的SimulinkBlock模型的數(shù)據(jù)通信,還需在Profile中添加Simulink/RTW定義的專(zhuān)用數(shù)據(jù)類(lèi)型,使得SysML模型代碼在運(yùn)行過(guò)程中能夠識(shí)別SimulinkBlock的數(shù)據(jù).如表1所示,左列為需要在Profile 中添加的SysML新的數(shù)據(jù)類(lèi)型,其表示右列的Simulink/RTW所生成代碼的數(shù)據(jù)類(lèi)型.
表1 SysML與Simulink通信類(lèi)型
虛擬樣機(jī)平臺(tái)為飛控系統(tǒng)的設(shè)計(jì)提供了很好的設(shè)計(jì)環(huán)境,因此本文詳細(xì)介紹了飛控系統(tǒng)虛擬樣機(jī)的設(shè)計(jì)及驗(yàn)證過(guò)程.
傳統(tǒng)的需求都被表示為文檔的形式,SysML 將需求描述作為模型元素描述產(chǎn)品功能,并定義了實(shí)現(xiàn)功能的約束條件,使其變成產(chǎn)品架構(gòu)的一部分.
本文以某型號(hào)飛行器系統(tǒng)建模為例,首先分析用戶需求及外部環(huán)境的約束,使用SysML需求圖建立系統(tǒng)需求模型,并且根據(jù)需求類(lèi)型關(guān)聯(lián)到具體結(jié)構(gòu)及行為,驅(qū)動(dòng)整個(gè)系統(tǒng)過(guò)程.需求模型可以具有約束(constraints)屬性,約束屬性定義了作為其參數(shù)的語(yǔ)法和屬性,并且可以關(guān)聯(lián)到模塊的具體元素.下一步分析需求得到的主要用例模型,如圖2所示,飛控系統(tǒng)依賴(lài)于飛控計(jì)算機(jī),其主要傳感器如姿態(tài)信號(hào)傳感器AHRS、氣壓高度計(jì)等,執(zhí)行機(jī)構(gòu)如飛機(jī)舵機(jī)進(jìn)行信號(hào)交互[10].
為了驗(yàn)證建立的飛控系統(tǒng)虛擬樣機(jī)用例功能模塊,以SysML塊圖(block diagram)建立了由飛控計(jì)算機(jī)、舵機(jī)、飛機(jī)機(jī)體、傳感器、飛行模態(tài)控制等組成的飛控系統(tǒng)虛擬樣機(jī)系統(tǒng)結(jié)構(gòu)圖.其中控制律Controller塊和飛機(jī)動(dòng)力學(xué)特性Plant塊利用Profile擴(kuò)展的方式繼承構(gòu)造型SimulinkBlock,以調(diào)用Simulink生成的連續(xù)模型代碼;每個(gè)塊圖定義了與其它模塊交互數(shù)據(jù)的端口(port),端口之間通過(guò)連接器(connector)進(jìn)行連接.
在虛擬樣機(jī)運(yùn)行過(guò)程中,傳感器測(cè)量飛機(jī)的狀態(tài)信息;飛行控制計(jì)算機(jī)根據(jù)飛機(jī)狀態(tài)信進(jìn)行控制律解算出控制信號(hào); 執(zhí)行機(jī)構(gòu)是根據(jù)控制信號(hào)控制飛機(jī)的舵機(jī);模態(tài)邏輯控制模塊可以接受飛行參數(shù)信息和飛行控制指令進(jìn)行飛行模態(tài)的控制.本文建立了如圖3所示的飛機(jī)由起飛至著陸的完整模態(tài)過(guò)程,利用SysML狀態(tài)圖形式驗(yàn)證飛控虛擬樣機(jī)各模態(tài)功能是否滿足設(shè)計(jì)需求中的各項(xiàng)要求,其中爬升模態(tài)(climb)如圖4所示,通過(guò)仿真驗(yàn)證所設(shè)計(jì)樣機(jī)的功能、行為及初步性能滿足設(shè)計(jì)需求,可確保設(shè)計(jì)方案中沒(méi)有歧義和錯(cuò)誤,設(shè)計(jì)工作可以轉(zhuǎn)入下一步的工程研制階段[11-12].
本文搭建了飛控系統(tǒng)虛擬樣機(jī)平臺(tái),詳細(xì)介紹了以Profile擴(kuò)展的方式解決平臺(tái)軟件的集成,并在此平臺(tái)上設(shè)計(jì)和驗(yàn)證了完整飛控系統(tǒng)虛擬樣機(jī).經(jīng)實(shí)踐證明,此平臺(tái)可以進(jìn)行虛擬樣機(jī)設(shè)計(jì)、試驗(yàn)、測(cè)試和評(píng)估,其中SysML建模語(yǔ)言/Rhapsody工具能夠?qū)ο到y(tǒng)方案過(guò)程中功能架構(gòu)、動(dòng)態(tài)行為等提供全面的支持,并能夠提前進(jìn)行樣機(jī)驗(yàn)證并發(fā)現(xiàn)不符合產(chǎn)品需求的設(shè)計(jì)缺陷, 確保工程系統(tǒng)的功能、行為、性能以及作戰(zhàn)效能滿足設(shè)計(jì)要求,顯著改善了系統(tǒng)設(shè)計(jì)方案周期,提高了飛控系統(tǒng)樣機(jī)設(shè)計(jì)方案的靈活性.
參考文獻(xiàn):
[1] BRANSCOMB J M, PAREDIS C J J, CHE J, et al. Supporting multidisciplinary vehicle analysis using a vehicle reference architecture model in SysML[J]. Procedia Computer Science, 2013, 16:79-88.
[2] KIM H, FRIED D, MENEGAY P, et al. Application of integrated modeling and analysis to development of complex systems[J]. Procedia Computer Science, 2013, 16:98-107..
[3] 李伯虎,朱文海,劉杰,等.復(fù)雜產(chǎn)品虛擬樣機(jī)技術(shù)的研究與實(shí)踐[J].測(cè)控技術(shù), 2001, 20(11):1-6.
[4] 陳宗基,黃浩東,秦旭東.飛行控制系統(tǒng)虛擬原型技術(shù)[J].航空學(xué)報(bào),2002,23(5):442-447.
[5] 倪忠建,張彥,李漪.模型驅(qū)動(dòng)的系統(tǒng)設(shè)計(jì)方法應(yīng)用研究[J].航空電子技術(shù),2011,42(1):18-23.
[6] RASSA B, HSU E, LIPPNER G. Systems engineering vision 2020[EB/OL].(2007-09-01)[2013-07-31] www.incose.org/ProductsPubs/products/sevision2020.aspx.
[7] MCKELVIN M L, JIMENEZ A. Specification and design of electrical flight system architectures with SysML[C]//Proceedings of the AIAA Infotech@Aerospace 2012 Conference. US:Garden Grove, California, 2012.
[8] 劉廈,王宇英,周興社,等.面向CPS系統(tǒng)仿真的建模方法研究與設(shè)計(jì)[J].計(jì)算機(jī)科學(xué),2012,39(7):32-35.
[9] 劉玉生,袁文強(qiáng),樊紅日,等.基于SysML的模型驅(qū)動(dòng)復(fù)雜產(chǎn)品設(shè)計(jì)的信息集成框架研究[J].中國(guó)機(jī)械工程,2012,23(12):1438-1445.
[10] 羅麗燕,劉中田.基于UML的無(wú)人機(jī)飛控系統(tǒng)建模[J].航空計(jì)算技術(shù),2012,42(5):127-130.
[11] 劉興華,曹云峰,王 彪,等.基于SysML與Simulink的飛控系統(tǒng)概念樣機(jī)設(shè)計(jì)[J].電子科技大學(xué)學(xué)報(bào),2011,40(6):887-891.
[12] 劉興華.飛行控制系統(tǒng)數(shù)字化設(shè)計(jì)技術(shù)研究[D].南京:南京航空航天大學(xué),2011.