关于INAV地面站的OSD HUD和ESP32雷达
一、OSD HUD功能
HUD 是 INAV OSD 的一个功能,它会以“3D”形式在屏幕上显示各类兴趣点(POI)的指示标记,让飞行员能够直观地看到相关位置的方向。目前支持显示的内容包括:
- Home 点(返航点)
- 附近的飞行器(通过 ESP32 LoRa 模块传输的其他飞机信息)
- 任务中的下一个航点(执行自动航线飞行时)
HUD 配置流程
1.启用 Crosshair
前往 INAV Configurator → OSD → 启用十字准线
2. 启用 HUD 内容(CLI 命令)
可在 CLI 中设置,推荐参数如下:
set osd_crosshairs_style = DEFAULT # 十字准星样式(默认样式)
set osd_horizon_offset = 0 # 水平线偏移量
set osd_camera_uptilt = 0 # FPV 摄像头抬头角度(多旋翼常用 +5 ~ +30 度,固定翼常为负)
set osd_camera_fov_h = 135 # 摄像头水平视角(可根据镜头实际焦距微调)
set osd_camera_fov_v = 85 # 摄像头垂直视角
set osd_hud_margin_h = 3 # HUD 左右边距
set osd_hud_margin_v = 3 # HUD 上下边距
HUD 可视项目配置(CLI)
项目 | 描述 | CLI 参数示例 |
---|---|---|
Homing Arrows | 启用围绕准星的小箭头指示返航方向 | set osd_hud_homing = ON |
Home Point | 启用 3D 显示返航点 “H” | set osd_hud_homepoint = ON |
Radar Aircrafts | 显示附近飞行器(A/B/C/D)数量上限(最多 4 个) | set osd_hud_radar_disp = 3 |
Radar Range Min | 雷达显示的最近距离(米) | set osd_hud_radar_range_min = 10 |
Radar Range Max | 雷达显示的最远距离(米) | set osd_hud_radar_range_max = 4000 |
Waypoints | 显示下一个航点数量(0~3) | set osd_hud_wp_disp = 2 |
HUD 视角关键参数解释
- osd_camera_uptilt:摄像头仰角设定(正值朝上,负值朝下)
- osd_camera_fov_h / v:摄像头水平/垂直视野角度,视镜头焦距适当增加 5~10°
- osd_hud_margin_h / v:HUD 内容距 OSD 边缘的安全距离,避免重叠
- osd_crosshairs_style:十字准星样式(7 种可选)
- osd_horizon_offset:整个水平线 + AHI + 滚动条的垂直偏移
示例应用场景
- 固定翼任务飞行:通过 HUD 实时可视返航点 / 航点位置
- 多机编队:配合 ESP32 LoRa 模块显示周边飞行器位置
- 高仰角摄像头配置:设置正确的仰角与视角可确保 HUD 准确对齐
二、雷达说明
2.1 Craft Radar 雷达布局说明
Craft Radar 的布局在 模拟图传(Analog) 与 数字图传(Digital) 中是相同的。但需注意:
- 数字图传版本 支持彩色显示,但必须使用完全支持 INAV 字体集的视频系统。
- 例如 DJI 系统目前不支持完整字体集,因此无法完整显示所有 OSD 元素。
精度与局限性
Craft Radar 虽然非常有用,但它并非完全精准,主要存在以下误差来源:
来源 | 描述 |
---|---|
飞机航向误差 | 飞机激烈转向时,航向会出现偏差。飞行越稳定,航向越准确。 |
POI 位置依赖姿态与航向 | HUD 追踪点的位置受飞机当前姿态与航向影响,偏差几度就可能导致显示偏移。 |
未考虑滚转角 | 当前追踪逻辑未考虑飞机横滚角,以保持速度和简化计算,所以在大侧倾时追踪会不准确。 |
OSD 显示为字符网格 | 由于 OSD 是基于字符网格显示(非像素显示),雷达元素受字符对齐限制,不能精确定位。 |
模拟图传中心偏移 | 因为 OSD 网格是偶数列/行,Crosshair 在模拟图传中无法严格居中。 |
位置更新频率 | ESP32 模块更新频率为 2Hz(FormationFlight 模式下为 10Hz),高速飞行时会因相对运动产生延迟。 |
建议
- 建议配合 FormationFlight 模块 使用雷达,可大幅提升位置更新频率。
- 稳定飞行 能有效提高雷达精度,尤其是 POI 标记与目标朝向的精度。
- 高侧倾飞行时 HUD 精度将下降,不建议在激烈横滚时依赖其定位功能。
- 若使用 DJI OSD,请注意部分雷达元素无法正确显示。
2.2 ESP32 LoRa 模块
INAV Radar 是基于 ESP32 LoRa 模块 实现的远距离“机体雷达”系统,它可以:
- 实时显示附近最多 4 架飞机的位置
- 在 HUD(3D抬头显示)上以符号 A/B/C/D 标示其他飞机
- 配合 INAV 飞控与 OSD 显示系统,形成空中“交通感知”
1. 硬件连接方式(不能用软串口 SoftSerial!)
将 ESP32 模块接入飞控的 空闲 UART 硬件串口,接线如下:
ESP32 引脚 | 飞控引脚 |
---|---|
TX | UART_RX |
RX | UART_TX |
5V | 5V |
GND | GND |
📌注意事项:
- 不能使用软串口(SoftSerial),因为速度不够,数据延迟大
- 建议使用 UART2 或更高编号的硬件串口
2. INAV Configurator 设置
📍 Ports 标签页中:
- 找到你接入 ESP32 的 UART 端口
- 启用 MSP(Multiwii Serial Protocol)
- 波特率设为 115200
- 不用设置其他协议(如GPS/SBUS)
3.CMS 菜单中启用显示
进入 OSD 菜单 → HUD 设置项:
OSD > HUD > Displayed items
Radar max aircraft = 4
这将允许 OSD 在屏幕上显示最多 4 架遥测飞机。
4. 启动验证
当你飞控上电启动时:
- 如果连接无误
- ESP32 会在其串口终端输出检测到的飞控版本号(例如 INAV 7.1)
显示效果
在 OSD HUD 上,你会看到:
- 代表其他飞机的图标 A/B/C/D
- 它们的相对方向(通过罗盘计算)
- (推荐)结合方向箭头与钟点方向指示器,更直观掌握对方飞行轨迹
2.3 FormationFlight 项目简介
FormationFlight 是一个独立于 INAV ESP32 Radar 项目的另一个编队通讯方案:
对比点 | INAV ESP32 Radar | FormationFlight |
---|---|---|
通讯协议 | ESP32 + LoRa | ELRS 硬件(更小更轻) |
支持 INAV OSD 显示 | ✅ | ✅ |
使用频率 | 2Hz(雷达) | 可达 10Hz(更实时) |
成本与体积 | 略高 | 更低、更轻巧 |
通信功能 | 多机位标记 | 多机位 + 更强实时性 |
支持工具 | INAV Configurator | 独立 FormationFlight Discord 社区支持 |
⚠️ 两者不是互斥的,INAV 同时支持两种方案,由用户自行选择。
2.3.1 OSD 显示内容解析
无论使用哪种雷达方式(ESP32/FormationFlight),HUD 中的信息如下:
1. Home 图标(家/字母 H)
- 表示记录的返航点
- 会根据系统单位显示:米/公里 或 英尺/英里
- 需要飞控 解锁后 才会显示
2. POI 图标(字母 A、B、C……)
表示附近其他飞机或地面节点
显示内容:
- 字母:A/B/C/D(最多 4 个)
- 距离:单位同上
- 信号质量: 4格 = 100% 、3格 = 75% 、2格 = 50% 、1格 = 25% 、X = 丢包严重
- 相对航向箭头: 向上 = 同方向飞行 向下 = 反向飞行 左/右 = 横向飞行
3. 航点图标(数字 1、2、3…)
- 表示当前任务的航线点(Waypoint)
- 图标显示为:编号 + 任务图标
2.3.2 故障排查指引
ESP32 显示 “NoFC”
说明无法识别到飞控,检查以下内容:
- 确认接线(共4根): 5V GND TX(连飞控 RX) RX(连飞控 TX)
- 对应 UART 串口端口设置正确 启用 MSP 波特率设为 115200
显示前置条件
显示项目 | 需要 GPS 吗? | 需要解锁吗? | 有磁力计才实时? |
---|---|---|---|
H 返航点 | ✅ | ✅ | 否 |
A/B/C 敌机雷达 | ✅ | 否 | 否(飞行中 GPS 可算航向) |
Waypoint 航点 | ✅ | 否 | 否 |
📝 注: 无磁力计时(如飞翼)只在飞机飞行中 HUD 才能判断方位角,静止时不会出现 3D 标记。
字符图标缺失?
若发现 HUD 或 OSD 中部分字符缺失或显示为乱码:
- 进入 INAV Configurator → OSD 页面
- 点击右上角 Upload Font
- 上传支持 HUD 的最新字体文件(推荐使用 INAV 官方字体)
————本文引用至INAV官网; https://github.com/iNavFlight/inav/wiki/OSD-Hud-and-ESP32-radars