亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Simulink/Unity3D聯(lián)合的飛行控制仿真教學系統(tǒng)開發(fā)

        2023-02-20 13:43:10朱日楠楊姍姍李宏成
        實驗室研究與探索 2023年11期
        關(guān)鍵詞:飛機物理實驗

        朱日楠,王 彪,楊姍姍,李宏成,王 健

        (南京航空航天大學自動化學院,南京 211106)

        0 引言

        近年來,飛行可視化開發(fā)大致可分為兩大方式:①利用三維渲染引擎進行飛行可視化仿真[1-2],如OpenGL、Direct3D、Vega 等;②利用飛行模擬軟件進行飛行可視化仿真[3-4],如FlightGear 等。前者需編寫大量底層代碼實現(xiàn)三維建模與渲染,開發(fā)環(huán)節(jié)眾多且繁瑣。后者僅通過自身無法實現(xiàn)個性化場景開發(fā)以及擁有復雜邏輯結(jié)構(gòu)的UI開發(fā)。

        Unity3D是一款近年來逐步被應(yīng)用于可視化仿真開發(fā)的游戲開發(fā)引擎。對于飛行可視化仿真而言,它擁有諸多上述方式無法比擬的優(yōu)勢。利用自身組件,如地形模塊、天空盒子、碰撞檢測器、射線探測器、攝像機等,可逼真復現(xiàn)不同場景中機場起降、艦機著艦、地形跟隨、視覺導引等眾多飛控領(lǐng)域的研究。Unity3D可將飛控仿真的各個環(huán)節(jié)集成于自身之中,因此本文采用Unity3D進行飛行控制可視化開發(fā)。

        飛行器物理模型解算是飛行控制仿真中的一大重要環(huán)節(jié)。目前,利用Unity3D 進行飛控仿真主要有3種方式進行模型解算。①Unity3D 中調(diào)用自編程序進行模型解算[5-6]。該方式需自行編寫數(shù)值積分程序,開發(fā)難度大,且計算結(jié)果的準確性無法與成熟的數(shù)值計算軟件比擬。②利用Matlab 進行物理模型解算[7],將計算后的位姿信息發(fā)送給Unity3D,使Unity3D中的飛機造型進行相應(yīng)的位姿變化。該方式可精確計算物理模型,但仍有一大缺陷。由于Unity3D 動畫幀更新速率受計算機實時負載影響而不斷變化,Unity3D 定步長接收到的位姿信息無法在相同時間間隔內(nèi)展示在動畫中,使畫面中的飛機造型出現(xiàn)卡頓、震顫等現(xiàn)象,對于高速飛行器,該現(xiàn)象尤為明顯。③利用Unity3D自帶的物理引擎進行數(shù)值積分運算。使用該方式開發(fā)時,開發(fā)者只需在Unity3D中對物體施加力與力矩,即可使物體表現(xiàn)出與現(xiàn)實世界相似的物理行為。據(jù)此,對Unity3D飛行器造型添加動力學模型即可使其按照相關(guān)力學特性進行飛行運動,無須添加運動學模型。該方式將物理模型與仿真場景、飛行器造型均集成在Unity3D內(nèi)部,開發(fā)便捷、仿真結(jié)果可靠。本文采用第3 種方式進行本系統(tǒng)的開發(fā)。

        考慮到飛行器六自由度運動的特點以及教學條件,為了能較好演示飛行器飛行時三軸位移與三軸姿態(tài)角變化情況,并且避免實驗設(shè)備占用過多室內(nèi)空間,本文選用Acrome桌面式六自由度運動平臺展示飛機位姿,使之與視景動畫中的飛機位姿隨動。

        考慮到本科學生工程運用能力與教學安全問題,本文不采用實物仿真方式進行開發(fā)。從數(shù)值仿真角度進行飛行控制可視化開發(fā)是本文的重點。此外,本文結(jié)合航模機、運動模擬臺、操縱桿等硬件構(gòu)成半物理仿真系統(tǒng),通過實物演示飛機飛行時的姿態(tài)變化以及執(zhí)行機構(gòu)作動情況,以增強學生對相關(guān)知識的直觀理解。

        1 仿真系統(tǒng)開發(fā)

        航模機用于演示仿真過程中飛機的舵面與螺旋槳作動狀態(tài)。由于本系統(tǒng)面向本科教學,故優(yōu)先選擇常規(guī)氣動布局的單垂尾固定翼航模機作為演示對象。本文的飛行控制仿真系統(tǒng)結(jié)構(gòu)如圖1 所示。

        圖1 飛行控制仿真系統(tǒng)結(jié)構(gòu)框圖

        1.1 Unity3D飛行器模型建立

        本文選擇文獻[8]中的固定翼飛行器數(shù)學模型作為本仿真系統(tǒng)所用的飛機模型,該模型在常規(guī)坐標系(NED)下建立。根據(jù)前文Unity3D 物理引擎的特點,該環(huán)節(jié)只需在Unity3D中完成飛行器運動過程中力與力矩的計算并添加至對應(yīng)機體軸上即可。Unity3D 物理模型解算受開發(fā)者設(shè)置的物理參數(shù)影響,其中飛行器角速率解算時受飛機慣性張量矩陣J影響,

        式中:J-1為飛行器慣性張量矩陣的逆矩陣;p、q、r與分別為機體角速率與機體軸向氣動力矩;Jx、Jy、Jz分別為慣性張量矩陣對角線元素(繞著機體軸旋轉(zhuǎn)的轉(zhuǎn)動慣量);Jxz為慣性張量矩陣非對角線元素(飛行器慣性積)之一。

        轉(zhuǎn)動慣量大小可在Unity3D 中設(shè)置[9],但對于慣性積,Unity3D未提供設(shè)置選項,因此模型解算時無法引入慣性積的影響,這將使Unity3D 模型與原模型產(chǎn)生差異,故為了消除該影響,需對力矩計算公式進行修正,使修正后的公式包含慣性積環(huán)節(jié)。力矩修正公式如下:

        由于力的計算公式不涉及慣性積,故無需修正。將力與修正后的力矩施加在機體軸上即可使Unity3D飛機造型進行飛行運動。

        力與力矩公式中需要的狀態(tài)參數(shù)可由Unity3D提供的相關(guān)函數(shù)獲取。值得注意的是,該方式獲取的部分參數(shù),如姿態(tài)角、角速率、空速等,默認為慣性系下的狀態(tài)量,使用時需使用InverseTransformDirection()函數(shù)將其轉(zhuǎn)換為機體系狀態(tài)量;此外,Unity3D 是在左手坐標系(East-Up-North)下開發(fā)的,進行動力學模型計算時,需將狀態(tài)量由左手坐標系轉(zhuǎn)換為NED 坐標系,以保證飛機模型與原模型的一致性。

        以機體角速率為例,圖2 展示了在相同控制量輸入下,Unity3D 模型與Matlab 已有模型的運動規(guī)律比較。不難看出,兩個模型的飛行狀態(tài)曲線幾乎完全吻合,表明Unity3D模型與Matlab 模型運動規(guī)律的一致性,也從側(cè)面說明了Unity3D 物理引擎用于飛行控制仿真的可行性與可靠性。

        圖2 Unity3D模型與Matlab模型運動規(guī)律比較

        1.2 Unity3D與Simulink聯(lián)合仿真環(huán)節(jié)開發(fā)

        1.2.1 數(shù)據(jù)通信方式選擇

        由于本文所開發(fā)系統(tǒng)的物理模型與控制器分別位于Unity3D與Simulink,要使兩者進行聯(lián)合仿真,需對兩者間的數(shù)據(jù)通信環(huán)節(jié)進行設(shè)計。本文對飛控仿真中常見的UDP通信與串口通信[10-12]進行了分析測試,提出兩個評價指標對其進行優(yōu)劣評判:

        (1)通信時延。Simulink 接收到一個數(shù)據(jù)時的系統(tǒng)毫秒級時刻與Unity3D發(fā)送該數(shù)據(jù)時的系統(tǒng)毫秒級時刻之差為該通信方式、該時間步長下的“通信時延”。

        (2)通信重疊。當Simulink 還未接收上一個數(shù)據(jù),而Unity3D已發(fā)送下一個數(shù)據(jù)時,時間線上存在前后兩個通信事件的交集,稱之為“通信重疊”。出現(xiàn)通信重疊的次數(shù)與通信總次數(shù)之比稱為通信重疊率。

        本文對兩種方式不同通信步長下的通信結(jié)果進行了測試。以通信步長為30 ms 為例,圖3 展示了UDP通信與串口通信的通信時延情況。表1 為不同通信步長下兩種方式通信重疊情況比較。

        表1 不同通信步長下兩種通信方式通信重疊情況比較

        圖3 通信步長為30 ms時兩種通信方式通信時延比較

        通過以上通信時延、通信重疊檢測可以得到如下結(jié)論:①兩種通信均存在一定的通信時延。UDP 通信延時時長分布區(qū)間大,延時不確定性高;②UDP 方式的通信重疊率遠高于串口方式,通信可靠性較低。通過以上分析,發(fā)現(xiàn)UDP 通信適用于對可靠性、實時性要求不高的場合。本飛控仿真實驗平臺要求對飛機模型進行實時準確仿真,對通信的實時性與可靠性要求較高,因此串口通信更加適用于本文的飛控仿真實驗平臺。

        1.2.2 聯(lián)合仿真時間參數(shù)設(shè)置

        Unity3D 物理引擎進行數(shù)值積分運算時受Unity3D固定時間步長(Fixed Timestep,Unity3D 時間管理參數(shù)之一)影響,數(shù)據(jù)通信步長的確定也與該參數(shù)有關(guān),因此確定固定時間步長是聯(lián)合仿真開發(fā)過程中的一大關(guān)鍵。

        為了確保飛行仿真準確性,一般取系統(tǒng)采樣頻率為飛機模型最快頻率的10 倍以上[13],由飛機線性化模型得到最快自然頻率為15.8 rad/s,故系統(tǒng)采樣頻率應(yīng)當大于158 rad/s,即采樣周期小于6.33 ms。由此取Unity3D 固定時間步長為5 ms,即Unity3D 以此步長進行狀態(tài)參數(shù)獲取與模型解算。

        通過設(shè)置判斷條件,使物理模型每更新一定次數(shù)后執(zhí)行一次數(shù)據(jù)通信腳本,這樣即可設(shè)置數(shù)據(jù)通信步長。本系統(tǒng)采用50 Hz通信頻率,設(shè)置通信步長為20 ms,即每更新4 次物理模型進行一次數(shù)據(jù)通信。

        1.3 控制器設(shè)計

        學生可在Simulink中自行利用相關(guān)模塊實現(xiàn)控制算法結(jié)構(gòu)圖的搭建。由于本科學生對控制算法了解較少、理解不深,且考慮到本飛控仿真系統(tǒng)應(yīng)當與本科“自動控制原理”課程相結(jié)合,故本飛控仿真系統(tǒng)利用經(jīng)典PID算法,在Simulink中開發(fā)了俯仰角控制、高度控制、速度控制、橫側(cè)向控制、水平航跡控制算法樣例[14-15],對Unity3D 中的飛機模型進行縱向與橫側(cè)向控制。

        考慮到該飛控仿真系統(tǒng)應(yīng)當為不同層次的學生提供不同難度的飛控仿真實驗,故為了降低控制律設(shè)計實驗難度,本文利用Unity3D C#自編腳本將PID 算法樣例程序?qū)懭險nity3D,即本文還開發(fā)了模型、控制器均在Unity3D中的飛控仿真。這樣可確保飛控算法不被學生改變,學生實驗時只需在仿真軟件提供的控制律結(jié)構(gòu)圖(見圖4)中進行PID參數(shù)調(diào)整即可。

        圖4 高度控制律PID參數(shù)調(diào)整實驗界面

        C#自編腳本采用歐拉法進行數(shù)值積分運算??紤]到篇幅限制,圖5 僅展示控制器分別在Simulink 與Unity3D這兩種環(huán)境下的滾轉(zhuǎn)角曲線。經(jīng)計算分析,與Simulink控制器相比,Unity3D自編腳本控制器誤差小于1%,兩種環(huán)境中設(shè)計的控制律幾乎一致,所開發(fā)的飛控仿真系統(tǒng)可不依賴Simulink進行經(jīng)典PID控制算法仿真驗證。

        圖5 Simulink、Unity3D滾轉(zhuǎn)角控制器比較

        1.4 半實物演示環(huán)節(jié)開發(fā)

        本文利用羅技X52Pro 操縱桿實現(xiàn)指令給定。通過轉(zhuǎn)動不同搖桿,可分別生成滾轉(zhuǎn)、偏航、俯仰、油門等四通道指令。其可根據(jù)不同的實驗條件,直接控制飛機執(zhí)行機構(gòu)或給出狀態(tài)參考指令。

        六自由度運動平臺通過Arduino 串口通信接口接收Unity3D的位姿數(shù)據(jù),并通過Simulink External模式對期望姿態(tài)信號進行解算,得到6 個PWM 信號并發(fā)送給Arduino PWM引腳,通過該引腳將該信號提供給驅(qū)動器,驅(qū)動6 個電動機,使6 個線性執(zhí)行器運動,實現(xiàn)該平臺對飛機位姿演示。

        航模機飛控板通過無線數(shù)傳模塊接收執(zhí)行機構(gòu)信息,利用高級定時器產(chǎn)生不同頻率PWM 信號,分別驅(qū)動舵機與電調(diào)。PWM 信號占空比分別由接收的舵偏角及油門開度信號確定,實現(xiàn)對航模機舵偏角與螺旋槳電機的控制。

        本文開發(fā)的飛行控制仿真系統(tǒng)實物如圖6 所示。

        圖6 飛行控制仿真系統(tǒng)實物

        2 仿真實驗

        為了遵循本科教學由簡入深、循序漸進的原則,該系統(tǒng)設(shè)置了多角度、多層次的實驗以落實教學內(nèi)容,達到教學目標,包括:①飛機配平實驗;②俯仰角控制律設(shè)計實驗;③高度控制律設(shè)計實驗;④速度控制律設(shè)計實驗;⑤滾轉(zhuǎn)角控制律設(shè)計實驗;⑥水平航跡控制律設(shè)計實驗。其中,控制律設(shè)計類實驗分別包括PID 參數(shù)調(diào)整實驗與控制律自主設(shè)計實驗。圖7 與8 分別為該系統(tǒng)實驗初始界面與仿真界面。

        圖7 實驗系統(tǒng)初始界面

        圖8 系統(tǒng)仿真實驗界面

        學生實驗時需按以下步驟操作:

        (1)打開實驗軟件,在“仿真設(shè)置”中設(shè)置硬件連接端口、設(shè)置仿真時長。

        (2)在初始界面中選擇實驗項目與難度。

        (3)若選擇“飛機配平實驗”,點擊界面中“配平線性化”按鈕,運行Matlab文件獲取執(zhí)行機構(gòu)配平值,點擊“仿真驗證”按鈕,跳轉(zhuǎn)至仿真界面后輸入該值即可進行配平驗證。

        (4)若選擇“PID 參數(shù)調(diào)整實驗”,點擊“仿真驗證”按鈕,在仿真界面中顯示的控制律結(jié)構(gòu)圖內(nèi)點擊相應(yīng)模塊進行參數(shù)修改,即可進行經(jīng)典PID 控制律驗證。

        (5)若選擇“控制律自主設(shè)計”,點擊“控制律實現(xiàn)”按鈕,即可打開Simulink 控制律設(shè)計文件,在其中完成控制律設(shè)計后,點擊“仿真驗證”按鈕即可進行Unity3D與Simulink聯(lián)合仿真。

        仿真開始后,Unity3D 物理引擎對飛機的運動狀態(tài)進行數(shù)值解算,并將飛機運動過程中的三維位姿變化展示在仿真界面中,六自由度運動平臺與航模機執(zhí)行機構(gòu)也與視景動畫中的飛機保持隨動。圖9 為高度控制律設(shè)計實驗得到的飛行高度狀態(tài)曲線。

        圖9 仿真系統(tǒng)飛行高度狀態(tài)曲線

        3 結(jié)語

        本文對比總結(jié)了Unity3D 用于飛控仿真的優(yōu)勢,提出Unity3D 飛行器物理模型準確建立的方式,測試分析Unity3D 與Simulink 聯(lián)合仿真數(shù)據(jù)通信方式,針對飛控仿真與Unity3D時間管理特點確定聯(lián)合仿真時間參數(shù),整個系統(tǒng)的開發(fā)過程對于Unity3D 飛控仿真開發(fā)而言具有較好的參考意義。

        本文開發(fā)的飛行控制仿真系統(tǒng)有助于提高本科學生工程應(yīng)用能力、強化本科學生對飛行控制的理解。本文還利用Unity3D 天空盒子、地形設(shè)計模塊對視景仿真進行了美化渲染,開發(fā)了曲線繪制、文件讀取、數(shù)據(jù)保存、用戶設(shè)置保存、航跡顯示、飛行視角切換等良好的人機交互功能,系統(tǒng)交互性好、可操作性強,具有較強的應(yīng)用價值。

        猜你喜歡
        飛機物理實驗
        記一次有趣的實驗
        只因是物理
        井岡教育(2022年2期)2022-10-14 03:11:44
        飛機失蹤
        處處留心皆物理
        做個怪怪長實驗
        “拼座飛機”迎風飛揚
        當代陜西(2019年11期)2019-06-24 03:40:28
        乘坐飛機
        三腳插頭上的物理知識
        神奇飛機變變變
        NO與NO2相互轉(zhuǎn)化實驗的改進
        俺去俺来也在线www色官网| 一本色道久久综合狠狠躁| 思思久久96热在精品国产 | 狠狠久久精品中文字幕无码| 成美女黄网站18禁免费| 特级国产一区二区三区| 国产精品女同久久久久电影院| 放荡的少妇2欧美版| 欧美黑人粗暴多交高潮水最多| 亚洲高清有码在线观看| 少妇性l交大片免费1一少| 亚洲在线精品一区二区三区| 一区二区视频中文字幕| 久久久久久夜精品精品免费啦| 丰满人妻被黑人猛烈进入| 精品人妻VA出轨中文字幕| 成人性生交大片免费看7| 亚洲一区二区三区高清在线| 国产午夜精品一区二区三区嫩草| 久久频道毛片免费不卡片| 高清亚洲精品一区二区三区| 在线视频国产91自拍| 国产精品一区二区久久不卡| 岛国AV一区二区三区在线观看| 亚洲中文字幕不卡无码| 亚洲网站一区在线播放| 女人18毛片a级毛片| 色婷婷综合中文久久一本| 国产啪精品视频网站免| 国产三区二区一区久久| 国产成人a在线观看视频免费| 日本五月天婷久久网站| 久久av一区二区三区下| 人妻少妇中文字幕久久| 亚洲视频在线观看| 免费人成毛片乱码| 国产一区二区毛片视频| 完整版免费av片| 无码人妻丰满熟妇啪啪7774| 亚洲不卡av不卡一区二区| 中文字幕日韩有码在线|