BetaflightのGPSレスキューを使用すると、RC信号が遮断されたり、FPV映像がまったく見えなくなった時に、自動帰還させることが出来ます。この記事ではBetaflightでGPSレスキューを使用する方法を解説していきます。
GPSレスキューとは
Betaflightに実装されているGPSレスキューは完全な自動帰還(Return To Home)ではありません。GPSレスキューはホームポイントの近くまで戻って来る機能と思ってください。空撮機などのRTHは正確にホームポジションにゆっくりと着陸してくれますが、GPSレスキューの着陸は保証されていません。一応着陸はしますが、その着陸の仕方がただ落ちるだけかもしれません。
な~んだ役に立たないのか!と思いますが、すごく役に立つんです。コレが。
少し離れたところを飛ばしている時にRSSIが弱くなり、そのうちRXLOSSの表示が!そして墜落・・
間違えてフライト中に送信機の電源を切ってしまった・・
これらの事故はBetaflightのフェイルセーフ機能で、通常は予期しないとこへ飛んで行かないようにその場に落下させます。GPSレスキューが使えると落下させずに近くまで戻って来させることが出来ます。近くまで戻ってくる間に信号が回復してコントロールできるようになる。あるいは送信機の電源を入れ直す時間が出来ます。
もう機体ロストから卒業しましょう!
GPSとはアメリカが運用しているGNSS(global navigation satellite system)全地球航法衛星システムの名称です。アメリカ以外でも、ロシアのGLONASS、欧州のGalileo、中国のBeiDouなどがあります。特定の地域だけをサービス対象とするものに日本のQZSSみちびきがあります。
この記事では不正確ですがGNSSの事をGPSとして扱っています。
GPSモジュールを搭載する
GPSレスキューを使用するには、GPSモジュールを機体に搭載しなければなりません。
GPSモジュールの選択
GPSモジュールは、
- GPS衛星からの電波を受信するためのアンテナ
- 各衛星の軌道データを処理し、自らの位置を決定するためのプロセッサー基盤
- 所得した衛星の軌道データを一時的に記憶するための電源として電池
- 外部との通信を行う入出力部
が一つのパッケージになっています。
こちらは最近よく利用されるGPSモジュール。安くなりました。私はこれを使用しています。
GPSモジュールはもちろん軽い方がいいのですがアンテナが小さくなると、たぶん受信性能が落ちます。実績のあるものを選んだ方がいいです。オススメは上の Beitian Dual BN-220です。
GPSモジュールで使用するポート
GPSモジュールはフライトコントローラー(以降:FC)と通信します。そのためにFCに空きのポート(UART)が必要になります。
F405やF7のFCはUARTが多いのですぐに搭載できますが、F411のFCは使用できるUARTが2つしかありませんので、通常はレシーバーとVTXの制御に使われていて空きがありません。
そこでF411のFCはソフトシリアルでポートを作りそのポートにVTXの制御を割り当てます。そして空いたUARTでGPSモジュールを接続することになります。
ソフトシリアルの使用方法はこちらの記事でくわしく解説しています。
先の項目でオススメしたGPSモジュールだと、必要な接続は5VとGNDおよびTXとRXになります。このTXとRXを先ほど空けたUARTに接続することになります。
GPSモジュールの搭載方法
まず、かならずアンテナを上空に向けます。
GPSモジュール搭載する場所も出来れば機体の一番上が理想的です。
他のFCやESC、カメラなどから漏れ出る電磁波の影響も受けやすいのでそれらのエレクトロニクスから離せるとなお良いです。
下記の写真は95mmの自作WhoopにGPSモジュールを搭載した例
3Dプリンターでホルダーを作って搭載しました。フライト時に機体が前傾することを考慮して後ろ側に傾いています。アンテナ面が上です。
専用のホルダーなどが用意できない時は、インシュロックで固定したりします。
バッテリーを上積みの機体なら、バッテリーのストラップに固定しちゃうのも手です。海外ではGoProの上にのせてる方もいましたw
BetaflightでGPSの設定をする
GPSモジュールを搭載し、ケーブルの配線が終わりましたらBetaflightでGPSを使用するように設定し、またGPSレスキューが使用できるようにします。
GPSを使用できるようにする
Betaflight ConfiguratorのポートタブでGPSモジュールを接続したポートの「センサー入力」欄で、GPSを選択します。
次に「基本設定」タブでGPSを有効にします。そうすると他の設定項目が表示されます。先にオススメしたGPSモジュール BN-220はUBLOXプロトコルを使用しますので変更します。
「自動設定」をONにし、「ホームポイントを初回のみ設定」もONにします。この初回のみをONにしないと、遠くで不時着した後に帰還させようとアームした場所がホームポイントとして設定されてしまいます。ONにしておくと最初にアームしたた場所がホームポイントのままになるので、GPSレスキューで帰還できます。
「衛星支援タイプ」はなしにします。
「衛星支援タイプ」について
これはSBAS(エスバス)という静止衛星からの補完信号を利用するかしないかの設定です。ここで日本を選択すると運輸多目的衛星(ひまわり)や準天頂衛星(みちびき)からの支援が受けられます。補完信号の支援が受けられるとGPSモジュールは測位に使用する衛星数を大幅に減らします。(約5機まで)
受信環境が良く変動が少ないのであればこれでもいいのですが、頻繁に姿勢が大きく変わる(アンテナの向きが変わる)レーシングドローンでは受信レベルが下がった時に一時的に測位に使用している衛星数が足りなくなる恐れがあります。もし測位が出来なくなるとGPSレスキューは使用できません。またGPSレスキュー中ではそのまま墜落します。
ここまで設定が出来ると、GPSで現在地の経度と緯度、高度、移動速度、ホームポイントまでの距離と方向をOSDに表示できるようになります。
経度緯度を表示させておくと万が一どこかでクラッシュした時に、DVR録画を再生して記録されている経度緯度をグーグルマップに入力してクラッシュ場所を特定できたりします。
ホームまでの距離と方向は表示させておきましょう。GPSレスキューが作動するとホームの方向に帰ってきますが、ホームの位置が違えばそちらの方向へ飛んで行ってしまうことになります。したがってフライト開始時にホームの方向が正しく離陸ポイントを指していることを確認しておきましょう。
GPSレスキューの設定をする
GPSが使用できるようになりましたので、GPSレスキューの設定を行っていきます。
Betaflight Configurator のExpertモードを有効にします。
Expertモードを有効にすると隠れていたメニューが表示されますので「フェイルセーフ」を開きます。
ステージ2のフェイルセーフ手順を落下からGPSレスキューに切り替えます。
ステージ2 設定の「信号喪失後のステージ2起動時保護時間」はあまり長いとGPSレスキューが作動する前に落下する距離が大きくなりますのでデフォルトの4くらいにしておきます。
GPSレスキューの設定項目が有効になります。これらの設定はデフォルトのまま使用できます。
GPSレスキューを有効にしたので、GPS衛星が捕捉でき測位が成功しないとアームが出来なくなります。今日はそんなに遠くまで飛ばさないからGPSレスキューは無しにして測位する時間を端折りたい時などは「修正せずにアームを許可」をONにすると、GPS衛星がまだ見つからなくてもフライト出来ます。もちろんこの時はGPSレスキューは作動しません。
なお、これらの設定はOSD画面を見ながらスティック操作で変更できます。「修正せずにアームを許可」はYESにするとすぐにフライト出来ます。
GPSレスキューをスイッチでONに出来るようにする
GPSレスキューはフェイルセーフが働かなくても作動させることが出来ます。
これはどんな時に有効かというと、遠くまでフライトした時にレシーバーのRSSIはまだ余裕だが、FPV画像が乱れてよく見えない時があります。これ以上は無理だから戻ろうと反転させると画像が完全に砂嵐になってしましい全く見えません。ここでGPSレスキューをONにします。そうするとFPV画像が見えなくても戻って来るのでそのうちにFPV画像が見えるようになります。便利ですね。
まず送信機でGPSレスキュー用にチャンネルを一つ用意し専用のスイッチを割り当てます。
Betaflight Configuratorのモードタブで、「GPS RESCUE」に送信機で追加したチャンネルを設定します。
以上でBetaflightの設定は終了です。
実際のフライト確かめる
まずGPSレスキューの機能を確かめる前に、GPSが正しく働いているか確認します。
Betaflight ConfiguratorのGPSタブでも確認できますが、屋内の場合が多いので、受信感度が良い屋外で試します。
コールドスタートとは
初めてGPSモジュールが起動したときは衛星の軌道データがありません。したがって、衛星からの電波を受信してもその衛星の位置が分からないので測位できません。
衛星から送られてくる信号から航法メッセージを復調し、そこから軌道データを取り出します。これを複数の衛星から行う事で初めて測位できるようになります。
このように衛星の軌道データが無い状態でスタートすることをコールドスタートと言います。
コールドスタートでは測位が出来るまでに数分を要することがあります。
また、衛星の軌道データは有効期間が4時間しかありませんのでそれ以上経過後は全てコールドスタートになります。
GPSモジュールは軌道データをメモリに保持しておくためのバッテリーを搭載しています。そのため一度軌道データを所得した後は早く測位出来るようになります。これをホットスタートと言います。
またウォームスタートという状態もありますが、ここで使用するようなGPSモジュールのバックアップ電池は容量が少ないので、ほとんどコールドスタートになります。
コールドスタートとの付き合い方
コールドスタートは長いと数分の時間がかかります。機体にバッテリーを接続したまま測位が完了するまでの数分を待っていなければなりません。
待っているあいだにはVTXやカメラも作動していますのでバッテリーを消費しますし、飛んでいないのでFCやVTXの温度も上がります。
そこで、別電源でGPSモジュールだけに通電して、軌道データが取得できて測位出来るまで待つという手があります。
これは2S~4Sリポバッテリーから5Vを供給できるようにレギュレーターを使用したケーブルです。
このケーブルからGPSモジュールだけに5Vを供給して測位するまで数分通電しておきます。
一度測位出来れば衛星の軌道データはバックアップ電池でメモリに保持されますので、GPSモジュールのコネクタを付け替えて通常通り機体にバッテリーを接続すると十数秒で測位が完了します。
のんびり待つのもいいですが、FCやVTXの過熱を考えるとこの方がいいですよね。
フライトテスト
それでは実際にフライトして確かめてみます。
衛星を捕捉し測位が完了したらアームが出来ますのでスタートです。
アームするとその場所がホームポイントとして登録されます。アーム後ホームポイントの距離が0になってるか確認します。
少し遠ざかってみて、ホームポイントまでの距離と方向を確認します。これが間違っているとGPSレスキューが作動した時に違う場所へ帰還しようとしますので毎回必ず確認してください。
GPSの設定「降下開始距離」より離れてからテストします。これより近くではGPSレスキューは発動せず機体は落下します。
テスト1 スイッチで発動
下記のビデオはスイッチでGPSレスキューをONにして帰還できるか確認しています。
テスト2 フェイルセーフで発動
次に実際に電波が弱くて送信機とレシーバーのリンクが切れてフェイルセーフが発動した時のテストをしてみます。万が一そのまま落下しても大丈夫なように広くて回収できる場所で行います。
1kmまで離れてみましたがフェイルセーフにならなかったので、高度を低くして機体との間に樹木が入るようにしてみたらRXLOSSになりフェイルセーフが発動しました。フェイルセーフにGPSレスキューが割り当ててありますので、すぐさま設定高度まで上昇し、ホームポイントに向かって帰還に入りました。
これでRXLOSSも怖くないですねw
GPSレスキューから復帰
スイッチONでGPSレスキューにした時は、スイッチOFFで現在のフライトモードに戻ります。
フェイルセーフが発動してGPSレスキューになった時の復帰方法はBetaflightのバージョンで違います。
Betaflight 4.0.x 以前の場合
フェイルセーフが発動した条件がクリアされると(レシーバーの信号が復帰した等)すぐにGPSレスキューが解除されます。したがって解除された瞬間の送信機のスティック位置が有効になりますので、いつ解除されてもいいように準備しておきます。
または、GPSレスキューが発動したら、スイッチでもGPSレスキューをONにしておきます。そうするとレシーバーの信号が回復してもいきなり解除されることが無いので、任意のタイミングで解除できます。
Betaflight 4.1.x 以降の場合
バージョン 4.1.x以降の場合は発動条件がクリアされてもすぐに解除にはなりません。
ホームポイントに近づきレシーバーの信号が回復したらスロットル以外のスティックを30度以上動かすとGPSレスキューが解除されます。
まとめ
GPSが使用できると、距離や飛行スピードなどが分かりそれだけでも楽しいですし、万が一の時にGPSレスキューで機体を失わずに済む事は大変うれしい機能です。
このモーターと、このプロペラの組み合わせだとどれだけのスピードが出るのだろうか?
このレシーバーはどれだけの距離まで届くのだろうか?
川の上を飛ばすのは万が一落ちたら回収できないので怖いよ。
GPSでいろいろな可能性が広がるのは本当に楽しいものです。
あなたもぜひGPSを使ってみましょう!