999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FMI的衛星數字仿真平臺設計及實現

2024-03-12 12:37:04陳歡歡吳洪成王吉旭
空間控制技術與應用 2024年1期
關鍵詞:引擎可視化模型

陳歡歡, 桑 毅, 張 鵬,2*, 吳洪成, 王吉旭

1. 中國空間技術研究院杭州中心, 杭州 310024

2. 北京控制工程研究所, 北京 100094

0 引 言

衛星是一類涉及機、電、光和熱等多學科的典型復雜對象[1].傳統的仿真軟件只支持特定的領域模型,為了研究多因素耦合下的衛星運行場景,驗證系統設計的合理性,需要將衛星運行涉及的多學科仿真模型集成到同一環境下進行聯合仿真,但這些仿真模型通常來源于不同的建模仿真工具,由于工具之間的接口不統一,各專業工具構建的模型不能有效地集成到統一的仿真工具中進行聯合仿真,導致模型重復設計與開發,不僅耗時耗力而且系統的驗證效率也較低[2].因此,亟需一種標準的數據交換接口,來解決仿真模型接口不兼容的問題.

為解決上述問題,2010年1月Modelisar協會推出了一種獨立于仿真工具的FMI (functional mock-up interface)接口標準[3-4].依據該標準,各仿真工具只需將各自搭建的模型按照FMI標準導出成FMU(functional mock-up unit),便可實現在任意支持FMI標準的仿真工具中進行聯合仿真的目的,從而能夠有效利用不同仿真工具及其專業模型庫的優勢,克服復雜對象仿真過程中多源模型難以實現數據交互的難題,使多源模型在統一的仿真引擎下運行成為可能[5-7].

目前已有眾多廠商開始在自己的工具平臺上支持FMI模型的導出,如:Simulink、SimulationX、AMESim和MWorks等[2-8].其中,Simulink是美國Mathworks公司推出的一款可視化仿真工具,其特點是模型以可視化圖形塊的形式存在,且相互之間通過輸入輸出端口進行數據交互,由于避免了代碼編寫,僅通過連線方式,就可快速地構造出復雜的系統,因而顯著地降低了系統仿真的門檻,目前被廣泛用于汽車、工業控制、航空航天和電力系統等領域[8].SimulationX是德國ITI公司開發的多學科建模仿真平臺,內部集成有強大的標準模型庫,支持Modelica標準以及CAD文件導入等功能,可以直接驅動場景中的三維機械結構進行運動仿真,該軟件在研究完整的動作執行過程方面具有顯著優勢,經過多年的迭代發展,該仿真平臺在機械、石油、能源和車輛等領域得到了大量應用.AMESim是德國西門子旗下的一款多學科復雜系統建模仿真平臺,廣泛應用在液壓、機電、冷卻和制動等系統中,其仿真平臺的最大特點是基于因果關系建模,只有符合匹配關系的2個模型才能實現正確連接,否則將無法連通,因此在該平臺上搭建的求解模型錯誤率較低,另外由于在仿真過程中規定了每個模型的仿真任務,一旦仿真出錯,可以基于因果關系,快速定位到故障點,這對于一些大型復雜系統的仿真而言,在提升仿真效率方面具有顯著優勢.MWorks是中國蘇州同元公司基于Modelica語言開發的一款多學科仿真平臺,可實現對機、電、液和控等領域的模型進行聯合仿真,支持復雜裝備全生命周期的開發,其產品功能涵蓋:系統設計、仿真驗證、模型集成、虛擬測試和協同仿真等環節,已在大飛機、空間站、航空發動機和船舶動力等領域展開了相關應用.總的來說,上述軟件所包含的模型庫主要由單一功能的數學計算模塊組成,對于衛星系統這類復雜對象模型的構建及集成,依賴較強的專業知識,需要耗費大量的時間和人力[9-12].因此將衛星部件模型采用標準化接口進行封裝并開發配套的仿真工具套件,是解決衛星部件模型復用性不高及仿真開發效率低的有效手段[13-15].

針對含多領域模型的衛星仿真問題,本文基于FMI接口標準和模型復用技術,構建了一個能夠支持衛星數字仿真的工具體系架構,在此基礎上,基于模塊化思想設計了衛星數字仿真平臺,并給出Simulink及C/C++模型的FMI標準封裝方法.利用衛星數字仿真平臺,搭建了多星運行仿真場景,通過遠程過程調用技術,將仿真過程數據推送到可視化平臺中,完成對衛星運行場景的可視化展示.

1 仿真工具體系架構

為支持多源異構模型的聯合仿真以及基于場景的可視化的需求,整個仿真系統在功能上需具備多源異構模型庫的管理、模型之間組態關系的設計、衛星數據的實時采集、任務管理、內核在線計算、數據可視化和過程數據管理等功能.

根據上述需求,本文提出的一種支持多源異構模型聯合仿真的架構,具體如圖1所示,主要由模型庫、衛星數字仿真平臺、數據采集接口框架、時序數據庫和場景可視化平臺等部分組成.其中模型庫主要由支持FMI標準的各類模型構成,這些模型可以通過Simulink、CATIA和AMESim等第三方工具導出[4],也可以基于FMUSDK開發包通過手動代碼方式生成.衛星數字仿真平臺分為前端組態開發工具及后端仿真引擎.組態開發工具的功能包括:模型管理、組態設計、場景初始化、任務構建及任務下發等.仿真引擎的功能包括:根據仿真平臺下發的組態任務,分別完成仿真模型的加載和初始化、任務的拆分,從時序數據庫獲取衛星系統的運行數據并調用模型庫的算法,將求解的結果通過RPC技術推送到時序數據庫中;對于系統的配置參數以及仿真過程中產生的快照數據則保存到關系數據庫中,用于系統還原點的創建與恢復.數據采集接口框架通過工廠模式,將不同通訊協議的上行和下行數據通過該接口進行規范化約束.通過對外提供一套標準的數據訪問接口,實現與時序數據庫系統的解耦,這樣時序數據庫系統不需要了解各類型號衛星的具體協議,就可以實現不同協議下行數據的接入以及不同控制指令的上行處理.場景可視化平臺的功能是基于內置的三維模型庫,搭建仿真場景,利用向時序數據庫訂閱的目標位號與場景中的三維模型進行關聯,驅動場景的模型進行運動仿真,將仿真引擎產生的過程數據進行可視化展示.

圖1 衛星仿真軟件整體架構圖Fig.1 Architecture of satellite simulation software

2 衛星數字仿真平臺設計

構建仿真用的衛星部件模型是準確估計衛星各項功能可靠性的基礎.本文基于模塊化的設計思想,將衛星部件模型按類型劃分為:敏感器、控制器、執行機構、動力學和遙控遙測等類型.在參數化系統仿真中,模型之間的信息交互是關鍵,為實現模型數據的正確傳輸以及降低后期系統建模的難度,本文定義了一套標準的模型數據交換接口,利用該接口,將衛星部件模型映射為圖形化的功能模塊并通過端口之間的連線實現數據傳輸和衛星模型的快速組態.在端口與衛星部件模型參數的綁定方面,利用參數數據共享的方法,實現部件模型數據的單向傳輸.

準確掌握每個模型庫的使用特性是正確構建衛星仿真系統的前提,對此,需要將衛星模型庫依據繼承關系進行分類,本文將衛星模型庫劃分為2種類型,分別是:功能塊基類和子系統基類,這2種基類都繼承于功能塊接口類,具體如圖2所示.其他所有類型的功能塊,如傳輸信號類型的信號類功能塊,統一由功能塊基類派生.對于新擴展的信號類型的功能塊,如:數學功能塊、支持FMI標準的FMI功能塊和敏感器的功能塊等,可通過信號類功能塊進行派生;數學類型的功能塊則可以通過數學功能塊來派生.通過上述基類,對新增的模型庫,依據類型繼承關系,可實現對新增模型庫的擴展和按類型進行分類管理的目的.

圖2 仿真引擎的功能塊及子系統類圖Fig.2 Function block and subsystem class diagram of simulation engine

在仿真過程中,轉儲快照數據以及對仿真引擎進行啟停等管理操作是實現衛星系統進行自動化功能分析的必要環節,針對上述問題,本文通過在子系統中擴展仿真管理接口的方法來實現,這些方法包括:模型庫管理、配置文件修改、仿真引擎初始化、啟動、暫停、創建還原點和快照恢復等.通過在子系統中實現上述方法,使整個仿真內核在功能上具備模型的組態管理和在線仿真能力.此外,針對仿真引擎與場景可視化平臺之間的數據交互問題,本文定義了一個網絡接口類,借助該接口類派生出一個場景可視化功能塊,利用該功能塊的通信協議適配器,將仿真結果直接推送到時序數據庫指定的位號中,當時序數據庫一旦檢測到被訂閱位號的數據有更新事件產生時,時序數據庫將立即啟動數據更新邏輯,將訂閱的位號數據直接發送到場景可視化平臺中,達到系統低耦合、功能高內聚的目的.

3 FMI模型封裝流程

本文將不同軌道的多顆衛星運行的場景作為仿真對象,對每顆衛星姿軌控系統包含的各功能模塊進行建模.衛星的姿軌控系統主要由敏感器、執行機構、控制器和動力學組成[16-17].敏感器負責測量衛星運行的軌道和姿態信息、執行機構根據控制器指令產生驅動衛星軌道和姿態運動的力和力矩,動力學反映衛星本體受到力和力矩作用后的運動狀態變化,控制器根據敏感器測量的軌道和姿態信息生成控制指令驅動執行機構[18-20].除了衛星姿軌控系統包含的功能模型外,仿真案例中還要包含星時和可視化通信模型.為了說明所需的模型來源于不同建模工具,本文通過Simulink環境完成敏感器、執行機構、控制器、動力學和星時模型構建和FMI模型的封裝;通過C/C++語言手動編碼的方式建立可視化通信功能模型,并利用FMUSDK開發包和7z壓縮工具完成FMI模型的封裝.

3.1 Simulink模型封裝

圖3(a)為Simulink環境搭建的動力學仿真模型,模型輸入力和力矩,模型輸出為衛星的姿態和位置,通過該模型.圖3(b)為星時模型,用來為模擬衛星的星時系統.

圖3 動力學模型和星時模型Fig.3 Rigid body dynamics model and sidereal time model

為了將Simulink模型封裝為FMI模型,在Simulink工具中安裝CATIA FMI Kit插件,利用該插件,將前述設計的動力學模型、星時等模型導出成FMI模型,具體過程如圖4所示.

圖4 Simulink工具導出FMU模型過程Fig.4 Export FMU model via Simulink

3.2 C/C++模型封裝

可視化通信模塊的主要作用是負責將仿真引擎的計算結果,依據場景可視化平臺的通信協議,將場景中的三維模型與仿真過程數據進行綁定,用于驅動場景模型進行運動模擬.因此場景可視化平臺通信模型主要任務為:數據轉換和事件推送,其中數據轉換用于從仿真結果中抽取目標對象的實時數據,然后通過量綱轉換和內置的數學運算算法,將對象數據轉換為三維模型的空間坐標數據或系統的運行數據等;事件推送則是用于將數據轉換后的信息通過GRPC(google remote procedure call)接口推送到時序數據庫中,隨后時序數據庫監測到訂閱的位號有更新事件時,立即將更新后的數據推送給可視化軟件中,達到驅動三維模型運動模擬和過程監控的目的.

網絡模塊與具體業務耦合性較高,需要采用手動編碼方式來實現.在本示例中,數據轉換和事件推送的業務邏輯在多星網絡模型庫(multiSatNetmodel)中實現,FMI模型的封裝則是通過FMUSDK開發包提供的模板庫來實現,具體封裝過程如圖5(a)所示.需要注意的是模型配置文件(modelDescription.xml)中描述的屬性信息、模型變量信息以及模型名稱和全局唯一標識符等要與MultiSatNetModel中對應的變量值保持一致,否則在仿真過程中會出現運行異常問題.在確認模型配置文件成功之后,可以將編譯后生成的動態庫文件以及依賴的其他資源文件(resources)利用7z工具,選擇zip壓縮算法直接壓縮為FMI模型,但是需要注意的是,由于上述壓縮過程通常需要先將模型配置文件、資源文件和動態庫文件組織好,然后再通過7z工具手動方式打包,整個過程較為繁瑣,為了簡化上述打包過程,在本實例中則是利用vc工程的后處理事件,通過自動化腳本,在編譯之后,自動地將模型配置文件、動態庫文件和資源文件,一鍵拷貝到指定文件夾下,然后通過自動化腳本調用7z工具并選擇zip壓縮算法直接生成FMI模型,vc工程的具體配置如圖5(b)所示.

圖5 基于編碼方式生成FMI模型過程Fig.5 FMI model generated by coding

4 多星運行仿真實例

在衛星仿真平臺中搭建多星運行仿真實例,需要經歷4個步驟:模型導入、組態設計、場景配置和仿真運行.

4.1 模型導入

調用仿真模型的數值運算,統一由仿真引擎負責執行,由于仿真引擎內置模型的數據交換接口與FMI標準接口存在一定的差異,因此,在正式仿真之前首先需要將FMI模型適配為仿真引擎內部標準的模型.為此,需要通過一個自定義類模板的方法,基于FMI模型自帶的配置信息,動態生成一個模板文件,然后通過自動化腳本,利用gcc/vc編譯器,在FMI模型庫的基礎上,生成符合仿真引擎內部標準的中間模型庫,并將新生成的模型信息添加到組態開發工具的模型庫中,最終完成模型的導入工作.

4.2 組態設計

依據模型間信息流向,通過連線的方式完成模型的組態設計.為了提高模型的復用率,本文在設計上,將多星的組態工程劃分為2部分,分別是單個衛星子系統的組態和多星組態.其中,對于單顆衛星的組態,通過在組態設計工具中創建一個子系統,然后將前述導入的FMI模型拖入到設計器中,根據模型之間的依賴關系,通過連線的方式將動力學、敏感器和執行機構等模型組織起來,最終完成單顆衛星的仿真模型的構建,具體如圖6(a)所示.在前述的子系統模型的基礎上,將單顆衛星模型作為一個獨立的衛星組件模型,依次拖入到設計器中并與其他組件模塊關聯起來,共同構成一個多星仿真組態,具體如圖6(b)所示.

圖6 仿真模型的組態設計Fig.6 Configuration design of simulation model

4.3 場景配置

通過組態開發工具配置各模型仿真初始條件(包括端口初始值及內部狀態變量的初值),配置仿真開始時間、結束時間、仿真步距和仿真速度等參數.場景可視化平臺需要配置衛星三維模型的導入和協議綁定2部分內容,其中協議綁定主要用來將可視化通信模型的數據與衛星三維模型進行關聯,實現三維場景模型的驅動.

4.4 仿真運行結果

場景配置完成后,在啟動仿真引擎進行模型仿真時,組態開發工具首先將組態工程下發到仿真引擎中.仿真引擎將根據下發的組態工程中各模型間連線,由仿真引擎內部的任務管理器生成具體的仿真任務,并將這些任務加入到任務池中.仿真引擎通過內部的任務執行器,從任務池中取出一個待執行的計算任務并為該計算任務關聯一個工作線程,借助該線程對仿真模型逐個調用,當仿真模型內部的算法調用結束后,仿真引擎將運算后的結果立即更新到模型對應的快照參數列表上,完成一個仿真周期的計算.每完成一個仿真周期,仿真時間累加一個仿真步距,以此類推,直至結束時間,完成整個工程的仿真.為了便于對仿真過程進行實時監控和歷史數據分析,仿真引擎在執行一個仿真周期之后,將產生的仿真結果(端口的實時值和內部狀態變量的實時值)加入到一個歷史數據隊列中.當仿真結束之后,組態開發工具能夠基于快照參數列表和歷史數據隊列,對端口的實時值及端口的歷史數據進行可視化展示和分析,具體如圖7所示.

圖7 仿真運行狀態過程監控Fig.7 Monitoring of simulation state

利用場景可視化軟件,三維衛星模型將依據仿真引擎的計算結果,嚴格遵從衛星模型的仿真運行數據,對衛星的空間位置和姿態進行可視化動態展示.通過該三維可視化軟件能夠方便地對單顆和多顆衛星的運行姿態和位置進行實時跟蹤與監控,具體如圖8(a)和(b)所示.

圖8 可視化軟件多星仿真Fig.8 Multi-satellite simulation via visualization software

5 結 論

本文基于FMI標準數據交換接口和模型復用技術,構建了支持衛星數字仿真的工具體系架構,在此基礎上,基于模塊化思想設計了衛星數字仿真平臺,并給出了Simulink及C/C++模型的FMI標準封裝方法.利用衛星數字仿真平臺,搭建了多星運行仿真場景,通過遠程過程調用技術,將仿真過程數據推送到可視化平臺中,完成對衛星運行場景的可視化展示.通過仿真案例說明,衛星仿真平臺可以對模型運行狀態及變化趨勢進行監控,同時,可視化平臺可以對衛星的運行軌道及姿態等數據實時動態顯示.本文提出的衛星數字仿真平臺不僅支持衛星姿軌控仿真,同時也可作為其他航天器系統或應用場景的數字仿真開發環境,為系統、整星及星座模擬器的開發提供工具支撐.

猜你喜歡
引擎可視化模型
一半模型
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
重要模型『一線三等角』
基于CGAL和OpenGL的海底地形三維可視化
重尾非線性自回歸模型自加權M-估計的漸近分布
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
3D打印中的模型分割與打包
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
主站蜘蛛池模板: 五月天综合婷婷| 中文字幕免费播放| 2021国产精品自产拍在线| 99精品热视频这里只有精品7| 不卡的在线视频免费观看| 日本精品影院| 国产成人免费观看在线视频| 国产成人精品免费视频大全五级 | 亚洲第一视频区| 精品伊人久久久大香线蕉欧美 | 国产精品久久久久鬼色| 国产在线一二三区| 久久亚洲国产一区二区| 亚洲精品第五页| 在线精品欧美日韩| 91在线一9|永久视频在线| 免费不卡视频| 亚洲综合精品第一页| 91po国产在线精品免费观看| 四虎永久免费地址在线网站| 亚洲免费毛片| 激情综合网址| 午夜丁香婷婷| 91亚瑟视频| 国产99视频免费精品是看6| 国产高潮视频在线观看| 99久久精品国产精品亚洲| 国产大全韩国亚洲一区二区三区| 91啦中文字幕| 亚洲日韩国产精品综合在线观看| 欧美日韩久久综合| 欧美色视频在线| 久久亚洲国产视频| 色网站在线视频| 日本福利视频网站| 高清无码不卡视频| 中文无码日韩精品| 青草精品视频| 亚洲国产成人麻豆精品| 自偷自拍三级全三级视频| 色悠久久综合| 日韩a在线观看免费观看| 久久国产精品麻豆系列| 欧美福利在线观看| 亚洲精品桃花岛av在线| 中文字幕欧美日韩| 毛片在线区| 在线精品视频成人网| 久久国产av麻豆| 在线视频亚洲欧美| 国产69精品久久久久孕妇大杂乱 | 国产精品九九视频| 久久精品国产精品青草app| 99在线观看视频免费| 99久久精彩视频| 亚洲精品无码AV电影在线播放| 视频一本大道香蕉久在线播放| 毛片基地美国正在播放亚洲 | 亚洲成av人无码综合在线观看| 亚洲精品不卡午夜精品| 国产成人综合网| 国产精品太粉嫩高中在线观看| 色悠久久久| 红杏AV在线无码| 爆乳熟妇一区二区三区| 亚洲综合香蕉| 中文字幕啪啪| 亚洲精品国产成人7777| 美女视频黄又黄又免费高清| 99国产在线视频| 亚洲看片网| 不卡午夜视频| 中国成人在线视频| 老司机精品一区在线视频| 国产精品9| 一级一级一片免费| 性色一区| 欧美无专区| 伊人91在线| 欧美怡红院视频一区二区三区| 91久久偷偷做嫩草影院电| 69视频国产|