« RadioMaster NEXUS-XR & BETAFPV Nano TX V2 Module ELRS Bind テスト | トップページ | NEXUS-XR + INAV + GPS Telemetry Test »

RadioMaster NEXUS-XR に INAV を入れる

1. 前置き

RC飛行機の位置を送信機に表示するために、NEXUS-XRのフライトコントローラーのFirmwareをRotorFlightからINAVに書き換えました。
なお、RotorFlightのTelemetryでもGPSの経度と緯度を取得することは可能で、それを地図表示することも可能です。(9. 関連記事参照)

INAVに変更すると、NEXUS-XRを固定翼機他のジャイロ付・Telemetry付・ELRS受信機として使用することができます。Telemetryでは、NEXUS-XRだけで機体のバッテリ電圧や受信電波強度を表示できます。

IVAVはBetaFlightから派生したものらしいいので、BetaFlightを知っていれば、それ程設定は難しくないと思われます。

殆どのExpressLRS受信機は、技適が無いので日本ではTelemetryが使えません。なのでFCが不要であっても、ELRSでTelemetryを使うなら、技適があるNEXUS-XR一択の状態だと思われます。⇒ FCが無いER8の技適が取得されました。10. 参考情報の下の方に情報を追加しました。[2026/09/25]

本来INAVは飛行姿勢安定化の為のものですが、まだNEXUS-XRをGPS情報の取得と送信のためだけに使用し、姿勢制御を使用していません。なので、PIDなどの調整をしていません。

2. INAV ConfiguratorのInstall

  1. 次のサイトからINAV Configuratorをダウンロードします。
    iNavFlight / inav-configurator : GitHub
    https://github.com/iNavFlight/inav-configurator/releases [Assets]-[Show all 16 assets]の中から"INAV-Configurator_Win64_9.0.2.msi"をダウンロードします。

  2. ダウンロードしたファイルを実行し、[詳細情報]-[実行]-[Next]-[Next]-[Install]-[はい]-[Finish]でインストールを完了します。するとデスクトップに"INAV Configurator"アイコンが追加されます。

参考

"INAV-Configurator_Win64_9.0.2.zip"をダウンロードすると、インストールせずに直接実行できるファイルを得られます。

3. INAV Firmwareの書き込み

  1. INAV Configuratorを起動します。
  2. NEXUS-XRをPCにUSBで接続します。RX黄色点滅、FC緑点滅、端赤点灯になります。その後、RXが緑黄色の点滅、FC緑点滅、端赤点灯のWiFiアクセスポイントになります。(参考 : INAV ConfiguratorはWiFiを使用できませんが、そのままでOKです。)
  3. INAV Configuratorの右上の通信ポートを、Windowsの[Start]を右クリックし[デバイスマネージャー]-[ポート]-[USB シリアル デバイス (COMx)]のポート番号に合わせます。
    ([USB シリアル デバイス (COMx)]を右クリックし、[プロパティ]-[ポートの設定]でビットレートをINAV Configuratorの値に合わせる必要は無いです。)
    ※ COMポートの速度は、115200、57600bpsでは無く、38400bps以下の方が良いと思われます。CLIで文字化けが発生する速度はNGです。
  4. [ファームウェア フラッシャー]で次のように設定し、[ファームウェアを選択[Online]]をクリックします。
  • FCボード : NEXUSX (執筆時点ではNEXUSXRはありませんでした)
  • ファームウェアバージョン : 最新のstableを選択(執筆時点 : 9.0.1 - NEXUSX - 2026-2-14 7:40 (stable))
  • 再起動シーケンス : off
  • チップメモリの完全消去 : RotorFilghtから書き換える初回は必ずon。メジャーバージョンを変える時はon。マイナーバージョンアップはoff。事前にdiff allで設定をバックアップしておくが、完全消去をしなければ一部を除き設定が残る。
  • 伝送速度の手順選択 : off
  • 未検証リリースを表示 : off
  1. [ファームウェアの更新]をクリックします。

USB接続エラーで書き込みが始まらない場合

INAV画面の右上にDFUと表示されますが、"USBデバイスへの接続に失敗しました!"と表示され、Firmwareの書き込みが開始されませんでした。
原因は、デバイスマネージャーで「ユニバーサル シリアル バス デバイス」に"STM32 BOOTLOADER"が表示されないためです。

INAV Configuratorの画面では、対策としてZadigを案内しています。

接続に失敗している状態で、デバイスマネージャーに"STM32 BOOTLOADER"が不明なデバイスとして表示されている場合は、NEXUS-XRはDFUモードになっていますが、Windowsが正しいドライバーを認識していない状態です。この状態でZadigを起動して"STM32 BOOTLOADER"に対して、WinUSBドライバをインストールすると、デバイスマネージャーで「ユニバーサル シリアル バス デバイス」に"STM32 BOOTLOADER"が表示されます。この状態でINAV Configuratorを起動するとDFUモードで接続され、ファームウェアの更新ができるようになります。

接続に失敗している状態で、デバイスマネージャーに"STM32 BOOTLOADER"が不明なデバイスとして表示されていない場合は、ドライバが競合している可能性があります。私のPCではThrustMasterのGuillemotのドライバーが競合していました。Zadigなどで一瞬"STM32 BOOTLOADER"が表示されますが、Guillemotのドライバーが復活し消えてしまいます。このように、ZadigやImpulseRC_Driver_Fixer.exe で改善しない場合もあります。

【重要】ZadigやImpulseRC_Driver_Fixer を使用する前に、Windowsの復元ポイントを作成し、失敗した場合に元に戻せるようにしていてください。

対策

  1. 別のPCを使用する。
  2. ThrustMasterのGuillemotのドライバーを消す。

詳細

ファームウェアの更新をクリックしてもDFUに切り替わらない場合

INAV Configuratorで[接続]し、CLIで"dfu"コマンドを実行してDFUモードにしてから、ファームウェアフラッシャーをクリックしてください。

4. INAV Configuratorによる設定

末尾*が変更した設定です。

1) 起動

INAV Configuratorを起動し、NEXUS-XR(FC)をUSB接続し、右上の[接続]。

2) Default values

次をクリック。

  • [Airplane with a Tail]

3) Receiver wizard

次のように設定し[Next]。

  • Receiver Serial Port : UART5 (受信機が無いNEXUS-Xの場合は、UART1)
  • Receiver Protocol : CRSF

4) GPS wizard

次のように設定し[Next]または[Skip](Skipを選択すると後でwizardで設定できるらしい)。この後、FCが再起動し、飛行機の絵が表示される。(GPSをAポートに接続する場合は、UART4、115200、UBLOX(GPSの仕様に合わせる)を選択)

  • GPS Serial Port : None

5) [アライメント]

FCの搭載方向を設定し[保存して再起動]。左の[ステータス]でFCを傾け機体が正しい傾き方向になっているかを確認。

6) [キャリブレーション]

FCの方向を6方向に変える度に[水平キャリブレーション]をクリックし、最後に[OK]-[保存して再起動]。1回もキャリブレーションをしていないと、Angle/Horizon/Acro modeでのStabilizerが機能しません。

キャリブレーションする時に本体を密着させる机は、水準器で水平を出しておきます。天板の裏面も使えると、アンテナ側を下にするとき便利です。

7) [ミキサー]

サーボの割り当てを確認。変更は"サーボミキサー"の"入力"で行う。初期値から変更なし。

プラットフォーム設定

  • プラットフォームタイプ : Airplane
  • Motor direction : ノーマルモーター用/プロップイン構成
  • Control Profileは、Mixier Profileのインデックスと同じインデックスを使用します : off

ミキサープリセット

  • Airplane

タイマー出力

  • Timer 1 : MOTORS
  • Timer 2 : AUTO
  • Timer 3 : AUTO
  • Timer 4 : AUTO

出力マッピング

モーターミキサー

  • Throttle[T] : 1
  • Roll[A] : 0
  • Pitch[E] : 0
  • Yaw[R] : 0

サーボミキサー(サーボ:入力:重み(%):速度(10us/秒):有効)

  • 1 : Stabilized Pitch : 100 % : 0 (10us/秒) : Always
  • 2 : Stabilized Roll : 100 % : 0 (10us/秒) : Always
  • 3 : Stabilized Roll : 100 % : 0 (10us/秒) : Always
  • 4 : Stabilized Yaw : 100 % : 0 (10us/秒) : Always

2エルロンサーボの場合でも、EdgeTXでは1ch分のAileronだけ出力し、上記の2と3のようにINAV側で2サーボに振り分けます。NEXUS-XRの端子にはS1=1、S2=2、S3=3、TAIL=4に対応します。

NEXUS-XRをINAVにした場合、RPM=S6(Servo 5)、TLM=S7(Servo 6)、AUX=S8(Servo 7)に割り当てられます。なので、これらの端子にサーボなどを付ける場合は、[新しいミキサールールを追加]でServo 5~7を追加し、入力に送信機のチャンネルを割り当てます。なお、UART 1と2は無効にする必要があるらしいです。

S1~9とタイマー1~4の割り当ての変更はできません。ESCをDShotにした場合、ESCと他のサーボのタイマーは異なるものにします。


8) [出力]

次のように設定し[保存して再起動]。

設定

  • モーターとサーボ出力 : off -> on *
  • ESCプロトコル : STANDARD
  • サーボリフレッシュレート : 50Hz
  • アーム後にモーターを回転させない : on (7.参照)
  • モーターアイドリング出力 : 5.0 % -> 0.0 % *(7.参照)
  • スロットルスケール : 1.00
  • モーターポール数(マグネット数) : 14
  • リバーシブルモーターモード : off

サーボ(サーボ名:中央:最小:最大:レート(%):リバース:出力)

  • Servo 1 : 1500 1000 : 2000 : 100 : off : S1
  • Servo 2 : 1500 1000 : 2000 : 100 : off : S2
  • Servo 3 : 1500 1000 : 2000 : 100 : off : S3
  • Servo 4 : 1500 1000 : 2000 : 100 : off : S4

サブトリムとエンドポイントは、ここで設定します。送信機側は、サブトリム0、エンドポイント最大、Inverted Offにしておきます。その後、次の手順で調整します。

  1. ホーンとロッドが90度になるようにロッドの長さを調整します。
  2. ホーンとロッドが90度になるように中央値を調整します。値を変えたら[保存]をクリックすると反映されます。
  3. 送信機のスティックを最大舵角にした時に、必要な最大舵角になるように、最小と最大を調整します。

別の方法 : 送信機側で調整し、そのConfigurator側の値を中央、最小、最大値に設定し、送信機側を戻す方法もあります。リバースを設定した場合は、送信機と逆側を設定します(送信機で2000μs側にスティックを操作したら、最小値を変更する)。

  1. 飛行して送信機のトリムを調整します。
  2. スティックをニュートラルにした状態で、INAV Configuratorのこの画面の各サーボのパルス幅をメモし、その値を中央値に設定します。
  3. 送信機のトリムを0に戻します。

9) [基本設定]

次のように設定し[保存して再起動]。

センサー & バス通信

  • 加速度センサー : ICM42605
  • 磁気センサー : なし
  • 気圧センサー : SPL06
  • ピトー管 : なし
  • 距離センサー : なし
  • オプティカルフロー : なし
  • I2C属度 : 400KHZ

その他の機能

  • CPUベース シリアルポート 有効 : off
  • ナビゲーションとテレメトリー用のGPS : off (GPSを使用する場合はOn)
  • テレメトリー出力 : on (テレメトリーを使用する場合はOn)
  • リバーシブルモーター(リバーシブルESC用) : off
  • アナログRSSI信号入力 : off (NEXUS-XRは、受信機からRSSIが送られるので、OffでOKです。)
  • マルチカラーLEDストリップサポート : off
  • OLEDスクリーンディスプレイ : off
  • Blackbox フライトレコーダー : on -> off * (NEXUS-XRはSDスロットが無いので、256MBしかログを取れない)
  • モーターとサーボ出力を有効 : off -> on *
  • CPUベース SPI : off
  • OSD : off
  • エアーモードを常時使用 : on -> off * (OnだとManual時にArmした時にサーボがうなります?)
  • 固定翼機の発進モードを常時有効化 : off (これは手投げ後にスロットルを有効にするモードのようです?)
  • TXスティックコマンドによるプロファイル選択 : on -> off * (特殊なスティック操作であらかじめ決めておいた設定に切り替える機能。)
  • スロットル電圧補正 : off
  • Battery Profile 自動選択 : off
  • 固定翼機の連続トリムサーボ : off  (機体が水平の時に自動的にトリムを修正して、ニュートラルで水平飛行する機能のようです。)
  • ジオゾーン : off

電圧 & 電流センサー

  • バッテリー電圧監視 : on
  • 電圧メータータイプ : ADC
  • アラームとテレメトリーに使用する電圧源 : Raw
  • 電圧補正値 : 2474
  • バッテリー電圧 : 0.02
  • バッテリー電流監視 : off
  • 電流メータータイプ : ADC
  • 電流計スケーリング表示 : 400
  • ミリボルト単位のオフセット値 : 0
  • バッテリー電流 : 0.00

電圧補正値、電流計スケーリング表示、ミリボルト単位のオフセット値の調整は、次の記事の「4. INAV Configuratorの設定」を参考にしてください。

バッテリー設定

  • セル数(0=自動) : 0
  • セル数を検出するための最大セル電圧 : 4.25
  • 1セルあたりの最小電圧 : 3.3
  • 1セルあたりの最大電圧 : 4.2
  • 1セルあたりの警告電圧 : 3.5
  • バッテリ容量ユニット : mAh
  • バッテリ容量 : 0
  • 警告容量(残%) :
  • 限界容量(残%) :

シリアルジンバル

  • ジンバル感度 : 0
  • パン・チャンネル(Yaw) : 0
  • チルト・チャンネル(Pitch) : 0
  • Roll・チャンネル : 0

ヘッドトラッカー

  • ヘッドトラッカータイプ : なし
  • ヘッドトラッカーパン動作比率 : 1.00
  • ヘッドトラッカーチルト動作比率 : 1.00
  • ヘッドトラッカーRoll動作比率 : 1.00

10) [フェイルセーフ]

初期値から変更なし。

設定

  • 信号消失後から回復までの保護時間[デシ秒単位(ds): 1=0.1秒] : 5 ds
  • 手順 落下(Drop) : off
  • 手順 着陸(Land) : on
  • 着陸時に使用されるスロットル値 : 1000 us
  • フェイルセーフ時にモータを停止するまでの遅延時間[デシ秒単位(ds): 1=0.1秒] : 200 ds
  • Return to Home (RTH) : off
  • 何もしない : off
  • ホームに近い場合、代替フェイルセーフ最小距離手順を使用 : off
  • フェイルセーフ最小距離 : 0 cm
  • フェイルセーフ最小距離手順 : DROP

11) [PIDチューニング]

初期値から変更なし。PIDは、飛行させて必要があれば調整します。Blackboxに姿勢と操舵のログを記録し、操舵と姿勢信号波形を見てPIDを調整している人もいるようです。Auto Tuning機能もあるようです。マルチコプター&Betaflight用では、この調整を補助する有料ツールがあります。

12) [受信機]

INAV Configuratorの右上の[切断]。NEXUS-XRのUSBを外し、送信機の電源を入れ、NEXUS-XRのUSBを接続。INAV Configuratorの右上の[接続]。これでスティックやスイッチが反応しているかを確認。

13) [モード]

好みのスイッチに機能を割り当てます。

Arming

  • ARM : CH5 : 1700 ~ 2100 *

Flight Modes

  • HORIZON : CH6 : 900 ~ 1300 *
  • MANUAL : CH6 : 1700 ~ 2100 *

上記設定に無いポジションがANGLEになります。

  • ANGLE : 一定以上は傾かない(所謂6Gモード)
  • HORIZON : 小舵角ではANGLE。大舵角では姿勢制限緩和(Acro的な動き)。
  • ANGLE : ジャイロ(各加速度)のみの制御
  • MANUAL : 制御なし

Navigation Modes

  • NAV RTH : CH8 : 1700 ~ 2100 *

Misc Modes

  • HOME RESET: CH12 : 1700 ~ 2100 *    // yaapu/HorusMappingWidget の Home Resetにも使用します。
  • BLACKBOX : CH11 : 1700 ~ 2100 *

14) [Blackbox]

[基本設定]-[その他の機能]で「Blackbox フライトレコーダー : on」にした場合

Blackbox設定 

  • Blackbox フライトレコーダー : on -> off*
  • Blackboxログデバイス : On-board dataflash chip
  • ログに記録する飛行ループの反復の一部(ロギング率) : 1/2(50%) -> 1/32(3%) (固定翼機は1/32で十分)

Blackboxフィールド

  • ナビゲーション加速度センサー : off
  • ナビゲーション推定位置 : on
  • ナビゲーションPID : on
  • コンパス : on -> off * (NEXUS-XRはUARTしか無いので、コンパスを使用できません。)
  • 加速度センサー : on
  • 姿勢 : on
  • RCデータ : on
  • RCコマンド : on
  • モーター出力 : on
  • ジャイロRAW(フィルタリングなし) : off
  • ジャイロノイズピーク周波数(ロール) : off
  • ジャイロノイズピーク周波数(ピッチ) : off
  • ジャイロノイズピーク周波数(ヨー) : off
  • サーボ出力 : on

10分くらいの飛行で130MBになりました。PCへの転送は非常に遅く小一時間掛かりました。このファイルはバイナリファイルなので、テキストエディタで見ることはできません。

5. 送信機の設定

  • 送信機の出力のサブトリムは0、エンドポイントは±100、リバースはOffのままにします。サブトリム、エンドポイント、リバースは、INAVの出力で設定します。これはINAVがこれらの値を加味して制御信号を出すためです。例えば、送信機でサブトリムを1520usと設定し、INAVのセンターを1500usとすると、INAVは1500usがニュートラルとして姿勢制御を行ってしまいます。

  • INAVはArmしないとスロットルをハイにできません。なので、ESCのキャリブレーションは、INAV Configuratorの出力タブで行います。

  • Armするときは、機体を水平にした状態で行います。そうしないと、機体を水平に戻そうと舵が打たれる場合があります。

Mixes

  • CH5 : Name : Buzzer、Source : SG、Weight : 100%、Offset : 0%、Switch : -、Curve : Diff, 0%
  • CH11 : Name : INAVLG、Source : L03、Weight : 100%、Offset : 0%、Switch : -、Curve : Diff, 0%    // INAV LogRec

Logical Switches

  • L01 : Function : a>x、V1 : Thr、V2 : -95、AND switch : -、Duration : 0.0s、Delay :-    // スロットル-90以上
  • L02 : Function : a>x、V1 : LS、V2 : 95、AND switch : SB↑、Duration : 0.0s、Delay :-    // LS>95(LogRec) && SF↑(Arm)
  • L03 : Function : AND、V1 : L01、V2 : L02、AND switch : -、Duration : 0.0s、Delay :-    // Logの記録条件

 

6. Windows 11 スマート アプリ コントロール

INAV Configuratorを9.0.1から9.1.1にmsi版でアップデートしたところ、SmartScreen?の警告を無視してインストールはできたのですが、Smart App Control(SAC)により、起動がブロックされました。[フィードバックの送信]で問題が無いことをMicorsoftに報告したのですが、起動できません。そこで、[スタート]-[設定]-[プライバシーとセキュリティ]-[Windowsセキュリティ]-[アプリとブラウザの制御]-[スマート アプリ コントロールの設定]で[オフ]にすると、INAV Configurateorが起動しました。その後、暫く経過した後はSACをオンにしても起動するようになりました。Microsoftへの報告で制限が解除されるのに、少し時間が掛かったようです。

7. 「アーム後にモーターを回転させない」設定の動作

GPSを有効にしている場合、GPSの受信ができないとArmをしてもThrottleが有効になりません(=Armができません)。iNavFlight / OpenTX-Telemetry-Widget を入れていると、GPSが受信できた時に"Ready to fligh"と音声が出るので、それからArm SWを操作します。

マルチローター以外は「アーム後にモータを回転させない」は"ON"が推奨値です。

アーム後にモータを回転させない モータアイドリング出力[%] Arm+Thr=0 ⇒ Thr=H Arm+Thr=H ⇒ L ⇒ H
ON 0.0 Stop ⇒ H Stop ⇒ Stop ⇒ Stop
ON 5.0 Stop ⇒ H Stop ⇒ Stop ⇒ Stop
OFF 0.0 Stop ⇒ H Stop ⇒ Stop ⇒ Stop
OFF 5.0 5% ⇒ H Stop ⇒ Stop ⇒ Stop

余談 : GPS搭載ヘリ FLYWING FW200 はGPS未受信でも飛行できます。GPS未受信でArmした場合は、RTH機能は働きません。これは、GPSが受信できない屋内でも飛行できるようにするための仕様です。

8. その他

  • INAVはINAVの初期化が終了した後にDisarmed状態からArmに入れるまでは、ESCに信号を出さないようです。なので、HobbyWing Skywalk ESCは、PPMの信号が来ないというエラーを示す音が8回した後にセル数認識に入ります。

9. 関連記事

10. 参考情報

 

 

|

« RadioMaster NEXUS-XR & BETAFPV Nano TX V2 Module ELRS Bind テスト | トップページ | NEXUS-XR + INAV + GPS Telemetry Test »

コメント

コメントを書く



(ウェブ上には掲載しません)




« RadioMaster NEXUS-XR & BETAFPV Nano TX V2 Module ELRS Bind テスト | トップページ | NEXUS-XR + INAV + GPS Telemetry Test »