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

基于Scilab/Linux RTAI的探空火箭半實物仿真平臺研究①

2020-11-13 07:15:44李勇波崔建鵬
固體火箭技術 2020年5期
關鍵詞:環境模型

李勇波,潘 濤,崔建鵬,張 輝

(中國航天科技集團有限公司四院四十一所,西安 710025)

0 引言

半實物仿真,又稱“硬件在環仿真”,是指將實物部件引入仿真回路,取代相應部分的數學模型,降低了建模難度,也克服了干擾因素的影響。半實物仿真技術是在二戰后逐漸發展起來的,它結合了數字仿真的靈活性和物理仿真的精確性,以成本低、見效快、可信度高的優勢[1],廣泛應用于航空航天、控制系統、武器系統等領域。

目前,國內外主流的半實物仿真平臺[2-7]主要有dSPACE、RT-LAB、RTX、xPCTarget等,它們都是利用商業軟件Matlab/Simulink進行前端建模,在Windows系統下通過RTW自動代碼生成技術將模型編譯為可在Vxworks/QNX等實時環境運行的可執行代碼。這些平臺固然性能強大、接口豐富、穩定性高,但存在著源代碼封閉、定制性不強、核心功能更改難度大、軟件升級成本高等不足。近年來,Linux系統發展迅速,其擁有開放源碼、性能穩定、內核可裁剪等優勢,但實時性不盡人意,不能直接用于半實物仿真,需要對其進行實時化改進。

本文研究了在Linux系統下利用開源軟件Scilab/Xcos[8]進行前端建模,采用雙內核實時化方案搭建Linux RTAI[9]實時運行環境,通過RTAI-LAB[10]將數學模型編譯為實時代碼,并下載到搭建好的Linux RTAI實時環境下運行,完成某型探空火箭半實物仿真試驗的技術方案。所用軟件均為開源軟件,源碼開放可修改且硬件成本低,降低了半實物仿真平臺開發成本,滿足半實物仿真試驗的實時性和可靠性要求,且二次開發性強,不局限于某一種彈箭。

1 半實物仿真系統方案

基于Scilab/Linux RTAI的某型探空火箭半實物仿真系統結構如圖1所示,包含綜控計算機、仿真計算機、接口計算機、仿真設備、VMIC光纖反射內存實時網絡、參試實物部件等,主要部件功能如下:綜控計算機是整個仿真系統的控制中心,負責仿真節點資源配置、狀態監控和數據存儲,及試驗后數據分析。

圖1 基于Scilab/Linux RTAI的探空火箭半實物仿真系統結構

仿真計算機是本文研究的重點,采用上下層結構,上層的Scilab/Xcos軟件和Xrtailab軟件運行于Linux環境,分別負責模型的建立和變量監控、參數在線調整;根據仿真模型自動生成的實時代碼運行于下層Linux RTAI實時環境,主要負責火箭仿真模型的實時解算及分離信號輸出、舵機反饋信號采集、時序信號采集等實時I/O處理。

接口計算機負責參試實物部件的非實時信號及CAN總線、串口通信流信號處理,如模擬測發控、仿真數據注入、遙測信息解析等,并通過VMIC網絡實現仿真模型與參試部件的信息交互。

仿真設備包括三軸轉臺、五軸轉臺、舵機負載臺等,負責通過VMIC網絡讀取火箭仿真模型實時解算結果,為火箭測量裝置和執行機構提供真實物理環境。

VMIC光纖反射內存網絡負責實現綜控計算機、仿真計算機、接口計算機和仿真設備之間的信息交互,具有通信時延小、共享內存空間大、傳輸速率高、抗干擾性強的特點。

參試實物部件主要有舵機、飛控計算機、慣性測量組件、GPS等。

2 仿真平臺設計方案

為減少各節點數據丟失,本文采用Linux RTAI實時運行環境+VMIC網絡傳輸模式,VMIC的傳輸延遲小于700 ns,遠小于仿真步長1 ms,最大程度減少了數據丟失。

2.1 仿真建模環境

CACSD(Computer Aided Control System Design)軟件采用Scilab/Xcos,Scilab是一種由法國學者開發的類似于Matlab的開源軟件,Xcos是Scilab的一個工具箱,是Simulink等進行圖形化動態系統建模與仿真的唯一開源代替軟件。半實物仿真是Xcos在模塊開發和代碼生成的主要應用,可通過為接口控制和測量裝置創建特殊的Xcos模塊以進行半實物仿真。用戶可自行開發所需模塊并加載到Xcos模塊庫或下載互聯網其他用戶的共享模塊。

2.2 RTAI自動化代碼生成技術

RTAI(Real-time application interface)是一套用來寫實時應用程序的系統界面。RTAI-LAB是以RTAI為基礎開發的一套開源實時控制系統工具鏈,提供了RTAI和數據采集卡的接口。

根據接口模塊的特性自定義RTAI接口模塊;將模塊拖放到利用Scilab/Xcos建立的火箭數學仿真模型中,利用RTAI-LAB將模型編譯成可在Linux RTAI實時運行環境執行的實時代碼,這些代碼相當于實時運行環境的一個實時任務,原理如圖2所示。

圖2 仿真計算機結構及原理

2.3 Linux RTAI實時運行環境

由于仿真過程中有實物接入仿真回路,故仿真時鐘必須與真實物理時鐘同步,為此需要構建Linux RTAI實時運行環境。

2.3.1 雙內核實時化方案

雙內核實時化方案即在普通Linux系統的最底層增加一層RTAI實時核心,實質是把Linux內核當作一個運行在RTAI內核的普通進程,其軟件架構如圖3所示。通過Adeos[11]來建立RTAI和Linux的硬件共享環境,Adeos是在底層硬件與操作系統之間插入的Linux內核補丁。

圖3 Linux RTAI軟件架構

在Linux RTAI軟件架構中,RTAI是Adeos的上層域,作為根域的Linux優先級低于RTAI,故當有實時任務產生時,Adeos先調度RTAI處理該任務,Linux根域僅在RTAI沒有實時任務或中斷需要處理時才會發生,從而保障Linux RTAI雙核實時運行環境的實時性。

2.3.2 Linux RTAI實時運行環境的搭建

搭建Linux RTAI實時運行環境的具體步驟如下:

(1)準備工作

下載Scilab 5.5.2版本,RTAI 5.2版本,對RTAI內核進行解壓,查看其所支持的Linux Kernel版本并在官網下載,本文選用的Linux Kernel版本為4.9.135。

(2)雙內核法建立Linux RTAI實時運行環境

主要包括6步,分別是解壓Linux內核、給Linux內核打補丁、配置Linux內核、編譯安裝Linux內核、配置安裝RTAI、安裝RTAI-Lab相關插件。關鍵代碼為:

# tar-jxvf linux-4.9.135.tar.gz

# make mrproper

# cd/usr/src/linux-4.9.135

# patch-Npl

# make menuconfig

# make-j4

# make install

# make modules_install

(3)實時運行環境的測試

采用testsuite工具測試所搭建實時環境的內核空間的中斷延遲時間、調度器延遲時間、調度器運行延遲時間等實時性指標[12],如表1所示。

由表1可知,搭建的Linux RTAI雙核實時環境的最大時延為17 μs左右,遠小于普通Linux系統的28 ms[13],降低了3個數量級,相比Vxworks和Xenomai 也有所縮短,可滿足實時仿真的需求。

表1 Linux RTAI實時運行環境實時性測試

2.4 實時接口技術

本節開發了VMIC的實時驅動程序和實時接口模塊,實時驅動程序用于滿足模型與實物間通信對驅動實時性的要求,實時接口模塊用于VMIC和數學模型之間的通信[14]。

2.4.1 驅動程序和接口模塊在系統中的作用

由于普通Linux驅動的實時性較差,故自行開發了RTAI下的VMIC驅動程序,VMIC驅動程序運行于Linux RTAI實時環境;RTAI自帶的RTAI-lib模塊庫可分為兩類,一類是Scilab realtime lib庫,如可在實時環境下運行的增益模塊gain模塊等;另一類是RTAI realtime lib庫,如示波器模塊rtai_scope等,但缺少VMIC反射內存卡與模型通信的模塊,故自行開發了VMIC實時接口模塊。二者在系統中的位置見圖4。

圖4 驅動程序和實時接口模塊在系統中的作用

2.4.2 VMIC驅動程序的開發

驅動程序包括頭文件和主程序,頭文件中聲明了驅動程序用到的重要變量,加載了主函數調用的動態模塊庫等。本文主要定義了3個頭文件:(1)rtvmic.h:包括數據偏移量offset、數據長度length及緩沖區buffer;(2)rtvmic_driver.h:定義了變量的數據類型及rtvmic設備信息的結構體等;(3)rtvmic_5565_pci.h:VMIC卡節點的最大最小地址、DMA通道、擴展地址、擴展中斷等。

與用戶訪問內存不同,訪問VMIC卡分兩步,第一步是在Linux層,從PCI總線上尋找VMIC設備,通過編寫rt_vmic_5565_pci.c( )函數來實現;第二步是讀取設備信息,進行RTAI層面的配置,通過編寫rtvmic_driver.c( )函數來實現。

(1)rt_vmic_5565_pci.c:定義了靜態結構體變量rt_ge_5565_pci_table{ }描述VMIC設備信息,定義了GetPciSpaceSize( )函數尋找PCI總線空間大小,定義了rt_ge_5565_pci_probe( )函數讀取VMIC板上的PCI物理地址及寄存器狀態;定義了rt_ge_5565_pci_remove( )函數清除內存的數據。

(2)rtvmic_driver.c:包括5個函數,分別是rt_vmic_open( )函數用于打開VMIC設備;rt_vmic_init( )函數用于初始化驅動;rt_vmic_ioctrl( )函數用于控制I/O信號流,寫入是將信號流寫入buffer中,讀取是從buffer中讀取信號流;rt_vmic_exit( )函數用于退出驅動;rt_vmic_close( )用于關閉設備。

2.4.3 VMIC實時接口模塊的開發

實時接口模塊是Xcos模型的一部分,通過設備文件實現用戶空間與內核空間的通信。自定義接口模塊包括自定義接口函數和自定義計算函數。

接口函數作為用戶空間與Scilab的交互界面,用于處理用戶接口,指定模塊外觀與類型、數據和事件的輸入輸出個數等,必須用Scilab語言編寫,返回值依賴于輸入標記job,以VMIC-PCI5565讀操作為例,其接口函數格式如下:

function[x,y,typ]=vmic_read_pci5565(job,arg1,arg2)

計算函數定義了模塊在仿真過程中的行為,以不同的方式被Xcos調用,主要包括初始化(flag=4)、輸出更新(flag=1)、結束(flag=5)等,flag標記了計算函數必須完成的任務。采用C語言編寫,以VMIC-PCI5565讀操作為例,主函數中定義了init函數、inout函數、end函數。計算函數格式如下:

#include“scicos_block.h”

#include “rtmain.h”

void vmic_read_pci5565(scicos block *block, int flag) init(block); inout(block); end(block); }

接口函數和計算函數定義完畢后,將其封裝成模塊,如圖5所示。當模型運行時,實時接口模塊調用RTAI下VMIC驅動程序,當加載VMIC的驅動程序與設備文件關聯后,接口模塊就可以通過此設備文件對VMIC反射內存卡進行操作。

圖5 自定義VMCI-PCI5565接口模塊

2.5 節點同步方式和同步精度

由綜控計算機負責更新全局時鐘,仿真計算機、仿真設備等節點在每個定時周期內讀全局時鐘,并以此更新各節點時鐘。仿真初始化時,全局時鐘和各節點時鐘均置零;仿真開始后,全局時鐘由綜控計算機累加仿真步長,節點時鐘檢測到全局時鐘不為零時就開始累計仿真步長;由綜控計算機進行判斷,當每100 s全局時鐘和節點時鐘相差大于2 ms時,停止仿真。

2.6 仿真模型監控

在RTAI的另一個工具包Xrtailab中利用RTAI-LAB提供的RTAI-SCOPE等變量監視模塊,對仿真模型進行可視化監控和在線調參,如圖6所示。建模主機和目標機在同一仿真計算機上,故Xrtailab與目標機的通信方式采用本地通信。

圖6 Xrtailab監控界面

2.7 硬件方案

考慮到計算性能和速度及I/O接口的擴展能力,仿真計算機采用研華工控機,四核,主頻2.5 GHz。仿真平臺提供4路模擬量采集輸入、1路開關信號采集、1路開關信號輸出和2路RS422串口通信接口。PCI數據采集卡采用NI-PCI6229,32通道16位最高100 kHz采樣,16路隔離DI和16路隔離DO;光纖反射內存卡采用VMIC-PCI5565,內存為256 M。

3 半實物仿真試驗與分析

3.1 仿真平臺實時性能

半實物仿真平臺的實時性直接影響仿真時序控制和仿真結果的置信度,實時性能參數有定時精度、單步仿真耗時和時鐘漂移量[15]。對本文搭建的平臺進行實時性測試,得到實時性能參數如圖7所示。

( Simulation step size

由圖7可見,僅有小概率出現的幾次單個仿真步長大于1 ms且不超過1.05 ms;單步仿真耗時不超過0.2 ms,相比文獻[15]的0.35 ms有所縮短,嚴格小于設定的1 ms;時鐘漂移最大為25 μs,偏差率滿足要求。以上3個實時性能參數表明本文設計的半實物仿真平臺可以滿足仿真步長為1 ms的半實物仿真的實時性要求,實時性良好。

3.2 仿真結果

分別利用本文設計的半實物仿真平臺和現有的Simulink/RT-LAB半實物仿真平臺對同一型號探空火箭進行半實物仿真試驗,仿真結果對比曲線見圖8。

由圖8可見,該仿真平臺的半實物仿真結果與Simulink/RT-LAB仿真平臺下的仿真結果一致性很好,驗證了所搭建的半實物仿真平臺的可靠性和穩定性。

( Range and altitude

4 結論

(1)為保證整個半實物仿真平臺的實時性,采用雙內核實時化方案搭建了Linux RTAI雙核實時運行環境作為實時代碼的運行環境,并測試了其實時性能,結果表明其最大時延相比普通Linux系統降低了三個數量級。

(2)為保證硬件設備與模型實時信息交流的實時性,開發了VMIC-PCI5565的驅動程序和實時接口模塊,實現了外部硬件和內部模型的實時交互。

(3)測試了整個半實物仿真系統的實時性,實時性相對其他平臺有所提升;成功進行了某型探空火箭的半實物仿真試驗,仿真結果相比Simulink/RT-LAB平臺一致性很好。

本文搭建的半實物仿真平臺主要有以下優勢和特點:(1)實時性有所提升,單步仿真耗時不超過0.2 ms;(2)所用軟件均為開源軟件,擴展性強、源代碼開放可修改、開發成本低;(3)有良好的二次開發能力,針對但不局限于某一種彈箭,可利用RTAI開源特性,開發相關實時接口模塊和驅動程序,添加相應支持模塊即可擴展仿真平臺的應用范圍。可為火箭、導彈的半實物仿真試驗提供一種新平臺,對火箭、導彈的研制和試驗有重要的價值。

猜你喜歡
環境模型
一半模型
長期鍛煉創造體內抑癌環境
一種用于自主學習的虛擬仿真環境
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
孕期遠離容易致畸的環境
不能改變環境,那就改變心境
環境
孕期遠離容易致畸的環境
3D打印中的模型分割與打包
主站蜘蛛池模板: 亚洲第一成年网| 免费观看国产小粉嫩喷水| 欧美一区精品| 在线精品视频成人网| 激情视频综合网| 亚洲男人的天堂久久香蕉网| 五月丁香在线视频| 成人午夜天| 日日拍夜夜操| 亚洲资源站av无码网址| 日韩精品无码一级毛片免费| 亚卅精品无码久久毛片乌克兰| 亚洲欧美成人在线视频| 人妻91无码色偷偷色噜噜噜| 一级爆乳无码av| 夜色爽爽影院18禁妓女影院| 无码在线激情片| 亚洲精品波多野结衣| 伊人五月丁香综合AⅤ| 在线观看免费AV网| 2021无码专区人妻系列日韩| 无码人中文字幕| 丰满人妻一区二区三区视频| 亚洲二区视频| 波多野结衣一二三| 亚洲经典在线中文字幕| 精品国产污污免费网站| 99热这里只有精品久久免费| 欧美日韩国产精品综合| 国产亚洲精品在天天在线麻豆| 国内精品自在欧美一区| 亚洲无码高清一区| 久久婷婷六月| 亚洲成人高清无码| 一级福利视频| 免费全部高H视频无码无遮掩| 91 九色视频丝袜| 亚洲狼网站狼狼鲁亚洲下载| 国产亚洲精品自在久久不卡 | 色婷婷亚洲综合五月| 日韩精品欧美国产在线| 亚洲国产天堂久久综合226114| 国产理论一区| 成人另类稀缺在线观看| 一级毛片视频免费| 67194亚洲无码| 日韩高清欧美| 欧美性猛交一区二区三区| 91探花在线观看国产最新| 18禁黄无遮挡网站| julia中文字幕久久亚洲| 日韩欧美国产成人| 青青青草国产| 国产人人射| 久久精品国产电影| 国产精品短篇二区| 国产亚洲欧美日韩在线一区| 91精品国产无线乱码在线| 亚洲日韩国产精品综合在线观看| 蜜桃臀无码内射一区二区三区| 国产麻豆91网在线看| 喷潮白浆直流在线播放| 在线播放国产一区| 91九色国产在线| 欧美成人在线免费| P尤物久久99国产综合精品| 国产成人三级在线观看视频| 日韩欧美91| 高清无码手机在线观看| 亚洲国产av无码综合原创国产| 成人小视频网| 蜜芽一区二区国产精品| 亚洲中文无码h在线观看| 99热这里只有精品5| 毛片一区二区在线看| 91小视频版在线观看www| 伊人AV天堂| 亚洲最大在线观看| 高清色本在线www| 国产在线观看一区精品| 亚洲精品少妇熟女| 久久香蕉国产线看观看亚洲片|