PX4 設定【6】飛行モードの設定

目次

Section 1

飛行モード設定

PX4 設定【4】と【5】ではPX4で利用できる飛行モードを紹介してきましたが、一通りのモードを把握したところで早速設定してみましょう。

詳しくはPX4 User Guideの下記のページで紹介されています。

Flight Mode Configuration
https://docs.px4.io/main/en/config/flight_mode.html

QGCの飛行モードタブをクリックし、飛行モード設定を表示しましょう。

フライトモードを設定する方法はいくつかありますが、最新の PX4 User Guide で紹介されているのは「シングルチャンネル」のフライトモード選択です。
「シングルチャンネル」のフライトモード選択は、簡単に説明すると上記画像赤色で示した区画の一番上、モードチャンネルのところに複数ポジションスイッチを設定し、スイッチのポジションに対応するモードを割り当てていくという手順になります。

今回は、MK15Eの3ポジションスイッチを使って「シングルチャンネル」の方法で設定しました。

複数ポジションのスイッチがない、もしくは充分でないプロポの場合、プロポ内の設定でミキシングを行ってこの形に無理やり対応させる方法がまず検討できます。
その他にも、現在は推奨されていませんが、PX4には「マルチチャンネル」のフライトモード選択もあります。
この方法については、古いバージョンのPX4 User Guideに記載されていますので、興味がある方はご覧ください

Flight Mode Configuration(v1.11)
https://docs.px4.io/v1.11/en/config/flight_mode.html

「マルチチャンネル」のフライトモード選択は、「シングルチャンネル」のフライトモード選択のように1つのチャンネルの中のPWM値に応じてモードを割り当てるのではなく、モードごとに別のチャンネルを割り当てるというもの。

「マルチチャンネル」のフライトモード選択に関して、少し設定してみたのですが、上記のガイドにあるようなQGC側の「マルチチャンネル」のフライトモード選択画面にはたどりつけませんでした。

パラメーターで「RC_MAP_FLTMODE」を無効にし、「RC_MAP_FLTM_BTN」で割り当てるチャンネルを設定していく形になり、非常に分かりづらいのですが、機能する形にはなるようでしたので、現在でも利用できるようです。

FC側の設定に潜っていくのが好きなのか、プロポ側でミキサー機能を駆使して構成するのが好きなのかにもよりますが、個人的にはプロポでやってしまった方が把握しやすいように感じました。

それらとはまた別の話で、パラメーターからスイッチに割り当てる方法があるのですが、これはどちらかと言うと上記画像右側、青色で示した区画の話になります。

赤色の区画と青色の区画で、どちらでも設定できるモードもあれば、どちらかでしか選択できないモードもありますので、先程の「シングルチャンネル」もしくは「マルチチャンネル」のフライトモード選択とはちょっと枠組みが違う話と言えます。

とりあえず「シングルチャンネル」のフライトモード選択で希望通りにできるのであれば、それが一番楽ですので、一旦設定してみて希望に沿わないところが出てきたらその時に考えるのが良さそうです。

まず上記画像①のドロップボックスでモード変更に使用するチャンネルを設定します。

紫色の点線で記した区画にChannel Monitorが表示されているので、プロポでどのスイッチにどのチャンネルを割り当てたか忘れてしまっていても、機能を割り当てたいスイッチを動かせば反応が確認できます。

飛行モード設定は1つのチャンネルに最大6つのモードを割り当てる事ができますので、チャンネルはなるべく段階的に機能を割り当てられるスイッチを割り当てておくのが良いと思います。

今回は3ポジションスイッチをチャンネル5に割り当てていますので、使用できるポジションは3つ。
プロポの機種にもよりますが、プロポ側で工夫すれば2つのスイッチを組み合わせて6つのポジション全てを利用するなども出来ると思いますので、必要に応じて検討すると良いかもしれません。

今回は飛行モード1/Position、飛行モード4/Altitude、飛行モード6/Stabilizedという形に設定しています。

抜けている飛行モード2と飛行モード5は、スイッチのポジション間でPWM値が飛び越えてしまうところですので、未設定としています。

今回設定したモードの他に下記のモードが選択できます。

  • Manual
  • Misson
  • Hold
  • Return
  • Acro
  • Offboard
  • Takeoff
  • Land
  • Follow Me
  • Precision Land

Section 2

スイッチ設定

上記画像右側のスイッチ設定では、あらかじめ決められた下記のスイッチを任意のチャンネルに割り当てる事ができます。

  • Arm switch
  • Emergency Kill switch
  • Offboard switch
  • Landing gear switch
  • Loiter switch
  • Return switch

Lnading gear switchはそのままランディングギアを制御するスイッチだろうと思うのですが、今回はランディングギアが動かないフレームですので割愛します。ReturnとOffboardはPX4 設定【4】と【5】で既にご紹介した通りの内容と考えられます。
残りのArm swich、Emergency Kill switch、Loiter switchの3つはどのように動作するのでしょうか。

Section 3

Arm swich

Arm swichはその名の通りアーム(起動)スイッチで、マルチコプターではプロペラを回すスイッチです。
このスイッチを非アクティブにするとディスアーム(停止)し、モーターが停止します。
機体が上空にある場合、基本的には機体は落下するのですが、PX4では飛行中のディスアームをサポートしているモードとそうでないモードがあるようです。

この機能をスイッチに割り当てるのは、Betaflight などのスポーツフライト向けのフライトコントローラーでは一般的ですが、DJI のドローンや Ardupilot ではあまり一般的ではありません。

PX4では Arm switch を設定しない場合、アーミングジェスチャによってアーム・ディスアームを行う設定ができます。

Mode1の場合、PX4のアーミング、ディスアーミングは上記画像のようなスティック操作で行う事ができます。

Mode2の場合、PX4のアーミング、ディスアーミングは上記画像のようなスティック操作で行う事ができます。

お気づきの方も多いかもしれませんが、このジェスチャはArdupilotのものと同様です。
今回はアーミングジェスチャを利用したいと思いますので、Arm switch は設定していません。

詳しくは下記のURLをご覧ください。

Arm, Disarm, Prearm Configuration
https://docs.px4.io/main/en/advanced_config/prearm_arm_disarm.html

Section 4

Emergency Kill switch

Emergency Kill switchはその名の通り、緊急停止用のスイッチです。
アクティブにするとモーターが停止します。

Arm switch を設定している場合、Arm switch の非アクティブとほとんど同じ機能を果たすため、特に設定する必要はないかもしれません。
ただし、Arm switch を設定していない場合は、緊急時にモーターをすぐに停止させるために設定しておくと良いでしょう。

PX4は何かしらのオート制御が利用できると言う点が大きな特徴となっていますが、逆に言えばある程度勝手に動く事ができると言う事です。
設定ミスなど何らかの理由で想定外の動きをした場合に備えて、すぐにモーターを止める仕組みを用意し、いつでも利用できる形にしておく必要があります。

Emergency Kill switch がアクティブになると、すぐにモーターが停止します。
しかし、Arm switch を使ったディスアーム操作とは異なり、Emergency Kill switch がアクティブになってから5秒間はモーターが一時停止状態となります。
この間に Emergency Kill switch を非アクティブにすれば、モーターは再び回り始めます。
これは飛行中に間違って Emergency Kill switch をアクティブにしてしまった場合に役立つとの事なのですが、それなりに高度がないと復帰は難しいかもしれません。

5秒が経過すると、完全なディスアーム状態となり、Emergency Kill switch を非アクティブにしてもモーターは回りません。
モーターを再び回すには、再度アーム操作(アーミングジェスチャなど)が必要です。

詳細については、以下のURLの Kill Switch の説明をご覧ください

Safety Configuration (Failsafes)
https://docs.px4.io/main/en/config/safety

Section 5

Loiter switch

最後に Loiter switch なのですが、これがちょっとよくわかりませんでした。

下記の最新ではない (V1.2) PX4 Autopilot User Guide の Hold mode ページ冒頭に少しだけ記述があり、それによると Hold mode の別名と言うことかなと推測されます。

Hold Mode
https://docs.px4.io/v1.12/en/flight_modes/hold.html

これは試して見ないとなんとも言えませんね。

Ardupilot の Loiter モードは、PX4ではどちらかと言うと Position mode なので、もしこれが本当に Loiter=Hold mode として動作するなら、どちらも多少さわったことのある方には非常にややこしいと言えそうです。

Section 6

今回のスイッチ設定

今回はCH10にEmergency Kill switch、CH9にReturn switchを割り当てました。
画面の見方がわかってしまえば非常に把握しやすく、作業自体は簡単です。

次回は電源の設定を進めたいと思います。

HolybroPixhawkPx4

JACK によるブログ

DAYSCAPE ( DIYドローン オンラインショップ ) では、FPVドローン、産業開発ドローンの分野に関する商品の紹介やドローンの組み立て、使用方法などの情報発信を行っています。

ピックアップ