台架设置前请拆除螺旋桨。PX4 / ArduPilot 使用模块的 MAVLink 输出,INAV / Betaflight 使用 MSP 输出。UART4 和 TELEM 2 仅为示例,请对应实际接线端口。ArduPilot 4.7+ 的 MAVx 表示 MAVLink 通道,并非 SERIALx 端口编号,修改选项前应核对映射。截图仅说明界面操作,不代表飞行验证;参数名和可用功能取决于所安装的固件版本与构建。
开源固件光流模块
装机方向如下:

PX4 配置
打开工具,选择 Vehicle Setup。

设置 MAV_1_CONFIG 为 TELEM 2 并保存。

点击“工具”,点击“重启飞行器”。

设置 MAV_1_MODE 为 Normal 并保存。

设置 SER_TEL2_BAUD 为 115200 8N1 并保存。

可选的高度融合设置:仅进行步骤 8 的通信检查时,不需修改 EKF2_RNG_CTRL。截图中的 Enabled 为持续测距融合;只有在核对所用 PX4 版本、安装方式、可靠测距范围和飞行条件后才考虑采用。接收传感器消息不要求执行此步骤。

可选的高度参考:EKF2_HGT_REF = Range sensor 仅适用于向下测距、平坦地面及可靠测距范围内的运行场景;地形变化会使局部高度参考随地面起伏。通信检查保留现有高度参考,不要将截图中的设置作为通用飞行配置。

配置完后重启飞控,一切正常的话,在 QGC 的 MAVLink Inspector 页面中应该能看到 DISTANCE_SENSOR 和 OPTICAL_FLOW_RAD 消息,有数值变化即可。注意,QGC 上显示的消息由飞控发出,消息频率并不等同于传感器的数据频率,这个频率由飞控的设置和数据链路的速度决定,主要用于观察,消息频率多少并不重要。



APM 配置
在 Mission Planner 中设置对应串口波特率 SERIAL4_BAUD 为 115(115200),并根据固件版本设置选项参数:4.7 及以后使用 MAVx_OPTIONS,启用 bit 1(掩码 2,禁止 MAVLink 转发),保留其他位;4.6 及更早使用 SERIALx_OPTIONS,启用 bit 10(掩码 1024,私有 MAVLink 通道),保留其他位。再设置串口协议值 SERIAL4_PROTOCOL 为 1(Mavlink1),点击“写入参数”保存。

设置光流 FLOW_TYPE 值为 5 并保存。

设置 RNGFND1_TYPE 值为 10 并保存。

启用测距仪后重启飞控。ArduPilot 4.7 及以后:设置 RNGFND1_MAX 为 8、RNGFND1_MIN 为 0.02,单位为米。4.6 及更早:设置 RNGFND1_MAX_CM 为 800、RNGFND1_MIN_CM 为 2,单位为厘米。仅向下安装时将 RNGFND1_ORIENT 设为 25。保存设置。截图展示的是旧版参数名。

在 status 页面可以看到 rangefinder1、opt_m_x、opt_m_y、opt_qua 的数值。

ToF / 光流 Betaflight 配置
ToF 切到 MSP 模式。
Ports 页:UART4 开 MSP,保存重启。

CLI 输入(一行一行的输入保存):
set rangefinder_hardware = MTF01P
set opticalflow_hardware = MT
feature RANGEFINDER
feature OPTICALFLOW
save

看测距:
set debug_mode = RANGEFINDER
save
查看数据Sensors 页看“声呐 - 厘米”、Raw Altitude、Calc Altitude。

看光流:
set debug_mode = OPTICALFLOW
save
查看数据Sensors 页看 Quality、Raw flow rates X/Y。
debug_mode 一次只能看一种,测距和光流细节需要切换模式查看。





