本文档解释了 Betaflight 中的 PID(比例-积分-微分)控制器,它是维持飞行器稳定性和响应性的核心飞行控制算法。有关如何调整 PID 设置的信息,请参阅本维基其他章节中的配置指南。
概述
PID 控制器持续计算期望飞行器姿态(设定值)与陀螺仪测量姿态之间的误差值,然后对电机施加校正动作以最小化该误差。Betaflight 的实现超越了基本的 PID 控制,还包含前馈、动态 D 项限制、反重力等高级功能。
PID控制回路架构

PID组件
Betaflight 中的 PID 控制器处理四个主要参数:
- P项(比例项):对偏离设定值的情况立即做出反应
- I 项(积分):随时间累积误差以消除稳态误差。
- D 项(导数):对误差变化率做出响应,提供阻尼作用。
- F 项(前馈):直接响应设定值的变化,提高响应能力

默认PID值
Betaflight 包含适用于大多数中型四轴飞行器的默认 PID 值:
| 轴 | P | 我 | D | F |
|---|---|---|---|---|
| 卷 | 45 | 80 | 30 | 120 |
| 沥青 | 47 | 84 | 34 | 125 |
| 偏航 | 45 | 80 | 0 | 120 |
PID 数据结构
Betaflight PID 控制器使用以下几个关键数据结构:

高级PID功能
Betaflight 在基本 PID 控制的基础上增加了几个高级功能:
iTerm Relax
减少快速摇杆移动期间的 I 项累积,以防止过冲和回弹。由iterm_relax(模式)和iterm_relax_type(基于陀螺仪或设定点)控制。

D-Max(动态 D 限制)
根据设定值和陀螺仪速率动态调整 D 项,以便在需要时(如在螺旋桨滑流期间)提供额外的 D 值,而不会持续产生较高的 D 值。

TPA(节气门PID衰减)
在较高的油门位置降低 PID 增益(通常是 D 项),以补偿增加的电机功率和振动。

前馈
它能在误差出现之前对摇杆动作做出快速响应,从而提高摇杆的灵敏度。其工作原理是监测设定值的变化率。

PID控制器生命周期

PID配置文件管理
Betaflight支持多个PID配置文件,这些配置文件可以存储并在运行过程中切换:

调试 PID 性能
Betaflight 提供多种调试模式,用于分析 PID 控制器性能:
| 调试模式 | 描述 |
|---|---|
| 调试_PID循环 | 显示PID回路的时序和性能 |
| 调试反重力 | 显示出反重力激活和效应 |
| DEBUG_D_MAX | 显示D-Max活性和效应 |
| DEBUG_ITERM_RELAX | 显示 iTerm 松弛活动 |
| 调试_ACRO_TRAINER | 显示杂技教练介入 |
| DEBUG_RC_SMOOTHING | 显示RC输入平滑效果 |
PID控制器配置参数
下表总结了PID控制器的主要参数:
| 范围 | 目的 | 默认 | 范围 |
|---|---|---|---|
| pidSumLimit | 横滚/俯仰的最大PID总和 | 500 | 100-1000 |
| pidSumLimitYaw | 偏航角最大PID总和 | 400 | 100-1000 |
| 终端启动 | iTerm 停止运行预防 | 80 | 0-100 |
| iterm_rotation | 随着四边形旋转,iTerm 也随之旋转。 | 离开 | 开/关 |
| iterm_relax | 快速移动时减少 iTerm | RP | 关闭/RP/RPY/RP_INC/RPY_INC |
| d_max | 最大 D 增益 | 40/46/0 | 0-100 |
| 反重力增益 | 反重力效应强度 | 80 | 0-250 |
| 前馈转换 | 靠近中杆的FF减少 | 0 | 0-100 |
与其他系统的交互

概括
PID控制器是Betaflight飞行控制系统的核心,负责将飞行员的输入转化为稳定的飞行。它结合了传统的PID控制理论和众多针对飞行特性的增强功能,从而兼顾了稳定性和响应速度。了解PID控制器的组成部分和特性对于有效的飞行调优和优化至关重要。
BetaFlight PID控制器解析
1万+

被折叠的 条评论
为什么被折叠?



