您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 基于kalman的PID控制
第二十一章MATLAB优化算法案例分析与应用•21.1PID控制原理在模拟控制系统中,控制器最常用的控制规律是PID控制。模拟PID控制系统原理框图如图21-1所示。系统由模拟PID控制器和被控对象组成。图21-1模拟PID控制系统原理框图第二十一章MATLAB优化算法案例分析与应用•21.1PID控制原理简单来说,PID控制器各校正环节的作用如下:①比例环节:成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,以减少偏差。Kp越大,系统的响应速度越快,调节精度越高,但是容易产生超调,超过一定范围会导致系统振荡加剧甚至不稳定。②积分环节:主要用于消除静差,提高系统的无差度,可使系统稳定性下降,动态响应变慢。积分作用的强弱取决于积分时间常数T1,T1越大,积分作用越弱,系统的静态误差消除越快,但是容易在初期产生积分饱和现象,从而引起响应过程的较大超调。③微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。微分环节的作用是在回应过程中抑制偏差向任何方向的变化,对偏差变化进行提前预测。但是会使响应过程提前制动,从而延长调节时间。errort第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制在现代随机最优控制和随机信号处理技术中,信号和噪声往往是多维非平稳随机过程。因其时变性,功率谱不固定。在1961年初提出了卡尔曼滤波理论,该理论采用时域上的递推算法在数字计算机上进行数据滤波处理。离散卡尔曼滤波器递推算法为TnTPkCMkCPkCR1TTPkAPkABQBnnPkEMkCPk11nvxkAxkMkykCAxkeykCxk第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制卡尔曼滤波器结构如图21-2所示。图21-2卡尔曼滤波器结构图第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制21.2.1含噪音信号的滤波常见处理方法典型模拟滤波器有:巴特沃斯(Butterworth)滤波器具有单调下降的幅频特性;切比雪夫(Chebyshev)滤波器:幅频特性在通带或阻带有波动,提高选择性;贝塞尔(Bessel)滤波器:通带内较好的线性相位;椭圆(ElliPse)滤波器:较好的线性相位。不同的滤波器设计针对不同的信号分析处理,以期达到实时处理的效果,提高系统效率。(1)LMS滤波器权向量更新:*ˆˆ1wnwnunen期望信号的估计:ˆˆ111Hdnwnun估计误差:ˆ111endndn第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制21.2.1含噪音信号的滤波常见处理方法(1)LMS滤波器50100150200250300350400450500-1-0.8-0.6-0.4-0.200.20.40.60.81=0.05a1=-0.975a2=0.9550100150200250300350400450500-0.6-0.4-0.200.20.40.6=0.005a1=-0.975a2=0.95第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制21.2.1含噪音信号的滤波常见处理方法(1)LMS滤波器滤波器进行100次独立实验1020304050607080901000.0650.070.0750.080.0850.09误差e第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制21.2.1含噪音信号的滤波常见处理方法(1)LMS滤波器50100150200250300350400450500-1-0.8-0.6-0.4-0.200.20.40.60.81a1=-0.975,a2=0.95=0.05=0.005=0.000550100150200250300350400450500-2-1.5-1-0.500.511.52=0.05=0.005=0.0005图21-8误差曲线图21-7参数逼近第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制21.2.1含噪音信号的滤波常见处理方法(1)FIR滤波器重复100次,产生样本经由FIR滤波器,用RLS算法实现u(n)的线性预测,采用RLS算法迭代运算如下:11111HPnunknuPnunˆ1Hndnwnun*ˆˆ1wnwnknn1111HPnPnknuPn第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制21.2.1含噪音信号的滤波常见处理方法(1)FIR滤波器重复100次,01020304050607080901000.0650.070.0750.080.0850.090.0950.10.1050.11平均MSE第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制21.2.1含噪音信号的滤波常见处理方法卡尔曼滤波理论,该理论采用时域上的递推算法在数字计算机上进行数据滤波处理。通过不断的更新和矫正协方差值,通过不断的获取系统测量值,不断的把covariance递归,从而估算出最优估计值。Kalman滤波具有实时性,通过测量跟踪实现信号的分析处理,较LMS滤波器和FIR滤波器,具有误差小、实时效果好、滤波平滑等特点,广泛应用于动态多变量系统状态建模中。具体的kalman滤波流程图如图2-11所示。第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制21.2.2采用卡尔曼滤波器实现信号的滤波%MeasurementupdateMn=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;%滤波值errcov(k)=C*P*C';%估计量协方差值%Timeupdatex=A*x+B*u(k);u_2=u_1;u_1=u(k);y_2=y_1;y_1=ye(k);第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制21.2.2采用卡尔曼滤波器实现信号的滤波00.511.522.53-0.200.20.40.60.811.21.4time(s)y,yvsignalwithnoiseidealsignal图21-12原始信号及带有加性噪声的信号第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制21.2.2采用卡尔曼滤波器实现信号的滤波图21-13原始信号及滤波后的信号00.511.522.53-0.200.20.40.60.811.2time(s)y,yeidealsignalfilteredsignal第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制21.2.2采用卡尔曼滤波器实现信号的滤波图21-14误差协方差的变化00.511.522.5300.511.522.533.544.55x10-3time(s)Covarianceofestimationerror第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制21.2.3采用卡尔曼滤波进行测量温度的跟踪图21-15原始信号及加有噪音的信号0501001502002503002021222324252627282930SampletimeRoomTemperatureactualsignalVSsignal+whitenoiseexpectedmeasure第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制21.2.3采用卡尔曼滤波进行测量温度的跟踪图21-16kalman滤波信号和平滑处理后的信号0501001502002503002021222324252627282930SampletimeRoomTemperatureSmoothfilterVSkalmanfiltersmoothresultKalmanestimate第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制21.2.3采用卡尔曼滤波的PID控制系统图21-17基于卡尔曼的PID控制系统结构第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制21.2.3采用卡尔曼滤波PID控制采用卡尔曼滤波器的PID控制,如下列对象:213325pGsssy(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;yv(k)=y(k)+v(k);%MeasurementupdateMn=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;%滤波值第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制21.2.3采用卡尔曼滤波PID控制00.10.20.30.40.50.60.70.80.91-0.200.20.40.60.811.2time(s)yd,youtIdealpositionsignalPositiontracking图21-18无滤波器时PID控制阶跃响应(M=1)第二十一章MATLAB优化算法案例分析与应用•21.2基于卡尔曼滤波器的PID控制21.2.3采用卡尔曼滤波PID控制图21-19加入卡尔曼滤波器后的PID控制阶跃响应(M=2)00.10.20.30.40.50.60.70.80.9100.20.40.60.811.21.4time(s)yd,youtIdealpositionsignalPositiontracking
本文标题:基于kalman的PID控制
链接地址:https://www.777doc.com/doc-6202813 .html