INAV 测距仪(Rangefinder)完整配置指南:从硬件选型、AGL 高度测量到地形跟随
无人机嵌入式智能硬件【免费下载链接】inavINAV: Navigation-enabled flight control software项目地址https://gitcode.com/gh_mirrors/in/inav点击查看免费下载导读本文围绕 INAVNavigation-enabled flight control software的测距仪Rangefinder功能展开系统讲解其工作原理、支持的传感器类型、CLI 配置参数以及 Surface地形跟随模式等核心应用场景。通过阅读本文你将掌握如何为多旋翼和固定翼选择并连接 ToF 激光、超声波、毫米波雷达等测距传感器正确设置rangefinder_hardware、inav_max_surface_altitude等关键参数并理解测距数据如何在高度估计与位置估计中发挥作用从而在无 GPS 环境或自动降落场景中充分发挥测距仪的价值。什么是测距仪测距仪Rangefinder是一类用于测量飞行器相对地面正下方距离的设备其测量结果即离地高度 AGLAbove Ground Level。与气压计、GPS 提供的绝对海拔不同AGL 直接反映距离地面有多高因此特别适合需要精确贴近地面飞行的场景。在 INAV 源码中测距仪数据由 sensors/rangefinder.c 统一管理所有读数均以厘米cm为单位返回。驱动层对传感器的三种异常返回值做了标准化定义见 drivers/rangefinder/rangefinder.h返回值含义RANGEFINDER_OUT_OF_RANGE (-1)超出量程地面过远或超出检测锥RANGEFINDER_HARDWARE_FAILURE (-2)传感器无响应 / 硬件故障RANGEFINDER_NO_NEW_DATA (-3)本次无新测量数据非错误测距仪在 INAV 中的四大核心用途根据官方文档INAV 中的测距仪主要服务于以下场景着陆检测Landing detection——多旋翼通过测距数据实现精确触地检测配合自动降落流程避免在着陆过程中过早或过晚收油门。自动降落支持Automated landing support——固定翼固定翼在进场着陆阶段利用测距仪实现平滑的下降控制保证下滑曲线贴地且不撞地。地形跟随 / Surface 模式——多旋翼恒定保持离地高度飞行适合在起伏地形上空贴地巡航。位置估计Position estimation——与光流Optical Flow传感器配合时测距仪提供 Z 轴高度信息光流提供水平 X/Y 位移信息从而在无 GPS 的室内环境中实现悬停与位置保持。支持的测距仪硬件类型从源码枚举 sensors/rangefinder.h 可见INAV 共定义了 12 种测距仪类型RANGEFINDER_NONE到RANGEFINDER_NANORADAR与官方文档的硬件分类一一对应。Time-of-FlightToF激光传感器I2C传感器厂商量程接口VL53L0XSTMicroelectronics0–75 cmI2CVL53L1XSTMicroelectronics0–400 cmI2CTOF10120轻小激光传感器0–200 cmI2CTERARANGER_EVOTeraRanger Evo 系列30–600 cm视型号而定I2C/UARTToF 传感器通过测量光脉冲往返时间计算距离受环境光影响小、响应快适合短距精确测高。VL53L0X / VL53L1X / TOF10120 / TERARANGER_EVO 均挂载在飞控 I2C 总线上配置后自动检测。对应驱动位于 drivers/rangefinder/rangefinder_vl53l0x.c、rangefinder_vl53l1x.c、rangefinder_tof10120_i2c.c、rangefinder_teraranger_evo.c。超声波传感器I2C / UART传感器厂商量程接口SRF10Devantech0–600 cmI2CUS42Maxbotix US-420–645 cmI2CUSD1_V0USD1 超声波变体—UART超声波方案成本低、量程大但受温度、风场和地面材质影响。SRF10 与 US42 驱动分别见 rangefinder_srf10.c 与 rangefinder_us42.c。毫米波雷达传感器UARTINAV 支持 NanoRadar NRA15 / NRA24 毫米波雷达。此类传感器固件可选US-D1_V0或NRA两种协议对应配置器中的名称不同雷达型号协议量程与分辨率配置器名称NRA15US-D1_V00–30 m±4 cmUSD1_V0NRA15NRA0–30 m±4 cmNRANRA15NRA0–100 m±10 cmNRANRA24US-D1_V00–50 m±4 cmUSD1_V0NRA24US-D1_V00–200 m±10 cmUSD1_V0NRA24NRA0–50 m±4 cmNRANRA24NRA0–200 m±10 cmNRA选择协议时需确认传感器刷写的固件版本并在rangefinder_hardware中选择与之匹配的名称USD1_V0或NRA。串口 / 外部传感器UARTMSP通过 MSP 协议接入外部测距设备UART/MSP。BENEWAKEBenewake 系列激光雷达模块如 TFmini走串口协议UART。这两类在源码中均通过虚拟驱动表virtualRangefinderDetect()挂接见 sensors/rangefinder.c。开发 / 测试传感器FAKE纯软件模拟的测距仪用于无硬件环境下的功能验证常见于 SITLSoftware In The Loop测试。它同样通过rangefinderFakeVtable虚拟驱动实现。配置指南启用测距仪在 CLI 中执行set rangefinder_hardware VL53L0X # 或你的传感器类型 saverangefinder_hardware的可选值定义在 fc/settings.yaml 的rangefinder_hardware表格中完整列表为NONE, SRF10, VL53L0X, MSP, BENEWAKE, VL53L1X, US42, TOF10120_I2C, FAKE, TERARANGER_EVO, USD1_V0, NRA默认值为NONE。参数存储在rangefinderConfig_t结构体PG_RANGEFINDER_CONFIG中对应字段定义见 sensors/rangefinder.h。中值滤波平滑读数set rangefinder_median_filter ON save该参数默认值为OFF。官方设置描述为3-point median filtering for rangefinder readouts而从 sensors/rangefinder.c 的实现看实际采用的是5 个样本的滑动中值滤波DISTANCE_SAMPLES_MEDIAN 5使用quickMedianFilter5且只在读数处于量程内大于RANGEFINDER_OUT_OF_RANGE时才纳入样本。开启后能明显抑制单点跳变适合地面纹理不均匀、螺旋桨气流干扰等场景。位置估计权重参数以下参数控制测距数据在 INAV 高度估计卡尔曼融合中的权重定义于 fc/settings.yamlset inav_max_surface_altitude 200 # 测距数据允许参与融合的最大高度cm set inav_w_z_surface_p 3.5 # 位置高度估计权重 set inav_w_z_surface_v 6.1 # 爬升率垂直速度估计权重参数默认值取值范围说明inav_max_surface_altitude2000–1000允许测距仪参与表面跟随的最大高度cm应设为传感器可靠量程而非标称最大量程inav_w_z_surface_p3.50–100测距数据在估计高度中的权重固定翼与多旋翼均生效需开启 Surface 模式inav_w_z_surface_v6.10–100测距数据在估计爬升率中的权重同上inav_w_z_surface_p/v同时作用于固定翼与多旋翼前提是安装了测距仪并启用 Surface 模式权重越高估计越信任测距数据而非气压计/加速度积分但过高权重会在测距失效时放大误差因此需要与inav_max_surface_altitude配合设置。高度估计的倾斜校正原理从源码可以印证倾斜角过大时测距失效这一约束在 sensors/rangefinder.c 中最终高度计算为calculatedAltitude rawAltitude * cosTiltAngle即用机身倾角余弦对原始读数做斜距投影校正同时rangefinderInit()会依据传感器驱动上报的检测锥角detectionConeExtendedDeciDegrees预计算最大允许倾角maxTiltCos。当cosTiltAngle maxTiltCos倾角超出检测锥或读数异常时输出被置为RANGEFINDER_OUT_OF_RANGE测距数据即被判定无效。Surface 模式地形跟随Surface 模式让多旋翼以恒定离地高度飞行相对高度而非气压计的绝对高度是测距仪最典型的导航应用。启用方式通过遥控器开关激活SURFACE模式前提是测距仪已正确配置并输出有效数据。兼容的导航模式ALTHOLD——按离地高度保持高度POSHOLD——以地形相对高度保持位置CRUISE——带地形跟随的速度控制关键设置set nav_max_terrain_follow_alt 100 # Surface 模式允许的最大离地高度cmnav_max_terrain_follow_alt定义于 fc/settings.yaml默认值 100最大 1000单位 cm。重要安全规则必须将nav_max_terrain_follow_alt设为小于inav_max_surface_altitude避免在传感器可靠量程之外触发地形跟随。示例若测距仪可靠量程为 200 cm则设置inav_max_surface_altitude 200、nav_max_terrain_follow_alt 100或更低。注意Surface 模式不支持固定翼固定翼请使用自动降落相关的测距支持。连接与接线I2C 测距仪VL53L0X、VL53L1X、TOF10120、SRF10、US42、TERARANGER_EVO 等 I2C 传感器直接连接到飞控的 I2C 端口通常与气压计/罗盘共用总线或独立 I2C 焊盘配置rangefinder_hardware后由rangefinderDetect()自动检测挂载见 sensors/rangefinder.c。要点确认电源电压匹配传感器要求3.3 V 或 5 V参考具体型号手册确认 I2C 地址无冲突同一总线上若有其他同地址设备需处理不同 I2C 测距仪任务周期不同驱动检测成功后会自动重排调度任务如 VL53L0X、VL53L1X 各自的TASK_PERIOD_MS。串口UART测距仪MSP、BENEWAKE、NRA、USD1_V0 等基于 UART 的传感器需要在 Configurator 的Ports端口选项卡中为传感器分配一个 UART 端口配置rangefinder_hardware为对应类型按传感器要求设置正确的波特率参考 docs/Serial.md 中的串口配置说明。光流Optical Flow集成测距仪与光流传感器组合时测距仪提供**垂直方向Z 轴**高度信息光流提供**水平方向X/Y 轴**位移信息两者融合后可在无 GPS 的室内实现位置保持与低速导航。从设置文件可见配套参数inav_w_xy_flow_p位置权重默认 1.0与inav_w_xy_flow_v速度权重默认 2.0控制光流在水平估计中的权重与inav_w_z_surface_p/v在垂直通道配合工作。完整配置流程可参考 docs/Sensors.md 中关于光学流量传感器的章节。约束与限制不支持以下设备HC-SR04 超声波传感器US-100 超声波传感器这两类常见 Arduino 超声波模块不在 INAV 驱动支持列表中。固有限制Surface 模式仅限多旋翼固定翼不支持倾斜角限制当机身倾角超出传感器检测锥时测距数据将被判定无效原理见上文倾斜校正小节量程边界inav_max_surface_altitude应设置为传感器的可靠量程而非标称最大量程避免在边缘精度不足区域融合不可靠数据。故障排除无测距读数核对rangefinder_hardware是否选择了正确的传感器类型检查接线与供电3.3 V 或 5 V视传感器而定确保 I2C 地址唯一无地址冲突确保传感器正对地面且无遮挡、有清晰的视线。读数跳动 / 不稳定开启rangefinder_median_filter ON检查振动——传感器需刚性安装避免松动确认传感器不受螺旋桨下洗气流干扰确保地面纹理足够平滑、强反光地面会导致激光/超声回波异常。Surface 模式不工作确认遥控器开关已激活 SURFACE 模式检查测距仪是否输出有效数据可在 CLI 中查看传感器状态确认当前离地高度低于nav_max_terrain_follow_alt操作上限确认高度处于传感器可靠量程内由inav_max_surface_altitude约束确认机型为多旋翼固定翼不支持 Surface 模式。此外源码中的健康监测逻辑sensors/rangefinder.c定义了一个 500 ms 的硬件超时窗口RANGEFINDER_HARDWARE_TIMEOUT_MS若超过 500 ms 未收到有效响应rangefinderIsHealthy()将判定测距仪不健康可用于排查线缆接触不良、总线故障等间歇性问题。相关源码与文档索引传感器核心实现src/main/sensors/rangefinder.c、src/main/sensors/rangefinder.h驱动层接口与返回值定义src/main/drivers/rangefinder/rangefinder.h各传感器驱动目录src/main/drivers/rangefinder/参数定义与默认值src/main/fc/settings.yaml通用传感器文档docs/Sensors.md参数总览docs/Settings.md赞分享无人机嵌入式智能硬件【免费下载链接】inavINAV: Navigation-enabled flight control software项目地址https://gitcode.com/gh_mirrors/in/inav点击查看免费下载相关推荐INAV Terrain AGL Hold固定翼地形跟随模式的原理、配置与飞行安全指南INAV Terrain AGL Hold固定翼地形跟随模式的原理、配置与飞行安全指南 Terrain AGL Hold 是 INAV 为固定翼提供的 地形跟无人机嵌入式智能硬件PX4-Autopilot 地形跟随与地形保持Terrain Following / Terrain Hold完整配置与实现解析PX4 Autopilot 地形跟随与地形保持Terrain Following / Terrain Hold完整配置与实现解析 本文以 PX4 Autop嵌入式物联网机器人自动驾驶智能硬件INAV 仪表盘显示DASHBOARD完整指南I2C OLED 显示屏配置、页面机制与硬件改造INAV 仪表盘显示DASHBOARD完整指南I2C OLED 显示屏配置、页面机制与硬件改造 INAVNavigation enabled fligh无人机嵌入式智能硬件上一篇企业级工作流引擎FlyFlow快速部署指南SpringBootFlowableVue3全栈配置实战下一篇Revery文件类型关联系统级应用集成技巧创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考