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 | グランド |

micoAssistant による事前設定¶
⚠️ 重要な事前ステップ:ArduPilot 4.5.0 以上を使用する場合、デフォルトの MAV_ID では ArduPilot が MTF-01 を認識しない可能性 があります。
micoAssistant で MTF-01 に接続し、以下を調整してください:
1. 通信プロトコルの確認¶
RangeSensor 設定ウィンドウで 通信プロトコル を Mav_APM に設定(PX4 ファームウェアの場合は PX4 を選択)。

2. MAV_ID の変更¶
MAV_ID(画面上の Sys id)を 200 に変更(デフォルトの 1 以外であれば任意の値でよく、200 が一般的)。
3. その他の設定¶
| 項目 | 値 | 説明 |
|---|---|---|
| 通信プロトコル | Mav_APM |
ArduPilot ファームウェア |
| 光流方向 | 0° |
取り付け回転 |
| 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) が必要な場合あり |

⚠️ バージョン注意:
- ArduPilot 4.6.3 以降:SERIAL2_OPTIONS はデフォルト 0 のまま
- ArduPilot 4.5.x – 4.6.2:SERIAL2_OPTIONS を 1024 に設定する必要があるかも("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 が変化 するはずです。