离线模式
车辆遵守通过MAVLink提供的位置,速度或姿态设定值。设定点可以由在伴侣计算机上运行的MAVLink API(例如MAVSDK或MAVROS)提供(通常通过串行电缆或wifi连接)。
- 此模式需要位置或姿势/姿态信息-例如GPS,光流,视觉惯性里程表,移动捕捉等。
- 除更改模式外,RC控制均被禁用。
- 在启用该模式之前,必须对车辆进行布防。
- 在启用此模式之前,车辆必须已经在接收目标设定值。
- 如果未以 > 2Hz的速率接收到目标设定值,则车辆将退出模式。
描述
车外模式主要用于控制车辆的移动和姿态,并且仅支持非常有限的MAVLink消息集(将来可能会支持更多)。
其他操作,例如起飞,着陆,返回发射,最好使用适当的模式进行处理。上载,下载任务等操作可以在任何模式下执行。
在进入该模式之前,车辆必须接收一系列设定值命令,然后才能保持该模式(如果消息速率降至2Hz以下,车辆将停止)。为了在此模式下保持位置,车辆必须接收当前位置的设定值流。
离线模式需要主动连接到远程MAVLink系统(例如,配套计算机或GCS)。如果连接断开,则在超时(COM_OF_LOSS_T)后,车辆将尝试着陆或执行其他一些故障保护措施。该动作在参数COM_OBL_ACT和COM_OBL_RC_ACT中定义。
支持的讯息
直升机/垂直起降
-
- 支持以下输入组合:
- 位置给定值(仅适用于
x
,y
,z
) - 速度设定值(仅适用于
vx
,yy
,vz
) - 推力
设定点(只
afx
,afy
,afz
)映射加速度设定值以创建归一化的推力设定值(即不“正确”支持加速度设定值)。
- 位置设定值 和 速度设定值(速度设定值用作前馈;将其添加到位置控制器的输出中,结果用作速度控制器的输入)。
- 位置给定值(仅适用于
- PX4支持以下坐标系(
coordinate_frame
字段): MAV_FRAME_LOCAL_NED 和 MAV_FRAME_BODY_NED 。
- 支持以下输入组合:
SET_POSITION_TARGET_GLOBAL_INT
- 支持以下输入组合:
- 位置给定值(仅适用于
lat_int
,lon_int
,alt
) - 速度设定值(仅适用于
vx
,yy
,vz
) - 推力
设定点(只
afx
,afy
,afz
)映射加速度设定值以创建归一化的推力设定值(即不“正确”支持加速度设定值)。
- 位置设定值 和 速度设定值(速度设定值用作前馈;将其添加到位置控制器的输出中,结果用作速度控制器的输入)。
- 位置给定值(仅适用于
- PX4支持坐标系(
coordinate_frame
字段): MAV_FRAME_GLOBAL 。
- 支持以下输入组合:
-
- 支持以下输入组合:
SET_ATTITUDE_TARGET.q
带有推力设定点(SET_ATTITUDE_TARGET.thrust
)的 姿态/方向 ( )。- 车身率(
SET_ATTITUDE_TARGET
.body_roll_rate
,.body_pitch_rate
,.body_yaw_rate
)与推力设定点(SET_ATTITUDE_TARGET.thrust
)。
- 支持以下输入组合:
固定翼
-
支持以下输入组合(通过
type_mask
):位置给定值(仅适用于
x
,y
,z
)在中指定设定值的类型
type_mask
(如果未设置这些位,则车辆将以花朵状飞行):下面的设定值类型值不是该
type_mask
字段的MAVLink标准的一部分。值是:
- 4096:起飞设定点。
- 8192:土地设定值。
- 12288:游标设定值(以设定值为中心绕圈旋转)。
- 16384:怠速设定值(零油门,零侧倾/俯仰)。
PX4支持以下坐标系(
coordinate_frame
字段): MAV_FRAME_LOCAL_NED 和 MAV_FRAME_BODY_NED 。
SET_POSITION_TARGET_GLOBAL_INT
支持以下输入组合(通过
type_mask
):位置给定值(仅适用于
lat_int
,lon_int
,alt
)在中指定设定值的类型
type_mask
(如果未设置这些位,则车辆将以花朵状飞行):下面的设定值类型值不是该
type_mask
字段的MAVLink标准的一部分。值是:
- 4096:起飞设定点。
- 8192:土地设定值。
- 12288:游标设定值(以设定值为中心绕圈旋转)。
- 16384:怠速设定值(零油门,零侧倾/俯仰)。
PX4支持坐标系(
coordinate_frame
字段): MAV_FRAME_GLOBAL 。
-
- 支持以下输入组合:
SET_ATTITUDE_TARGET.q
带有推力设定点(SET_ATTITUDE_TARGET.thrust
)的 姿态/方向 ( )。- 车身率(
SET_ATTITUDE_TARGET
.body_roll_rate
,.body_pitch_rate
,.body_yaw_rate
)与推力设定点(SET_ATTITUDE_TARGET.thrust
)。
- 支持以下输入组合:
流浪者
-
支持(在中
type_mask
)以下输入组合:位置给定值(仅适用于
x
,y
,z
)在中指定设定值的类型
type_mask
:下面的设定值类型值不是该
type_mask
字段的MAVLink标准的一部分。值是:
- 12288:游标设定值(车辆停在足够接近设定值的位置时停止)。
速度设定值(仅适用于
vx
,yy
,vz
)
PX4支持以下坐标系(
coordinate_frame
字段): MAV_FRAME_LOCAL_NED 和 MAV_FRAME_BODY_NED 。
SET_POSITION_TARGET_GLOBAL_INT
- 支持(在中
type_mask
) 以下输入组合 :- 位置给定值(仅适用于
lat_int
,lon_int
,alt
)
- 位置给定值(仅适用于
- 在中指定
设定值
的
类型
type_mask
(不是MAVLink标准的一部分)。 值是:- 跟随位未置位,则行为正常。
- 12288:游标设定值(车辆停在足够接近设定值的位置时停止)。
- PX4支持坐标系(
coordinate_frame
字段): 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:位置,1:高度,2:手动,3:返回,4:着陆)。 |
COM_RC_OVERRIDE | 如果启用了舷外模式,则操纵杆移动会立即将控制权交还给飞行员(切换到“位置”模式)。 |
开发人员资源
通常,开发人员不直接在MAVLink层工作,而是使用诸如MAVSDK或ROS之类的机器人API(它们提供了开发人员友好的API,并负责管理和维护连接,发送消息和监视响应-与Offboard一起工作的细节)模式和MAVLink)。
以下资源可能对开发人员有用:
- Linux的 外部 控制 (PX4 Devguide)
- MAVROS车外控制示例 (PX4 Devguide)