コンテンツにスキップ
ガイド·センサー

GPS F9P モジュール設定

対応: SparkNavi Blue · ArduPilot 4.6.x 以降 · u-blox ZED-F9P + BMM150

本ガイドでは SparkNavi F9P RTK GPS モジュールを SparkNavi Blue に接続する手順、重要な ArduPilot パラメータ、そして——より重要な——なぜ推奨値をその値にするのかを解説します。完全なハードウェア仕様は SparkNavi F9P 製品ページ をご参照ください。

1. 必要なもの

  • SparkNavi F9P モジュール × 1(デュアル GPS / RTK Yaw 構成では × 2)
  • マルチバンド L1/L2/E5b 対応アンテナ × 1 (実使用時の精度を最も左右するのはアンテナの品質です)
  • SparkNavi Blue 付属の GPS ケーブル
  • Mission Planner 動作環境(Windows)または QGroundControl

2. 配線

SparkNavi Blue には GPS1(8 ピン)と GPS2(6 ピン)の 2 つの GPS ポートがあります。両者は I²C2 バスを共有しており、これにより各 F9P モジュール上の BMM150 コンパスが自動検出されます。

信号 F9P ピン Blue GPS1 ピン Blue GPS2 ピン
+5 V 1 1 1
UART RX 2 2 (TX) 2 (TX)
UART TX 3 3 (RX) 3 (RX)
I²C SCL 4 4 4
I²C SDA 5 5 5
GND 6 8 6

GPS1 接続時、ピン 6 と 7(safety switch + LED)は未接続のままで構いません。

3. ArduPilot パラメータ

F9P 単体(GPS1 接続):

パラメータ 備考
GPS1_TYPE 2 u-blox ドライバ
GPS_AUTO_CONFIG 3 推奨値 — §4 参照
GPS_AUTO_SWITCH 1 最良の Fix を採用
GPS_PRIMARY 0 GPS1 をプライマリに

F9P デュアル(同一モジュール 2 個を GPS1 + GPS2 に接続):

パラメータ 備考
GPS1_TYPE / GPS2_TYPE 2 / 2 両方とも u-blox
GPS_AUTO_CONFIG 3 単体時と同じ — §4 参照
GPS_AUTO_SWITCH 2 Blend モード — §4 参照
GPS_INJECT_TO 127 両方に RTCM ブロードキャスト

パラメータ書き込み後、フライトコントローラーを再起動してください。

4. なぜこの設定なのか

ほとんどのセットアップ手順がスキップする部分ですが、実運用で最も重要です。

なぜ GPS_AUTO_CONFIG = 3

ArduPilot のデフォルト GPS_AUTO_CONFIG = 1 は起動時に既知の良好な設定値を GPS モジュールに書き込みますが、モジュール内部に残る非 ArduPilot の設定(異なるボーレート、メッセージ送信レート、RTCM フィルタなど)は消去しません。u-blox 第 9 世代モジュール(ZED-F9P がこれに該当)では、こうした残存設定が ArduPilot の設定と予期しない形で衝突することがあります。

GPS_AUTO_CONFIG = 3 にすると、ArduPilot はモジュール内の非 ArduPilot 設定をまずクリアしてから、デフォルト値を適用します。結果として、再現性が高く予測可能な起動状態が得られます。これは機体間でモジュールを使い回す場合や、現場から戻ってきた状態が不明なモジュールを再利用する場合に大きく効きます。

なぜ同一 F9P × 2 で GPS_AUTO_SWITCH = 2(Blend)か

Blend モードは「2 つの GPS が同種・同品質」という前提で設計されています。同じ F9P 同士であれば、同じ衛星群を捕捉し、RTCM 注入時には同じ補正を受け取るため、両者の測位解は統計的に等価です。両者を平均することで各々の独立な瞬時誤差が抑制されます — 精度向上はわずかですが、安定して効きます。

これは異種混在構成(F9P + M8N など)とは根本的に異なります。混在構成では F9P が明らかに優秀なので、劣る M8N との平均で精度を落としたくありません。その場合は GPS_AUTO_SWITCH = 4(プライマリ GPS が 3D Fix なら優先)を選びます。

EKF3 ジャミング対策(EK3_OPTIONS bit 0)

RF 干渉環境で運用される可能性のあるプラットフォーム — 防衛用途、軍事空域近傍、高出力放送・レーダー発信源の近傍など — では、EK3_OPTIONS bit 0 を 1 にすると EKF3 の GPS 復帰時挙動が変わります。GPS が再ロックしても、プリフライト段階の GPS 品質チェックを再通過するまでナビゲーションフィルタが GPS 解を消費しなくなります。これにより、意図的に改ざんされた GPS 信号が復帰直後に即座に信頼されることを防げます。

このオプションでカバーできないこと

これは「短時間のジャミング後の GPS 復帰」シナリオで測位品質を保護します。GPS denied 環境での航法の代替手段ではありません。継続的な GPS denied 飛行にはオプティカルフロー + 距離センサー、Visual-Inertial Odometry、または外部位置注入が必要です。

5. SparkNavi Blue 固有の注意事項

Blue 上で F9P を運用する際の、汎用 ArduPilot ドキュメントには載っていない事項:

2 つの BMM150 が I²C2 を共有。 F9P 2 個を Blue に接続すると、内蔵 BMM150 磁力計 2 個が同一 I²C バス上に異なる I²C アドレスで現れます。ArduPilot は両方を外部コンパスとして自動検出します。SparkNavi Blue には内蔵コンパスがありませんので、2 個の BMM150 がそのままプライマリ/セカンダリコンパスになります — 内蔵コンパスを手動で無効化する必要はありません。

コンパス優先順位 — ノイズ源から遠い方を選ぶ。 外部コンパスが 2 個ある場合、COMPASS_PRIO1_ID には ESC、電源線、大電流経路から物理的に遠い側の BMM150 のデバイス ID を設定します(ID は Mission Planner のコンパス設定画面で確認)。これは GPS 2 個構成のマルチコプターで yaw 安定性を単独で改善する最も効果的な施策です。

付属ケーブルでそのまま OK。 Blue 付属の GPS ケーブルは 1 対 1 の正しい結線になっているため、改造不要です。カスタム機体などで自作する場合は §2 のピン対応表に従ってください。

6. 動作確認

配線・パラメータ書き込み・再起動が完了したら、Mission Planner で以下を確認:

  • 開けた屋外で約 30 秒以内に 3D fix
  • 衛星数 20〜30 個以上(マルチコンスタレーション受信が F9P の強み)
  • 1 分以内に HDOP < 1.0
  • RTK 運用時:RTCM 補正が流れ始めてから約 35 秒以内に RTK FloatRTK Fixed

補正を流していても 3D fix から RTK Fixed に進まない場合、最頻出の原因は GPS_INJECT_TO127 に設定されていないことです。

7. トラブルシューティング

症状 原因の可能性
GPS が検出されない ケーブル方向逆転、または GPS1_TYPE = 0
3D fix なのに HDOP が高い アンテナ位置不良 — カーボン繊維近傍、空の遮蔽
RTK Float から進まない アンテナがシングルバンド、または補正ストリームがマルチバンド非対応
Pre-arm で Compass FAILED COMPASS_ORIENT が GPS モジュールの物理方向と不一致

関連情報