はじめまして、フライトコーチとArdupilotにハマっているgo3と申します。
「いつ飛行させたらいいの?」を解決する装置を作ったので紹介します。
FC側のソフトであるArdupilotにはGPSやコンパスなどの準備が整ったかをチェックする機能(ARMING_CHECK)が用意されていますが、
フライトコーチでは電源投入後の操作をしなくてもログが開始できるようにアーム操作不要(ARMING_REQUIRE=0)に設定されています。
この設定の場合はARMING_CHECKが働かず電源投入後数秒で強制アームとなりログ収集を開始し、その後GPSが衛星4個程度を受信すると3D-FIXとなりOrigin位置が記憶されます。
しかしこの段階では位置精度が十分ではなく記録されたOrigin位置が実際とずれていることが有ります。
フライトプロッタ―で表示させようとしたときに、"more than **m from the origin"となったり表示されたリボン図にセンターズレや高度ズレが生じるのはこのためだと思われます。
GPS、IMUなどの準備が整いEKFが動作開始(EKF3 active)した後にログを開始すればこの問題は解決するはずです。
ARMING_REQUIRE=1にしてARMING_CHECKを有効にすればよいのですが、以下のいずれかの方法でアーム指令を出す必要があります。
⓵ 飛行機本体の受信機とFCをSBUSで接続し、15秒程度右ラダーを打つ。
(欠点:F3AなどFCとは完全に分離しておきたいが・・・)
⓶ LUAスクリプトを使う。
(欠点:Pixhawkなど2MB以上のFCに限定される)
⓷ MAVLINKを使う。
今回作った装置は⓷のMAVLINKを使ったものです。
電源投入後10秒おきにアーム指令を出し、FCがARMING_CHECKをPassしてアーム完了となれば飛行可能の状態となりLEDやブザーで知らせます。
興味のある方はPayPayフリマで入手できます。 "MT-MAV01" で検索してください。
お試しさせてください
これまで飛行開始のタイミングを図るために、①の方法でARMINGをFCに確認させて いい結果を得ています。
ただし、飛行機の受信機に接続しているわけではなくて電子工作試作品でシミュレート動作しています。
同時に、FCで小型EL表示をさせて エラー原因を確認しています。
私の環境では、2種類のエラーが発生していました。
ひとつは、車の影のGPS捕捉数不足。 もう一つは、磁気エラー。
磁気エラーの原因は、待機場所にあるワイヤー入りのゴムシートでした。
これが判ったので、それ以降は快適にLOGが取得できています。
FlashAir(WiFi)経由でLOGを抜き取りたいので、オプションのARMING 停止のボタンは追加して使いたいと思ってます。
お試し 快適です
ログ取得に必要な前提条件、GPSの補足数、ジャイロ、コンパス、磁気異常、IMUの初期設定、SDカードの未装着チェックまでできます。条件が揃うと ブザーでお知らせ、ログ取得が ●自動的にスタート●
私は、SDカードを抜くことなく ログを抜きたいので、MiniPixでは、セーフテイスイッチの条件を追加。
電源投入後、
ー セーフテイスイッチを押すまではログを抜きとりできる状態
ー セーフテイスイッチを押したら、ログ取得の条件が整ったら、ブザーでお知らせ 即飛行開始OK
設定には、トラブルがありました。 なぜかコンパスキャリブレーションができてないというエラーが発生。
何度コンパスキャリブレーションをしても、本エラーで自動スタートしませんでした。
FCのファームバージョンV4.0.5を V4.3.4(現状の最新版)に変更してトラブル回避に成功
MiniPixは、Radiolink社がV4.0.5を推奨していますので MiniPix使われている方はファームバージョンそのままですとダメのようです