当前位置: 首页 > news >正文

抗积分饱和(Anti-Windup)常见的处理方法

抗积分饱和(Anti-Windup)是PID控制中防止积分项在输出受限时过度累积的关键技术。以下是主要方法及其实现步骤:
在这里插入图片描述


1. 积分限幅(Integral Clamping)

  • 原理:直接限制积分项的最大/最小值。
  • 实现
    integral = max(min(integral + error * dt, integral_max), integral_min)
    
  • 优点:简单易实现。
  • 缺点:需合理设置限幅值,可能影响动态性能。

2. 积分分离(Conditional Integration)

  • 原理:误差较大时暂停积分,避免大幅累积。
  • 实现
    if abs(error) < threshold:
        integral += error * dt
    
  • 适用场景:系统启动或设定值突变时减少超调。

3. 遇限削弱积分(Back-Calculation)

  • 原理:输出受限时,反向调整积分项。
  • 步骤
    1. 计算理论输出 ( u_{\text{pid}} = K_p e + K_i \int e + K_d \frac{de}{dt} )。
    2. 实际输出 ( u_{\text{actual}} = \text{clamp}(u_{\text{pid}}, U_{\min}, U_{\max}) )。
    3. 计算误差差值:( e_{\text{back}} = (u_{\text{actual}} - u_{\text{pid}}) / K_p )。
    4. 调整积分项:( \int e \leftarrow \int e + K_{\text{back}} e_{\text{back}} dt )。
  • 代码示例
    u_pid = Kp * error + Ki * integral + Kd * derivative
    u_actual = clamp(u_pid, Umin, Umax)
    e_back = (u_actual - u_pid) / Kp
    integral += K_back * e_back * dt
    
  • 优点:动态调整积分,恢复快速。

4. Clamping(输出钳位暂停积分)

  • 原理:输出达到限制时,暂停积分累积。
  • 实现
    if (u_actual == Umax and error > 0) or (u_actual == Umin and error < 0):
        integral = integral  # 停止积分
    else:
        integral += error * dt
    
  • 适用场景:简单系统,需快速实现。

5. 变速积分(Variable Rate Integration)

  • 原理:误差大时减小积分速度,误差小时加快。
  • 实现
    Ki_scaled = Ki * (1 - abs(error) / threshold)  # 动态调整积分系数
    integral += error * Ki_scaled * dt
    
  • 优点:平衡响应速度与稳定性。

选择建议

  • 快速实现:积分限幅或Clamping。
  • 高性能系统:Back-Calculation或变速积分。
  • 参数调整:通过仿真(如MATLAB/Simulink)或实验确定最佳系数。

通过合理选择并调参,可显著改善系统在输出受限时的控制性能,减少超调和调节时间。

相关文章:

  • SpringBoot原理篇-SpringBoot配置优先级-Bean管理-起步依赖原理-自动配置两种方案-源码跟踪-自定义starter
  • 不同的CMS系统开源许可证对二次开发有哪些具体的限制?
  • 运维面试题(七)
  • 【矩阵快速幂】 P10502 Matrix Power Series|省选-
  • 蓝桥杯 之 最短路径算法
  • Bulk Rename Utility(BRU)——大批量重命名实用程序
  • NLP高频面试题(九)——大模型常见的几种解码方案
  • 图解AUTOSAR_CP_DiagnosticLogAndTrace
  • 深入解析 Redis 实现分布式锁的最佳实践
  • 京东二面:DeepSeek为何要用FP8而不是INT8?
  • spring boot 登入权限RBAC模式
  • 性能优化:python中的状态机
  • LLM - RAG性能的胜负手_重排序(Rerank)
  • 3:库的增删查改,编码,备份恢复
  • day 14
  • 神聖的綫性代數速成例題11. 極大綫性無關組、矢量在一組基下的座標
  • Unity Shader - UI Sprite Shader之抠图+纯色
  • 深入理解 lt; 和 gt;:HTML 实体转义的核心指南!!!
  • OpenHarmony子系统开发 - 电源管理(二)
  • NVMe(Non-Volatile Memory Express)详解
  • 重庆渝中警方:男子点燃摩托车欲寻衅滋事,被民警和群众合力制服
  • 结束北京队与总决赛十年之痒的,为何会是一度被群嘲的许利民
  • 国际观察|韩国在政局多重不确定性中迎接总统选举
  • 五一假期天气将大转变,南方新一轮降雨来袭
  • 《一鸣惊人》五一特别节目:以戏曲为桥梁,展现劳动者的坚守
  • 解放日报:服务国家战略,加快建成科技创新高地