设置家庭和/或 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_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 命令示例 |
说明 |
---|---|
|
将原点设置为载具的当前位置 |
|
将家设置为指定位置 |
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 命令示例 |
说明 |
---|---|
|
将 EKF 的原点设置为 -35.36,149.16 的纬度和 lon,海拔高度为 600 米 |