离机模式
飞行器服从通过 MAVLink 提供的位置、速度或姿态设定点。设定点可由 MAVLink API 提供(如 MAVSDK 或 马弗罗斯)在配套电脑上运行(通常通过串行电缆或无线网络连接)。
- 这种模式需要位置或姿态/姿态信息,如 GPS、光流、视觉惯性里程测量、mocap 等。
- 除更改模式外,RC 控制被禁用。
- 在启用该模式之前,必须先上膛载具。
- 在启用该模式之前,载具必须已经接收到目标设定点流。
- 如果没有以 > 2Hz 的速率接收到目标设定点,载具将退出模式。
说明
机外模式主要用于控制飞行器的运动和姿态,只支持非常有限的一组 MAVLink 信息(将来可能会支持更多信息)。
其他操作,如起飞、着陆、返回发射,最好使用相应的模式。上传、下载任务等操作可以在任何模式下进行。
在进入该模式之前,载具必须接收到设定点命令流,才能保持在该模式下(如果信息速率低于 2 赫兹,载具将停止运行)。为了在该模式下保持位置,载具必须接收当前位置的设定点数据流。
离机模式要求与远程 MAVLink 系统(如配套计算机或 GCS)保持有效连接。如果连接断开,在超时 (COM_OF_LOSS_T则飞行器将尝试着陆或执行其他故障安全操作。该操作在参数 COM_OBL_ACT 和 COM_OBL_RC_ACT.
支持的信息
直升机/VTOL
-
- 支持以下输入组合
- 位置设定点(仅
x
,y
,z
) - 速度设定点(仅
vx
,yy
,vz
) - 推力 设定点(仅
afx
,安提
,afz
)加速度设定点值被映射为标准化推力设定点(即不支持加速度设定点)。
- 位置设定点 和 速度设定点(速度设定点用作前馈;它与位置控制器的输出相加,结果用作速度控制器的输入)。
- 位置设定点(仅
- PX4 支持坐标框架 (
坐标框架
字段): mav_frame_local_ned 和 mav_frame_body_ned.
- 支持以下输入组合
set_position_target_global_int
- 支持以下输入组合
- 位置设定点(仅
lat_int
,lon_int
,选一
) - 速度设定点(仅
vx
,yy
,vz
) - 推力 设定点(仅
afx
,安提
,afz
)加速度设定点值被映射为标准化推力设定点(即不支持加速度设定点)。
- 位置设定点 和 速度设定点(速度设定点用作前馈;它与位置控制器的输出相加,结果用作速度控制器的输入)。
- 位置设定点(仅
- PX4 支持坐标框架 (
坐标框架
字段): mav_frame_global.
- 支持以下输入组合
-
- 支持以下输入组合
- 态度/方向 (
SET_ATTITUDE_TARGET.q
)与推力设定点 (SET_ATTITUDE_TARGET.thrust
). - 身体速率 (
设置目标姿态
.body_roll_rate
,.body_pitch_rate
,.body_yaw_rate
)与推力设定点 (SET_ATTITUDE_TARGET.thrust
).
- 态度/方向 (
- 支持以下输入组合
固定翼
-
支持以下输入组合(通过
类型掩码
):位置设定点(仅
x
,y
,z
)指定 类型 中设定点的
类型掩码
(如果未设置这些位,飞行器将以花朵状模式飞行):设定点类型 下面的值不属于 MAVLink 标准的一部分。
类型掩码
field.这些值是
- 4096:起飞设定点
- 8192:陆地设定点。
- 12288: 负载设定点(以设定点为中心飞一圈)。
- 16384:空转设定点(零节流、零滚转/俯仰)。
- PX4 支持坐标框架 (
坐标框架
字段): mav_frame_local_ned 和 mav_frame_body_ned.
set_position_target_global_int
支持以下输入组合(通过
类型掩码
):位置设定点(仅
lat_int
,lon_int
,选一
)指定 类型 中设定点的
类型掩码
(如果未设置这些位,飞行器将以花朵状模式飞行):设定点类型 下面的值不属于 MAVLink 标准的一部分。
类型掩码
field.这些值是
- 4096:起飞设定点
- 8192:陆地设定点。
- 12288: 负载设定点(以设定点为中心飞一圈)。
- 16384:空转设定点(零节流、零滚转/俯仰)。
- PX4 支持坐标框架 (
坐标框架
字段): mav_frame_global.
-
- 支持以下输入组合
- 态度/方向 (
SET_ATTITUDE_TARGET.q
)与推力设定点 (SET_ATTITUDE_TARGET.thrust
). - 身体速率 (
设置目标姿态
.body_roll_rate
,.body_pitch_rate
,.body_yaw_rate
)与推力设定点 (SET_ATTITUDE_TARGET.thrust
).
- 态度/方向 (
- 支持以下输入组合
UGV无人车
-
支持以下输入组合(以
类型掩码
):位置设定点(仅
x
,y
,z
)指定 类型 中设定点的
类型掩码
:设定点类型 下面的值不属于 MAVLink 标准的一部分。
类型掩码
field.这些值是
- 12288: 装载设定点(载具在接近设定点时停止)。
- 速度设定点(仅
vx
,yy
,vz
)
- PX4 支持坐标框架 (
坐标框架
字段): mav_frame_local_ned 和 mav_frame_body_ned.
set_position_target_global_int
- 支持以下输入组合(以
类型掩码
):- 位置设定点(仅
lat_int
,lon_int
,选一
)
- 位置设定点(仅
- 指定 类型 中设定点的
类型掩码
(不属于 MAVLink 标准)。这些值是- 未设置以下位,则行为正常。
- 12288: 装载设定点(载具在接近设定点时停止)。
- PX4 支持坐标框架 (
坐标框架
字段): mav_frame_global.
- 支持以下输入组合(以
-
- 支持以下输入组合
- 态度/方向 (
SET_ATTITUDE_TARGET.q
)与推力设定点 (SET_ATTITUDE_TARGET.thrust
).实际使用/提取的只有偏航设置。
- 态度/方向 (
- 支持以下输入组合
机外参数
机外模式 受以下参数影响:
参数 | 说明 |
---|---|
COM_OF_LOSS_T | 当板载连接丢失时,在触发板载丢失故障安全("板载连接丢失")前等待的超时(秒) (COM_OBL_ACT 和 COM_OBL_RC_ACT ) |
COM_OBL_ACT | 在下列情况下失去机外控制时切换到的模式 不 连接到 RC(数值为 - 0: 土地, 1: 保持, 2: 返回 ). |
COM_OBL_RC_ACT | 当仍与 RC 控制连接时,如果机外控制丢失,则切换到的模式(值为 - 0.0.0): 定位(POSITION), 1: 海拔高度, 2: 手册, 3: 返回 , 4: 土地). |
com_rc_override | 如果启用了离机模式,操纵杆的移动会立即将控制权交还给驾驶仪(切换到 位置模式). |
开发人员资源
通常情况下,开发人员不会直接在 MAVLink 层工作,而是使用机器人应用程序接口,如 MAVSDK 或 ROS (提供开发人员友好的应用程序接口,并负责管理和维护连接、发送信息和监控响应--这些都是与 机外模式 和 MAVLink)。
以下资源可能对开发人员有用:
- 从 Linux 进行机外控制 (PX4 开发指南)
- MAVROS 机外控制示例 (PX4 开发指南)