理解pid控制算法(通俗易懂)

本文深入浅出地介绍了PID控制器的工作原理。从比例控制的基础出发,解释了如何通过设定Kp值来调整系统的输入,使系统动态调节直至误差接近零。接着讲解了微分控制的作用,即通过比较当前和上一时刻的误差变化来调整控制输入,从而减少超调量并加快达到稳态的时间。最后,阐述了积分控制的概念,即通过累计历史误差,消除静态误差,实现更精确的控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pid很简单。

p:比例控制,比如目标值是60,传感器返回的当前值是40,那么当前值和目标值有一个误差,也就是60-40=20有一个20的误差,那么我们把这个20乘上一个自己定的值Kp,然后将20*Kp加到系统输入上,比如如果是pwm智能小车,那么就将20*Kp加给pwm输出,然后每隔几毫秒我们在读取一次误差,再用Kp乘上这个误差给pwm输出,那么误差值又被调控了,这样的话,系统就可以不断动态调控直到误差值接近0,目标值接近60。Kp如何确定呢?自己根据估算以及反复调试来挑选最合适的值即可。

 

d:微分控制,我想先讲微分控制。微分控制就是当前误差值,减去上一时刻误差值,然后乘上一个kd,最后加到控制输入上去,也即将Kd*[err(t)-err(t-1)]加到控制上去,还是拿pwm小车举例,比如此时误差值是60,上一次记录的误差值是40,那么60-40=20,也就是,此刻的误差值比上一刻是更大的,大了20,那么我就会希望快点去减小误差,那么我们就可以将这20加入到pwm输出去对电机进行一个正向的调控,再如果,此时的差值是40上一刻是60,那么40-60=-20,也就是当前的误差比上一刻小,我那么我害怕它这样差值减得太快了,容易冲出赛道(因为差值减小是我p的快速调控引起的),我就可以在pwm输出上+(-20)也就是-20,进行一个反向调控。透过这些规律我们可以看出,微分控制可以在误差调控慢的时候加快调控,在误差调控快的时候,给予一个适当的反向调控,减少超调量,并减少达到稳态的总时间。

为啥可以减少达到稳态的总时间呢?你yy一下pid调控的那张波形图,我们的超调量减小了,是不是振荡的就越来越小?振荡越小,达到目标值的速度就快了,所以达到稳态就快了,可以说是很好用了。

i:积分控制,讲究的是历史误差,积分控制可以消除静态误差。

积分在离散情况下就是求和,这句话怎么理解呢?高中教过积分,比如x轴是t,y轴是速度v,那么面积就代表路程,也既s=vt,但如果不是匀速运动面积就不好求,只能通过积分,积分就是在x轴上取出一个无限小的量,乘上每一时刻的y高度,然后加起来也即s=\int v(t)dt。简而言之,积分就是求面积的工具,而面积在xy轴代表不同物理量的情况下,面积的含义不同。在实际的情况下我们得不到xy轴的图,也没有函数v(t),我们能知道的就是通过传感器测出每一时刻的值,这个时刻由自己定,比如10ms测量一次,然后将测量的速度乘上10ms然后累加起来,就是近似的s。

言归正传,积分控制究竟怎么做呢?我们可以记录几次误差然后加起来,然后乘上一个自己定的ki,加到输入上去,这样就可以根据历史误差,来进行一个正向调制,可以消除稳态误差。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值