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

基于RTX的無人機飛行剖面實時仿真

基于ATmegal28的無人機控制系統(tǒng)硬件設(shè)計

評論