外部模式

飞机遵守 MAVLink 提供的位置,速度或姿态设定值。 设定值可以由机载计算机上运行的 MAVLink API(例如 MAVSDKMAVROS)提供(通常通过串口或 wifi 连接)。

并非所有设定值消息和无人机都支持 MAVLink 允许的所有坐标系和字段值。 请仔细阅读以下章节,确保仅使用支持的值。 还请注意,在进入模式之前和模式可操作时,设定点必须以 > 2Hz 的速率进行传输。

描述

Offboard 模式主要用于控制飞机运动和姿态,目前仅支持 MAVLink 消息的一个有限子集(未来将支持更多)。

其他操作, 如起飞、降落、返航,最好使用适当的模式来处理。 像上传、下载任务这样的操作可以在任何模式下执行。

在进入该模式之前,无人机必须收到设定值数据流,并且保持在该模式下(如果消息速率降至 2Hz 以下,无人机将停止)。 为了在此模式下保持位置,必须向无人机提供一个包含当前位置设定值的数据流。

Offboard 模式需要主动连接到远程 MAVLink 系统 (例如机载计算机或 GCS)。 如果连接丢失,在超时 (COM_OF_LOSS_T) 后,无人机将尝试降落或执行其他故障失效保护操作。 该动作定义在参数 COM_OBL_ACTCOM_OBL_RC_ACT 中。

支持的消息

直升机/垂直起降

  • SET_POSITION_TARGET_LOCAL_NED

    • 支持以下输入组合:

      • 位置设置值 (仅 xyz

      • 速度设定值(仅 vxyyvz

      • 加速度设定值(仅 afxafyafz

      • 位置设定值速度设定值(速度设定值作为前置反馈;它被加到位置控制器的输出中,并且结果被用作速度控制器的输入)。

      • 位置设定点**、速度设定点和**加速度(速度和加速度设定点用作前馈;将速度设定点添加到位置控制器的输出,并将结果用作速度控制器的输入;加速度设定点添加到速度控制器的输出中,结果用于计算推力矢量)。

  • SET_POSITION_TARGET_GLOBAL_INT

    • 支持以下输入组合:

      • 位置设定值(仅lat_intlon_intalt

      • 速度设定值(仅vxyyvz

      • 推力设定值(仅afxafyafz

* 位置设定值**和**速度设定值(速度设定值作为前置反馈;它被加到位置控制器的输出中,并且结果被用作速度控制器的输入)。
  • PX4 支持以下 coordinate_frame 值(仅限): MAV_FRAME_GLOBAL

  • SET_ATTITUDE_TARGET

    • 支持以下输入组合:

      • 带有推力设定值(SET_ATTITUDE_TARGET.thrust)的姿态和方向(SET_ATTITUDE_TARGET.q)。

      • 带有推力设定值(SET_ATTITUDE_TARGET.thrust)的机身速率(SET_ATTITUDE_TARGET .body_roll_rate.body_pitch_rate.body_yaw_rate)。

固定翼

  • SET_POSITION_TARGET_LOCAL_NED

    • 支持以下输入组合(通过 type_mask):

      • 位置设定值(仅xyz;速度和加速度设定值被忽略)。

        • type_mask中指定设定值的type(如果未设置这些位,无人机将以花朵状飞行):

    值为:
    
    * 292:滑动设定值。 这会将 TECS 配置为空速优先于高度,以便在没有推力时使无人机滑行(即控制俯仰以调节空速)。 这相当于设置 `type_mask` 为 `POSITION_TARGET_TYPEMASK_Z_IGNORE`,`POSITION_TARGET_TYPEMASK_VZ_IGNORE`,`POSITION_TARGET_TYPEMASK_AZ_IGNORE`。 
    * 4096:起飞设定值。
    * 8192:降落设定值。
    * 12288:悬停设定值(以设定值为中心绕圈飞行)。
    * 16384:空闲设定值(油门为0, 横滚 / 俯仰为0)。
    值为:
    
    * 4096:起飞设定值。
    * 8192:降落设定值。
    * 12288:悬停设定值(以设定值为中心绕圈飞行)。
    * 16384:空闲设定值(油门为0, 横滚 / 俯仰为0)。
  • PX4 支持以下 coordinate_frame 值(仅限): MAV_FRAME_GLOBAL

  • SET_ATTITUDE_TARGET

    • 支持以下输入组合:

      • 带有推力设定值(SET_ATTITUDE_TARGET.thrust)的姿态和方向(SET_ATTITUDE_TARGET.q)。

      • 带有推力设定值(SET_ATTITUDE_TARGET.thrust)的机身速率(SET_ATTITUDE_TARGET .body_roll_rate.body_pitch_rate.body_yaw_rate)。

无人车

  • SET_POSITION_TARGET_LOCAL_NED

    • 支持以下输入组合(在 type_mask 中):

      • 位置设置值 (仅 xyz

        • type_mask 中指定 类型 的设置点类型:

note 实际仅使用/提取了偏航设置。 :::

Offboard参数

Offboard 模式 受以下参数影响:

参数描述

丢失 Offboard 连接时的等待超时时间(以秒为单位),然后将触发 offboard 丢失的失效保护措施 (COM_OBL_ACTCOM_OBL_RC_ACT)

没有 连接到遥控器的情况下,如果丢失 offboard 控制,则切换换到该模式(值为 - 0:降落,1:保持,2:返航)。

连接到遥控器的情况下,如果丢失 offboard 控制, 则切换到该模式 (取值为 - 0:位置,1:高度,2:手动,3:返航,4:降落)。

控制多旋翼(或者多旋翼模式下的 VOTL)的摇杆移动量来切换到 位置模式。 默认情况下未启用此功能。

导致发射机切换到 位置模式 的摇杆移动量(如果 COM_RC_OVERRIDE 已启用)。

开发者资源

通常,开发人员不直接在 MAVLink 层工作,而是使用机器人 API,例如 MAVSDK ROS (它们提供了开发人员友好的 API,并负责管理和维护) 连接,发送消息和监视响应 - 使用 Offboard 模式 和 MAVLink 的细节。

以下资源可能对开发者有用:

Last updated