DWIRobo 译制 · 非官方 · 原文基于 ArduPilot Sub(本站本地译制)· CC BY-SA 3.0 · 关于本翻译 · 下载软件

飞行员操控

载具操控可通过三种方式完成:

  • 通过地面站(GCS):

    • GCS 连接的摇杆,或命令行,发送 MAVLink RC overrides,充当 RC 输入(即使未接 RC 接收机)

    • MAVLink Manual Control 协议,包含轴向命令与按键状态。

      警告

      由于 历史原因,ArduSub 对 MANUAL_CONTROL 的支持期望 Z 轴取值范围为 [0,1000],而非规范中的 [-1000,1000]。

  • 无线电遥控 RC(默认未启用)

飞行员控制输入

若未启用 RC,飞行员输入来自 GCS 摇杆,控制载具可用运动轴,包括偏航与姿态旋转,以及机体坐标系下的横移、前后与深度上下。 灯光与相机也可由 GCS 控制,还有一些通用舵机和/或继电器输出。

若启用 RC,则俯仰/横滚/偏航/油门/横移/前进输入由遥控器发送,并通过 RCMAP_ 参数映射到这些输入。

各模式下的飞行员控制自由度

下表假设该轴可控。部分机架并不提供全部轴向。例如 SimpleROV-3 仅有三台推进器,只提供偏航、前进与深度控制; 俯仰与横滚姿态不受控,依赖 CG/压载配平,且无横移能力。

ANG = 角度目标。摇杆偏转表示期望轴向角度。

RAT = 速率目标。摇杆偏转表示期望轴向运动/旋转速率。

D = 按摇杆偏转直接输出到电机。

Mode

Roll

Pitch

Yaw

Depth

Forward

Lateral

PosHold

DepthHold

MANUAL

D

D

D

D

D

D

No

No

ACRO

RAT

RAT

RAT

RAT

RAT

RAT

No

No

STABILIZE

ANG

ANG

RAT

RAT

RAT

RAT

No

No

ALT_HOLD

ANG

ANG

RAT

RA

RAT

RAT

No

Yes

SURFTRAK

ANG

ANG

RAT

RAT

RAT

RAT

No

Yes*

POSHOLD

ANG

ANG

RAT

RAT

RAT

RAT

Yes

Yes

SURFACE

ANG

ANG

RAT

-

RAT

RAT

No

No

CIRCLE

ANG

ANG

RAT

RAT

-

-

Yes

Yes

MOTORDETECT

-

-

-

-

-

-

-

-

*SURFTRAK 在飞行员未请求改变深度输入时,用测距仪把深度维持为相对海底的高度。

  • MODE AUTO:飞控发出完成任务所需的控制量。

  • MODE GUIDED:若处于速度控制且为 HEADING HOLD,飞行员可用摇杆控制 Roll/Pitch(摇杆表示角度目标),否则为速率目标。Yaw 输入为速率需求。LATERAL 与 FORWARD 输入被忽略。

失效保护

针对飞行员操控方式,在其失效时可配置并启用下列失效保护(任一或全部):

响应特性

根据载具设计与飞行员经验,可能需要限制载具对操控输入的响应速度和/或强度。有几种做法,作用于控制链路不同环节:

  • 若使用 GCS 摇杆,JS_GAIN_* 参数缩放飞行员输入范围,从而决定摇杆能在多大程度上影响电机输出

    • 在 MANUAL 模式下只有飞行员输入,因此整机输出范围(及功耗)由飞行员输入范围决定(无论 GCS 摇杆还是 RC)

    • 在带飞控稳定的模式下,稳定仍可能用满功率(例如强流环境)

    • 摇杆增益可由飞行员用 gain_* 按键控制,和/或用参数配置

      • JS_GAIN_MIN、JS_GAIN_MAX、JS_GAIN_DEFAULT:上下限与起始值

      • JS_THR_GAIN:对垂向输入的额外缩放,可进一步减弱或相对水平/转向输入增强

      • JS_GAIN_STEPS:每次增减按键时增益变化量

  • 使用遥控通道做 RC 控制时,可用 RCn_DZ (如 RC1_DZ)为各通道指定死区,忽略微小摇杆抖动与时序不一致

  • 姿态稳定将最大倾角(相对水平的横滚/俯仰)限制为 ATC_ANGLE_MAX

  • 自动深度控制(如 ALT_HOLD、SURFTRAK、POSHOLD、CIRCLE)可用下列参数配置

    • THR_DZ:油门死区,避免小幅摇杆动作改变当前深度目标

    • PILOT_SPD_UP 与 PILOT_ACC_Z:限制最大垂向速度,并设定达到该速度的垂向加速度

      • 可选 PILOT_SPD_DN 单独设定最大下潜速率,否则默认与 PILOT_SPD_UP 相同

    • SURFACE_MAX_THR:接近水面时缩小上推力,避免顶破水面吸入空气

  • POSHOLD 模式下自动水平速度可用 PILOT_SPEED 限制

  • 也可直接配置输出:

    • MOT_SLEW_UP_TIME、MOT_SLEW_DN_TIME:限制电机推力升降速率

    • MOT_PWM_MIN、MOT_PWM_MAX:定义全部电机输出的可用 PWM 范围

      • 通常用于使电机指令匹配 ESC 期望输入范围,也可故意缩小范围以降性能/功耗

      备注

      DShot ESC 忽略这些值。范围固定为 1000µs–2000µs。

      • 若一个或多个 PWM ESC 控制的电机在上锁状态下仍转动,可能需要调整对应 SERVOn_TRIM (如 SERVO1_TRIM)以校正中位

  • 电机输出缩放也可根据电源/电池监测反馈自动调整:

    • MOT_BAT_CURR_MAX:电流超限持续超过 MOT_BAT_CURR_TC 后降低功率输出;和/或

    • MOT_BAT_VOLT_MIN、MOT_BAT_VOLT_MAX:补偿电压随时间跌落