木森的宅家工作记录2019年4月5日(PID算法详解)

这是一个卑微电子信息学员的开始

这是学习stm32(自平衡小车)的开始

寒假开始了,卑微电子信息学员开始了stm32的学习过程。

小车的硬件结构学习

一.PID 算法

1.P - Proportional 比例
通俗的方面讲,P就是系数Kp,简称为P,现不考虑ID,现考虑P。设期望值为c(t),当前检测到的值是r(t),则误差e(t)=c(t)-r(t)。则有增加的u(t)=Kp*e(t)。这一参数可以即时成比例地反应控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用以减小误差。当偏差e=0时,控制作用也为0。因此,比例控制是基于偏差进行调节的,即有差调节。
2.I - Integral 积分
设有一水缸,为使水缸的水位达到1m,假设这个水缸在加水的过程中,存在漏水的情况,假设每次加水的过程,都会漏掉0.1米高度的水。假设kp取0.5,那么会存在着某种情况,假设经过几次加水,水缸中的水位到0.8时,水位将不会再变换!!!因为,水位为0.8,则误差error=0.2. 所以每次往水缸中加水的量为u=0.5x0.2=0.1同时,每次加水缸里又会流出去0.1米的水!!!加入的水和流出的水相抵消,水位将不再变化!!
也就是说,我的目标是1米,但是最后系统达到0.8米的水位就不在变化了,且系统已经达到稳定。由此产生的误差就是稳态误差了。
(在实际情况中,这种类似水缸漏水的情况往往更加常见,比如控制汽车运动,摩擦阻力就相当于是“漏水”,控制机械臂、无人机的飞行,各类阻力和消耗都可以理解为本例中的“漏水”) 所以,单独的比例控制,在很多时候并不能满足要求。
这时引入I - Integral 积分,这个参数将成为累加误差e(t)的和的系数,使增量比原先更大或者更小,进而打破上文所说的(假)稳定循环,进而逼近循环。加上这一项后写作u(t)=K*pe(t)+Ki∗∫e(t)dt 但是,如果初始值与预期值相差极大,会使积分的和在短时间达到极大的一个数值,进而使输出结果长期的在期望值上下跳动,所以需要给积分值设定一个上限值(我还没有调试,不知道确定的数值)
3. D - Derivative 导数
D参数的引入使预计数据未来的情况成为了可能,可以让数据在离预期值远时以较大的速率逼近这一预期值,而当数据离预期值近时以较小的速率逼近这一数值,使曲线更快的逼近预期值。
在这里插入图片描述

二.小车的调试方法
在这里插入图片描述
我还没有调试过,感觉看起来超级正确。

引用了一些文章和百度文库:
https://blog.csdn.net/xmy306538517/article/details/72771269
https://blog.csdn.net/qq_25352981/article/details/81007075

个人工作记录,最终解释权由作者本人享有。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章