iNavFlightの設定 Configuration、Failsafe、PID tuning
前回に引き続きiNavFlightの設定タブを紹介したいと思います。
【iNavFlight入門③】ではConfiguration、Failsafe、PID tuningの3つのタブを見ていきましょう。
Configurationタブ
ここでは全体的な設定を行うのですが、iNavではセンサーの設定とバッテリーの設定がこのタブの多くを占めます。
デフォルトを基本に設定を進め、問題があったら修正しようと考えていましたが、今回の場合ほとんどデフォルトでうまく動作しました。
ただし、Sensorsの部分だけは、何を使用しているか人それぞれなので、しっかり選択する必要があります。
商品ページやマニュアルを参照すると、実際に何が搭載されているか記載されていますのでよく確認して選択しましょう。
古い基板を使用していて、それよりも新しいバージョンがすでに発売されている基板の場合、インターネット上で正しいマニュアルを探すのが難しくなっていきますので、購入した時点でダウンロードなどしておくとよいかと思います。
AccelerometerとBarometer
Accelerometerとは日本語では加速度計と呼ばれるもので、機能的にも、多くの場合レイアウト的にも文字通りフライトコントローラーの中心となるセンサーです。
一方Barometerは日本語で言うと気圧高度計、これは【iNavFlight入門①】でフォームで覆っていたものです。
AccelerometerとBarometerはこの手の構成の場合、FCに搭載されているケースが多いです。
上記画像は今回使用しているHolybro Kakute F7 mini Flight Controllerのマニュアルから抜粋したものですが、赤線で示した箇所にAccelerometer (上記マニュアルの表記ではIMUの部分に記載)とBarometerに関して、実際に搭載されているセンサーが表記されています。
Magnetometer
Magnetometerは、方位磁石をイメージすればほぼ正しいのではないかと思います。よくコンパスなんて呼ばれ方をします。
この手のスポーツフライト向けのFCにMagnetometerが搭載されている事はほとんどありません。
Pixhawk系のFCなんかでは、FCのケース内に搭載されているものが多いのですが、その手のハードウェアをINAVがサポートしていないので、外付けのコンパスを使用するパターンが多いはずです。
今回Magnetometerが搭載されているGPSセンサーを使用していますので、コンパスに関してはGPSセンサーの資料を調べました。
調べたといっても、このGPSセンサーのラベルに記載されたCompassの表記が知りたかったMagnetometerです。
今回上記写真のラベル面を下側に、機体の右側にコネクターが来るように取り付けたのですが、たまたま方向があっていたのかOSD画面上で東西南北もしっかり正しい事が確認できました。
Sensorsの設定
今回の場合
Accelerometer→ICM20689
Magnetometer→QMC5883
Barometer→BMP280に設定。
上記の設定で動作も確認できました。
このセンサーの部分に速度計、レンジファインダーやオプティカルフローの記述もあるので、対応するセンサーを入手すれば機能を拡張することもできそうです。
GPSの設定
GPSの部分はGPS for navigation and telemetryをオンにしないとGPSの取得した数値が反映されないようです。
Protocolは製品の仕様に記載されていたUBLOXに設定。
Ground Assistance TypeはよくわからなかったのでAutodetectにしました。
Gps use Galileo Satellitesに関して、HGLRC M80PRO GPS QMC5883 Compassはガリレオ衛星も受信できるようなのでオンに。
Timezone Offset [Mins]とAutomatic Daylight Savings Timeはデフォルトのままでテストし、全体として上記設定で問題ないようでした。
Timezone Offset [Mins]とAutomatic Daylight Savings Timeに関して、クエスチョンマークから設定の解説を表示したものを翻訳すると下記のような設定とのことです。
Timezone Offset [Mins]
”UTCからのタイムゾーン・オフセット (分単位) 。これは、BlackboxログのロギングとタイムスタンプのためのGPS時間に適用されます。”
UTC(協定世界時)で日本は9時間みたいなので、日本で使用する場合+540minsなのかなと思うのですが、特に設定しなくても後ほど出てくるGPSタブでは正しく位置が表示されており、RTHも問題なく動作するので使用上は問題なさそうでした。
どこが変化するのかまだ確認できていないので、今回は特に設定していません。
Automatic Daylight Savings Time
”必要に応じてGPS時刻に夏時間を自動的に追加するか、単に無視します。EUおよびUSA用のプリセットが含まれています。これらの地域以外にお住まいの場合は、tz_offsetを使用して手動でDSTを管理することをお勧めします。”
DSTというのはいわゆるサマータイムの事らしく、日本ではサマータイムはないのでOFFで良いのかなと思います。
Voltage and Current Sensors
他も沢山の項目があるのですが、1つずつ見ていくとBetaflightではBatteryタブに入っているような内容のものも多いので、時間をかけて確認していけば適切な設定にできそうですね。
電圧計、電流計とバッテリー容量を必要に応じて設定すれば、OSDで表示される情報もより信頼できる機体になりそうです。
今回先を急ぎたかったので、バッテリー関連はデフォルトのまま放置しました。
この場合バッテリー残量の管理はOSDはあてにせずに、プロポに設定したタイマー機能で運用する形になります。
バッテリー関連の詳しい設定の方法はBetaflightの設定が応用できそうです。
以前に下記の記事で触れた事がありましたので、気になる方はご参照ください。
BetaFlight 4.2<2>Power & Battery・Receiver・Mode
https://dayscape.theshop.jp/blog/2020/05/16/134412
Failsafeタブ
Failsafeタブ、ここはプロポとの通信が途絶えた時の動作を設定します。
ここにもっと設定項目が並ぶかと思ったのですが、意外とシンプルですね。
ここにないと言う事はCLIで詳細は全て設定するのかとも思ったのですが、後ほど出てくるAdvanced TuningのタブにRTH settingsとAutomatic landing settingsという項目があり、そこで詳細設定が可能です。
その為ここでは、基本的に動作を選択するのみです。
PID tuningタブ
INAVのPID tuning タブはさらにその中でPID gains、Rates&Expo、Filters、Mechanicsの4つに別れています。
ここでは主に機体制御の強さやスティック操作が反映されるカーブ、FCに伝わる振動を除去するフィルターなどを設定します。
PID gains
一番初めのPID gainsは、BetaFlightのPID設定と比較すると随分あっさりしていますね。
FF(フィードフォワード)だったり、I値関連のオプションやスロットルブーストなんかもないので、スポーツフライトのユーザーには多少物足りない部分がありそうです。
ただ、GPS Navigationで使用されるPID gainは当然BetaFlightにはないので、INAVならではかなと思います。
INAVのPIDに関して下記のURLにドキュメントがありました。
さらっと概要が書いてあるだけなので、すでにBetaFlightなどで勉強している方にはあまり参考にならないかも知れませんが、簡潔にまとまっているのであまり馴染みのない方は是非ご参照ください。
PID tuning
https://github.com/iNavFlight/inav/blob/master/docs/PID%20tuning.md
また、PIDを最適に設定したい場合、以前に設定方法を紹介しましたので、下記の記事から始まる3つの記事もご参照ください。
Armattan Badger 5" Kit (バンドル) <7>PID Tuning 1
https://dayscape.theshop.jp/blog/2021/03/07/205936
ただし、最適なPID tuningを出す上で、最適なフィルター設定が大前提となります。
INAVのフィルターに関しては自分もまだ調査中で、今取りかかってもINAVの能力を引き出し切れないと思いましたので、今回は思い切ってプリセットのままで進めることにしました。
3インチのプリセットを選択したのですが、ゆったりとクルージング飛行する機体としてはそこまで問題は感じません。
少しアグレッシブに、スプリットSターンなんかを行うとプロップウォッシュが激しいので、もしかしたらフィルターが過剰なのかなとは思っています。
Rates & Expo
Rates & Expoの設定に関しては、凄く簡単にいうとプロポスティック中央付近と両端付近で操作感に差を作り、非常に細かく精密な中央付近の操作感と素早く動くエンド付近の操作感を両立するための設定です。
結果的にFUTABAのプロポでいうデュアルレートに近い働きをしますが、最大値を増やせるので全く同じというわけでもないような気がします。
BetaFlightと比較するとグラフが表示されないので設定状況が把握しにくく、本格的なAcroフライト用の機体を設定するにはやはり物足りなく感じるかも知れません。
後ほど、ReceiverタブでRC Expoが出てくるので、それとあわせる事で実質的には最適なスティックフィールを得られるのではないかと思います。
Filters
Filtersに関しては、比較的上級者向けの設定なので説明が長くなってしまうのですが、基本的にはIMUがひろってしまう様々なノイズを演算処理の前や途中にカットして、必要な信号がクリーンな状態で処理されるようにする設定です。
周波数でアプローチするのが基本になりますので、楽器をやっていた方なんかは結構イメージしやすいかも知れません。
Gyro filters、D-term filters、Gyro RPM filters、Other filtersと4タイプのフィルターを設定できます。
INAVのフィルターの設定手順に関してはまだ調査中で、現状デフォルトのまま飛ばしていますが、極端にモーターが熱くなったりはしていないので、比較的デフォルトは安全側の設定になっているようです。
ここで設定を間違えるとモーターが焼けてしまうので、よくわからない方は触らずにそのままにしておきましょう。
Mechanics
最後のMechanicsタブですが、これは見慣れないなと思いました。
ただ、設定項目を1つずつ見て行くとIterm Relaxであったり、Antigravityであったりと、Betaflightでもお馴染みの項目が。
PIDの補助的な設定がここに並んでいるようです。
特にIの値に対する詳細設定は、Betaflight等と比較すると少ないかなと思うのですが、最低限必要なものは揃っている感じがしますね。
機体の構成が特殊でデフォルトでうまく行かない場合や、Acroフライト用の設定を追い込むには、このタブもかなり使いこなす必要がありそうです。
続きは次回をお楽しみに
スポーツ機を調整する場合何日間も格闘するPIDタブを、今回はさらっと通過してしまいましたが、INAVの場合機体の目的によってはデフォルトのままで満足する場合も結構あるのではないかと思います。
特殊な形の機体を飛ばしたいとか、スポーツフライトも対応したいという目的があれば、PID tuningタブが鍵になるはずです。
次回【iNavFlight入門④】ではAdvanced Tuning:Multirotors、Programming、Receiver、Modesの4つのタブを紹介したいと思います。