PID算法基本原理
PID算法是控制行业最经典、最简单、而又最能体现反馈控制思想的算法,PID算法利用反馈来检测偏差信号,并通过偏差信号来控制被控量。而控制器本身就是比例、积分、微分三个环节的加和。其功能框如图1所示:
考虑在某个特定的时刻t,此时输入量为rin(t),输出量为rout(t),于是偏差就可计算为err(t)=rin(t)-rout(t)。于是PID的基本控制规律就可以表示为如下公式:
其中Kp为比例带,TI为积分时间,TD为微分时间。当得到系统的输出后,将输出经过比例、积分、微分3种运算方式,叠加到输入中,从而控制系统的行为。
比例就是用来对系统的偏差进行反应,所以只要存在偏差,比例就会起作用。积分主要是用来消除静差,静差是指系统稳定后输入输出之间依然存在的差值,而积分就是通过偏差的累计来抵消系统的静差。微分则是对偏差的变化趋势做出反应,根据偏差的变化趋势实现超前调节,提高反应速度。
AGV采用的是两级PID串联的形式:
其中第一层控制车轮速控制,AGV采用左右两轮差速控制,车速控制采用的是增量式PID控制,PID的输出为实际电机的PWM输出增量,输入为电机实际要到达的速度,通过编码器实时检测电机转速仅反馈,控制模型如图2所示:
第二层控制为AGV的寻磁位置控制,AGV通过寻磁模块检测AGV在磁导线上的偏移,根据AGV的车速,输出AGV应该输出的左右轮差速值,最终和AGV本身的车速PID控制进行串联调控,实现AGV的寻磁调控,其AGV的整体控制模型如下图3所示。
PID算法的基本特点
前面讲述并且实现了PID控制器,包括位置型PID控制器和增量型PID控制器。界限来我们对这两种类型的控制器的特点作一个简单的描述。
位置型PID控制器的基本特点:
- 位置型PID控制的输出与整个过去的状态有关,用到了偏差的累加值,容易产生累积偏差。
- 位置型PID适用于执行机构不带积分部件的对象。
- 位置型的输出直接对应对象的输出,对系统的影响比较大。
增量型PID控制器的基本特点:
- 增量型PID算法不需要做累加,控制量增量的确定仅与最近几次偏差值有关,计算偏差的影响较小。
- 增量型PID算法得出的是控制量的增量,对系统的影响相对较小。
- 采用增量型PID算法易于实现手动到自动的无扰动切换。
速度环PID实现
智慧工厂的AGV系统主要有三大部分组成,从下到上依次为AGV本体,AGV网关,和AGV调度系统。AGV本部分主要负责的是AGV定位和控制。AGV网关主要负责AGV的调度和AGV数据的转发(上位机可以控制多个AGV)。而AGV调度系统主要负责的与工厂自动化相关的工艺环节,比如对工厂的路径进行规划,对AGV的ID进行设置,接收工厂管理控制系统(MES系统)的命令,并且进行命令的转换和发送。
寻磁模块PID实现
寻迹部分控制就根据寻磁模块的信获取到AGV当前的姿态(方位角)。并且根据目标值(中心位置0)进行比较,得到控制偏差,然后通过对偏差的比例、积分、微分进行控制,使偏差趋向于零的过程。
Actual+=Kp[e(k)-e(k-1)]+Ki*e(k)+Kd[e(k)-2e(k-1)+e(k-2)]
e(k):本次偏差
e(k-1):上一次的偏差
e(k-2):上上次的偏差
Actual左右轮电机的差速量
PID参数选定规则
参数调整一般规则
由各个参数的控制规律可知,比例P使反应变快,微分D使反应提前,积分I使反应滞后。在一定范围内,P,D值越大,调节的效果越好。各个参数的调节原则如下:
1、在输出不振荡时,增大比例增益P。
2、在输出不振荡时,减小积分时间常数Ti。
3、输出不振荡时,增大微分时间常数Td。
PID控制器参数整定的方法
1)理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。
2)工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。
PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。现在一般采用的是临界比例法。
利用该方法进行PID控制器参数的整定步骤如下:
(1)首先预选择一个足够短的采样周期让系统工作。
(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期。
(3)在一定的控制度下通过公式计算得到PID控制器的参数。
参数调整一般步骤
1)确定比例增益。
P确定比例增益P时,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0,PID为纯比例调节。
输入设定为系统允许的最大值的60%~70%,由0逐渐加大比例增益P,直至系统出现振荡。
再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%~70%。比例增益P调试完成。
2)确定积分时间常数Ti。
比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。积分时间常数Ti调试完成。
3)确定微分时间常数Td。
微分时间常数Td一般不用设定,为0即可。若要设定,与确定P和Ti的方法相同,取不振荡时的30%。
4)系统空载、带载联调,再对PID参数进行微调,直至满足要求。
PID调参常用口诀
PID的参数设置可以参照以下来进行:
参数整定找最佳, 从小到大顺序查:
先是比例后积分, 最后再把微分加
曲线振荡很频繁, 比例度盘要放大
曲线漂浮绕大湾, 比例度盘往小扳
曲线偏离回复慢, 积分时间往下降
曲线波动周期长, 积分时间再加长
曲线振荡频率快, 先把微分降下来
动差大来波动慢, 微分时间应加长
理想曲线两个波, 前高后低4比1
一看二调多分析, 调节质量不会低