MTF-01 オプティカルフロー設定

MicoAir MTF-01 は オプティカルフロー + レーザー距離計 を一体化したモジュールで、GPS 信号が弱い環境(屋内、橋下、樹冠下)でも位置保持を可能にします。本ガイドでは SparkNavi Blue との統合を扱います。


ハードウェア配線

MTF-01 を SparkNavi Blue の TELEM2 ポート(UART 通信)に接続します。

TELEM2 ピン配置:

Pin 信号 説明
1 +5V 周辺機器電源
2 TX UART 送信(MTF-01 の RX へ)
3 RX UART 受信(MTF-01 の TX から)
4 CTS フロー制御(本用途では未使用)
5 RTS フロー制御(本用途では未使用)
6 GND グランド

MTF-01 モジュール


micoAssistant による事前設定

⚠️ 重要な事前ステップ:ArduPilot 4.5.0 以上を使用する場合、デフォルトの MAV_ID では ArduPilot が MTF-01 を認識しない可能性 があります。

micoAssistant で MTF-01 に接続し、以下を調整してください:

1. 通信プロトコルの確認

RangeSensor 設定ウィンドウで 通信プロトコルMav_APM に設定(PX4 ファームウェアの場合は PX4 を選択)。

micoAssistant RangeSensor 設定

2. MAV_ID の変更

MAV_ID(画面上の Sys id)を 200 に変更(デフォルトの 1 以外であれば任意の値でよく、200 が一般的)。

3. その他の設定

項目 説明
通信プロトコル Mav_APM ArduPilot ファームウェア
光流方向 取り付け回転
TOF_ID 0 距離計 ID
測距周波数 100Hz レーザー更新レート
RNG_ORIENT DOWN 下向き
接口類型 UART シリアルモード
光流縮放 100 フローゲイン、機体サイズに応じ調整
Sys id 200 MAV_ID(非デフォルト値)

修改設定 をクリックして MTF-01 に書き込みます。


ArduPilot SERIAL2 設定

Mission Planner Config → Full Parameter List で:

パラメータ 説明
SERIAL2_PROTOCOL 1 (MAVLink1) TELEM2 プロトコル
SERIAL2_BAUD 115 (115200) TELEM2 ボーレート
SERIAL2_OPTIONS 0 ArduPilot 4.6.3+ ではデフォルト 0 のまま;古いバージョンでは 1024 (Don't forward MAVLink to/from) が必要な場合あり

SERIAL2 設定

⚠️ バージョン注意: - ArduPilot 4.6.3 以降:SERIAL2_OPTIONS はデフォルト 0 のまま - ArduPilot 4.5.x – 4.6.2:SERIAL2_OPTIONS1024 に設定する必要があるかも("Don't forward mavlink to/from" にチェック)


距離センサー(RNGFND1)設定

フライトコントローラーを再起動した後、以下のパラメータが利用可能になります:

パラメータ 説明
RNGFND1_TYPE 10 (MAVLink) 距離計タイプ
RNGFND1_ORIENT 25 (Downward) 取り付け方向
RNGFND1_MIN_CM 5 最小有効距離(cm)
RNGFND1_MAX_CM 1200 最大有効距離(cm)

RNGFND1_ORIENT = 25公式パラメータドキュメント の "Downward" に対応します。


オプティカルフロー(OPTFLOW)設定

パラメータ 説明
FLOW_TYPE 5 (PX4Flow) フロータイプ(MAVLink 通信)
FLOW_FXSCALER 0 X 軸ゲイン(0 から開始、飛行時に調整)
FLOW_FYSCALER 0 Y 軸ゲイン
FLOW_ORIENT_YAW 0 取り付け yaw 回転(度)

検証

設定と再起動後、Mission Planner Status ページで:

  • sonarrange:距離計のリアルタイム読み値(高度に応じ変化)
  • flow_x / flow_y:オプティカルフロー速度

地上でフライトコントローラーを横方向に動かすと flow_x / flow_y が変化;高さを変えると sonarrange が変化 するはずです。


詳細リファレンス