1. TECS控制变量解析
在ArduPilot飞控系统中,TECS(Total Energy Control System)是实现飞行器高度与空速协调控制的核心算法。作为资深飞控开发者,我将详细解析AP_TECS类中的关键变量及其实际应用场景。
1.1 基础状态变量
这些变量构成了TECS控制的基础输入和状态反馈:
cpp复制_height // 当前高度(米)
_climb_rate // 爬升速率(-Vz,米/秒)
_vel_dot // 前向加速度(x轴)
_vel_dot_lpf // 低通滤波后的前向加速度
注意:_climb_rate采用-Vz坐标系,即正值表示下降,与常规物理坐标系相反。这种设计是为了与飞行器控制系统保持一致。
滤波处理对控制稳定性至关重要:
- _height_filter:采用二阶互补滤波器,截止频率通常设为1-2Hz
- _vdot_filter:加速度低通滤波,截止频率建议3-5Hz
1.2 空速相关变量
空速控制是TECS的核心功能之一:
cpp复制_EAS_dem // 目标当量空速(m/s)
_TAS_dem // 目标真实空速(由_EAS_dem经大气密度换算)
_TASmin // 最小真实空速(防止失速)
_TASmax // 最大真实空速(结构限制)
_TAS_state // 当前真实空速(经二阶互补滤波)
空速转换公式:
code复制TAS = EAS × √(ρ₀/ρ)
其中ρ₀为标准海平面空气密度,ρ为当前高度空气密度。
实操经验:在海拔3000米处,相同EAS对应的TAS会比海平面高约15%,必须考虑这种差异以避免控制误差。
2. 控制参数与限制
2.1 油门与俯仰限制
飞行包线保护是安全飞行的关键:
cpp复制_THRmaxf // 最大油门限制(0-1)
_THRminf // 最小油门限制(通常0.05-0.1)
_PITCHmaxf // 最大俯仰角(度)
_PITCHminf // 最小俯仰角(度)
优先级规则:
- 外部临时设置值(_ext后缀)优先级最高
