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

Simulink/Unity3D聯合的飛行控制仿真教學系統開發

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

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

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

0 引言

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

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

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

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

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

1 仿真系統開發

航模機用于演示仿真過程中飛機的舵面與螺旋槳作動狀態。由于本系統面向本科教學,故優先選擇常規氣動布局的單垂尾固定翼航模機作為演示對象。本文的飛行控制仿真系統結構如圖1 所示。

圖1 飛行控制仿真系統結構框圖

1.1 Unity3D飛行器模型建立

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

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

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

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

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

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

圖2 Unity3D模型與Matlab模型運動規律比較

1.2 Unity3D與Simulink聯合仿真環節開發

1.2.1 數據通信方式選擇

由于本文所開發系統的物理模型與控制器分別位于Unity3D與Simulink,要使兩者進行聯合仿真,需對兩者間的數據通信環節進行設計。本文對飛控仿真中常見的UDP通信與串口通信[10-12]進行了分析測試,提出兩個評價指標對其進行優劣評判:

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

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

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

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

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

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

1.2.2 聯合仿真時間參數設置

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

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

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

1.3 控制器設計

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

考慮到該飛控仿真系統應當為不同層次的學生提供不同難度的飛控仿真實驗,故為了降低控制律設計實驗難度,本文利用Unity3D C#自編腳本將PID 算法樣例程序寫入Unity3D,即本文還開發了模型、控制器均在Unity3D中的飛控仿真。這樣可確保飛控算法不被學生改變,學生實驗時只需在仿真軟件提供的控制律結構圖(見圖4)中進行PID參數調整即可。

圖4 高度控制律PID參數調整實驗界面

C#自編腳本采用歐拉法進行數值積分運算。考慮到篇幅限制,圖5 僅展示控制器分別在Simulink 與Unity3D這兩種環境下的滾轉角曲線。經計算分析,與Simulink控制器相比,Unity3D自編腳本控制器誤差小于1%,兩種環境中設計的控制律幾乎一致,所開發的飛控仿真系統可不依賴Simulink進行經典PID控制算法仿真驗證。

圖5 Simulink、Unity3D滾轉角控制器比較

1.4 半實物演示環節開發

本文利用羅技X52Pro 操縱桿實現指令給定。通過轉動不同搖桿,可分別生成滾轉、偏航、俯仰、油門等四通道指令。其可根據不同的實驗條件,直接控制飛機執行機構或給出狀態參考指令。

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

航模機飛控板通過無線數傳模塊接收執行機構信息,利用高級定時器產生不同頻率PWM 信號,分別驅動舵機與電調。PWM 信號占空比分別由接收的舵偏角及油門開度信號確定,實現對航模機舵偏角與螺旋槳電機的控制。

本文開發的飛行控制仿真系統實物如圖6 所示。

圖6 飛行控制仿真系統實物

2 仿真實驗

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

圖7 實驗系統初始界面

圖8 系統仿真實驗界面

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

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

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

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

(4)若選擇“PID 參數調整實驗”,點擊“仿真驗證”按鈕,在仿真界面中顯示的控制律結構圖內點擊相應模塊進行參數修改,即可進行經典PID 控制律驗證。

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

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

圖9 仿真系統飛行高度狀態曲線

3 結語

本文對比總結了Unity3D 用于飛控仿真的優勢,提出Unity3D 飛行器物理模型準確建立的方式,測試分析Unity3D 與Simulink 聯合仿真數據通信方式,針對飛控仿真與Unity3D時間管理特點確定聯合仿真時間參數,整個系統的開發過程對于Unity3D 飛控仿真開發而言具有較好的參考意義。

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

猜你喜歡
飛機物理實驗
記一次有趣的實驗
只因是物理
井岡教育(2022年2期)2022-10-14 03:11:44
飛機失蹤
環球時報(2022-05-30)2022-05-30 15:16:57
處處留心皆物理
做個怪怪長實驗
“拼座飛機”迎風飛揚
當代陜西(2019年11期)2019-06-24 03:40:28
乘坐飛機
三腳插頭上的物理知識
神奇飛機變變變
NO與NO2相互轉化實驗的改進
主站蜘蛛池模板: 久久精品国产国语对白| 91福利免费| 欧美中文字幕一区二区三区| 久久香蕉国产线看精品| 国产精品网址在线观看你懂的| 无码高潮喷水专区久久| 丁香婷婷久久| 国产精品久久久久久久久久久久| 国产成人1024精品| 99久久精品久久久久久婷婷| 真人高潮娇喘嗯啊在线观看| 人妻一区二区三区无码精品一区| 99国产精品国产| 宅男噜噜噜66国产在线观看| 久久青青草原亚洲av无码| 日韩123欧美字幕| 国产成人精品日本亚洲| 伊人AV天堂| 噜噜噜久久| 毛片手机在线看| 国产青榴视频在线观看网站| 一区二区三区毛片无码| 91在线国内在线播放老师| 另类专区亚洲| 综合成人国产| 国产毛片片精品天天看视频| 国产va在线观看| 国产精品成人一区二区| 一本大道东京热无码av| 成人精品亚洲| 国产亚洲现在一区二区中文| 国产女同自拍视频| 日韩色图区| swag国产精品| 亚洲国产欧洲精品路线久久| 国产美女一级毛片| 免费看一级毛片波多结衣| 婷婷综合亚洲| 99精品国产自在现线观看| 凹凸精品免费精品视频| 国产区福利小视频在线观看尤物| a国产精品| 伊人AV天堂| 激情视频综合网| 亚洲大学生视频在线播放| 日韩第九页| 日韩毛片免费| 亚卅精品无码久久毛片乌克兰| 一级片一区| 欧美特黄一免在线观看| 国产粉嫩粉嫩的18在线播放91| 亚洲精品免费网站| a亚洲视频| 成年A级毛片| 四虎影视国产精品| 国产亚洲精品97在线观看| 欧美视频二区| 国产主播在线一区| 成人亚洲视频| 99精品国产高清一区二区| 亚洲69视频| 爽爽影院十八禁在线观看| 亚洲中文精品人人永久免费| 71pao成人国产永久免费视频| 国产毛片久久国产| 久久精品只有这里有| 麻豆国产在线不卡一区二区| 91福利免费视频| 精品国产自在在线在线观看| 国产福利在线免费观看| 伊人中文网| 国产又粗又爽视频| 亚洲色欲色欲www网| 四虎永久在线视频| 四虎免费视频网站| 欧美亚洲中文精品三区| 五月婷婷综合网| 这里只有精品国产| 免费观看男人免费桶女人视频| 丰满的少妇人妻无码区| 国产精品九九视频| 2048国产精品原创综合在线|