# 上膛、撤膛、预上膛配置

载具可能有活动部件,其中一些部件在通电时有潜在危险(特别是电机和螺旋桨)!

为了减少事故发生的几率,PX4 明确规定了载具部件的供电状态:

  • 解除上膛: 电机或执行器不通电。
  • 预装武器: 发动机/螺旋桨被锁定,但用于非危险电子设备的执行器(如副翼、襟翼等)仍有动力。
  • 上膛 载具动力充足。电机/螺旋桨可能正在转动(危险!)。

备注

地面站可显示 撤膛 用于预先上膛的载具。虽然从技术上讲,预装武器的载具并不正确,但它是安全的。

用户可以使用 安全开关 载具(可选) 一个 上膛开关/按钮, 上膛姿态MAVLink 命令 在地面控制器上:

  • A 安全开关 是一个控制 车上 该安全开关必须在载具上膛前接通,也可防止预上膛(取决于配置)。安全开关通常集成在 GPS 设备中,但也可能是一个单独的物理组件。

    警告

    上膛载具具有潜在危险。安全开关是防止意外启动的附加装置。

  • 一个 上膛开关 是一个开关或按钮 遥控控制器 可用于上膛载具和启动电机(前提是安全开关未阻止上膛)。

  • 一个 上膛姿态 是棍棒运动 遥控控制器 可替代上膛开关。

  • 地面控制站也可发送 MAVLink 命令,对飞行器进行上膛/撤膛。

如果载具在上膛后一定时间内没有起飞,或在着陆后没有手动解除上膛,PX4 也会自动解除上膛。这就减少了上膛(因此也是危险的)载具在地面上停留的时间。

PX4 允许您使用参数配置预上膛、上膛和撤膛的工作方式(这些参数可在以下页面编辑 QGroundControl 通过 参数编辑器),如下节所述。

TIP

上膛/撤膛参数可在 参数参考 > 指令器 (搜索 COM_ARM_*COM_DISARM_*).

# 上膛手势

默认情况下,将遥控节流阀/偏航杆移动到特定的极值并保持 1 秒钟,即可解除载具的上膛。

  • 上膛: 油门最小,偏航最大
  • 解除警报 油门最小值,偏航最小值

遥控控制器将有不同的手势 根据其模式 (因为控制器模式会影响用于油门和偏航的摇杆):

  • 方式 2:
    • 手臂 从左至右下。
    • 解除警报 左摇杆向左下方移动。
  • 模式 1:
    • 手臂 左键向右,右键向下。
    • 解除警报 左键向左,右键向下。

可以使用 com_rc_arm_hyst.

参数 说明
com_rc_arm_hyst RC 控制杆在上膛/撤膛位置停留的时间(默认值:1 秒)。

# 上膛按钮/开关

一个 上膛按钮 或 "瞬时开关"可配置为触发上膛/撤膛 而是手势上膛 (设置上膛开关会禁用上膛手势)。按住按钮不放的时间应为 (名义上) 1 秒钟来上膛(撤膛时)或撤膛(上膛时)。

双位开关也可用于上膛/撤膛,通过开关发送相应的上膛/撤膛命令。 过渡.

TIP

双位上膛开关主要用于/建议用于竞速无人机。

开关或按钮的分配(和启用)使用 RC_MAP_ARM_SW使用以下命令配置交换机"类型"。 com_arm_swisbtn.

参数 说明
RC_MAP_ARM_SW 遥控启动开关通道(默认:0 - 未指定)。如果已定义,则使用指定的遥控通道(按钮/开关)而不是摇杆手势进行上膛。
请注意:
- 此设置 禁用摇杆手势!
- 此设置适用于遥控控制器。它不适用于通过以下方式连接的操纵杆控制器 QGroundControl.
com_arm_swisbtn 臂开关是一个瞬时按钮。
- 0:上膛开关是一个双位开关,在开关转换时发送上膛/撤膛命令。
-1:上膛开关是一个按钮或瞬时按钮,在按住按钮设定时间后,将发送上膛/撤膛命令。com_rc_arm_hyst).

备注

该开关也可设置为 QGroundControl 飞行模式 配置。

# 自动解除警报

默认情况下,载具会在着陆时自动解除上膛,或者在上膛后起飞时间过长时自动解除上膛。该功能使用以下超时时间进行配置。

参数 说明
com_disarm_land 着陆后自动撤膛的超时时间。默认值:2 秒(-1 表示禁用)。
com_disarm_prflt 如果起飞太慢,自动解除警报的超时时间。默认值:10 秒(<=0 表示禁用)。

# 臂前检查

为了减少事故,只有在满足特定条件的情况下,才允许载具上膛。在下列情况下,将阻止上膛

  • 载具不处于健康状态。例如,载具未校准或传感器报错。
  • 载具有一个 安全开关 未参与。
  • 载具有一个 远程ID 不健康或未做好准备的人
  • VTOL 飞行器处于固定翼模式 (默认情况下).
  • 当前模式要求有足够的全球位置估计,但载具没有 GPS 锁定。
  • 还有更多 ...

可在 QGroundControl(v4.2.0 及更高版本)中查看当前失败的检查: 飞行视图> 上膛和飞行前检查 (打开新窗口).

请注意,PX4 内部以 10Hz 的频率进行上膛检查。如果列表发生变化,PX4 会使用 事件界面.GCS 连接时也会发送该列表。这样,无论是在撤膛还是上膛时,GCS 都能立即了解上膛前检查的状态。

供开发人员使用的实施说明

客户机实施在 libevents (打开新窗口):

实施 QGC: 健康和上膛检查报告.cc (打开新窗口).

PX4 还会在 SYS_STATUS (打开新窗口) 消息(见 状态传感器 (打开新窗口)).

# 上膛顺序:预上膛模式 & 安全按钮

上膛顺序取决于是否有 安全开关参数控制 com_prearm_mode (预置模式)和 CBRK_IO_SAFETY (输入/输出安全断路器)。

com_prearm_mode 参数定义何时/是否启用预上膛模式("安全"/非节流执行器可以移动):

  • 失能:禁用预上膛模式(不存在只启用安全/非节流执行机构的阶段)。
  • 安全开关 (默认):预上膛模式由安全开关启用。如果没有安全开关,则不会启用预上膛模式。
  • 始终如一:开机即启用预置模式。

如果有安全开关,这将是上膛的先决条件。如果没有安全开关,则必须接通 I/O 安全断路器("安全开关")。CBRK_IO_SAFETY),上膛只取决于上膛命令。

以下各节详细介绍了不同配置的启动顺序

# 默认值:COM_PREARM_MODE= 安全和安全开关

默认配置使用安全开关进行预上膛。通过预上膛,可以上膛所有电机/执行器。它对应于 com_prearm_mode=1 (安全开关)和 cbrk_io_safety=0 (输入/输出安全断路器禁用)。

默认启动顺序为

  1. 开机。

    • 所有执行器锁定在解除警报位置
    • 无法上膛。
  2. 安全开关已按下。

    • 系统现已预置:非节流执行器可以移动(如副翼)。
    • 系统安全关闭:可以上膛。
  3. 上膛命令已发出。

    • 系统已上膛。
    • 所有电机和执行器都可以移动。

# COM_PREARM_MODE= 已禁用和安全开关

当预设模式为 失能接通安全开关后,虽然可以对载具进行上膛,但并不能解锁保险制动器。这相当于 com_prearm_mode=0 (禁用)和 cbrk_io_safety=0 (输入/输出安全断路器禁用)。

启动顺序为

  1. 开机。

    • 所有执行器锁定在解除警报位置
    • 无法上膛。
  2. 安全开关已按下。

    • 所有执行器都锁定在解除警报位置(与解除警报相同)。
    • 系统安全关闭:可以上膛。
  3. 上膛命令已发出。

    • 系统已上膛。
    • 所有电机和执行器都可以移动。

# COM_PREARM_MODE= 始终和安全开关

当预设模式为 始终如一, 预上膛模式从开机时就已启用。要进行上膛,仍需打开安全开关。这相当于 com_prearm_mode=2 (始终)和 cbrk_io_safety=0 (输入/输出安全断路器禁用)。

启动顺序为

  1. 开机。
    • 系统现已预置:非节流执行器可以移动(如副翼)。
    • 无法上膛。
  2. 安全开关已按下。
    • 系统安全关闭:可以上膛。
  3. 上膛命令已发出。
    • 系统已上膛。
    • 所有电机和执行器都可以移动。

# COM_PREARM_MODE= 安全或已禁用且无安全开关

在没有安全开关的情况下,当 com_prearm_mode 设置为 安全失能 无法启用预上膛模式(与已撤膛相同)。这相当于 COM_PREARM_MODE=0 或 1 (禁用/安全开关)和 cbrk_io_safety=22027 (输入/输出安全断路器接通)。

启动顺序为

  1. 开机。
    • 所有执行器锁定在解除警报位置
    • 系统安全关闭:可以上膛。
  2. 上膛命令已发出。
    • 系统已上膛。
    • 所有电机和执行器都可以移动。

# COM_PREARM_MODE= 始终和无安全开关

当预设模式为 始终如一, 预置模式从开机开始启用。这相当于 com_prearm_mode=2 (始终)和 cbrk_io_safety=22027 (输入/输出安全断路器接通)。

启动顺序为

  1. 开机。
    • 系统现已预置:非节流执行器可以移动(如副翼)。
    • 系统安全关闭:可以上膛。
  2. 上膛命令已发出。
    • 系统已上膛。
    • 所有电机和执行器都可以移动。

# 参数

参数 说明
com_prearm_mode 进入预上膛模式的条件。 0:已禁用、 1:安全开关(通过安全开关启用预设警戒模式;如果没有开关,则无法启用)、 2:始终(开机即启用预置模式)。默认值: 1 (安全按钮)。
CBRK_IO_SAFETY 用于 IO 安全的断路器。