Sub 飞行模式
Sub 提供以下模式:
需求图例:P — 需要位置(GPS 等);D — 需要深度传感器;R — 需要测距仪(Rangefinder)
Mode |
说明 |
需求 |
|---|---|---|
MANUAL |
飞行员直接控制,无稳定 |
- |
ACRO |
机体坐标系速率控制,深度手动 |
- |
STABILIZE |
角度手动控制,深度手动 |
- |
ALT_HOLD |
稳定姿态 + 自动深度控制 |
D |
AUTO |
自动执行任务指令列表 |
P/D |
GUIDED |
由 GCS 导航至位置或按速度/方向航行 |
P/D |
CIRCLE |
圆周航行并带深度控制 |
P/D |
SURFACE |
上浮至水面,航向由飞行员控制 |
- |
POSHOLD |
定点悬停 + 深度控制,可被飞行员覆盖 |
P/D |
MOTOR_DETECT |
自动判定电机转向并调整 |
- |
SURFTRAK |
稳定姿态同时保持相对海底高度 |
R |
更多细节见 飞行员操控。
模式细节
ACRO 模式
相关参数:ACRO_RP_P、ACRO_YAW_P、ACRO_BAL_ROLL、ACRO_BAL_PITCH、ACRO_TRAINER、ACRO_EXPO
稳定相关
ATC_ANGLE_MAX、JS_GAIN_DEFAULT
ALT_HOLD 模式
SURFACE_MAX_THR
深度控制相关
SURFACE_DEPTH、PILOT_SPD_UP、PILOT_SPD_DN、PILOT_SPEED
Auto/Guided 航点导航相关
WP_SPD、WP_RADIUS_M、WP_SPD_UP、WP_SPD_DN、WP_ACC、WP_ACC_Z、WP_RFND_USE、WP_YAW_BEHAVIOR
GUIDED 模式
在 GUIDED 模式下,载具由 GCS、伴飞计算机或 Lua 脚本指挥。可通过
SET_POSITION_TARGET_LOCAL_NED
或 SET_POSITION_TARGET_GLOBAL_INT
发送位置、速度与加速度目标,由 type_mask 字段选择提供哪几项。接受的组合为:
仅位置
仅速度
位置 + 速度
位置 + 速度 + 加速度
其他组合(例如速度 + 加速度)会被忽略。
包含速度的目标表示 「运动轨迹上的一点 」:消息到达时刻载具应处于何处、应如何运动。 它不是“到点即停”的终点。消息间隔内目标会继续运动:位置按目标速度推进,速度按目标加速度变化。 载具跟随该运动目标,因此通常需沿期望路径每秒发送数次目标。例如带前向加速度的目标会让载具立即开始加速, 而不是到达目标位置后才加速。由于速度与加速度会推动目标位置,它们与位置本身并不冲突: 速度方向背离所发位置时,只是把目标从该位置移开。
跟随目标时的速度与加速度(含目标自身的速度与加速度)受
WP_SPD、WP_SPD_UP、WP_SPD_DN、WP_ACC、WP_ACC_Z 限制。
目标运动快于这些限制时,跟随会出现滞后。
若 3 秒内未收到新目标,速度与加速度目标置零,载具保持最后目标位置。
若要游到某处并停下,发送 「 仅位置 」目标,将按 WP_SPD 做航点导航。
Lua 脚本可用 vehicle:set_target_posvelaccel_NED() 发送同样目标,
也可用 poscontrol 绑定 poscontrol:set_posvelaccel_offset() /
poscontrol:get_posvelaccel_offset() 偏移当前目标。示例脚本
guided_above_terrain_posvelaccel_sub.lua
用它们实现恒定前向速度并保持相对海底高度。
CIRCLE 模式
CIRCLE_RADIUS_M、CIRCLE_RATE、CIRCLE_OPTIONS
模式选择
默认通过 GCS 或伴飞计算机的 MAVLink 命令,或摇杆按键切换模式。若要启用 RC 控制模式,需设置:
RC_PROTOCOLS非零(通常用1)FLTMODE_CH为用于选择航行模式的 RC 通道FLTMODE1–FLTMODE6为所需航行模式