杨柳曼 万丽琴 江石媛
摘 要:为了提高智能车直流调速系统的控制性能,针对目前车速控制系统中存在的非线性结构参数变化范围大的特点,提出了一种基于卡尔曼滤波的智能车PID车速控制器。该控制器是将卡尔曼滤波器的滤波作用和PID对信号的控制作用进行结合,使系统快速收敛达到平稳状态。MATLAB仿真结果表明,基于卡尔曼滤波器的PID控制响应,系统响应速度快,能够较好地使系统收敛于稳态,控制效果明显改善。
关键词:卡尔曼滤波;PID控制;智能车
中图分类号:TP273;U463.6 文献标识码:A 文章编号:2096-4706(2020)07-0008-03
Research on PID Control of Intelligent Vehicle Speed Regulation
Based on Kalman Filter
YANG Liuman,WAN Liqin,JIANG Shiyuan
(Jiangxi Modern Polytechnic College,Nanchang 330095,China)
Abstract:In order to improve the control performance of the intelligent vehicle DC speed control system,a new intelligent vehicle PID speed controller based on Kalman filter is proposed in view of the wide range of nonlinear structural parameters in the current speed control system. The controller combines the filtering function of Kalman filter and the control function of PID to the signal,so that the system converges quickly to a stable state. MATLAB simulation results show that the PID control response based on Kalman filter is fast and can make the system converge to steady state,and the control effect is improved obviously.
Keywords:Kalman filter;PID control;intelligent vehicle
0 引 言
智能車是由多个传感器、控制机构和控制算法结合的智能控制系统。如何在不同类型的跑道上实现车速迅速、平稳的切换,达到最优控制效果,是智能车车速控制的一项重要研究内容。目前,传统智能车采用单纯的PID控制模式,即通过编码器不断采集速度信息,反馈测量值与给定值的差值给信息处理模块,但是在信号采集的过程中,信号和噪声往往都是多维非平稳随机过程,其精度差、响应时间长、振荡次数多、稳定性不足等缺点,给信号处理和目标控制带来了很大难度。本文是基于本校的《智能汽车轨迹规划与控制系统的开发应用》课题进行研究的结果,以智能车车速作为被控对象,将Kalman滤波器和传统的PID控制器有效组合在一起,经过Kalman滤波器对噪声和信号的滤波作用后,反馈给PID控制器,进行更精确的补偿,获得了一个更确切的控制系统模型,进而提高了系统的控制精度,有效缩减了系统的响应时间,控制效果得到了明显提升。
1 系统原理分析
1.1 PID控制原理
在很多实际工业控制系统中,应用最为广泛的调节器为PID控制器,因其结构简单、系统稳定、运行可靠、方便调节等特点使得PID控制器成为了工业控制中的主要技术之一。PID控制器的控制规律为比例、积分、微分控制,如图1所示。
在PID控制器中,输入值和实际输出值之间形成控制偏差,将该偏差通过比例、积分和微分控制以线性方式进行组合,形成控制量对控制对象实现控制。可将其控制规律表述为:
其中控制偏差公式为:error(t)=yd(t)-y(t)
式中,yd(t)为输入值,y(t)为实际输出值,kP为PID控制器的比例系数,TI为积分时间常数,TD为微分时间常数。
比例控制kP,即让控制器的输出与输入误差信号成一定比例控制,kP越大,则响应速度越快,但是如果kP过大,容易产生振荡和超调量过大;
积分控制kI,即控制器的输入与输入误差信号的积分成正比关系,其可以消除静态误差,但也会降低响应速度、加大超调;
微分控制kD,即控制器的输出与输入误差信号的微分成正比关系,控制对输入信号的噪声很敏感,很容易受到干扰。
PID控制算法最大的优点是其无需基于数学模型的控制,具有很强的鲁棒性,并且算法简单,可调参数少,每个参数有明确的物理意义。PID控制有着广泛的实际应用,为了获得满意的控制效果,需要对PID参数(比例、积分、微分)进行在线调整,但这些参数往往并没有不变的数学模型作为参考,并且随着控制系统的不同其参数变化较大,因此需要进行定制化调参。
1.2 Kalman滤波原理
卡尔曼滤波理论是在1961年初被提出的,用于解决随机信号数据处理的难题。在现代控制理论中,随机最优控制和随机信号处理往往比较复杂。信号和噪声因时而变,功率谱不稳定,属于多维非平稳随机过程。卡尔曼滤波理论在时域上采用递推算法对随机信号进行滤波处理,得到接近实际状态的状态预测。简单来说,卡尔曼滤波算是一种递推的线性最小方差估计。
对于离散线性系统:
x(k)=Ax(k-1)+B(u(k)-w(k-1))
yv(k)=Cx(k)+v(k)
式中,w(k)是过程噪音信号,v(k)是测量噪音信号。
卡尔曼滤波算法分为两步:
(1)预测:假设k时刻为当前时刻,按照k-1时刻的预测值来估计k时刻系统的状态,得出系统在k时刻的预先估计值;
(2)更新:在k时刻通过传感器测量出系统的当前值,并对其预先估计值进行校正更新,得出k时刻的预测值,并计算下一时刻(k+1时刻)预先估计值。
卡尔曼滤波器的时间更新方程表示为:
卡爾曼滤波器的状态更新性能方程表示为:
其中: 和 分别表示系统在k-1时刻和k时刻的预测值; 表示k时刻的预先估计值;Pk-1和Pk分别表示k-1时刻和k时刻的预测值协方差; 表示k时刻的预先估计值协方差;H是状态变量到测量的转换矩阵;zk为滤波的输入;Kk是卡尔曼滤波系数;A为状态转移矩阵;Q为过程激励噪声协方差;R是测量噪声协方差;B是将输入转换为状态的矩阵。
简单来说,卡尔曼滤波的含义就是在上一时刻得出的估计值的基础上,根据当前时刻的测量值进行线性修正,得出当前时刻的最优估计值。从数学角度来看,卡尔曼滤波是一种线性最小方差统计估计方法,利用递推的方式对每一时刻的测量值和预测值求出其最小均方误差,得出更为精确的最优估计。也就是说,卡尔曼滤波可以看成是一个信息融合的过程,融合的是观测量和预测量,假如观测量更可靠,则给观测量一个更高的权值,反之则给预测量更高的权值。
2 基于Kalman滤波器的PID控制方法
随着工业自动化水平的不断提高,对控制的品质有了更高的要求,特别针对于信号干扰大的控制系统,传统的PID控制器局限性逐渐突显,对控制精度要求较高的场合无法达到理想的效果。因此,将PID控制器对信号的良好控制作用和Kalman滤波器对信号的良好滤波效果有效地结合起来,能够使控制系统很快地收敛至平稳状态,减小噪声对系统的影响,以此提高控制品质。其控制目标为:
(1)控制系统应该很好地回应设定点的变化;
(2)控制系统应该衰减负载扰动;
(3)测量噪声不能影响太大;
(4)系统本身不能随变量变动过大(时不变系统)。
2.1 基于Kalman滤波器的车速PID控制过程
如图2所示为基于Kalman滤波器的车速PID控制系统,由PID控制器、被控对象和卡尔曼滤波器等组成;信号包括目标输入信号yd、PID解算输出信号u、控制干扰信号w,被控对象输出y、测量噪声v、噪声干扰输出信号yv和卡尔曼滤波器解算信号ye。将PID解算的车速和编码器测量出的车速信号作为卡尔曼滤波融合的输入。
在基于卡尔曼滤波的PID控制系统中,把卡尔曼滤波看成一个观测器,是控制器的对偶问题。卡尔曼滤波的核心,是求解卡尔曼增益加权测量值后去修正预测值,即不是控制一个信号去跟踪我们给定的参考信号,而是控制一个信号去跟踪一个我们不知道的“真实值”信号。因此,卡尔曼滤波不是控制手段,是一种观测手段,实现最佳目标值的估计,需要依赖模型和对噪声的统计属性的假设。
在对智能车车速控制过程中,利用卡尔曼滤波进行信号的滤波,卡尔曼增益越小,说明预测值越可靠,最优值越接近预测值;相反卡尔曼增益越大,说明测量值越可靠,最优值越接近测量值。以智能小车为例,以智能小车的车速为被控对象,智能车的车速具有不确定因素,因此编码器测量存在大量的伪随机信号,利用卡尔曼滤波进行测量车速的跟踪,可在一定程度上逼近目标值。
2.2 MATLAB系统仿真
在MATLAB软件中进行系统仿真,智能车为一个典型二阶系统,采用卡尔曼滤波器的PID控制智能车的车速,假设被控对象传递函数为:
基于卡尔曼滤波的PID控制器,取样时间为1 ms,以阶跃信号作为输入信号,过程噪音信号w(k)和测量噪音信号v(k)的幅值均为0.002的白噪声,使用卡尔曼滤波器实现信号的滤波,取Q=1,R=1,仿真时间为1.00 s,在PID控制器中,取Kp=8.0,KI=0.8,Kd=0.2。
在MATLAB仿真过程中关键步骤如下:
(1)将传递函数离散化:
a=25;b=133;
sys=tf(b,[1,a,0]);
dsys=c2d(sys,ts,'z');
[num,den]=tfdata(dsys,'v');
(2)卡尔曼滤波:
Mn=P*C'/(C*P*C'+R);
P=A*P*A'+B*Q*B';
P=(eye(2)-Mn*C)*P;
x=A*x+Mn*(yv(k)-C*A*x);
ye(k)=C*x+D;
(3)PID控制器:
u(k)=kp*error(k)+ki*ei+kd*(error(k)-error_1)/ts;
仿真结果如图3、4所示。
未增加卡尔曼滤波环节的车速PID控制时,系统性能指标为:系统超调量为13.3%,峰值时间为0.10 s,调整时间为5.00 s;
增加卡尔曼滤波环境的车速PID控制时,系统性能指标为:系统超调量为0%,峰值时间为0.18 s,调整时间为0.20 s。
从仿真结果来看:
(1)传统PID控制超调量较大,振荡次数较多,调整时间长,原因是受白噪声干扰较大;
(2)基于卡尔曼滤波器的PID车速控制调整时间短,而且没有出现超调,对白噪声的抑制作用明显,收敛速度快,有效改善了传统PID控制效果。
3 结 论
本文主要从PID控制理论为出发点,对智能车车速采用了基于卡尔曼滤波器的PID控制,从MATLAB仿真的结果来看,智能车车速通过基于卡尔曼滤波器的PID控制调节,有较快的响应速度,并能很快地使系统收敛至平稳状态,显著提升系统的控制效果。基于卡尔曼滤波的PID控制系统设计的不足是需要获取系统的精确模型,对PID调节系统参数也存在一定缺陷,另外,采用卡尔曼滤波器的系统通常需要系统本身具有线性和高斯性的特征。不过,在当前的实际控制系统应用中,PID控制经过卡尔曼滤波的改进在工程上有很不错效果。
参考文献:
[1] 肖文健,李永科.基于增量式PID控制算法的智能车设计 [J].信息技术,2012,36(10):125-127.
[2] 解瑞春,卫绍元,李刚.基于中心差分卡尔曼滤波的车速估计研究 [J].汽车实用技术,2015(1):29-31+59.
[3] 何文威.基于卡尔曼滤波器和PID控制的逆变器研究与设计 [D].广州:华南理工大学,2013.
[4] 翟宇鹏,张志杰.卡尔曼模糊自适应PID调速控制系统研究与仿真 [J].电子测量技术,2018,41(21):25-29.
[5] WENZEL T A,BURNHAM K J,BLUNDELL M V,et al. Dual extended Kalman filter for vehicle state and parameter estimation [J].Vehicle System Dynamics,2006,44(2):153-171.
作者简介:杨柳曼(1990—),女,汉族,江西南丰人,初级职称,硕士研究生,研究方向:数控技术、工业机器人应用。