文章目录
前言
1 配置
2 说明
3 消息说明
前言
ArduPilot 支持 MAVLink 高延迟协议(MAVLink High Latency)。该协议专为卫星或 LoRA 等低带宽或高成本链路而设计。
在此协议中,每 5s 只发送一次 HIGH_LATENCY2 MAVLink 信息。对 MAVLink 命令或请求(如命令确认或参数请求)的任何响应也将发送。
MAVLink 高延迟可作为任何遥测端口的选件。典型的使用情况是,一个标准的 MAVLink 遥测端口用于初始配置和系统检查 - 通常是无线电调制解调器或 4G 链路。低带宽调制解调器将连接到第二个遥测端口,用户可激活该端口。
1 配置
确保所需的遥测端口协议设置为 MAVLink 高延迟选项(SERIALn_PROTOCOL = 43)。
在 MAVProxy 中,使用link hl on|off 启用或禁用在高延迟端口上发送遥测数据。
在 QGroundControl 中使用 High Latency选项连接,以启用在高延时端口上发送遥测数据。
在任务规划器中,使用 Actions -> Do Action 启用或禁用高延迟端口上的遥测发送功能。
2 说明
MAVLink 高延迟只会发送有关飞行器位置和状态的非常基本的高级信息。
MAVLink 高延迟对带宽的要求非常低,大多数情况下不到 100 字节/秒。
高延迟链路的启用/禁用可通过任何遥测链路发送,并将启用/禁用飞行器上的所有高延迟链路。
3 消息说明
1. High Latency Protocol
高延时(HL)链路,例如使用铱星网络制造的链路,可提供全球连接,但信息延时很大(> 1 秒),每条信息的成本很高。一般来说,成本和延迟意味着只有在没有更低延迟的替代方案时才会使用高延迟链路,而且只能发送重要信息或命令。
该协议提供了一个类似心跳的信息(HIGH_LATENCY2),用于以较低的速率传输最重要的遥测信息,还提供了一个命令(MAV_CMD_CONTROL_HIGH_LATENCY),用于在需要时(即没有低延迟链路可用时)启用/禁用高延迟链路。
2. HIGH_LATENCY2 ( #235 )
适合铱星等高延迟连接的信息(第 2 版)
Field Name | Type | Units | Values | Description |
---|---|---|---|---|
timestamp | uint32_t | ms | Timestamp (milliseconds since boot or Unix epoch) | |
type | uint8_t | MAV_TYPE | Type of the MAV (quadrotor, helicopter, etc.) | |
autopilot | uint8_t | MAV_AUTOPILOT | Autopilot type / class. Use MAV_AUTOPILOT_INVALID for components that are not flight controllers. | |
custom_mode | uint16_t | A bitfield for use for autopilot-specific flags (2 byte version). | ||
latitude | int32_t | degE7 | Latitude | |
longitude | int32_t | degE7 | Longitude | |
altitude | int16_t | m | Altitude above mean sea level | |
target_altitude | int16_t | m | Altitude setpoint | |
heading | uint8_t | deg/2 | Heading | |
target_heading | uint8_t | deg/2 | Heading setpoint | |
target_distance | uint16_t | dam | Distance to target waypoint or position | |
throttle | uint8_t | % | Throttle | |
airspeed | uint8_t | m/s*5 | Airspeed | |
airspeed_sp | uint8_t | m/s*5 | Airspeed setpoint | |
groundspeed | uint8_t | m/s*5 | Groundspeed | |
windspeed | uint8_t | m/s*5 | Windspeed | |
wind_heading | uint8_t | deg/2 | Wind heading | |
eph | uint8_t | dm | Maximum error horizontal position since last message | |
epv | uint8_t | dm | Maximum error vertical position since last message | |
temperature_air | int8_t | degC | Air temperature from airspeed sensor | |
climb_rate | int8_t | dm/s | Maximum climb rate magnitude since last message | |
battery | int8_t | % | Battery level (-1 if field not provided). | |
wp_num | uint16_t | Current waypoint number | ||
failure_flags | uint16_t | HL_FAILURE_FLAG | Bitmap of failure flags. | |
custom0 | int8_t | Field for custom payload. | ||
custom1 | int8_t | Field for custom payload. | ||
custom2 | int8_t | Field for custom payload. |