| 作者 Hamidreza Nemati
Nemati 博士在日本福岡九州大學獲得了航空航天博士學位,目前是布里斯托爾西英格蘭大學的航電和控制講師。他的研究方向包括自主導航和智能控制,其中涉及用于控制液壓機械臂以及實現微型飛行器魯棒穩定性的系統。
在學生時期,我經常覺得工程理論與其解決實際問題的實踐應用之間相差甚遠。比如,我發現航空航天工程專業的大部分課程都未講解如何應對導航或圖像處理挑戰的主題。我想,之所以對此避而不談,部分原因是有觀點認為,這些主題屬于計算機科學家的專業領域,而非航空航天工程師的專業領域。我一直覺得這種觀點很奇怪,因為我們生活在一個復雜的世界里,需要使用多學科方法來教會工科學生如何解決實際難題。
現在,作為一名講師,我可以借此機會彌合我在學生時期認識到的這種差距。為此,我借鑒了自己作為博士后研究員參加并贏得 MathWorks 迷你無人機比賽所取得的經驗。這項比賽在世界各個國家/地區舉行。在比賽中,學生們先要使用 Simulink 設計、仿真和實現基于視覺的循線算法,然后在 Parrot Mambo 迷你無人機上進行實際飛行測試,將自己的解決方案與其他學生的解決方案一較高下。
作為參賽者,我需要了解如何在運用工程理論的同時,考慮現實環境對無人機部署的影響,這要比課堂上學到的知識多得多。與此同時,我也在基于模型的設計以及導航和圖像處理算法的開發、實現和優化方面收獲了寶貴的經驗。作為一名講師,我希望我的學生能夠從這種經驗中受益。因此,我將 MathWorks 迷你無人機比賽直接納入到了我面向大三學生教授的航電和控制課程。在 2021 至 2022 學年教授這版課程時,我將學生分成了六個小組。這些小組先在 Simulink 中開發并調整他們的算法,最后在決賽中輪流對這些算法進行測試。盡管發生了一些重大事故,但與我當時一樣,學生們也從這次經歷中收獲頗豐,這讓他們興致勃勃。
課程結構設計
在考慮如何教授該課程時,我決定采用與迷你無人機比賽相同的結構,讓學生通過一系列里程碑來完成整個設計。該結構主要涵蓋英國工程專業能力和個人承諾標準的知識與理解這兩個方面,以及設計、開發和工程問題解決方面。
不過,在開始設計工作之前,我留出了一些時間來確保學生們對他們所需的概念有深入的了解。我從回顧 MATLAB 和 Simulink 基礎知識入手,讓學生們學習了《MATLAB 入門之旅》和《Simulink 入門之旅》教程。另外,我還向學完《Stateflow 入門之旅》教程的學生提供了額外學分,以鼓勵他們提前學習如何創建、編輯和仿真狀態機。我知道,在課程后期,需要規劃飛行狀態時,他們將會慶幸自己已掌握了這些技能。
在接下來的幾周里,該課程涵蓋飛機動力學和建模、無人機航電設備,以及迷你飛行器(包括 Parrot 迷你無人機)的運動學和動力學等主題。本系列的最后一節課重點講述計算機視覺基礎知識,這為學生們完成本課程的第一個項目奠定了必要的基礎。
開發計算機視覺算法
我把全班學生分成了由四到六名學生組成的小組,讓他們完成第一個重要里程碑,那就是在 MATLAB 中開發直線檢測算法。為了幫助他們入門,我將一些基本的邊緣、直線和目標檢測方法納入到了講義中。學生們還在 MATLAB 和 Simulink 中學完了《圖像處理入門之旅》教程。他們要實現的直線檢測算法是迷你無人機飛行控制系統中圖像處理組件的一部分。作為比賽(和我的課程)的一部分,學生們會獲得該系統的基本 Simulink 模型)。他們先要實現 Image Processing System 模塊,然后再處理 Control System 模塊。
圖 . 飛行控制系統的 Simulink 模型。
除了基本的邊緣和直線檢測算法,學生們還需要實現圓形檢測算法,用來識別無人機在飛行路徑末端要降落的小著陸區。我鼓勵學生們探索先進的圖像處理技術,并為他們提供額外的學分,用于實現陰影去除或光照不變測度。學生們在直線檢測和圓形檢測算法方面提出的創新想法給我留下了深刻的印象。對于這兩種算法,他們都想出了讓我意想不到的有趣方法。
路徑規劃
下一個重要里程碑是在 Simulink 控制系統模型中實現 Path Planning 模塊。在該階段,我將術語“路徑規劃”與“軌跡跟蹤”作了區分,以便學生們能夠開發獨立于路徑物理參數(如長度和幾何形狀)的算法。于是,他們使用了路徑顏色,并根據從圖像中獲得的信息計算所需的所有參數。該模塊采用學生圖像處理算法的結果作為輸入。
圖 . 控制系統的 Simulink 模型,包括路徑規劃子系統。
如同圖像處理算法那樣,我也向學生們介紹了一些常用的路徑規劃算法,包括 RRT、RRT* 和 A*,但不會讓他們拘泥于這些方法。各小組先讓無人機沿直線路徑飛行,直到它到達一個路口,然后他們再基于自己的算法進行構建,直到無人機能夠沿著完整路徑飛行并降落到著陸區。為了測試自己的算法,這些小組使用 MathWorks 提供的無人機模型在 Simulink 中運行了閉環仿真。在實現過程中,學生們再次展現了他們的創造性思維;有個小組實現的一種算法成功導航了整個路徑,而根本沒有改變無人機航向!
控制設計和調整
在學生們實現了路徑規劃算法后,我就把教學重點轉向了姿態和高度控制設計。我讓他們通過以下方法重新調整了比例-積分-微分控制器的增益:使用優化算法,盡可能降低積分絕對誤差、積分均方誤差、積分時間加權絕對誤差乃至均方根誤差這些標準之一。MathWorks 提供的基礎模型中包含姿態和高度控制器,但我提醒學生們不要過于激進。我強烈建議,作為總體實現策略的一部分,他們應讓設計簡潔明了,因為我深知,如果設計過于復雜或控制器調整過度,則可能會導致在真實硬件上進行測試時困難重重。
當學生們處理無模型線性控制器(如 PID)時,我還向他們介紹了基于模型的線性控制設計,包括線性二次調節器 (LQR)。此外,我還比較了實施 LQR 與更先進的非線性控制策略(稱為滑動模式控制 (SMC))時的性能,以說明當存在不確定性和外部干擾的情況下應用穩健控制器的效果。然而,考慮到 SMC 會受到意外高頻振動的影響,我實現了一個連續滑動模式控制 (CSMC),以便能夠根據滑動面的分數指數消除這種振動,并確保控制系統性能穩定。為了比較線性 (PID) 和非線性 (CSMC) 控制設計的性能,我們運行了仿真,并在 MATLAB 中繪制了生成的路徑。有些同事對我向本科生教授基于模型的控制技術(如 LQR)感到很驚訝。我解釋說,一旦我們有了工作模型,其實就很容易將 PID 控制器替換為 LQR 控制器,并演示如何應用先進的控制方法。
圖 . 使用 PID 控制器(上圖)和 CSMC 控制器(下圖)繪制的無人機仿真飛行路徑。
部署到 Parrot 迷你無人機上
對于最后一個里程碑,學生們需要在真實硬件上運行他們在 Simulink 中建模、仿真和驗證的算法。在這一步,他們需要使用 Simulink Support Package for Parrot Minidrones,通過藍牙 將算法無線部署到 Parrot Mambo 迷你無人機上。
無人機比賽在布里斯托爾機器人實驗室舉行,有幾名實驗室研究人員觀看了決賽。活動當天,MathWorks 的工程師們也到場協助搭建比賽環境。
第一次飛行測試并沒有達到各小組的預期,主要是因為學生們把增益設得太高,并且對控制器調整過度。真實無人機并未像他們在仿真中看到的那樣沿著路徑穩定飛行,而是表現出飛行姿態不穩,并且遭受了多次嚴重撞擊。雖然學生們起初很失望,但很快重振旗鼓,調整了增益并對設計的各個方面進行了簡化,以將他們當前面臨的實際影響均考慮在內。其中一個小組的無人機成功完成了整個賽程,為他們贏得了比賽。賽后,多個小組留下來繼續改進他們的算法,這充分展現了全班同學對該項目的興趣有多濃厚。
學生們不斷高漲的熱情,是我想在明年繼續教授該課程并將迷你無人機比賽作為課程核心的諸多原因之一。我也期待著我的學生們能有機會參加英國或鄰國官方的 MathWorks 迷你無人機比賽。
審核編輯:湯梓紅
-
matlab
+關注
關注
182文章
2963瀏覽量
230199 -
計算機
+關注
關注
19文章
7430瀏覽量
87734 -
Simulink
+關注
關注
22文章
522瀏覽量
62312 -
飛行器
+關注
關注
13文章
718瀏覽量
45472 -
無人機
+關注
關注
228文章
10356瀏覽量
179696
原文標題:教學前沿 | 迷你無人機比賽助力航電和控制教學
文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論