logo资料库

基于模糊控制和PID控制的自主车辆速度跟踪控制.doc

第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
资料共19页,剩余部分请下载后查看
一、设计原理
E=EC=U={-3,-2,-1,0,1,2,3}
二、调整参数
一、设计原理 设计思想:油门控制采用增量式 PID 控制算法,刹车控制采用模 糊控制算法,最后通过选择规则进行选择控制量输入。 选择规则:首先定义速度偏差-50 km/h≤e(k)≤50km/h,-20≤ec= e(k)- e(k-1)≤20,阀值 eswith=10km/h。 若:e(k)<0① e(k)>- eswith and throttlr_1≠0 选择油门控制 ② 否则:先将油门控制量置 0,再选择刹车控制 若:0
u E EC U           ( , 5, 1) g x   ( , 3, 2,0) trig x   ( , 3, 1,1) trig x  ( , 2,0,2) trig x   ( , 1,1,3) trig x  ( ,0,2,3) trig x   ( ,1,5) g x  说明:边界选择钟形隶属度函数,中间选用三角形隶属度函数, 图像略。实际 EC 和 E 输入值若超出论域范围,则取相应的端点值。 3.模糊控制规则 由隶属度函数可以得到语言值隶属度(通过图像直接可以看出) 如下表: 表 1:E/EC 和 U 语言值隶属度向量表 -3 1 0 0 0 0 0 0 -2 0.5 1 -1 0 0.5 0.5 1 0 0 0 0 0.5 0 0 0 0 0 0 0.5 1 1 0 0 0 0.5 0.5 1 0 0 0.5 0 2 0 0 0 0 0.5 1 0.5 3 0 0 0 0 0 0 1 NB NM NS ZO PS PM PB P0 P1 P2 P3 P4 P5 P6 设置模糊规则库如下表: 表 2:模糊规则表 U EC — NB NM NS ZO PS PM PB NB PB PB PM PM PS PS ZO NM PB PM PM PS PS ZO ZO E NS PM PM PS PS ZO ZO ZO ZO PM PS PS ZO ZO ZO NS* PS PS ZO ZO ZO ZO NS NM PM ZO ZO NS NS NS NM NM PB ZO NS NS NM NM NB NB 3.模糊推理
由模糊规则表 3 可以知道输入 E 与 EC 和输出 U 的模糊关系,这 里我取两个例子做模糊推理如下: if (E is NB) and (EC is NM) then (U is PB) 那么他的模糊关系子矩阵为: R 1  R E 1  R EC 2  R U 1 其中, RE 1  P ,0,5.0,1(0   )0, 71  ,即表 1 中 NB 对应行向量,同理可 以得到, REC 2  ,0,5.0,1,0(1 P   )0, 71  , RU 1  P ,0,5.0,1(0   )0, 71  R E 1  R EC 2  ,0,5.0,1(  T )0,  ,0,5.0,1,0(  )0,  ECER 1 2  ,0,5.0,5.0,0,0,0,0,0,5.0,1,0(  )0, 491          1 0 05.0 05.05.00 0 0   0 0 0  0 0  0      0 0 0  0         77  R 1  R 1 ECE 2  R U 1  ,5.0,1,0(  T )0,  if (E is NB or NM) and   )0, ,0,5.0,1(         (EC is NB) 0 00 0 1 005.0 005.05.0  0  00    0 0 0  0  0          749  then (U is PB) R 2  ( R 1 E  R E 2 )  R 1 EC  R U 1 ,结果略。 按此法可得到 27 个关系子矩阵,对所有子矩阵取并集得到模糊 关系矩阵如下: RR 1   R 2  ( iR i  ,2,1  )27, 由 R 可以得到模拟量输出为: U  ( E EC R  ) 
4.去模糊化 由上面得到的模拟量输出为 1×7 的模糊向量,每一行的行元素(u (zij))对应相应的离散变量 zj,则可通过加权平均法公式解模糊: u  21 i    0 21 ( u z ) z j ij ( u z ij ) i  0 ( i   j 1,2,  ,21) 从而得到实际刹车控制量的精确值 u。 油门控制: 油门控制采用增量式 PID 控制,即: )( ku  ( ku )1  ( k  k i  k d p )() ke (  k  2 k d p () ke )1  ( kek d  )2 其中 ki=kp×ts/Ti, dk =kp×Td/ts只需要设置 pk 、Ti、Td 三个参数即可输 出油门控制量。 二、调整参数 按照上述算法流程,应用 MATLAB 进行仿真实现,在参数调试 过程中采用如下方法: 首先将油门和刹车分开进行调整参数,最后再将调整好的参数写 入总程序中调整。 1.油门 PID 参数调节 油门只需要调整 kp、Ti、Td 三个参数,根据经验,首先令 Ti、 Td 为 0,kp 由 0 逐渐增大,在增大 kp 的过程可知,kp 越大系统调节 时间越短并趋于稳定,在达到一定程度后,继续增大系统将出现波动。
10 9 8 7 6 5 4 3 2 1 y , d v ideal reality 10 9 8 7 6 5 4 3 2 1 y , d v ideal reality 0 0 1 2 3 4 5 time(s) 6 7 8 9 10 0 0 1 2 3 4 5 time(s) 6 7 8 9 10 kp=0.4 ideal reality kp=0.1 12 10 8 6 4 2 y , d v 0 0 1 2 3 4 5 time(s) 6 7 8 9 10 kp=0.9 调节 Ti 的过程发现,Ti 对系统稳定性影响并不大,将 Ti 由 10 增大到 30 的过程中系统输出没有变化。 10 9 8 7 6 5 4 3 2 1 y , d v ideal reality 10 9 8 7 6 5 4 3 2 1 y , d v ideal reality 0 0 1 2 3 4 5 time(s) 6 7 8 9 10 0 0 1 2 3 4 5 time(s) 6 7 8 9 10 Ti=10 Ti=30 在给 Td 赋值时,最开始从 1 增大,发现系统越来越不稳定,于 是逐渐减小,到 0.003 时趋于稳定,它的可调节范围很小,随其值的 减小最大误差值逐渐减小,增大则系统趋于不稳定。
12 10 8 6 4 2 y , d v ideal reality 10 9 8 7 6 5 4 3 2 1 y , d v ideal reality 0 0 1 2 3 4 5 time(s) 6 7 8 9 10 0 0 1 2 3 4 5 time(s) 6 7 8 9 10 kp=0.002 ideal reality kp=0.001 10 9 8 7 6 5 4 3 2 1 y , d v 0 0 1 2 3 4 5 time(s) 6 7 8 9 10 kp=0.003 2.刹车调节 首先,为了适应该系统,将刹车输出量限制在[-150,150]之内(最 初设计其范围为[-30,30]),对于该控制,可调节参数较多,包括隶 属度函数、模糊规则表、输入输出变量区间、语言值论域、模糊推理 及解模糊方法等等,这里由于模糊规则需要经验设定,本算法没有实 际参考,所以这里只调整规则表,其他参数固定不变。 以下为最初设计的模糊规则表: U EC — NB NM NS ZO PS PM PB NB PB PB PM PM PS PS ZO E NM PB PM PM PS PS ZO ZO NS PM PM PS PS ZO ZO ZO ZO PM PS PS ZO ZO ZO ZO 由于实际刹车控制中对于加速采取比较单一的置零(在选择规则
中设定)输出,所以在规则表中 e<0 部分没有规则,然而为了仿真方 便,使参数调节更清晰,重新定义模糊规则表如下: U EC — NB NM NS ZO PS PM PB NB PB PB PM PS PS PS ZO NM PB PM PM ZO PS ZO ZO E NS PM PM PS ZO ZO ZO ZO ZO PM PS PS ZO ZO ZO NS* PS PS ZO ZO ZO ZO NS NM PM ZO ZO NS NS NS NM NM PB ZO NS NS NM NM NB NB 与此同时,将刹车的输出变量取反,以此来实现减速的效果!在 调整模糊规则表的时候,必须依据输入变量 e 和 ec 的范围逐个检验, 按照他们各自的语言值以及相应的输出语言值进行调整。 例如,初始速度为 50,期望速度为 0,即 e=-50,ec=-50,则此 时输出对应模糊规则表中第一行第一列 PB,而下一时刻 ec 几乎为 0, 所以在调节过程中,主要进行对 EC 变量的 ZO 行进行调节,若响应 时间短,则增大相应输出语言值,反之亦然。 仿真时,分两段,首先加速,之后减速,采用上面的模糊规则表, 得到如下图像: 50 40 30 y , d v 20 10 0 -10 0 ideal reality 1 2 3 4 5 time(s) 6 7 8 9 10 从图像的上升阶段分析可以看出,其加速阶段并不能达到稳态 值,但对于刹车控制可以忽略其影响,而减速阶段实际上已经比较理 想,我取稳态误差达到 5%稳定,则此规则达到稳态的时间为 7.4s, 这里尝试进行如下修改,将规则表中带下划线的部分以此改为:
PM,PS,PS,ZO,即,增大了输出语言值。则得到如下图像: 50 40 30 y , d v 20 10 0 -10 0 ideal reality 1 2 3 4 5 time(s) 6 7 8 9 10 此规则达到稳定的时间为 6.9s,由此分析模糊规则的调整规则如 下:若想加快响应时间,增大误差和误差变化率负大区域附近的输出 语言值,并增大误差变化率零区域附近的输出语言值,可能还会引起 超调量的增大,所以只需做临近语言值之间的变化。 3.整体调节 此时将刹车与油门同时加到仿真模型中,分别做加速和减速仿 真,依据分别调节时的规律做微量调节就可以基本达到要求。 45 40 35 30 25 y , d v 20 15 10 5 0 -5 0 期 望 实 际 5 10 15 20 time(s) 25 30 35 40 4.待解决问题 在调试过程中发现,油门控制(PID)过程在达到稳态时出现抖 动,并且三个参数对他的影响很小,具体原因待考证;油门控制给系 统的输入值出现大波动,每一次达到峰值持续相同时间后变为 0 再持
分享到:
收藏