目次
- セーフティの設定
- 低バッテリーフェイルセーフトリガー
- オブジェクト検出
- RC損失 フェイルセーフトリガー
- データリンク損失 フェイルセーフトリガー
- ジオフェンス フェイルセーフ トリガー
- 帰還設定(RTL)
- 着陸モード設定
- 機体テレメトリーログ/ HITL シミュレーション
- その他のフェイルセーフ
Section 1
セーフティの設定
PX4の設定も基本的な飛行に必要な部分は概ね完了しましたが、今回はテストフライトの前にセーフティの設定を確認し、フライト内容にあわせて変更していきたいと思います。
QGCの機体設定で「セーフティ」タブをクリックすると、セーフティ設定が表示されます。
このページでは、危険な状態が発生した際に、どのような条件でどのような動作を行うかを設定できます。
シンプルな説明とイラストでわかりやすく一覧表示されているのは嬉しいです。
フェイルセーフ設定はフライト内容に応じて変更が必要な場合もあり、この設定へのアクセスのしやすさや見やすさは非常に重要だと思います。
セーフティの設定についてより詳細な説明は下記のドキュメントをご覧ください。
Safety Configuration (Failsafes)
https://docs.px4.io/main/en/config/safety.html
Section 2
低バッテリーフェイルセーフトリガー
低バッテリーフェイルセーフトリガーは、バッテリーが上空で切れて墜落してしまうのを防ぐために、バッテリーの残量を感知して機体を安全に地上に降ろすなどの動作を設定する項目です。
今回は電源設定を詳細に詰めていないため、実際にどのくらいでトリガーがかかるかわかりませんが、一旦上記のように設定しました。
実際に最上部で設定した「フェイルセーフ動作」がトリガーされるのは、「バッテリーフェイルセーフレベル」で設定した値になったとFCが認識した時になるようです。
今回、フェイルセーフ動作をLandモードに設定していますが、「バッテリー緊急レベル」に達したとFCが認識した時も、同じLandモードが実行されます。
通常であれば、フェイルセーフ動作はReturn at 〜に設定する場合が多いと思いますが、まずは遠くまで飛行せず、近くでホバリングするテストフライトを重ねて様子を見たいと思いますので、上記の設定としました。
Section 3
オブジェクト検出
オブジェクト検出は、例えば前方に障害物を検知するセンサーを搭載して、そのセンサーが反応した場合にどのような動作をするかを設定するようです。
今回そもそもこの機能で利用できるセンサーを搭載していないので、衝突防止機能を無効としていますが、いずれトライしてみたい機能です。
Section 4
RC損失 フェイルセーフトリガー
RC損失フェイルセーフトリガーでは、RC信号(プロポからの電波)が受信できなくなった時の動作と、その動作を実行するまでの時間を設定します。
いわゆる「ノーコン」という状態です。
電波干渉は意外と多いため、バッテリーフェイルセーフと並んで非常に重要な設定です。
今回はフェイルセーフ動作をReturn modeに設定していますが、そもそもフライトコントローラー(FC)がRC損失をどのように検知しているのか確認しておきましょう。
RC損失について、下記のドキュメントに説明があります。
Radio Control (RC) Setup
https://docs.px4.io/main/en/getting_started/rc_transmitter_receiver
PX4がRC損失を検知する方法は2つあります。1つはRC受信機が何も出力しなくなること、もう1つは低いスロットル値を出力することです。
受信機が何も出力しない場合は、PX4が自動的に検出します。
そのため、お使いのプロポと受信機にどのような機能があるのか、どのような設定になっているのかを必ず確認してください。
今回はSIYI MK15Eを使用しています。
マニュアルによると、SBUSで接続している場合、プロポ側で特別な設定は必要なく、フライトコントローラー側の設定だけで問題ないと記載されています。そのため、プロポ側のフェイルセーフ機能はオフにしてあります。
Section 5
データリンク損失 フェイルセーフトリガー
データリンク損失フェイルセーフトリガーは、テレメトリリンクが失われた場合にどのような動作をするかを設定します。
今回、SIYI MK15Eを使用しており、テレメトリ受信機とRC受信機は同じユニットです。
しかし、これらが別のユニットで別の回線である場合や、MK15Eでもどちらか一方の通信ができなくなる状況が起こり得ます。
また、PX4ではプロポを使用しないシステム構成も可能です。
その場合、データリンクが重要な役割を果たします。
今回は、RC受信機の方が重要と考えているため、データリンク損失に関するフェイルセーフ動作は設定していません。
Section 6
ジオフェンス フェイルセーフ トリガー
ジオフェンスフェイルセーフトリガーは、設定したジオフェンスに接触した場合の動作を設定します。
ジオフェンスとは仮想の境界のことで、機体が動ける範囲を制限する機能です。
ジオフェンスは、土地に合わせた複雑な形状で作成することも、ホームポイントからの半径と高度で設定することもできます。
しかし、今回は特に不要と考えて設定しませんでした。
Section 7
帰還設定(RTL)
帰還設定では、Return Modeでの動作を設定します。
具体的には、Return Modeに移行した際に確保する高度、ホームポイントやラリーポイントまで移動した後の動作(すぐに着陸する、上空で止まる、一定時間止まってから着陸する)を設定します。
また、上空で止まる高さや時間も設定できます。
例えば、一時的に確保した離陸地点から飛行を開始し、飛行中はホームポイントの安全を確保できない場合、戻ってきてすぐに着陸するのは危険です。
このような場合、機体が上空で止まっている間に再度着陸ポイントを確保し、手動操縦などで着陸させるなどの対応が必要と考えられます。
「高度に上昇」の設定項目はReturn Modeの際に最低限確保する高度です。
Return Modeに移行した時に「高度に上昇」で設定した値よりも高い位置に機体がある場合は、そのままの高度で帰還します。
今回は、近距離で低い高度で浮かせて様子を見るため、あまり上昇しすぎないように高度を10mに設定しました。
通常は、周辺の障害物に当たらない高度に設定する必要があります。
Section 8
着陸モード設定
着陸モード設定では、Land modeへ移行した際の垂直降下速度、着陸後にディスアームするかどうか、そしてディスアームするまでの時間を設定できます。
この設定は実際に試しながら不満がある場合に調整するのが良いと思いますので、特に変更していません。
Section 9
機体テレメトリーログ/ HITL シミュレーション
セーフティ設定ページの最後には、機体テレメトリーログの設定とHITLシミュレーションの設定がありますが、これらについてはPX4 User GuideのSafety Configurationページで特に説明されていません。
機体テレメトリーログ設定は、フライトコントローラー(FC)のSDカードにログを保存するかどうかに関連する設定だと思いますが、明確に記載されたドキュメントは見つかりませんでした。
とりあえず、特に変更せず有効のままにしています。
HITL シミュレーションについては、下記のページで紹介されています。
Hardware in the Loop Simulation (HITL)
https://docs.px4.io/main/en/simulation/hitl.html
これは、開発した内容をシミュレートするための設定のようです。
Section 10
その他のフェイルセーフ
PX4 User guide のSafety Configurationページには他にも様々な安全に関わる設定が紹介されていますので、必要に応じて設定しておきましょう。
今回PX4のセーフティ設定を行いましたが、これで基本的な設定は網羅できたかと思います。
次回は実際にフライトテストを行いながら、変更・調整を行った項目についてまとめたいと思います。