Main Content

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

Parrot Minidrone に基づくクワッドコプターのモデリングとシミュレーション

この例では、Simulink ® を使用して、Parrot® シリーズのミニドローンをベースにしたクアッドコプターをモデル化、シミュレート、視覚化する方法を示します。

QuadAHscene.png

クワッドコプターの実装の詳細については、Parrot ミニドローンをベースにしたクワッドコプターのモデル化 を参照してください。

メモ: この例のハードウェア統合には、Simulink Support Package for Parrot Minidrones と C/C++ コンパイラのインストールが必要です。

クワッドコプタープロジェクトを開く

次のコマンドを実行して、この例のプロジェクト ファイルの作業コピーを作成して開きます。

openProject('asbQuadcopter');

設計

高レベルの設計は以下に示すように、各コンポーネントは個別のサブシステムとして設計されており、各サブシステムはバリアントの形で複数のアプローチをサポートしています。

コマンド

6 つの自由度 (x、y、z、ロール、ピッチ、ヨー) すべてに入力コマンド信号を提供します。VSS_COMMAND 変数を使用すると、次の方法で入力コマンド信号を選択的に提供できます。

  • Signal Editor ブロック

  • ジョイスティック

  • 事前保存データ

  • スプレッドシート

環境

環境パラメータ、重力、温度、音速、圧力、密度、磁場を適切な値に設定します。VSS_ENVIRONMENT 変数を使用すると、環境パラメータ値を次のように選択的に設定できます。

  • 定数

  • 可変

センサー

車両の位置、向き、速度、加速度を測定し、視覚データも取得します。VSS_SENSORS 変数を使用すると、センサーを次のように選択的に設定できます。

  • 動的

  • 直達

機体

VSS_AIRFRAME 変数を使用して、車両モデルを非線形または線形として選択します。線形状態空間モデルは、Simulink Control Design ツールボックスを使用してトリム ソリューションに関する非線形モデルを線形化することによって得られます。

FCS (飛行制御システム)

FCS は次の要素で構成されます。

  • 推定器: 補完フィルターとカルマン フィルターを使用して実装され、車両の位置と方向を推定します。推定パラメータは[1]に基づいています。

  • フライト コントローラー: PID コントローラーを使用して実装され、車両の位置と方向を制御します。

  • 着陸ロジック: 参照コマンドをオーバーライドし、特定のシナリオで車両を着陸させるアルゴリズムを実装します。

可視化

アクチュエータの入力値、車両の状態、環境パラメータの値が記録され、シミュレーション データ インスペクターを使用して視覚化できます。車両の向きとアクチュエータの入力値は、飛行計器を使用して表示されます。

さらに、VSS_VISUALIZATION 変数を使用すると、次の方法で車両の向きを視覚化できます。

  • スコープ

  • ワークスペース内

  • FlightGear

  • 空港の風景

  • AppleHill シーン: Epic Games® の Unreal と、Unreal Engine® サポート パッケージ用の Aerospace Blockset Interface がインストールされている必要があります。

実装

  • Command サブシステムからの AC cmd バス信号は、FCS サブシステムへの参照信号を形成します。

  • Environment サブシステムからの Environment バス信号には環境データが含まれており、Sensors サブシステム (慣性計測ユニットの重力による加速度入力) と Airframe サブシステム (力とモーメントの計算に使用) に渡されます。

  • Sensors バス信号と Sensors サブシステムからの Image Data は測定信号を形成し、車両の現在の状態に関する情報を FCS サブシステムに提供します。

  • 推定器とコントローラで構成される FCS サブシステムは、基準信号と測定信号に基づいて、クワッドコプターのモーター Actuators, へのコマンド信号を計算します。FCS からの追加出力、Flag は、車両の状態値 (位置と速度) が特定の安全限界を超えた場合にシミュレーションを停止します。

  • プラント モデルとして機能する Airframe サブシステムは、クワッドコプターの 4 つのローターに対応するモーターへの入力として Actuator コマンドを受け取ります。Multirotorブロックは[2]と[3]に基づいて実装されており、力とモーメントの計算に使用されます。Airframe サブシステムからの出力は States バス信号であり、Sensors サブシステムにフィードバックされます。

  • Visualization サブシステムは、AC cmd バス信号 (参照コマンド信号)、FCS によって生成された Actuators 入力、および Aiframe サブシステムからの States バス信号を使用して視覚化を支援します。

軌跡の生成

軌道生成ツールは、Dubin メソッドを使用して、一連のナビゲーション ウェイポイントを作成します。一連のウェイポイントを含む軌道を作成するために、この方法では、位置、方向、旋回曲率、旋回方向によって定義された一連のポーズを使用します。

ツールを起動するには、プロジェクトが開いていることを確認して実行します。

asbTrajectoryTool

次のインターフェースが表示されます。

インターフェースにはいくつかのパネルがあります:

ウェイポイント

このパネルでは、軌道ツールに必要なポーズについて説明します。これらのポーズを定義するために、パネルではテキスト ボックスを使用します。

  • (位置はメートル単位)

  • 方位 (北からの度数)

  • 曲率 (旋回曲率、メートル^-1)

  • 回転 (時計回りまたは反時計回りの方向)

テキスト ボックスの右側のウェイポイント リストにポーズのリストが表示されます。

ウェイポイントを追加するには、編集ボックスにポーズ値を入力し、追加 をクリックします。新しいウェイポイントが同じパネルのウェイポイント リストに表示されます。

ウェイポイントの特性を編集するには、リストでウェイポイントを選択し、編集 をクリックします。ウェイポイントの特性が編集ボックスに表示されます。必要に応じて特性を編集し、OK をクリックします。変更をキャンセルするには、キャンセル をクリックします。

ウェイポイントを削除するには、ウェイポイント リストでウェイポイントを選択し、削除 をクリックします。

飛行禁止空域

この委員会は飛行禁止区域の場所と特徴を定義します。飛行禁止区域を定義するために、パネルではテキスト ボックスを使用します。

  • (位置はメートル単位)

  • 半径 (メートル単位の距離)

  • マージン (メートル単位の安全マージン)

ウェイポイント パネルと同じように、追加削除編集OKキャンセル ボタンを使用します。

マップされた軌跡

このパネルは、ウェイポイントと飛行禁止区域の特性に基づいて、Apple Hill キャンパスの航空図上の軌跡をプロットします。

軌道を生成するには、それぞれのパネルにウェイポイントと飛行禁止区域の特性を追加し、軌道の生成をクリックします。

現在パネルにある軌跡を保存するには、[保存] ボタンをクリックします。このボタンは最後の軌跡のみを保存します。

最後に保存した軌跡を読み込むには、[読み込み] をクリックします。

デフォルトの軌道をロードするには、デフォルトのロードボタンを押します。

ウェイポイントと飛行禁止区域パネルの値をクリアするには、クリア をクリックします。

デフォルト データには、おもちゃのクワッドコプターがカメラを使用する特定の場所のポーズが含まれており、地上のパイロットは屋根の雪の高さを推定できます。補助発電機ごとに 3 つの飛行禁止区域が定義されているため、クワッドコプターに障害が発生した場合でも、キャンパスのインフラストラクチャに損害が発生することはありません。

例がデフォルトデータの軌跡を生成すると、プロットは次のように表示されます:

赤い線は軌道を表し、黒い x マーカーは軌道の変化または特定のポーズを決定します。特定のウェイポイントの方向を表す青い線には、特定のポーズが伴います。飛行禁止空域は緑色の円で表されます。

参考文献

[1] https://github.com/Parrot-Developers/RollingSpiderEdu/tree/master/MIT_MatlabToolbox/trunk/matlab/libs/RoboticsToolbox.

[2] Prouty,R.ヘリコプターの性能、安定性、制御。PWS出版社、2005年。

[3] Pounds, P., Mahony, R., Corke, P. 大型クアッドローターロボットのモデリングと制御。制御工学の実践。2010年。

関連するトピック