INAV是否可以同时实现室外GPS定高定点和室内光流计声纳定高定点?答案是:能
很多飞友都有这样的疑惑,很多飞友说不能,但是实践证明是可以的。
室外的定高定点我就不啰嗦了,可以参看我的视频教程:
室内光流计的设置我也不罗嗦了,可以参看我这篇文章:穿越机:INAV飞控配置使用MTF-01光流测距一体传感器(光流计)实现室内悬停飞行[转载]
如何同时实现这二者的功能呢?不需要拆除某一个,或者只启用其中一个,二者可以共存。
原理如下:INAV固件会根据气压计高度检测真实高度(与起飞点的高度),当小于某一阈值时启用光流计,大于时启用GPS。
这一阈值是可以人为设定的,当然也有默认值。以下面代码为例:
1 2 3 4 |
set inav_allow_dead_reckoning = ON set nav_max_terrain_follow_alt = 200 set inav_max_surface_altitude = 200 save |
代码解释:(代码解释来自github:CLI Variable Reference https://github.com/iNavFlight/inav/blob/master/docs/Settings.md)
inav_allow_dead_reckoning
Defines if INAV will dead-reckon over short GPS outages. May also be useful for indoors OPFLOW navigation
(定义 INAV 是否开启检测 GPS 中断。也可能在室内光流计导航时会起作用。)
【个人理解:当中断时将启用另一个传感器进行工作。比如,GPS信号中断,则启用光流计,光流计信号失效,则启用GPS。同时要实现室内室外定高定点,这一项必须开启】
Default | Min | Max |
---|---|---|
OFF | OFF | ON |
nav_max_terrain_follow_alt
Max allowed above the ground altitude for terrain following mode [cm]
(地形跟随模式允许的最大高度,单位是“厘米”)
Default | Min | Max |
---|---|---|
100 | 1000 |
inav_max_surface_altitude
Max allowed altitude for surface following mode. [cm]
(表面跟随模式允许的最大高度,单位是“厘米”)
Default | Min | Max |
---|---|---|
200 | 0 | 1000 |
另外,还有其他几个有用的代码,按需开启:
inav_default_alt_sensor
Sets the default altitude sensor to use. Settings GPS and BARO always use both sensors unless there is an altitude error between the sensors that exceeds a set limit. In this case only the selected sensor will be used while the altitude error limit is exceeded. GPS error limit = 2 * inav_max_eph_epv. BARO error limit = 4 * inav_baro_epv. Settings GPS_ONLY and BARO_ONLY will use only the selected sensor even if the other sensor is working. The other sensor will only be used as a backup if the selected sensor is no longer available to use.
Default | Min | Max |
---|---|---|
GPS |
然后进入模式菜单,将“SURFACE”模式、“ANGLE”模式(其实这个是可选的,因为进入定高定点模式后,INAV会自动进入“ANGLE”模式)、“NAV ALTHOLD”模式、“INV POSHOLD”模式、“HEADING HOLD”模式一起打开,这样就可以进入室内室外的定高定点模式了。
如果单纯只需要室外定高定点,就选择性开启“SURFACE”模式,这个并不是必须的。因为“SURFACE”模式是让无人机与某一表面(一般对着下面就是地面)保持固定的高度,遇到坡就会爬坡,遇到坑就会下沉。