0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Simulink的迷你無(wú)人機(jī)飛行控制系統(tǒng)設(shè)計(jì)

MATLAB ? 來(lái)源:MATLAB ? 2023-12-14 10:32 ? 次閱讀

| 作者 Hamidreza Nemati

Nemati 博士在日本福岡九州大學(xué)獲得了航空航天博士學(xué)位,目前是布里斯托爾西英格蘭大學(xué)的航電和控制講師。他的研究方向包括自主導(dǎo)航和智能控制,其中涉及用于控制液壓機(jī)械臂以及實(shí)現(xiàn)微型飛行器魯棒穩(wěn)定性的系統(tǒng)。

在學(xué)生時(shí)期,我經(jīng)常覺(jué)得工程理論與其解決實(shí)際問(wèn)題的實(shí)踐應(yīng)用之間相差甚遠(yuǎn)。比如,我發(fā)現(xiàn)航空航天工程專業(yè)的大部分課程都未講解如何應(yīng)對(duì)導(dǎo)航或圖像處理挑戰(zhàn)的主題。我想,之所以對(duì)此避而不談,部分原因是有觀點(diǎn)認(rèn)為,這些主題屬于計(jì)算機(jī)科學(xué)家的專業(yè)領(lǐng)域,而非航空航天工程師的專業(yè)領(lǐng)域。我一直覺(jué)得這種觀點(diǎn)很奇怪,因?yàn)槲覀兩钤谝粋€(gè)復(fù)雜的世界里,需要使用多學(xué)科方法來(lái)教會(huì)工科學(xué)生如何解決實(shí)際難題。

現(xiàn)在,作為一名講師,我可以借此機(jī)會(huì)彌合我在學(xué)生時(shí)期認(rèn)識(shí)到的這種差距。為此,我借鑒了自己作為博士后研究員參加并贏得 MathWorks 迷你無(wú)人機(jī)比賽所取得的經(jīng)驗(yàn)。這項(xiàng)比賽在世界各個(gè)國(guó)家/地區(qū)舉行。在比賽中,學(xué)生們先要使用 Simulink 設(shè)計(jì)、仿真和實(shí)現(xiàn)基于視覺(jué)的循線算法,然后在 Parrot Mambo 迷你無(wú)人機(jī)上進(jìn)行實(shí)際飛行測(cè)試,將自己的解決方案與其他學(xué)生的解決方案一較高下。

作為參賽者,我需要了解如何在運(yùn)用工程理論的同時(shí),考慮現(xiàn)實(shí)環(huán)境對(duì)無(wú)人機(jī)部署的影響,這要比課堂上學(xué)到的知識(shí)多得多。與此同時(shí),我也在基于模型的設(shè)計(jì)以及導(dǎo)航和圖像處理算法的開(kāi)發(fā)、實(shí)現(xiàn)和優(yōu)化方面收獲了寶貴的經(jīng)驗(yàn)。作為一名講師,我希望我的學(xué)生能夠從這種經(jīng)驗(yàn)中受益。因此,我將 MathWorks 迷你無(wú)人機(jī)比賽直接納入到了我面向大三學(xué)生教授的航電和控制課程。在 2021 至 2022 學(xué)年教授這版課程時(shí),我將學(xué)生分成了六個(gè)小組。這些小組先在 Simulink 中開(kāi)發(fā)并調(diào)整他們的算法,最后在決賽中輪流對(duì)這些算法進(jìn)行測(cè)試。盡管發(fā)生了一些重大事故,但與我當(dāng)時(shí)一樣,學(xué)生們也從這次經(jīng)歷中收獲頗豐,這讓他們興致勃勃。

課程結(jié)構(gòu)設(shè)計(jì)

在考慮如何教授該課程時(shí),我決定采用與迷你無(wú)人機(jī)比賽相同的結(jié)構(gòu),讓學(xué)生通過(guò)一系列里程碑來(lái)完成整個(gè)設(shè)計(jì)。該結(jié)構(gòu)主要涵蓋英國(guó)工程專業(yè)能力和個(gè)人承諾標(biāo)準(zhǔn)的知識(shí)與理解這兩個(gè)方面,以及設(shè)計(jì)、開(kāi)發(fā)和工程問(wèn)題解決方面。

不過(guò),在開(kāi)始設(shè)計(jì)工作之前,我留出了一些時(shí)間來(lái)確保學(xué)生們對(duì)他們所需的概念有深入的了解。我從回顧 MATLAB 和 Simulink 基礎(chǔ)知識(shí)入手,讓學(xué)生們學(xué)習(xí)了《MATLAB 入門之旅》和《Simulink 入門之旅》教程。另外,我還向?qū)W完《Stateflow 入門之旅》教程的學(xué)生提供了額外學(xué)分,以鼓勵(lì)他們提前學(xué)習(xí)如何創(chuàng)建、編輯和仿真狀態(tài)機(jī)。我知道,在課程后期,需要規(guī)劃飛行狀態(tài)時(shí),他們將會(huì)慶幸自己已掌握了這些技能。

在接下來(lái)的幾周里,該課程涵蓋飛機(jī)動(dòng)力學(xué)和建模、無(wú)人機(jī)航電設(shè)備,以及迷你飛行器(包括 Parrot 迷你無(wú)人機(jī))的運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)等主題。本系列的最后一節(jié)課重點(diǎn)講述計(jì)算機(jī)視覺(jué)基礎(chǔ)知識(shí),這為學(xué)生們完成本課程的第一個(gè)項(xiàng)目奠定了必要的基礎(chǔ)。

開(kāi)發(fā)計(jì)算機(jī)視覺(jué)算法

我把全班學(xué)生分成了由四到六名學(xué)生組成的小組,讓他們完成第一個(gè)重要里程碑,那就是在 MATLAB 中開(kāi)發(fā)直線檢測(cè)算法。為了幫助他們?nèi)腴T,我將一些基本的邊緣、直線和目標(biāo)檢測(cè)方法納入到了講義中。學(xué)生們還在 MATLAB 和 Simulink 中學(xué)完了《圖像處理入門之旅》教程。他們要實(shí)現(xiàn)的直線檢測(cè)算法是迷你無(wú)人機(jī)飛行控制系統(tǒng)中圖像處理組件的一部分。作為比賽(和我的課程)的一部分,學(xué)生們會(huì)獲得該系統(tǒng)的基本 Simulink 模型)。他們先要實(shí)現(xiàn) Image Processing System 模塊,然后再處理 Control System 模塊。

wKgZomV6aYSAFh7uAACyBvSdxVA673.jpg

圖 . 飛行控制系統(tǒng)的 Simulink 模型。

除了基本的邊緣和直線檢測(cè)算法,學(xué)生們還需要實(shí)現(xiàn)圓形檢測(cè)算法,用來(lái)識(shí)別無(wú)人機(jī)在飛行路徑末端要降落的小著陸區(qū)。我鼓勵(lì)學(xué)生們探索先進(jìn)的圖像處理技術(shù),并為他們提供額外的學(xué)分,用于實(shí)現(xiàn)陰影去除或光照不變測(cè)度。學(xué)生們?cè)谥本€檢測(cè)和圓形檢測(cè)算法方面提出的創(chuàng)新想法給我留下了深刻的印象。對(duì)于這兩種算法,他們都想出了讓我意想不到的有趣方法。

路徑規(guī)劃

下一個(gè)重要里程碑是在 Simulink 控制系統(tǒng)模型中實(shí)現(xiàn) Path Planning 模塊。在該階段,我將術(shù)語(yǔ)“路徑規(guī)劃”與“軌跡跟蹤”作了區(qū)分,以便學(xué)生們能夠開(kāi)發(fā)獨(dú)立于路徑物理參數(shù)(如長(zhǎng)度和幾何形狀)的算法。于是,他們使用了路徑顏色,并根據(jù)從圖像中獲得的信息計(jì)算所需的所有參數(shù)。該模塊采用學(xué)生圖像處理算法的結(jié)果作為輸入。

wKgaomV6aYSAAjBUAAC1Y6X7cl4590.jpg

圖 . 控制系統(tǒng)的 Simulink 模型,包括路徑規(guī)劃子系統(tǒng)。

如同圖像處理算法那樣,我也向?qū)W生們介紹了一些常用的路徑規(guī)劃算法,包括 RRT、RRT* 和 A*,但不會(huì)讓他們拘泥于這些方法。各小組先讓無(wú)人機(jī)沿直線路徑飛行,直到它到達(dá)一個(gè)路口,然后他們?cè)倩谧约旱乃惴ㄟM(jìn)行構(gòu)建,直到無(wú)人機(jī)能夠沿著完整路徑飛行并降落到著陸區(qū)。為了測(cè)試自己的算法,這些小組使用 MathWorks 提供的無(wú)人機(jī)模型在 Simulink 中運(yùn)行了閉環(huán)仿真。在實(shí)現(xiàn)過(guò)程中,學(xué)生們?cè)俅握宫F(xiàn)了他們的創(chuàng)造性思維;有個(gè)小組實(shí)現(xiàn)的一種算法成功導(dǎo)航了整個(gè)路徑,而根本沒(méi)有改變無(wú)人機(jī)航向!

控制設(shè)計(jì)和調(diào)整

在學(xué)生們實(shí)現(xiàn)了路徑規(guī)劃算法后,我就把教學(xué)重點(diǎn)轉(zhuǎn)向了姿態(tài)和高度控制設(shè)計(jì)。我讓他們通過(guò)以下方法重新調(diào)整了比例-積分-微分控制器的增益:使用優(yōu)化算法,盡可能降低積分絕對(duì)誤差、積分均方誤差、積分時(shí)間加權(quán)絕對(duì)誤差乃至均方根誤差這些標(biāo)準(zhǔn)之一。MathWorks 提供的基礎(chǔ)模型中包含姿態(tài)和高度控制器,但我提醒學(xué)生們不要過(guò)于激進(jìn)。我強(qiáng)烈建議,作為總體實(shí)現(xiàn)策略的一部分,他們應(yīng)讓設(shè)計(jì)簡(jiǎn)潔明了,因?yàn)槲疑钪绻O(shè)計(jì)過(guò)于復(fù)雜或控制器調(diào)整過(guò)度,則可能會(huì)導(dǎo)致在真實(shí)硬件上進(jìn)行測(cè)試時(shí)困難重重。

當(dāng)學(xué)生們處理無(wú)模型線性控制器(如 PID)時(shí),我還向他們介紹了基于模型的線性控制設(shè)計(jì),包括線性二次調(diào)節(jié)器 (LQR)。此外,我還比較了實(shí)施 LQR 與更先進(jìn)的非線性控制策略(稱為滑動(dòng)模式控制 (SMC))時(shí)的性能,以說(shuō)明當(dāng)存在不確定性和外部干擾的情況下應(yīng)用穩(wěn)健控制器的效果。然而,考慮到 SMC 會(huì)受到意外高頻振動(dòng)的影響,我實(shí)現(xiàn)了一個(gè)連續(xù)滑動(dòng)模式控制 (CSMC),以便能夠根據(jù)滑動(dòng)面的分?jǐn)?shù)指數(shù)消除這種振動(dòng),并確保控制系統(tǒng)性能穩(wěn)定。為了比較線性 (PID) 和非線性 (CSMC) 控制設(shè)計(jì)的性能,我們運(yùn)行了仿真,并在 MATLAB 中繪制了生成的路徑。有些同事對(duì)我向本科生教授基于模型的控制技術(shù)(如 LQR)感到很驚訝。我解釋說(shuō),一旦我們有了工作模型,其實(shí)就很容易將 PID 控制器替換為 LQR 控制器,并演示如何應(yīng)用先進(jìn)的控制方法。

wKgaomV6aYSAYsIBAADuOGHLAYo796.jpg

圖 . 使用 PID 控制器(上圖)和 CSMC 控制器(下圖)繪制的無(wú)人機(jī)仿真飛行路徑。

部署到 Parrot 迷你無(wú)人機(jī)上

對(duì)于最后一個(gè)里程碑,學(xué)生們需要在真實(shí)硬件上運(yùn)行他們?cè)?Simulink 中建模、仿真和驗(yàn)證的算法。在這一步,他們需要使用 Simulink Support Package for Parrot Minidrones,通過(guò)藍(lán)牙 將算法無(wú)線部署到 Parrot Mambo 迷你無(wú)人機(jī)上。

無(wú)人機(jī)比賽在布里斯托爾機(jī)器人實(shí)驗(yàn)室舉行,有幾名實(shí)驗(yàn)室研究人員觀看了決賽?;顒?dòng)當(dāng)天,MathWorks 的工程師們也到場(chǎng)協(xié)助搭建比賽環(huán)境。

第一次飛行測(cè)試并沒(méi)有達(dá)到各小組的預(yù)期,主要是因?yàn)閷W(xué)生們把增益設(shè)得太高,并且對(duì)控制器調(diào)整過(guò)度。真實(shí)無(wú)人機(jī)并未像他們?cè)诜抡嬷锌吹降哪菢友刂窂椒€(wěn)定飛行,而是表現(xiàn)出飛行姿態(tài)不穩(wěn),并且遭受了多次嚴(yán)重撞擊。雖然學(xué)生們起初很失望,但很快重振旗鼓,調(diào)整了增益并對(duì)設(shè)計(jì)的各個(gè)方面進(jìn)行了簡(jiǎn)化,以將他們當(dāng)前面臨的實(shí)際影響均考慮在內(nèi)。其中一個(gè)小組的無(wú)人機(jī)成功完成了整個(gè)賽程,為他們贏得了比賽。賽后,多個(gè)小組留下來(lái)繼續(xù)改進(jìn)他們的算法,這充分展現(xiàn)了全班同學(xué)對(duì)該項(xiàng)目的興趣有多濃厚。

學(xué)生們不斷高漲的熱情,是我想在明年繼續(xù)教授該課程并將迷你無(wú)人機(jī)比賽作為課程核心的諸多原因之一。我也期待著我的學(xué)生們能有機(jī)會(huì)參加英國(guó)或鄰國(guó)官方的 MathWorks 迷你無(wú)人機(jī)比賽。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • matlab
    +關(guān)注

    關(guān)注

    185

    文章

    2980

    瀏覽量

    230726
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7525

    瀏覽量

    88319
  • Simulink
    +關(guān)注

    關(guān)注

    22

    文章

    536

    瀏覽量

    62496
  • 飛行器
    +關(guān)注

    關(guān)注

    13

    文章

    726

    瀏覽量

    45575
  • 無(wú)人機(jī)
    +關(guān)注

    關(guān)注

    230

    文章

    10488

    瀏覽量

    181372

原文標(biāo)題:教學(xué)前沿 | 迷你無(wú)人機(jī)比賽助力航電和控制教學(xué)

文章出處:【微信號(hào):MATLAB,微信公眾號(hào):MATLAB】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    無(wú)人機(jī)的大腦——飛行控制系統(tǒng)【技術(shù)周刊】

    消費(fèi)級(jí)無(wú)人機(jī)的火爆已經(jīng)持續(xù)了幾年時(shí)間,在今年的CES上大疆、零度智控、昊翔等廠商也紛紛亮相。國(guó)際無(wú)人機(jī)載具協(xié)會(huì)預(yù)估2025年無(wú)人機(jī)市場(chǎng)規(guī)模達(dá)100億美元,不過(guò)去年的裁員和破產(chǎn)事件也為市場(chǎng)籠罩一層陰云。為了能夠開(kāi)發(fā)出具有競(jìng)爭(zhēng)力的
    發(fā)表于 02-10 17:36 ?1w次閱讀

    無(wú)人機(jī)有人管了 全國(guó)首個(gè)無(wú)人機(jī)飛行服務(wù)中心試運(yùn)行

    雙流機(jī)場(chǎng)緊急關(guān)閉跑道,大量航班延誤。無(wú)人機(jī)“悶頭黑飛”惹事,已不是第一次。不過(guò)此類事件有望大幅減少。記者昨日獲悉,位于郫縣菁蓉小鎮(zhèn)的西南無(wú)人機(jī)飛行服務(wù)中心已開(kāi)始試運(yùn)行,國(guó)內(nèi)最為先進(jìn)的無(wú)人機(jī)
    發(fā)表于 06-01 14:05

    【MM32 MiniBoard申請(qǐng)】無(wú)人機(jī)飛行控制系統(tǒng)設(shè)計(jì)

    項(xiàng)目名稱:無(wú)人機(jī)飛行控制系統(tǒng)設(shè)計(jì)試用計(jì)劃:1.拿到產(chǎn)品,首先 對(duì)產(chǎn)品硬件進(jìn)行了解,并撰寫相關(guān)報(bào)告;2.配合自己的開(kāi)發(fā)板對(duì)申請(qǐng)的開(kāi)發(fā)套件進(jìn)行配合使用,完成相關(guān)的例程實(shí)驗(yàn),并撰寫相應(yīng)的使用心得;3.針對(duì)
    發(fā)表于 12-07 16:51

    無(wú)人機(jī)偵測(cè)和反制系統(tǒng)

    和確保人身安全無(wú)人機(jī)偵測(cè)和反制系統(tǒng)是通過(guò)實(shí)時(shí)測(cè)量無(wú)人機(jī)電磁發(fā)射的信號(hào)方向,從而偵測(cè)入侵的未知無(wú)人機(jī),進(jìn)而對(duì)未知無(wú)人機(jī)進(jìn)行驅(qū)離和迫降。利用
    發(fā)表于 04-05 10:15

    無(wú)人機(jī)中的MCU是如何工作的?

    。無(wú)人機(jī)由飛機(jī)機(jī)體、飛控系統(tǒng)、數(shù)據(jù)鏈系統(tǒng)、發(fā)射回收系統(tǒng)、電源系統(tǒng)等組成。飛行管理與
    發(fā)表于 10-09 10:44

    無(wú)人機(jī)飛行控制器電路該怎么設(shè)計(jì)?

    無(wú)人機(jī)飛行控制系統(tǒng)中,飛行控制器是其核心部件,它負(fù)責(zé)飛行
    發(fā)表于 10-22 07:58

    無(wú)人機(jī)飛控系統(tǒng)

    摘要:無(wú)人機(jī)(UAV)是無(wú)人駕駛飛機(jī)的簡(jiǎn)稱,是指利用無(wú)線電遙控設(shè)備和自備的程序控制裝置操縱的不載人飛行器。無(wú)人機(jī)最初誕生在一戰(zhàn)時(shí)期,作為靶機(jī)
    發(fā)表于 07-21 08:03

    無(wú)人機(jī)控制系統(tǒng)原理是什么?

    無(wú)人機(jī)控制系統(tǒng)原理是什么?
    發(fā)表于 11-08 08:24

    有刷電機(jī)無(wú)人機(jī)飛行控制

    描述有刷電機(jī)無(wú)人機(jī)飛行控制器 Mini本項(xiàng)目用于有刷電機(jī)微型無(wú)人機(jī)專用的控制實(shí)踐。使用6軸IMU,我們可以使
    發(fā)表于 08-08 06:37

    基于ARM的無(wú)人機(jī)飛行控制系統(tǒng)的實(shí)現(xiàn)

    以AT91M55800A微控器為核心設(shè)計(jì)并實(shí)現(xiàn)了基于ARM 的新型無(wú)人機(jī)飛行控制器,詳細(xì)給出了無(wú)人機(jī)飛行
    發(fā)表于 07-07 14:48 ?194次下載

    無(wú)人機(jī)飛行控制系統(tǒng)地面仿真平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

    為滿足無(wú)人機(jī)控制律參數(shù)調(diào)節(jié)及后期控制策略優(yōu)化的需要,以某型無(wú)人機(jī)為應(yīng)用背景,提出了一種無(wú)人機(jī)飛行
    發(fā)表于 05-06 11:15 ?136次下載
    <b class='flag-5'>無(wú)人機(jī)</b><b class='flag-5'>飛行</b><b class='flag-5'>控制系統(tǒng)</b>地面仿真平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

    基于RTX的無(wú)人機(jī)飛行剖面實(shí)時(shí)仿真

    無(wú)人機(jī)一般由飛行控制系統(tǒng)控制其在全自主狀態(tài)下飛行,因此進(jìn)行無(wú)人機(jī)飛行剖面實(shí)時(shí)仿真變得越來(lái)越重要
    發(fā)表于 05-06 11:17 ?37次下載
    基于RTX的<b class='flag-5'>無(wú)人機(jī)</b><b class='flag-5'>飛行</b>剖面實(shí)時(shí)仿真

    基于SOPC的微型無(wú)人機(jī)飛行控制系統(tǒng)設(shè)計(jì)_宋宇

    基于SOPC的微型無(wú)人機(jī)飛行控制系統(tǒng)設(shè)計(jì)_宋宇
    發(fā)表于 03-19 19:12 ?1次下載

    基于STM32微控制器的小型無(wú)人機(jī)飛行控制系統(tǒng)

    基于STM32微控制器的小型無(wú)人機(jī)飛行控制系統(tǒng)
    發(fā)表于 09-25 10:45 ?37次下載
    基于STM32微<b class='flag-5'>控制</b>器的小型<b class='flag-5'>無(wú)人機(jī)</b><b class='flag-5'>飛行</b><b class='flag-5'>控制系統(tǒng)</b>

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

    通過(guò)分析無(wú)人機(jī)飛行控制系統(tǒng)的工作原理以及對(duì)飛控計(jì)算機(jī)功能的需求,給出了基于ATmegal28單片機(jī)的元人機(jī)飛行
    發(fā)表于 09-25 17:16 ?7次下載
    基于ATmegal28的<b class='flag-5'>無(wú)人機(jī)</b><b class='flag-5'>控制系統(tǒng)</b>硬件設(shè)計(jì)