MTF-01P是微空科技研发设计并生产的一款光流测距一体传感器,采用串口输出数据,并内置多种通信协议,可兼容主流开源飞控:Ardupilot、PX4、INAV、FMT。只需简单配置即可适配不同飞控。
依靠MTF-01P传感器,无人机可以实现室内无GPS环境下的自主悬停飞行。
MTF-01P基于MTF-01升级而来,测距量程更大,精度更高。
也可以在微空助手中调整方向参数
MTF-01支持四种数据协议:
可以使用微空助手软件切换模块协议或修改其它参数:
Micolink协议具体说明可参考下面链接:
[视频教程]Ardupilot&PX4飞控配置使用MTF-01光流测距一体传感器实现室内悬停飞行
MTF-01模块输出协议需要设置成mav_apm(或购买产品时直接选择ardupilot版本)
Ardupilot固件版本需>=4.2.0
SERIALn_BAUD 115
SERIALn_OPTIONS 1024(Don't forward)
SERIALn_PROTOCOL 1
FLOW_TYPE 5
RNGFND1_TYPE 10
(n取决于实际连接的物理端口)
重启飞控或者刷新参数
RNGFND1_MAX_CM 800
RNGFND1_MIN_CM 1
RNGFND1_ORIENT 25
配置EKF参数(只使用光流)
AHRS_EKF_TYPE 3
EK3_SRC_OPTIONS 0
EK3_SRC1_POSXY 0
EK3_SRC1_POSZ 2
EK3_SRC1_VELXY 5
EK3_SRC1_VELZ 0
EK3_SRC1_YAW 1
配置EKF参数(光流和GPS手动切换,进阶操作,新手勿尝试)
AHRS_EKF_TYPE 3
EK3_SRC_OPTIONS 0
EK3_SRC2_POSXY 0
EK3_SRC2_POSZ 2
EK3_SRC2_VELXY 5
EK3_SRC2_VELZ 0
EK3_SRC2_YAW 1
RC6_OPTION 90 (设置使用RC6通道切换EKF数据源, 通道值处于中间位置时使用SRC2的数据,即使用光流辅助定位)
注意:
如果在参数列表中找不到FLOW_TYPE
参数,首先请确认ardupilot固件版本>=4.2.0,如果版本没问题,那说明是飞控固件禁用光流功能了,这个大多出现在F405飞控上,因为flash大小限制需要阉割部分功能,详情可以咨询飞控厂家。
MTF-01模块输出协议需要设置成mav_px4(或购买产品时直接选择PX4版本)
1.14.0版本以后需要设置好所有其它参数,并识别到光流传感器,重启飞控后才能在QGC里找到SENS_FLOW_ROT
参数
1.12.x - 1.13.x
MAV_1_CONFIG TELEM n (n取决于实际连接的物理端口)
重启飞控
MAV_1_MODE Normal
SER_TELn_BAUD 115200 8N1 (n取决于实际连接的物理端口)
SENS_FLOW_ROT No rotation
EKF2_AID_MASK use optical flow
EKF2_RNG_AID Range aid enable
EKF2_HGT_MODE Range sensor
1.14.x-
MAV_1_CONFIG TELEM n
重启飞控
MAV_1_MODE Normal
SER_TELn_BAUD 115200 8N1
EKF2_OF_CTRL Enabled
EKF2_RNG_CTRL Enabled
EKF2_HGT_REF Range sensor
重启飞控
SENS_FLOW_ROT No rotation (1.14及以后版本该参数默认值如此,无需设置)
重启飞控,一切正常的话,在QGC的MAVLink Inspector页面中应该能看到DISTANCE_SENSOR
和OPTICAL_FLOW_RAD
消息。注意,QGC上显示的消息由飞控发出,消息频率并不等同于传感器的数据频率,这个频率由飞控的设置和数据链路的速度决定,主要用于观察,消息频率多少并不重要。
如果地面站是通过某些数传连接飞控时,由于数据链路速率较低,飞控会选择性发出数据,导致在QGC有可能看不到某些消息帧比如OPTICAL_FLOW_RAD
,因此这一步建议使用USB连接飞控。
MTF-01模块输出协议需要设置成msp(或购买产品时直接选择INAV版本)
另外INAV 7.1.1版本存在BUG,无法正常使用传感器,建议升级或者降级其它版本。
[视频教程] INAV飞控配置使用MTF-01光流测距一体传感器实现室内悬停飞行
可能有两种情况:
一是模块协议和飞控固件不匹配,比如飞控是Ardupilot固件但光流模块协议设置成了mav_px4,或者飞控是PX4固件时模块协议设置成了mav_apm。
二是使用PX4时,电脑使用数传连接飞控,由于数据链路带宽较低,飞控只会选择性发送部分数据到QGC,所以只能看到distance消息而没有光流消息。需要使用USB连接飞控到电脑,再观察消息是否正常。
另外PX4飞控发往地面站的消息频率是可变的,根据数据链路带宽调整,发到QGC的消息频率和传感器实际的数据频率并不是一回事。