MSP OSD

ArduPilot 支持 MSP OSD 协议,可在大疆护目镜上显示飞行数据,就像使用外部 MAVLink OSD 或许多(飞行)控制器的内部集成模拟 OSD 一样。它还可与外部 OSD(如 MWOSD)一起使用,如果其配置为 MSP 遥测,则与 iNav 或 Betaflight 一起使用。

大疆 V1 FPV 护目镜

../_images/msp_dji_fpv_goggles.jpeg

大疆护目镜 RE

../_images/msp_dji_goggles_re.jpeg

特点

  • ArduPilot 目前支持许多 OSD 面板项目,但并非全部,如下节所述。

  • 目前不支持更改公制和英制以外的显示单位。

  • 不支持多屏幕和这些屏幕的远程切换。

  • 目前不支持 RSSI、电压等警告级别

配置

要启用 MSP OSD,请设置以下参数(以下示例使用 SERIAL 端口 2 作为端口,通过 TX 和 RX 线连接到 DJI Air 设备):

  • OSD_TYPE = 3(仅在获取统计信息面板时需要)。如果(飞行)控制器集成了模拟 OSD,则可将其设置为 1,以便在大疆护目镜的 MSP OSD 功能之外使用该功能。

  • serial2_protocol = 33

  • MSP_OPTIONS = 0(轮询模式)

备注

必须启用 DJI OSD:在目镜的 SETTINGS->DISPLAY->CUSTOM OSD 菜单中

OSD 面板项目

OSD 参数

说明

OSDn_ALTITUDE

家庭相对高度

OSDn_ARMING

上膛状态,上膛时隐藏,否则显示撤膛

OSDn_ASPEED

有关启用空速显示的更多信息,请参阅 OSDn_GSPEED。

OSDn_BAT_VOLT

第一电池电压

OSDn_BATTBAR

根据申报容量和消耗的毫安时,以条形显示第一块电池的剩余百分比

OSDn_BATUSED

第一块电池消耗的毫安时

OSDn_CELLVOLT

第一块电池的平均电池电压,如果自动电池检测失败,请使用 MSP_OSD_NCELLS 进行覆盖

OSDn_CLK

实时时钟(需要 GPX 修正)

OSDn_CRSSHAIR

不支持人工水平线,因此十字准线经常被隐藏起来

OSDn_CURRENT

第一节电池电流

OSDn_ESCTEMP

在 DJI V1/V2 护目镜上,这将报告最高的电调温度

OSDn_FLTMODE

DJI 硬件不支持 ArduPilot 的飞行模式!此项目通常为空白,只有在故障安全模式下才显示 !FS!!

OSDn_GPSLAT

十进制格式的 GPS 纬度

OSDn_GPSLONG

十进制格式的 GPS 经度

OSDn_GSPEED

此项目显示地面速度,除非 OSDn_ASPEED_EN = 1 时,如果有空速传感器,则显示真实空速,否则显示估计空速。屏幕上的位置由 OSDn_GSPEED_XOSDn_GSPEED_Y 无论 OSDn_ASPEED_EN

OSDn_HEADING

不支持 DJI V1/V2 护目镜

OSDn_HOMEDIR

指向原点的旋转箭头

OSDn_HOMEDIST

离家距离

OSDn_HORIZON

不支持 DJI V1/V2 护目镜

OSDn_MESSAGE

这将以滚动文本的形式显示状态文本信息。几秒钟后,状态文本信息将被隐藏,面板将显示当前的飞行模式。如果 OSDn_WIND_EN 设置为 1 时,该项还会在当前飞行模式旁边以旋转箭头和速度显示风力信息。

OSDn_PITCH

俯仰角

OSDn_POWER

瞬时功率以电压 * 电流计算

OSDn_ROLL

滚动角

OSDn_RSSI

中配置的 Rssi RSSI_TYPE:RSSI 类型

OSDn_SATS

在大疆 V1/V2 护目镜上,如果没有修复,就会报告有 14 个卫星,这是一个已知的大疆错误。

OSDn_SIDEBARS

不支持 DJI V1/V2 护目镜

OSDn_VSPEED

垂直速度

OSDn_WIND

风速和风向渲染请参阅 OSDn_MESSAGE。

OSD 面板项目配置

每个 OSD 面板项目使用一组三个变量进行设置:

  • OSDn_<ITEM>_EN - 设置为 1 时,激活屏幕 "n "上的相应面板项目。

  • OSDn_<ITEM>_XOSDn_<ITEM>_Y 设置项目的水平和垂直位置,从 X = 0Y = 0 屏幕左上角。

备注

ArduPilot 会计算一个无传感器空速估计值,在没有传感器或传感器失效的情况下使用。ARSPD_TYPE 必须设置为零,以便在没有传感器的情况下将此值显示为空速项。

使用 SITL 测试 OSD

可以在没有(飞行)控制器或视频硬件的情况下使用 环路软件(SITL)模拟器 设置。按照 SITL 说明设置模拟环境。使用 --osdmsp 选项将 OSD 代码内置到模拟器中。例如,模拟飞机:

模拟载具.py -v ArduPlane --游戏机 --osdmsp

使用位于 libraries/AP_MSP/Tools/osdtest.parm 中的一组典型 OSD 面板参数,将在单独窗口中与其他模拟窗口一起打开 DJI 风格的 MSP OSD 图形模拟。然后就可以使用 MSP OSD 仿真程序,通过参数对 OSD 元素进行自定义,使 OSD 可视化。

备注

您也可以使用这些参数对 MSP OSD 配置进行初始设置,以便与护目镜一起使用,但可能需要更改 SERIALx_PROTOCOL 参数,以匹配实际使用的串行端口。

备注

仿真不支持多屏幕或公制以外的单位

../_images/msp_osd_python.png

通过更改 OSD 面板项目的参数,可以在该模拟器中看到其位置的实时更新。

使用Mission Planner地面站配置布局

Mission Planner地面站(MP)的 "配置"(CONFIG)菜单中有一个选项卡,用于配置许多(飞行)控制器集成的机载 OSD。同样的配置选项卡也可用于配置 OSD 面板。事实上,当 SITL 程序和 MSP OSD 仿真窗口处于活动状态时,您可以使用 MAVProxy 中的该命令将运行在同一台计算机或联网计算机上的 Mission Planner 连接到 MAVProxy:

产量 增加 <;ip 地址   跑步 使命 规划师>;:14550

备注

如果 MP 在同一台电脑上运行,IP 地址应为 127.0.0.1(本地主机地址)

视频