设置家庭和/或 EKF 起源

本页介绍地面站或配套计算机如何使用 MAVLink 获取或设置原点或 EKF 原点。

主场对阵 EKF Origin

载具的 "原点 "位置是载具在下列情况下将返回的位置(以经纬度和海拔高度表示 RTL 模式。对于大多数载具来说,每次上膛时都会将该位置设置为载具的当前位置,但也可以随时移动。当用户希望 RTL 模式将载具返回到与起飞时不同的位置时,移动原点就非常有用。

EKF 原点 "是 EKF(又称 AHRS)用于内部计算的位置。该位置通常在 GPS 提供高质量位置后不久设置为载具位置。一旦设定,EKF 原点就不能移动。用户通常不知道 EKF 原点的位置,除非他们在没有连接 GPS 的载具上使用非 GPS 导航(没有 GPS 时,用户必须使用地面站指定 EKF 原点)。

每当 "原点 "或 EKF "原点 "更新时,载具就会发送一个 主位置全球原产地 消息(分别)在所有活动的 mavlink 信道上。

该家园还将根据 mav_cmd_get_home_position 内发送的 命令长COMMAND_INT 留言

COMMAND_INT 中的 MAV_CMD_DO_SET_HOME

通过发送 COMMAND_INT 命令和参数字段的设置与为 mav_cmd_doo_set_home 指挥。

指令字段 类型 说明
目标系统 uint8_t 系统 ID
目标组件 uint8_t 飞行控制器的组件 ID 或仅为 0
画框 uint8_t mav_frame_global=0
指挥部 uint16_t MAV_CMD_DO_SET_HOME=179
当前 uint8_t 0(未使用)
自动继续 uint8_t 0(未使用)
参数1 浮动 1=使用当前位置,0=使用指定位置
参数2 浮动 未使用
参数3 浮动 未使用
参数4 浮动 未使用
参数5 int32_t 纬度(度)* 10^7 参数6 int32_t 经度(度)* 10^7 参数7 浮动 海拔高度(米

实例

可以将下面的示例命令复制粘贴到 MAVProxy(又名 SITL)中来测试该命令。运行这些命令前,请输入 "模块加载信息"(module load message

MAVProxy/SITL 命令示例

说明

信息 COMMAND_INT 0 0 0 179 0 0 1 0 0 0 0 0 0

将原点设置为载具的当前位置

信息 COMMAND_INT 0 0 0 179 0 0 0 0 0 0 -353630000 1491650000 575

将家设置为指定位置

在 COMMAND_LONG 中的 MAV_CMD_DO_SET_HOME

通过发送 命令长 命令和参数字段的设置与为 mav_cmd_doo_set_home 命令。需要注意的是,这种方法设置原点的精度比上述 COMMAND_INT 方法要低。

指令字段 类型 说明
目标系统 uint8_t 系统 ID
目标组件 uint8_t 飞行控制器的组件 ID 或仅为 0
指挥部 uint16_t MAV_CMD_DO_SET_HOME=179
证实 uint8_t 0
参数1 浮动 1=使用当前位置,0=使用指定位置
参数2 浮动 未使用
参数3 浮动 未使用
参数4 浮动 未使用
参数5 浮动 纬度(度 参数6 浮动 经度(度 参数7 浮动 海拔高度(米

实例

可以将下面的示例命令复制粘贴到 MAVProxy(又名 SITL)中来测试该命令。运行这些命令前,请输入 "模块加载信息"(module load message

MAVProxy/SITL 命令示例

说明

信息 命令长 0 0 179 0 1 0 0 0 0 0 0

将原点设置为载具的当前位置

信息 命令长 0 0 179 0 0 0 0 0 -35.363 149.165 575

将家设置为指定位置

set_gps_global_origin

设置 EKF/AHRS 用于内部计算的位置。该位置通常在 GPS 首次返回良好位置后不久自动设置。如果使用非 GPS 导航,操作员可能需要手动设置。一旦设置,EKF 原点将无法移动。

信息定义如下 这里

指令字段 类型 说明
目标系统 uint8_t 系统 ID
回旋余地 int32_t 纬度 * 1e7
长度 int32_t 经度 * 1e7
高度 int32_t 海拔高度,以毫米为单位(即米 * 1000)
时间 uint64_t 时间戳(UNIX 时间或系统启动后的时间),单位为微秒 (us)

示例

可以将下面的示例命令复制粘贴到 MAVProxy(又名 SITL)中来测试该命令。运行这些命令前,请输入

  • 模块加载消息

  • 参数设置 EK3_SRC1_POSXY 0

  • 参数设置 EK3_SRC1_VELXY 0

  • 参数设置 EK3_SRC1_VELZ 0

MAVProxy/SITL 命令示例

说明

信息 set_gps_global_origin 0 -353621474 1491651746 600000 0

将 EKF 的原点设置为 -35.36,149.16 的纬度和 lon,海拔高度为 600 米