PID --比例项P
只含有比例项的PID输出值:
比例项的输出值仅取决于当前时刻的误差,与历史时刻无关。当前存在误差时,比例项输出一个与误差呈正比的值,当前不存在误差时,比例项输出0 ,越大,比例项权重越大,系统响应越快,但超调也会随之增加 纯比例项控制时,系统一般会存在稳态误差,
越大,稳态误差越小。
我们根据一个常见的高中物理情景来解释一下:
目标值(Target)” 与 “实际测量值(Actual)” 的偏差(Error)是PID算法基本变量,当前我们的小车是静止的V=0,我们的目标是V = target。
t=0时刻,v = 0,Error = Target - Actual,此刻,我们的车开始一一定的比例系数开始发动(如果
过低,Out < 外部阻力f,我们的汽车就发动不起来)。
图中红色是目标值Target,紫色是实际值Actual,可以看出实际值响应是很快的,在毫秒级时间就达到最大值(因为分辨率过高,导致毛刺很明显,不影响),此时我们发现,Actual最大值里我们的目标值Target还有一定距离,这就是稳态误差。
PID稳态误差:系统进入稳态时,实际值和目标值存在始终一个稳定的差值.
稳态误差产生原因:纯比例项控制时,若误差为0,则比例项结果也为0。被控对象输入0时,一般会自发地向一个方向偏移,产生误差。产生误差后,误差非0,比例项负反馈调控输出,当调控输出力度和自发偏移力度相同时,系统达到稳态.
不难理解,当汽车拥有速度后,外部阻力f就会做负功,阻碍汽车达到Target,我们可以把Out看做是一个做正功的力(发动机的牵引力)。
初态时Out是最大的,随着误差Error减小,Out也在不断减小,直到某一时刻Out = f,汽车加速度a=0,汽车运行达到稳态定值(但未达到Target)
判断是否会产生稳态误差:给被控对象输入0,判断被控对象会不会自发偏移 判断稳态误差的方向:给被控对象输入0,自发偏移方向即为稳态误差方向.(例如关闭发动机,汽车最终停止,说明汽车速度减少的自发偏移)
这是将Target设为100时不同取值对应的图形,可以可看出,
越大,系统响应越快,但是超调也会随之增加,出现尖刺和震荡(由于Actual > Target时Error<0,可以回调Actual消除这种现象,但是在开机瞬间并不稳定)
所以只靠比例项P并不完善,稳态误差的存在使得实际值始终达不到目标值。