技術情報

Minidrone Competition を活用したアビオニクスと制御の授業

著者 Hamidreza Nemati, University of the West of England


学生時代、私はよく、工学的理論とその現実問題への応用との間には大きな隔たりがあると感じていました。たとえば、航空宇宙工学のカリキュラムの多くは、ナビゲーションや画像処理の課題に取り組むことを避けているような印象を受けました。こうした課題は航空宇宙エンジニアではなく、コンピューター科学者の範疇だという認識が、カリキュラムで取り上げられない一因となっていました。私は常々、こうした認識はおかしいと考えていました。私たちの生きるこの世界は複雑で、工学部の学生に現実的な課題の解決方法を教えるには、学際的なアプローチが必要だからです。

講師になった今、学生時代に覚えた違和感を解消すべく、この機会を活用することにしました。そのために、私自身が博士研究者として MathWorks Minidrone Competition で優勝した経験を活かしました。世界各国で開催されるこの大会では、Simulink® で視覚ベースのライン追従アルゴリズムを設計、シミュレーション、実装し、Parrot® Mambo ミニドローンを使った実際の飛行テストで他の学生のソリューションと競います (図 1)。

横並びの 2 枚の画像。1 つは Parrot ミニドローンが飛行している様子を上から見たシミュレーション画像、もう 1 つは Minidrone Competition での Parrot ミニドローンと飛行経路の画像。

図 1. シミュレーション環境 (左) と競技用コース (右) で飛行する Parrot ミニドローン。

私は大会に参加し、現実環境がドローンの展開に及ぼす影響を考慮しながら工学的理論を応用することについて、教室での授業よりもはるかに多くのことを学びました。同時に、モデルベースデザイン (MBD、モデルベース開発) や、ナビゲーション アルゴリズムと画像処理アルゴリズムの開発、実装、最適化についても、貴重な経験を積むことができました。講師として、学生たちにもこのような経験を生かしてもらいたいと思いました。そこで、MathWorks Minidrone Competition を、3 年生を対象としたアビオニクスと制御の授業に取り入れました。2021 ~ 2022 年度にこのコースを担当したとき、6 つの学生チームが Simulink でアルゴリズムを開発および調整し、最終的に交互に決勝戦で試す機会を得ました。派手に墜落して失敗するようなこともありましたが、学生たちはかつての私と同じように熱を入れて取り組み、この体験から多くのことを学んでくれました。

コースの構成

コースの進め方については、Minidrone Competition と同じように、学生が一連のマイルストーンを達成しながら、設計の完成を目指すという構成に決めました。この構成は、UK Standard for Professional Engineering Competence and Commitment の「知識と理解」、「設計、開発、および工学的な問題の解決」の 2 分野を主にカバーしています。

しかし、設計に取り掛かる前に十分な時間をとり、必要な概念を学生が確実に理解できるようにしました。学生には、MATLAB® と Simulink の基礎の復習から始めて、MATLAB 入門と Simulink 入門のチュートリアルを受講させました。また、ステートマシンの作成、編集、シミュレーションの学習を先取りしてもらうため、Stateflow 入門のチュートリアルを修了した学生には、評価において加点しました。これは、コース後半で飛行状態を計画する際に役立つスキルだと知っていたからです。

その後の数週間で、航空機のダイナミクスとモデル化、ドローンアビオニクス、Parrot ミニドローンを含むマイクロ航空機の運動学とダイナミクスの授業を行いました。このシリーズの最後の授業では、コンピューター ビジョンの基礎を中心に学び、コースの最初のプロジェクトを完成させるために必要な基礎を身につけられるようにしました。

コンピューター ビジョン アルゴリズムの開発

クラスを 4 ~ 6 人のチームに分け、最初の大きなマイルストーンである「MATLAB でのライン検出アルゴリズムの開発」に向けて取り組むようにしました。まず手始めとして、エッジ、ライン、オブジェクト検出の基本的な手法を講義で説明しました。また、MATLAB と Simulink による画像処理入門のチュートリアルも受講させました。学生が実装したライン検出アルゴリズムは、ミニドローンの飛行制御システムにおける画像処理コンポーネントの一部です。大会 (および私の授業) の一環として、学生にこのシステムの基本的な Simulink モデル (図 2) を配布しました。学生はまず Image Processing System ブロックを実装し、それから Control System ブロックに着手しました。

Image Processing System ブロックと Control System ブロックのワークフローを示す飛行制御システムの Simulink モデル。

図 2. 飛行制御システムの Simulink モデル。

基本的なエッジとラインの検出だけでなく、飛行経路の最後にドローンが降下すべき狭い着陸地点を特定するうえで必要な円検出アルゴリズムも実装する必要がありました (図 3)。私は学生たちに高度な画像処理技術の追求を促し、影の除去や照度不変の対策を実施した学生には、評価で加点するようにしました。印象的だったのは、学生たちが、ライン検出アルゴリズムにも円検出アルゴリズムにも斬新な発想で取り組んでくれたことです。どちらのアルゴリズムも、私が予想もしなかった面白い切り口になりました。

ドローンの飛行経路の終点と指定の着陸地点を上から見たシミュレーション画像。

図 3. 経路の終点とその着陸地点を上から見たシミュレーション画像。

パスプランニング

次の大きなマイルストーンは、Simulink の制御システムモデルにパスプランニング ブロックを実装することでした。この段階で私は、「パスプランニング」と「軌道追跡」を分け、学生が、距離や形状などの経路の物理的パラメーターに依存しないアルゴリズムを開発できるようにしました。その代わり、学生はパスの色を活用して、画像から得た情報をもとに必要なパラメーターを算出しました。このブロックは、学生が作成した画像処理アルゴリズムの結果を入力として受け取ります (図 4)。

制御システムの Simulink モデル。

図 4. パスプランニング サブシステムを含む、制御システムの Simulink モデル。

画像処理アルゴリズムの場合と同様に、学生たちには、RRT、RRT*、A* などの代表的なパスプランニング アルゴリズムを紹介しましたが、その他の手法も利用できることにしました。各チームは、まずドローンが分岐点に到達するまで直線的な経路を追従できるようにし、その後、ドローンが着陸地点までの経路を完全に追従できるようになるまでアルゴリズムの開発を進めました。アルゴリズムをテストする際、各チームは MathWorks から提供されたドローンのモデルを使用して、Simulink で閉ループ シミュレーションを行いました (図 5)。ここでも、学生たちは既成概念にとらわれない発想を見せてくれました。あるチームは、ドローンの向きを変えずに全行程を飛行できるアルゴリズムを実装したのです。

図 5. ドローンが経路を追従するシミュレーション。

制御設計および調整

学生たちがパスプランニング アルゴリズムを実装した後、私は姿勢制御と高度制御の設計に焦点を移しました。積分絶対誤差、積分二乗誤差、積分時間加重絶対誤差、さらには誤差の二乗平均平方根値のいずれかを最小化する最適化アルゴリズムを使用して、PID (Proportional-Integral-Derivative、比例-積分-微分) コントローラーのゲインを再調整させました。MathWorks から提供されたベースモデルには、姿勢制御装置と高度制御装置が含まれていましたが、あまり調整しすぎないように注意しました。全体的な実装戦略の一環として、私は学生たちに単純な設計にとどめるよう勧めました。設計が複雑すぎたり、コントローラーを調整しすぎたりすると、実際のハードウェアでテストするときに問題が発生する可能性が高いからです。

学生が PID などのモデルフリーの線形コントローラーに取り組んでいる際に、線形 2 次レギュレーター (LQR) などのモデルベースの線形制御設計も紹介しました。さらに、LQR と、より高度な非線形制御手法として知られるスライディング モード制御 (SMC) の実装を比較し、不確実性や外乱が存在する場合にロバストなコントローラーを適用することの効果を説明しました。しかし、SMC には望ましくない高周波振動があることから、滑り面の分数指数を用いてこの振動を除去し、制御システムのロバスト性を保証する連続スライディング モード制御 (CSMC) を実装しました。線形 (PID) と非線形 (CSMC) の制御設計の性能を比較するため、シミュレーションを行い、その結果の経路を MATLAB でプロットしました (図 6)。同僚の中には、私が LQR などのモデルベース制御手法を学部生に教えていたことに驚く人もいました。そんなときは、作業用モデルがあれば、PID コントローラーを LQR コントローラーに交換して、高度な制御手法がどのように適用されるのか説明することは、実際のところ極めて簡単なのだと説明しました。

PID コントローラーと CSMC コントローラーでドローンの飛行経路をプロットした 2 つのグラフ。

図 6. PID コントローラー (上) と CSMC コントローラー (下) を使用したドローンのシミュレーション経路。

Parrot ミニドローンへの展開

最後のマイルストーンとして、Simulink でモデル化、シミュレーション、検証したアルゴリズムを実際のハードウェア上で動作させました。このステップでは、Simulink Support Package for Parrot Minidrones を使用して、Bluetooth® により Parrot Mambo ミニドローンにワイヤレスでアルゴリズムを展開しました。

Minidrone Competition はブリストルロボット工学研究所で開催され、同研究所の研究者数名も参加して最終飛行を見守りました。イベント当日は、MathWorks のエンジニアが準備を手伝ってくれました。

最初の飛行テストは、チームの期待通りには進みませんでした。その主な理由は、学生たちがコントローラーのゲインを高く設定しすぎたことでした。シミュレーションでは安定して軌道を追従していたにもかかわらず、実際の飛行ではドローンは不安定な挙動を示し、激しい衝突を繰り返しました。当初は落胆していた学生たちも、目の前にある現実世界の影響を考慮し、ゲインの調整や、設計の簡略化にすぐに取り掛かりました。あるチームのドローンが全コースを見事に制覇し、優勝しました。また、大会終了後も複数のチームが残ってアルゴリズムの改良を続けたことから、プロジェクトに対する関心の高さがクラス全体に広がっていることがうかがえました。

この学生たちの衰えない学習意欲こそ、私が来年も Minidrone Competition をコースの中心に据えたいと思う理由の 1 つです。また、学生たちが、ここ英国やその近隣国で開催される公式の MathWorks Minidrone Competition に参加する機会を得ることにも期待しています。

著者について

現在、西イングランド大学ブリストル校でアビオニクスと制御の講師を務める Nemati 博士は、九州大学 (福岡) で航空宇宙工学の博士号を取得しています。油圧マニピュレーターの制御や小型無人航空機のロバストな安定化を実現するシステムなど、自律航法とインテリジェント制御の研究に取り組んでいます。

公開年 2023

詳細

関連する産業分野の記事を見る