模糊PID控制在底盘测功机中的应用研究

2015-01-20 03:22杨大柱
电脑知识与技术 2014年36期
关键词:仿真模糊控制

摘要:底盘测功机是一个复杂的时变非线性、大惯性系统,传统的PID控制对于非线性、时变性的系统难以达到控制精度的要求,而模糊PID控制具有在线自动调整的功能,从对传统的PID与模糊PID比较的基础上。分析了参数对系统性能的影响,并利用MATLAB软件中的模糊工具箱对连续系统进行了仿真,仿真结果表明,模糊PID控制器具有良好的跟踪性能,超调量小、控制精度高、调节速度快,可以实现对PID参数的最佳调整。

关键词:模糊控制;仿真; PID;Simulink

中图分类号:TP301 文献标识码:A 文章编号:1009-3044(2014)36-8825-03

底盘测功机是一种重要的汽车性能的检测设备,可以进行汽车动力性、燃油经济性、排放性能等相关试验,底盘测功机的核心是测功装置及其控制系统,目前应用最广的测功装置是电涡流测功器,进行底盘测功机试验时,通过飞轮组来模拟汽车所受的惯性阻力,通过测功器来对汽车加载,以模拟汽车各种工况下所受的路面阻力。

底盘测功机有两个最主要的控制状态:恒速工况和恒转矩工况,它们的实现都是通过对电涡流测功器电流的调节来完成的,所以控制部分最主要的功能是对电涡流测功器的加载控制,加载控制最常用的控制规律是PID控制,PID控制器的性能直接决定了恒速、恒转矩工况的控制效果。目前常用的传统PID控制对于非线性、时变性的系统难以达到控制精度和响应速度的要求,该文设计了基于模糊PID的控制模型,并进行了仿真和实验,并与传统PID 控制系统进行了对比研究。

1 PID控制原理

1.1 传统PID控制原理

传统PID控制器是一种线性控制器,传统PID控制系统原理如图1所示,其中虚框内表示的是PID控制器结构,它根据给定值[r(t)]与实际输出值[y(t)]构成偏差[e(t)],

[e(t)=r(t)-y(t)]

将偏差比例(P)、积分(I)和微分(D)控制,通过线性组合构成控制量,对被控对象进行控制,故称PID控制器。对于连续时间系统,其控制规律为

[u(t)=KP[e(t)+1TI0te(t)dt+TDde(t)dt]]

其传递函数形式为:

[G(S)=U(S)E(S)=Kp1+1TIS+TDS]

式中[u(t)]为PID控制器的输出,[t]为采样时间,[KP、TI、TD]分别为比例系数、积分时间常数、微分时间常数。

图1 PID控制系统原理图

1.2 模糊PID控制原理

底盘测功机中常采用传统PID进行控制,传统PID控制在线性控制时具有算法简单、鲁棒性好等优点,但是随着对测量精度的要求不断提高,这种控制方法表现出了它的局限性,传统PID控制不具有在线调整参数的功能,特别是控制过程中加载的励磁电流与输出转矩是非线性关系,而模糊PID适应非线性控制场合,且具有自适应功能。

系统工作时事先给定一个确定的输入速度值或转矩值,根据闭环系统负反馈回来的转速值或转矩值求得偏差[e],再对偏差求得微分运算,求得偏差的变化率[ec]。以偏差[e]和偏差变化率[ec]作为模糊控制器的输入,然后通过模糊控制决策求出PID控制的三个重要参数,分别是[KP、KI、KD],经过模糊PID的调整后,控制电涡流测功器的励磁电流,控制底盘测功机的加载,同时将输出即转速或转矩值引回输入端作为反馈信息,从而实现了底盘测功机的闭环控制。

在模糊PID控制中模糊推理是核心,模糊推理就是基于模糊逻辑和模糊规则,根据输入模糊量来求解输出模糊量的过程,在模糊控制器中模糊推理在推理机中进行。从模糊数学的角度上说,模糊推理就是己知模糊规则的前件,推导模糊后件的过程。其数学表现形式就是模糊集合的运算。由于实际中,模糊前件往往不是一个,而是多个模糊前件一起决定一个模糊后件,所以就引入了一种运算叫“模糊蕴涵”。模糊蕴涵是用来评价和确定模糊规则的前件部分对结论部分产生的影响。常用的模糊蕴涵的方法有乘积蕴涵和最小蕴涵,乘积蕴涵表达式为:

[μR(x,y)=μP(x)μQ(y)]

最小蕴涵表达式为:

[μR(x,y)=min(μP(x),μQ(y))]

非模糊化处理又称解模糊,它是模糊控制器的最后一道工序,其作用是将通过模糊推理得出的模糊输出量转换为确定量输出。目前,解模糊的常用方法有:最大隶属度法、最大准则法和重心法等。其中,最为常用的是重心法:

[uFC(xk,yk)=iui?μu(xk,yk,ui)iμu(xk,yk,ui)]

式中,[uFC(xk,yk)]表示经过解模糊后的确定值;[ui]是输出模糊集合的元素,可以是离散的或连续的;[μu(xk,yk,ui)]为输出模糊集合元素对应的隶属函数。

2 模糊PID控制方案的设计

设计模糊自适应PID控制系统的核心是设计模糊控制器,在设计模糊控制器的过程中,确定模糊控制器的结构、建立模糊规则并选定近似推理算法是两个核心工作,与之配套的是设计模糊化模块、选择模糊子集的隶属度函数、设计解模糊模块并选择解模糊方法。其中根据积累的人工操作经验或测试数据,建立模糊控制规则是设计最为核心的工作。

2.1 量化因子和比例因子

量化因子和比例因子除了进行论域变换,使前后模块匹配之外,在整个系统中还有一定的调节作用。因为它的变化就意味着对实际测量信号的放大或缩小,直接影响着采样信号对系统的调节控制作用。文中为了便于比较模糊自适应PID与经典的PID控制效果,将[KP、KI、KD]3个因子不再变化,而是通过改变模糊论域和量化因子、比例因子的方法改变输出量。

2.2 模糊论域及隶属度函数设计

设计的模糊PID控制器有两个输入量,三个输出量。其中两个输入量为偏差[e]与偏差变化率[ec],论域均为{-3 ,-2,-1,0,1,2,3 },对其进行隶属度划分,可分为{NB(负大),NM(负中),NS(负小),Z(零),PS(正小),PM(正中),PB(正大)}七个模糊子集。模糊控制器的三个输出分别为[KP、KI、KD]论域均为{-3 ,-2,-1,0,1,2,3 } ,并也都划分为七个模糊子集,各变量的隶属度函数均采用三角形函数。

2.3 模糊控制规则设计

比例因子[KP]用来使输入量向误差减小的方向变化,加大[KP]可以减小静差,但[KP]过大会导致系统超调过大,系统动态性能下降;微分因子[KD]的作用是对误差进行微分,感知误差变化的趋势,加大[KD]可以加快系统响应,使系统超调减小,但过大的[KD]会使系统对干扰信号过于敏感,系统抗干扰能力下降;积分因子[KI] 的作用是对误差进行记忆并积分,有利于消除系统的静差,由于积分运算具有滞后性,所以过大的[KI] 会使被控制对象的动态品质变坏。针对上述特点,在不同的[e]和[ec]下,被控过程对参数[KP、KI、KD]因子的整定要求归结如下:

1) 当系统的偏差较大时,此时为了让系统具有更好的跟随性,应当适当的增大[KD]并减小[KI] ,同时为了使系统稳定,减小超调量,应取较小的[KI]。

2) 当[e]和[ec]中等大小时,此时为了减小超调,让系统更稳定,应当减小[KP],使系统更贴近于理想的状况,此时[KD]会对系统的响应速度造成比较大的影响,适当调整[KD]与[KI]值。

3) 当偏差较小时,为了使系统更稳定,应当适当调整[KP],同时为了使静差减小应当加大积分作用,同时[KD]的取值不应偏大或偏小,因为这两种情况都会使超调量变大,调节时间变长。

利用MATLAB语言模糊控制工具箱建立表1所示规则,模糊规则编辑器如图2所示。模糊蕴涵采用最小蕴涵,模糊合成采用取大一取小整合,解模糊采用重心法,得到如图3所示的输入/输出关系曲面。

3 PID控制建模与仿真

3.1传统PI D控制建模与仿真

建立恒转速状态下的常规PID控制Simulink仿真模型,以观察动态阶跃响应曲线,并为模糊PID的[KP、KI、KD]的初值提供参考。根据文献资料可知底盘测功机在恒速运转下的传递函数经参数辨识为[GS=523500S3+87.35S2+10470S],所搭建的Simulink模型如图4所示。

图4 传统PID控制仿真模型

图5 传统PID控制仿真结果

其中,阶跃信号作为系统的输入,经过调试选取[KP、KI、KD]的值分别为0.9 ,0.016, 0.0001,并将此值作为模糊PID的[KP、KI、KD]始值的参考值,此时输出量的动态响应如图5所示,取仿真时间为0.5 s,从图中可以看出,在常规PID控制下输出稳定值出现在0.3s左右,跟随性较好。

3.2 模糊PID控制建模与仿真

利用Simulink建立模糊PID的仿真模型,根据[e], [ec]来调整[KP、KI、KD]的值,使得系统的动态响应跟随性较好,所搭建的仿真模型如图6所示,其中fuzzy PID controller为封装模块,其内部封装如图7所示,图7中又包括两部分封装fuzzy logic controller2和PID controller,具体结构分别为图8、9所示。双击图8中的fuzzy logic controller模块,输入信号源取单位阶跃脉冲信号,仿真时间取0.5 s,运行仿真,可得如图10所示的模糊PID控制系统仿真结果,可以看出模糊PID的控制下响应稳定值出现在0.17s左右,且跟随性较好。

图6 模糊PID控制仿真模型

图7 fuzzy PID controller的内部封装

图8 fuzzy logic controller2的内部封装

图9 PID controller 的内部封装

图10 模糊PID控制的仿真结果

4 整车验证试验

根据文中所建立的模糊PID控制模型,对底盘测功机的控制系统进行了重新的设计,并进行了整车验证试验,试验用车为三菱帕杰罗,根据实车运行速度数据表绘出传统PID控制和模糊PID控制下速度曲线如图11所示。从速度曲线可以看出所选择的6个速度点分别是30km/h, 40km/h, 50km/h, 60km/h, 70km/h, 80km/h,并且每个速度点保持10s的时间,每当汽车加速到下一速度点时都会出现大幅度的震荡现象,尤其是当汽车从开始加速到30km/h时,这是由于滚筒刚开始加载对汽车的惯性影响,随后速度都会趋于稳定并保持在相应的速度点,但也会有小幅度震荡,这也与驾驶员操作等因素有关。从图中两条曲线的对比可以看出,采用PID控制的效果要优于传统PID控制效果。

图11 采用传统PID与模糊PID控制的汽车运行速度曲线图

本文在传统PID控制的基础上设计了模糊PID控制系统。该系统基于大滞后、时变、非线性等复杂环境, Simulink仿真和整车验证试验结果都表明:模糊PID控制速度曲线比传统PID控制速度曲线超调量小、震荡少、响应速度快,系统的控制精度得到进一步提高,验证了所建立模拟PID控制模型的正确性与实用性。

参考文献:

[1] 刘金琨.先进PID控制MATLAB仿真[M].3版.北京:电子工业出版社,2011.

[2] 高萌,刘子铭.汽车底盘测功行驶阻力模拟系统的研究[J].车辆与动力技术,2012(4):16-19.

[3] 石辛民,郝整清.模糊控制及其MATLAB仿真[M].北京:清华大学出版社,2008.

2.2 模糊论域及隶属度函数设计

设计的模糊PID控制器有两个输入量,三个输出量。其中两个输入量为偏差[e]与偏差变化率[ec],论域均为{-3 ,-2,-1,0,1,2,3 },对其进行隶属度划分,可分为{NB(负大),NM(负中),NS(负小),Z(零),PS(正小),PM(正中),PB(正大)}七个模糊子集。模糊控制器的三个输出分别为[KP、KI、KD]论域均为{-3 ,-2,-1,0,1,2,3 } ,并也都划分为七个模糊子集,各变量的隶属度函数均采用三角形函数。

2.3 模糊控制规则设计

比例因子[KP]用来使输入量向误差减小的方向变化,加大[KP]可以减小静差,但[KP]过大会导致系统超调过大,系统动态性能下降;微分因子[KD]的作用是对误差进行微分,感知误差变化的趋势,加大[KD]可以加快系统响应,使系统超调减小,但过大的[KD]会使系统对干扰信号过于敏感,系统抗干扰能力下降;积分因子[KI] 的作用是对误差进行记忆并积分,有利于消除系统的静差,由于积分运算具有滞后性,所以过大的[KI] 会使被控制对象的动态品质变坏。针对上述特点,在不同的[e]和[ec]下,被控过程对参数[KP、KI、KD]因子的整定要求归结如下:

1) 当系统的偏差较大时,此时为了让系统具有更好的跟随性,应当适当的增大[KD]并减小[KI] ,同时为了使系统稳定,减小超调量,应取较小的[KI]。

2) 当[e]和[ec]中等大小时,此时为了减小超调,让系统更稳定,应当减小[KP],使系统更贴近于理想的状况,此时[KD]会对系统的响应速度造成比较大的影响,适当调整[KD]与[KI]值。

3) 当偏差较小时,为了使系统更稳定,应当适当调整[KP],同时为了使静差减小应当加大积分作用,同时[KD]的取值不应偏大或偏小,因为这两种情况都会使超调量变大,调节时间变长。

利用MATLAB语言模糊控制工具箱建立表1所示规则,模糊规则编辑器如图2所示。模糊蕴涵采用最小蕴涵,模糊合成采用取大一取小整合,解模糊采用重心法,得到如图3所示的输入/输出关系曲面。

3 PID控制建模与仿真

3.1传统PI D控制建模与仿真

建立恒转速状态下的常规PID控制Simulink仿真模型,以观察动态阶跃响应曲线,并为模糊PID的[KP、KI、KD]的初值提供参考。根据文献资料可知底盘测功机在恒速运转下的传递函数经参数辨识为[GS=523500S3+87.35S2+10470S],所搭建的Simulink模型如图4所示。

图4 传统PID控制仿真模型

图5 传统PID控制仿真结果

其中,阶跃信号作为系统的输入,经过调试选取[KP、KI、KD]的值分别为0.9 ,0.016, 0.0001,并将此值作为模糊PID的[KP、KI、KD]始值的参考值,此时输出量的动态响应如图5所示,取仿真时间为0.5 s,从图中可以看出,在常规PID控制下输出稳定值出现在0.3s左右,跟随性较好。

3.2 模糊PID控制建模与仿真

利用Simulink建立模糊PID的仿真模型,根据[e], [ec]来调整[KP、KI、KD]的值,使得系统的动态响应跟随性较好,所搭建的仿真模型如图6所示,其中fuzzy PID controller为封装模块,其内部封装如图7所示,图7中又包括两部分封装fuzzy logic controller2和PID controller,具体结构分别为图8、9所示。双击图8中的fuzzy logic controller模块,输入信号源取单位阶跃脉冲信号,仿真时间取0.5 s,运行仿真,可得如图10所示的模糊PID控制系统仿真结果,可以看出模糊PID的控制下响应稳定值出现在0.17s左右,且跟随性较好。

图6 模糊PID控制仿真模型

图7 fuzzy PID controller的内部封装

图8 fuzzy logic controller2的内部封装

图9 PID controller 的内部封装

图10 模糊PID控制的仿真结果

4 整车验证试验

根据文中所建立的模糊PID控制模型,对底盘测功机的控制系统进行了重新的设计,并进行了整车验证试验,试验用车为三菱帕杰罗,根据实车运行速度数据表绘出传统PID控制和模糊PID控制下速度曲线如图11所示。从速度曲线可以看出所选择的6个速度点分别是30km/h, 40km/h, 50km/h, 60km/h, 70km/h, 80km/h,并且每个速度点保持10s的时间,每当汽车加速到下一速度点时都会出现大幅度的震荡现象,尤其是当汽车从开始加速到30km/h时,这是由于滚筒刚开始加载对汽车的惯性影响,随后速度都会趋于稳定并保持在相应的速度点,但也会有小幅度震荡,这也与驾驶员操作等因素有关。从图中两条曲线的对比可以看出,采用PID控制的效果要优于传统PID控制效果。

图11 采用传统PID与模糊PID控制的汽车运行速度曲线图

本文在传统PID控制的基础上设计了模糊PID控制系统。该系统基于大滞后、时变、非线性等复杂环境, Simulink仿真和整车验证试验结果都表明:模糊PID控制速度曲线比传统PID控制速度曲线超调量小、震荡少、响应速度快,系统的控制精度得到进一步提高,验证了所建立模拟PID控制模型的正确性与实用性。

参考文献:

[1] 刘金琨.先进PID控制MATLAB仿真[M].3版.北京:电子工业出版社,2011.

[2] 高萌,刘子铭.汽车底盘测功行驶阻力模拟系统的研究[J].车辆与动力技术,2012(4):16-19.

[3] 石辛民,郝整清.模糊控制及其MATLAB仿真[M].北京:清华大学出版社,2008.

2.2 模糊论域及隶属度函数设计

设计的模糊PID控制器有两个输入量,三个输出量。其中两个输入量为偏差[e]与偏差变化率[ec],论域均为{-3 ,-2,-1,0,1,2,3 },对其进行隶属度划分,可分为{NB(负大),NM(负中),NS(负小),Z(零),PS(正小),PM(正中),PB(正大)}七个模糊子集。模糊控制器的三个输出分别为[KP、KI、KD]论域均为{-3 ,-2,-1,0,1,2,3 } ,并也都划分为七个模糊子集,各变量的隶属度函数均采用三角形函数。

2.3 模糊控制规则设计

比例因子[KP]用来使输入量向误差减小的方向变化,加大[KP]可以减小静差,但[KP]过大会导致系统超调过大,系统动态性能下降;微分因子[KD]的作用是对误差进行微分,感知误差变化的趋势,加大[KD]可以加快系统响应,使系统超调减小,但过大的[KD]会使系统对干扰信号过于敏感,系统抗干扰能力下降;积分因子[KI] 的作用是对误差进行记忆并积分,有利于消除系统的静差,由于积分运算具有滞后性,所以过大的[KI] 会使被控制对象的动态品质变坏。针对上述特点,在不同的[e]和[ec]下,被控过程对参数[KP、KI、KD]因子的整定要求归结如下:

1) 当系统的偏差较大时,此时为了让系统具有更好的跟随性,应当适当的增大[KD]并减小[KI] ,同时为了使系统稳定,减小超调量,应取较小的[KI]。

2) 当[e]和[ec]中等大小时,此时为了减小超调,让系统更稳定,应当减小[KP],使系统更贴近于理想的状况,此时[KD]会对系统的响应速度造成比较大的影响,适当调整[KD]与[KI]值。

3) 当偏差较小时,为了使系统更稳定,应当适当调整[KP],同时为了使静差减小应当加大积分作用,同时[KD]的取值不应偏大或偏小,因为这两种情况都会使超调量变大,调节时间变长。

利用MATLAB语言模糊控制工具箱建立表1所示规则,模糊规则编辑器如图2所示。模糊蕴涵采用最小蕴涵,模糊合成采用取大一取小整合,解模糊采用重心法,得到如图3所示的输入/输出关系曲面。

3 PID控制建模与仿真

3.1传统PI D控制建模与仿真

建立恒转速状态下的常规PID控制Simulink仿真模型,以观察动态阶跃响应曲线,并为模糊PID的[KP、KI、KD]的初值提供参考。根据文献资料可知底盘测功机在恒速运转下的传递函数经参数辨识为[GS=523500S3+87.35S2+10470S],所搭建的Simulink模型如图4所示。

图4 传统PID控制仿真模型

图5 传统PID控制仿真结果

其中,阶跃信号作为系统的输入,经过调试选取[KP、KI、KD]的值分别为0.9 ,0.016, 0.0001,并将此值作为模糊PID的[KP、KI、KD]始值的参考值,此时输出量的动态响应如图5所示,取仿真时间为0.5 s,从图中可以看出,在常规PID控制下输出稳定值出现在0.3s左右,跟随性较好。

3.2 模糊PID控制建模与仿真

利用Simulink建立模糊PID的仿真模型,根据[e], [ec]来调整[KP、KI、KD]的值,使得系统的动态响应跟随性较好,所搭建的仿真模型如图6所示,其中fuzzy PID controller为封装模块,其内部封装如图7所示,图7中又包括两部分封装fuzzy logic controller2和PID controller,具体结构分别为图8、9所示。双击图8中的fuzzy logic controller模块,输入信号源取单位阶跃脉冲信号,仿真时间取0.5 s,运行仿真,可得如图10所示的模糊PID控制系统仿真结果,可以看出模糊PID的控制下响应稳定值出现在0.17s左右,且跟随性较好。

图6 模糊PID控制仿真模型

图7 fuzzy PID controller的内部封装

图8 fuzzy logic controller2的内部封装

图9 PID controller 的内部封装

图10 模糊PID控制的仿真结果

4 整车验证试验

根据文中所建立的模糊PID控制模型,对底盘测功机的控制系统进行了重新的设计,并进行了整车验证试验,试验用车为三菱帕杰罗,根据实车运行速度数据表绘出传统PID控制和模糊PID控制下速度曲线如图11所示。从速度曲线可以看出所选择的6个速度点分别是30km/h, 40km/h, 50km/h, 60km/h, 70km/h, 80km/h,并且每个速度点保持10s的时间,每当汽车加速到下一速度点时都会出现大幅度的震荡现象,尤其是当汽车从开始加速到30km/h时,这是由于滚筒刚开始加载对汽车的惯性影响,随后速度都会趋于稳定并保持在相应的速度点,但也会有小幅度震荡,这也与驾驶员操作等因素有关。从图中两条曲线的对比可以看出,采用PID控制的效果要优于传统PID控制效果。

图11 采用传统PID与模糊PID控制的汽车运行速度曲线图

本文在传统PID控制的基础上设计了模糊PID控制系统。该系统基于大滞后、时变、非线性等复杂环境, Simulink仿真和整车验证试验结果都表明:模糊PID控制速度曲线比传统PID控制速度曲线超调量小、震荡少、响应速度快,系统的控制精度得到进一步提高,验证了所建立模拟PID控制模型的正确性与实用性。

参考文献:

[1] 刘金琨.先进PID控制MATLAB仿真[M].3版.北京:电子工业出版社,2011.

[2] 高萌,刘子铭.汽车底盘测功行驶阻力模拟系统的研究[J].车辆与动力技术,2012(4):16-19.

[3] 石辛民,郝整清.模糊控制及其MATLAB仿真[M].北京:清华大学出版社,2008.

猜你喜欢
仿真模糊控制
T-S模糊控制综述与展望
基于模糊控制的PLC在温度控制中的应用
基于模糊控制的恒压供水系统的研究
用于光伏MPPT中的模糊控制占空比扰动法