第十五篇,Apollo之PID积分抗饱和

目录

一、楔子

二、BC

三、IC


一、楔子

传统PID,抗饱和基础办法为在末端做限幅,这种方法只是对最终输出做了限制,虽然不伤执行器,但因为不能使积分模块很快退出饱和状态,末端输出会较长时间保持在峰值,动能输出很大,而且不是正常的控制过程;

再者对积分模块加限幅,本质其实和上述一样。

作者才疏学浅,最近在Apollo里见到了正经八百的PID积分抗饱和策略,做个笔记。

位置:apollo-master\modules\control\common

文件夹下有传统pid_controller、反算积分抗饱和pid_BC_controller、钳位法积分抗饱和pid_IC_controller。

Apollo的PID控制用在速度控制和转向控制。

二、BC

抗饱和,英文anti windup,简称aw或AW。

反算法的几个步骤:

  1. 首先计算一次完整PID得到初始控制量u;
  2. 然后根据PID输出饱和值判定是否对u做钳位;
  3. 根据钳位规则对积分项做修正;
  4. 用修正后的积分项重新计算PID;
  5. 输出钳位,结束。

根据结果“反”回去重新计算了PID,所以称之为反算,backward。

感谢大神的分享:

PID的积分抗饱和_pingxiaozhao的博客-CSDN博客_积分抗饱和

三、IC

钳位法也称为条件积分,简单方便,使用更加广泛。

条件嘛,if-else,满足条件就用不满足就不用,简单粗暴。

原理是对积分值进行限定,即系统误差过大时本来P就很大,积分也容易变大甚至饱和,所以干脆停止积分。

  1. 首先计算一次完整PID得到初始控制量u;
  2. 若u超出PID饱和限度且与error同向,则本次积分过大,取消其作用一次;
  3. 后续按常规PID执行。

感谢大神分享:

pid抗饱和积分_greedyhao的博客-CSDN博客_抗饱和积分

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值