PID是嵌入式中对运动控制调节的一种基础计算方式,在写代码之前重要的就是对其中的原理的理解,就我个人在学习的过程之中,写出我个人对PID三个控制的个人理解。
首先,我们要明白,PID是三个控制方式,三个控制方式是独立的,没有捆绑的关系,一个误差计算调节中可以只有三者之一,三者之二或者全部都使用到。
在介绍PID控制之前我们要先理解什么是开环和闭环控制以及以下的基础内容知识:
开环控制系统:
A,一般控制系统
缺点无法进行反馈
B,前馈-反馈复合控制系统
既有反馈的偏差分析又有干扰测量器补偿干扰。
直接给出干扰给对象,补充干扰,在干扰前面加干扰测量器,发送给控制器,再发送给执行器补偿干扰对对象的作用。
也有单前馈和单反馈的控制系统。
闭环控制系统
A,单闭环
在对象输出时会通过传感器给控制器一个反馈,进行偏差计算。
B,双闭环
输出对象有主对象和副对象,有内环与外环,两个传感器传给控制进行偏差计算对输入进行控制。
参数(PID运算):
- 误差
- 控制器输出
- 执行器输出
- 系统输出
连续与离散信号
- 图形表示
- 信号算式表示
PID公式的理解:
接下来我们就开始介绍PID公式的理解(图片参考B站UP主421施公队):
P:比例度 Ti:积分时间 Td:微分时间
为了简化计算可以把公式化为:
作为程序依据公式。
PID采用的是闭环控制,通过对当前值和目标值进行比较产生误差,从而对误差进行调节的一种计算方式。
对于PID三个量的理解:
Kp:(增大比例系数) 使对象更快的到达目标值
Ki:(积分系数) 使对象能够察觉到有别的干扰,将之前的误差都累计进行积分。
Kd:(微分系数) 对于在调节对象的运动状态的时候会有超调的状态,会有过冲,那就通过这一次的误差,与上一时刻的误差的差值,乘以一个微分系数,对下一次误差调节做预期。如果差值为正,那么说明误差在逐渐增大,就要加强控制;如果差值为负,说明误差在减小,可以减小控制强度,让目标平稳的达到目标值。
综上整个误差调节公式可以整理为:
调节=Kp*(目标值-当前值=误差值)+Ki*(误差值累计)+Kd*(本次误差值-前一次误差值);
理论存在,程序就可以对数据的反馈进行计算,达到对小车的调控。
补充部分:
以上采用的PID计算方式是位置式PID,而PID也有增量式PID
我并没有总结这一部分,但是有看到博主总结较好的文章(5条消息) 位置式PID与增量式PID区别浅析_Z小旋的博客-CSDN博客