引导模式下的UGV无人车指令¶
本页介绍地面站或配套计算机如何使用 MAVLink 控制漫游车或艇在以下情况下的运动 引导模式.
移动指令¶
在制导模式下,这些命令可用于控制飞行器的位置、速度或姿态
设置目标姿态 (在制导和制导_NoGPS 模式下均可使用)
移动指令详情¶
本节详细介绍了 MAVLink 移动飞行器的命令
设置目标位置¶
设置飞行器的目标位置(与 EKF 原点的 NED 偏移)、速度、航向或转弯率。信息定义如下 这里
指令字段 | 说明 |
---|---|
启动时间 | 发件人的系统时间(以毫秒为单位,从启动开始计时 |
目标系统 | 载具的系统 ID |
目标组件 | 飞行控制器的组件 ID 或仅为 0 |
坐标框架 | 有效选项如下 |
类型掩码 | 位掩码,用于指示哪些字段应 被忽视 (请参阅 POSITION_TARGET_TYPEMASK 枚举)。 bit1:PosX, bit2:PosY, bit3:PosZ, bit4:VelX, bit5:VelY, bit6:VelZ, bit7:AccX, bit8:AccY, bit9:AccZ, bit11:yaw, bit12:yaw rate 提供位置或速度时,必须同时提供 X 轴和 Y 轴。必须提供位置、速度、偏航或偏航率中的至少一项。如果提供位置,则忽略速度、偏航和偏航率。不支持加速度。
|
x | 以米为单位的 X 位置(正向表示正前方或正北方) |
y | 以米为单位的 Y 位置(正数表示右侧或东侧) |
z | 以米为单位的 Z 位置(正值表示向下) |
vx | X 速度,单位 m/s(正值表示向前或向北) |
vy | Y 向速度,单位 m/s(正值表示向右或向东) |
vz | Z 速度(米/秒)(正值表示向下 |
afx | X 加速度,单位 m/s/s(正值表示向前或向北) |
安提 | Y 加速度,单位 m/s/s(正值表示右侧或东侧) |
afz | Z 加速度,单位 m/s/s(正值表示向下) |
打呵欠 | 偏航或航向,单位为弧度(0 表示向前或向北)。 |
偏航率 | 偏航率(单位:拉德/秒 |
"这款" 坐标框架
字段的值如下
框架 |
说明 |
---|---|
|
位置相对于 NED 框架中载具的 EKF 原点 即 x=1,y=2,z=3 分别是原点向北 1 米、向东 2 米和向下 3 米的位置 "这款" EKF 起源 是载具首次获得良好位置估计值时的位置 速度在 NED 框架内 |
|
位置是相对于载具当前位置而言的 例如,x=1,y=2,z=3 表示当前位置向北 1 米、向东 2 米、向下 3 米。 速度在 NED 框架内 |
|
位置相对于 NED 框架中的 EKF 原点 即 x=1,y=2,z=3 分别是原点向北 1 米、向东 2 米和向下 3 米的位置 速度是相对于载具当前航向而言的。用它来指定前进或后退的速度(如果使用负值)。 |
|
位置是相对于载具当前位置和航向而言的 例如,x=1,y=2,z=3 表示从当前位置向前移动 1 米,向右移动 2 米,向下移动 3 米。 速度是相对于载具当前航向而言的。用它来指定前进或后退的速度(如果使用负值)。 |
提示
在镜框中、 _OFFSET_
是指 "相对于载具位置",而 本地
是 "相对于原点位置"(这些对 速度 方向)。 _BODY_
意味着速度分量是相对于飞行器的航向而不是 NED 框架的。
备注
如果发送速度指令,则应每秒重新发送一次(如果没有收到指令,载具将在 3 秒后停止)。
实例
下面是一些可以复制粘贴到 MAVProxy(又名 SITL)中的示例命令,用于测试该命令。在运行这些命令之前,请输入
模块加载消息
指导
臂式节流阀
MAVProxy/SITL 命令示例 |
说明 |
---|---|
|
移至 EKF 原点以北 100 米处 |
|
从当前位置向北移动 10 米 |
|
从当前位置向前移动 10 米 |
|
以 1 米/秒的速度向北移动 |
|
以 1 米/秒的速度前进 |
|
转向东北(偏航目标 + 速度为零)。 |
|
向右转 45 度(偏航目标 + 速度为零)。 |
|
以 10deg/sec 的速度顺时针旋转(速度为零)。 |
set_position_target_global_int¶
设置飞行器的目标位置(WGS84 坐标)、速度、航向或转弯率。这与 SET_POSITION_TARGET_LOCAL_NED 报文(见上文)类似,只是位置以经纬度值提供。
信息定义如下 这里
命令参数
指令字段 | 说明 |
---|---|
启动时间 | 发件人的系统时间(以毫秒为单位,从启动开始计时 |
目标系统 | 载具的系统 ID |
目标组件 | 飞行控制器的组件 ID 或仅为 0 |
坐标框架 | 有效选项如下,但处理方式相同:
|
类型掩码 | 位掩码,用于指示哪些字段应 被忽视 (请参阅 POSITION_TARGET_TYPEMASK 枚举)。 bit1:PosX, bit2:PosY, bit3:PosZ, bit4:VelX, bit5:VelY, bit6:VelZ, bit7:AccX, bit8:AccY, bit9:AccZ, bit11:yaw, bit12:yaw rate 提供位置或速度时,必须同时提供 X 轴和 Y 轴。必须提供位置、速度、偏航或偏航率中的至少一项。如果提供位置,则忽略速度、偏航和偏航率。不支持加速度。
|
lat_int | 纬度 * 1e7 |
lon_int | 经度 * 1e7 |
选一 | 海拔高度,单位为米、原点或地形(见坐标框字段) |
vx | X 速度,单位 m/s(正值为北) |
vy | Y 向速度,单位 m/s(正值代表东方) |
vz | Z 速度(米/秒)(正值表示向下 |
afx | X 加速度,单位 m/s/s(正向为北) |
安提 | Y 加速度,单位 m/s/s(正值为东) |
afz | Z 加速度,单位 m/s/s(正值表示向下) |
打呵欠 | 偏航或航向,单位为弧度(0 表示向前) |
偏航率 | 偏航率(单位:拉德/秒 |
备注
如果发送速度指令,则应每秒重新发送一次(如果没有收到指令,载具将在 3 秒后停止)。
实例
下面是一些可以复制粘贴到 MAVProxy(又名 SITL)中的示例命令,用于测试该命令。在运行这些命令之前,请输入
模块加载消息
指导
臂式节流阀
MAVProxy/SITL 命令示例 |
说明 |
---|---|
|
移至 -35.36,149.16 的纬度和经度 |
|
以 1 米/秒的速度向北移动 |
|
转向东北(偏航目标 + 速度为零)。 |
|
以 10deg/sec 的速度顺时针旋转(速度为零)。 |
设置目标姿态¶
设置载具的目标航向和速度。信息定义如下 这里
命令参数
指令字段 | 类型 | 说明 |
---|---|---|
启动时间 | uint32_t | 发件人的系统时间(以毫秒为单位,从启动开始计时 |
目标系统 | uint8_t | 载具的系统 ID |
目标组件 | int8_t | 飞行控制器的组件 ID 或仅为 0 |
类型掩码 | int8_t | 位掩码,用于指示哪些字段应 被忽视 由载具 bit1:车身滚动率,bit2:车身俯仰率,bit3:车身偏航率,bit7:节流阀/电门,bit8:姿态
|
q | 浮点[4] |
姿态四元数(w、x、y、z 次序,零旋转为 {1, 0, 0, 0})
注意,零旋转会使载具指向北方。 |
身体滚动速度 | 浮动 | 不支持车身滚动率 |
身高 | 浮动 | 不支持车身俯仰率 |
偏航率 | 浮动 | 车身偏航率(弧度 |
主要内容 | 浮动 | 0=节流 0%,+1=以 WP_SPEED 前进,-1=以 WP_SPEED 后退 |
实例
下面是一些可以复制粘贴到 MAVProxy(又名 SITL)中的示例命令,用于测试该命令。在运行这些命令之前,请输入
指导
臂式节流阀
MAVProxy/SITL 命令示例 |
说明 |
---|---|
|
面向北方,在 WP_SPEED 上前进 |
|
面向北,以 WP_SPEED 速度反向移动 |
|
面向东北方向,以 1/2 WP_SPEED 的速度前进 |