欢迎光临散文网 会员登陆 & 注册

手把手教你在Ardupilot飞控中配置使用MTF-01光流测距一体传感器并实现室内定点飞行

2023-03-25 01:23 作者:微空科技  | 我要投稿

简介

MTF-01/02是微空科技最新研发推出的两款光流测距一体传感器,MTF-01集成850nm高性能激光测距传感器,无惧强光干扰,室内室外均可使用。且两款光流传感器均集成了多种通信协议,可以支持绝大部分主流开源飞控如Ardupilot、PX4、INAV及国产开源飞控FMT等等。

MTF系列光流测距一体传感器简介

每一种开源飞控的光流及测距传感器的配置均会有所区别,本文目的在于引导读者学会在Ardupilot飞控中从零开始正确接入及配置MTF-01光流传感器并成功实现光流定点飞行,此教程适用于微空科技的所有光流传感器,包括不仅限于MTF-01/02。


物品清单

WIN10/11电脑一台

一架使用Ardupilot固件并能良好气压定高的飞机,固件版本>4.2.0

MTF-01模块一个

USB转TTL模块一个

连接线若干


前期准备

MTF-01内置多种飞控传感器协议,因此如果要在Ardupilot飞控中使用,首先需要使用微空助手确认或者修改模块协议版本。

MTF-01内置多种飞控协议

微空助手软件需要运行于WIN10/11上,软件可以到微空科技官网下载(仍施工中),一般购买传感器模块时也会配送资料。

注意,此时需要用USB转TTL模块将MTF-01直接连接电脑,再使用微空助手软件连接模块。因为在实际使用过程中,经常碰到很多人不太熟悉串口工具 ,所以需要着重描述一下过程。

首先需要检查USB转TTL模块与MTF-01的接线是否正确,请参考下图的连接方式。

USB转TTL与MTF-01的连接方式

USB转TTL模块接入电脑后,安装好驱动,可以在设备管理器中查看是否模块已被识别,已经端口号是多少。

电脑的设备管理器中查看端口号

下一步,打开微空助手软件。在软件右上角选择正确的端口号,波特率115200,并点击连接。如果一切正常,模块将会被识别,主界面将更新传感器数据栏,并刷新数据波形图。

微空助手连接示意图

右侧功能栏点击齿轮图标打开配置界面,根据下面示意图修改模块参数。

MTF-01配置修改示意图

修改配置成功的话,消息栏将会有消息输出,注意查看

微空助手消息栏提示

到此模块协议修改结束,可以将模块接入Ardupilot飞控了。

新手用户经常会碰到的几个问题,总结一下:

  1. USB转TTL模块没安装驱动,电脑无法识别;

  2. 没选择正确的端口号;

  3. 模块的Tx和Rx没有和USB转TTL模块的交叉连接;

安装MTF-01并连接飞控

MTF-01传感器需要以正确的朝向安装在飞机底部,光流镜头正朝下方,并且需离地至少1-2cm高度,5cm以上是最好的。测距发射接收和光流镜头均不能被遮挡。

注意光流安装方向一定不能搞错,否则将无法正常飞行!

新手请先按照默认方向来安装,测试OK后,如果有需求,可以使用微空助手修改光流方向。

MTF-01安装方向说明


MTF-01使用串口输出传感器数据,而绝大部分飞控板均有预留4-5路串口,只要将其连接到任一串口即可。以国内比较经典的飞控硬件pixhawk2.4.8为例,除了GPS接口外,还预留有TELEM1 TELEM2 SERIAL4/5这四路串口,分别对应Ardupilot固件中的serial1/2/4/5。可以将MTF-01接入这四路串口中的任意一个,然后在飞控地面站中进行对应配置即可,下文将以TELEM2口为例。

其它飞控硬件也是同样道理,只要注意硬件端口与固件中serial的对应关系即可,有不明白的地方可以咨询飞控厂商。

pixhawk2.4.8端口示意图

将MTF-01模块接到TELEM2上,对应连接飞控端子的5V和GND,而Rx和Tx照常是交叉连接,其它PIN如CTS RTS用不到可忽略。


飞控配置

连接完飞控后,飞控通过USB接入电脑,打开Mission Planner地面站软件,配置修改飞控的相关参数。注意MP不能使用过老的版本,不然可能找不到某些参数,本文中的MP版本号为1.3.79。

配置SERIAL参数

地面站连接,并加载完飞控参数后,打开“参数树”,找到SERIAL2相关参数,将波特率修改为115,协议值为1。

SERIAL配置示意图


配置FLOW参数

找到FLOW_TYPE这个参数,并将其配置为5。如果确认飞控固件版本大于4.2.0,但在地面站中始终找不到这个参数值,那是因为飞控固件编译的时候将光流功能给禁用掉了(通常出于节省flash的考虑),解决方案是换飞控,除非你可以自己重新编译ardupilot固件。

FLOW配置示意图

配置RNGFND1参数

在参数树中找到RNGFND1(Ardupilot可以配置使用多组测距传感器),将RNGFND1_TYPE设置为10,RNGFND1_ORIENT设置为25,MAX_CM设置为600(MTF-01是室外普通地面最高普遍只能测到5-6米),MIN_CM设置为1。

RNGFND1配置示意图

至此,飞控的相关传感器参数配置完毕,重启飞控,并重新连接地面站软件,检查是否有读取到MTF-01的光流与距离数据。

Mission Planner的飞行数据界面,左下方的状态栏中,有着飞控的所有状态数据,数量非常多,按照参数首字母来排列的,需要耐心寻找一下opt和rangefinder1这两项数据,如果这些数据已经显示出数值并不断刷新,那么恭喜你,Ardupilot飞控已经能够成功识别到MTF-01传感器了!

状态栏数据


EKF3参数配置

到这一步时,工作完成度已经达到80%了,但仍需要一定的参数配置,才能让Ardupilot飞控在飞行中使用光流传感器数据。

注意Ardupilot的融合观测器有多个版本,如EKF2和EKF3,本教程以最新的EKF3为例,Ardupilot从4.2.0版本开始是默认使用EKF3的,但我们仍最好确认一下。

EKF_TYPE

接下来配置EK3参数,让其使用光流数据来定位飞行。

  1. EK3_SRC_OPTIONS设为0,禁用所有速度融合功能

  2. EK3_SRC1_POSXY设为0,不使用位置数据

  3. EK3_SRC1_VELXY设为5,速度数据选择使用光流传感器

EK3参数设置

EK3中还有一些其它和光流相关的参数,暂时保持默认值即可

EK3光流相关参数


飞行测试

终于可以起飞了,但还有几个问题要先确认一下:飞控已经被配置,可以使用遥控器切换到Loiter模式,解锁检查中已关闭GPS的检查。

参数树中找到ARMING_CHECK,点击数值,取消勾选All和GPS lock,否则不能正常解锁飞控。

修改ARMING_CHECK参数

所有准备均OK,接下来找一个光线纹理充足的室内地面进行飞行测试,注意光流在反光比较强烈的地板上性能会比较差,尽量避开此类场景。

飞机正常上电,等待初始化完毕后,遥控器切换到Loiter档位,解锁起飞,拉升飞机到1米左右高度观察飞行情况,如果能高度和位置均能稳定控制住,说明光流和测距传感器均成功生效了!

如果在loiter模式无法解锁,并报错:Need Position Estimate,那么大概率是因为模块过于接近地面,光流数据质量不佳导致的,可以先在定高模式下起飞,再切换到Loiter模式。或者将光流模块离地高度调高一些。

报错:Need Position Estimate
GPS与广瑞


光流与GPS切换使用

Ardupilot接入MTF-01模块后,激光测距传感器在任何时候都是会被飞控使用的(有效量程内),可以极大提升飞控的起飞降落质量,毕竟纯气压计定高在离地面过近时效果很差。而光流和GPS这两种传感器Ardupilot似乎还不能做到自动切换使用,但是可以配置成使用遥控器开关通道切换选择使用GPS或者光流。

这部分内容仍待施工。


光流自动校准

Ardupilot从4.2.0版本以后加入了飞行中自动校准光流的功能,即在室外使用GPS飞行时,基于GPS的数据来自动修正光流传感器的误差,并将误差参数存储到飞控参数表中。

这部分内容仍待施工。


手把手教你在Ardupilot飞控中配置使用MTF-01光流测距一体传感器并实现室内定点飞行的评论 (共 条)

分享到微博请遵守国家法律