一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于粒子群-遗传混合算法的车辆横向PID控制方法与流程

2021-12-01 01:33:00 来源:中国专利 TAG:

基于粒子群

遗传混合算法的车辆横向pid控制方法
技术领域
1.本发明涉及一种车辆横向pid控制方法,更具体的说,尤其涉及一种基于粒子群

遗传混合算法的车辆横向pid控制方法。


背景技术:

2.自动驾驶作为人工智能、物联网、自动控制等技术的重要展示平台,是当前车辆工程中重要的研究方向之一。其研究的目的是实现车辆可替代驾驶员完成驾驶任务,并保证行驶过程中的安全性、舒适性。随着5g技术的发展,无线通讯延时的进一步降低,基于云边协同任务调度与管理技术也逐渐用于自动驾驶之中,用于实现自动驾驶中车辆的信息共享,精准控制等。而在自动驾驶中,车辆的横向控制一直是研究的难点之一,因为其受到车速、环境、车辆自身等状况的影响,往往难以达到预期的控制效。因此车辆横向控制研究具有十分重要的理论意义和应用价值,其主要研究内容包括控制器设计、控制器参数整定以及智能算法在控制器参数整定中的应用等。
3.目前,在车辆路径跟踪横向控制中常用的算法有pid控制、模糊控制、线性二次调节器、鲁棒控制、模型预测控制等。其中,pid控制由于其简单可靠,已经被广泛应用于各种控制场景中。但是常规固定参数pid控制在不同车速,动态、复杂的环境中往往难以达到预期的控制效果。
4.因此,为了改善固定参数的pid控制器面对动态、复杂情况时控制能力不足的问题,诸多研究人员提出了改进的pid控制器。在文献“zhao p,chen j,song y,et al.design of a control system for an autonomous vehicle based on adaptive

pid[j].international journal of advanced robotic systems,2012,9(2):44”中,作者为了抑制瞬时误差,改善在大范围参数变化和干扰情况下车辆的跟踪性能,提出了一种自适应pid(adaptive

pid)。在文献“han g,fu w,wang w,et al.the lateral tracking control for the intelligent vehicle based on adaptive pid neural network[j].sensors,2017,17(6):1244”中,作者将神经网络pid用于智能车辆横向路径跟踪控制。在文献“赵盼.城市环境下无人驾驶车辆运动控制方法的研究[d].中国科学技术大学,2012”中,作者使用两个pid控制器分别控制车辆速度和路径跟踪,车辆纵向控制使用基于专家经验pid控制器,横向控制使用一种基于小脑模型神经网络的pid控制器。在文献“huang g,yuan x,shi k,et al.a bp

pid controller

based multi

model control system for lateral stability of distributed drive electric vehicle[j].journal of the franklin institute,2019,356(13):7290

7311”中,作者建立了多模型控制系统(multi

model control system),并使用基于bp神经网络的pid控制器(bp

pid)用于车辆横向控制。
[0005]
但是在解决车辆横向控制问题时,由于车辆的运动模型受环境影响较大,基于模型的自适应pid控制方式往往参考模型难以确定。而专家pid等需要大量的先验知识才能建立准确的知识库,车辆在未知情况下行驶,很难获得全面的先验知识。而基于神经网络的pid控制器若网络简单,则面对复杂情况时控制效果较差,若网络复杂则会大大增加运算
量。
[0006]
在实际应用中,除了控制器的设计,控制器参数的整定也是控制器设计中十分重要的一部分。齐格勒

尼科尔斯法则(ziegler

nichols method)常常用于pid参数的整定,但是这种整定方式更加注重对于噪声的抑制,其整定得到的参数往往会导致较大超调。为了获得更优的控制参数,粒子群算法,遗传算法等智能算法越来越多的应用于pid控制器的参数整定中。
[0007]
在文献“allou s,zennir y.a comparative study of pid

pso and fuzzy controller for path tracking control of autonomous ground vehicles[c]//icinco(1).2018:306

314”中,作者使用两个pid控制器进行车辆轨迹追踪,并用粒子群算法进行参数优化。在文献“zhao b,wang h,li q,et al.pid trajectory tracking control of autonomous ground vehicle based on genetic algorithm[c]//2019 chinese control and decision conference(ccdc).ieee,2019:3677

3682”中,作者使用遗传算法优化pid控制器的参数。在文献“tang k s,man k f,chen g,et al.an optimal fuzzy pid controller[j].ieee transactions on industrial electronics,2001,48(4):757

765”,作者提出了一种最优模糊pid控制,并使用遗传算法优化控制器的参数。在文献“xu t,wang d,zhang w.anon

overshooting controller for vehicle path following[j].transactions of the institute of measurement and control,2021,43(10):2282

2291”中,作者为了减少无人驾驶铰接式车辆的超调以及提高路径跟踪精度,提出了基于比例积分半径和改进粒子群优化(proportional

integral

radius and improved particle swarm optimization controller)的pi控制器,该控制器使用一种改进粒子群算法优化pi参数。在文献“qiao n,wang l,zhu w,et al.an improved path

tracking controller with mid

angle adaptive calibration for combine harvester[j].journal of instrumentation,2020,15(01):p01025”,作者使用改进粒子群算法进行pid参数的优化,并用于车辆横向控制中,在文献“wang l,wang w,du y,et al.anovel adaptive fuzzy pid controller based on piecewise pid controller for dynamic positioning of sandglass

type fdpso[j].journal of marine science and technology,2019,24(3):720

737”中,作者提出了基于分段pid的自适应模糊pid控制,并使用改进粒子群算法进行参数优化。
[0008]
单一的智能算法在进行pid参数寻优时,往往因其自身固有的缺陷,或收敛较慢、或种群过早收敛,无法收敛到全局最优,从而影响了控制的效果。因此,诸多研究人员在为了获得更好的控制效果,更多考虑使用改进后的智能算法进行控制器参数的整定,以获得更好的控制效果。


技术实现要素:

[0009]
本发明为了克服上述技术问题的缺点,提供了一种基于粒子群

遗传混合算法的车辆横向pid控制方法。
[0010]
本发明的车辆横向pid控制方法,为了让控制器能够适应不同的车速,并减小对准确模型的依赖,设计了分段pid 模糊控制器。首先将车速划分为若干个区间,在每个区间采用不同的pid参数,并通过模糊控制器进行参数的补偿,计算出车辆前轮的轮偏角控制量,
从而控制车辆的转向。其次采用pcag算法,优化每个速度区间的分段pid控制器的参数,使得每个控制器尽可能的减少超调、稳定时间。最后,通过仿真实验验证了pcag算法的收敛能力、全局寻优能力和该控制器在不同车速下的路径跟踪效果。
[0011]
本发明的基于粒子群

遗传混合算法的车辆横向pid控制方法,其特征在于,通过以下步骤来实现:
[0012]
a).建立车辆运动学模型,设车辆的两前轮和两后轮分别具有同样的运动规律,两前轮胎和两后轮胎各用一个轮胎来描述,只考虑车辆横向运动,且忽略转向机构的影响,基于大地坐标系xoy建立车辆运动学模型,根据运动学定理,得出车辆各状态的更新迭代公式如下:
[0013]
x
t 1
=x
t
v
t cos(ψ
t
β)
×
dt
ꢀꢀꢀ
(1)
[0014]
y
t 1
=y
t
v
t sin(ψ
t
β)
×
dt
ꢀꢀꢀ
(2)
[0015][0016]
v
t 1
=v
t
a
×
dt
ꢀꢀꢀ
(4)
[0017]
式中β由公式(5)得出:
[0018][0019]
式中:x
t
、x
t 1
和y
t
、y
t 1
分别为车辆质心在大地坐标系下的横坐标和纵坐标,ψ为车辆当前的偏航角,即车身与x轴的夹角,v为车辆的线速度,δ
f
为车前轮转角,即车前轮与车身的夹角,a为车辆的加速度,l
f
、l
b
分别表示前车轮、后车轮到车辆质心的距离;
[0020]
并建立车辆与目标路径的横向偏差e(t)的计算公式;
[0021]
b).建立pid分段控制参数表,首先判断pid分段控制参数表是否建立,如果已经建立,则根据车辆当前车速v从pid分段控制参数表中获取当前比例控制参数k
p
、积分控制参数k
i
和微分控制参数k
d

[0022]
如果pid分段控制参数表没有建立,则通过以下步骤建立pid分段控制参数表:
[0023]
b

1).车速分段,以每段车速长度为1m/s进行分段,将车速划分为[0,1)、[1,2)、

、[n

1,n)共计n段;
[0024]
b

2).选取四种最优算法,选取粒子群算法pso、改进的粒子群算法pso

cf、改进的粒子群算法apso以及遗传算法ga,作为求取pid分段控制参数的粒子群

遗传混合算法pcag;
[0025]
b

3).初始化四个算法的种群,首先建立如公式(6)所示的适应度函数:
[0026][0027]
式中,e(t)为车辆与目标路径的横向偏差,t为当前时刻;
[0028]
然后确定每个最优算法的种群规模、迭代次数,并初始化种群的位置;
[0029]
b

4).计算全局最优解,根据四种算法的更新速度和公式规则,更新每个粒子的速度和当前位置,根据适应度函数计算适应度,更新个体最优适应度和全局最优适应度,获取每种算法的全局最优解;
[0030]
b

5).粒子替换,利用步骤b

4)中利用4种算法求取的4个全局最优解,将四种算法
中适应度最差的4个粒子替换掉;
[0031]
b

6).收敛判断,判断全局最优解是否达到收敛条件,如果达到,则执行步骤b

7),如果没有达到收敛条件,则执行步骤b

4);
[0032]
b

7).迭代次数判断,如果迭代次数没有达到要求,则执行步骤b

4);如果迭代次数达到要求,则输出四种算法的最后解作为当前车速分段的pid分段控制参数,执行步骤b

8);
[0033]
b

8).分段判断,判断所有的车速分段的pid分段控制参数是否已求取完毕,如果求取完毕,则执行步骤c);如果没有求取完毕,则通过步骤b

2)至步骤b

7)求取下一车速分段的pid分段控制参数;
[0034]
c).获取模糊控制器输出,利用车速v和加速度a作为模糊控制器的输入,获取模糊控制器的输出δk
p
、δk
i
和δk
d
;δk
p
、δk
i
和δk
d
分别作为k
p
、k
i
和k
d
的增量,模糊控制器的输出与pid分段控制参数表输出的参数相加后输入至pid控制器;
[0035]
d).pid控制器输出,利用公式(7)计算出pid控制器的输出:
[0036][0037][0038]
式中,b(t)为pid控制器输出的车辆转向角度,e(t)、e(t

1)分别为当前时刻和前一时刻车辆与目标路径的横向偏差;
[0039]
e).车辆控制,将车辆转向角度b(t)输入至车辆控制器,对车辆的转向角度进行控制,以控制车辆与目标路径的横向偏差。
[0040]
本发明的基于粒子群

遗传混合算法的车辆横向pid控制方法,步骤c)中模糊控制器通过以下方法进行建立:
[0041]
c

1).输入和输出变量的模糊化,将车辆的车速v和加速度a作为模糊控制器的输入,其中v的论域为[

30,30],a的论域为[

3,3],模糊控制器的输出量为pid参数δk
p
、δk
i
和δk
d
;量化等级设为7级,语言变量分别定义为负大nb、负中nm、负小ns、零zo、正小ps、正中pm、正大pb;
[0042]
隶属度函数采用三角形与s形隶属度函数,其中:负大和正大采用s形隶属度函数,用于当有大偏差时快速响应,负中、负小、零、正小、正中均采用分辨率、灵敏度高的三角形隶属度函数;
[0043]
c

2).制定模糊规则,采用“if

then”控制规则,制定如表1所示的控制规则:
[0044]
表1
[0045][0046]
对于输出的语言变量,从左至右分别为δk
p
、δk
i
和δk
d
的模糊规则;
[0047]
c

3).模糊推理和解模糊,采用如公式(8)所示的模糊推理方法:
[0048]
r
i
:if e is e
j and e
c is e
k then u is u
jk
ꢀꢀꢀ
(8)
[0049]
其中,表示第i条控制规则,e为v,e
c
为a,e
j
、e
k
分别表示第j行和第k列的取值,i=1,2,...,49,j、k=1,2,...,7;u
jk
表示第j行、第k列对应的语言变量;
[0050]
采用公式(9)所示的重心法进行解模糊:
[0051][0052]
式中,m表示输出量化级数,m=7,u
i
为模糊控制器论域中的值,μ(u
i
)为m的隶属度值,u为解模糊后最终的输出值;
[0053]
通过模糊推理和解模糊,最终得到模糊控制器的pid参数δk
p
、δk
i
和δk
d

[0054]
本发明的基于粒子群

遗传混合算法的车辆横向pid控制方法,步骤b

2)中:
[0055]
b
‑2‑
1).粒子群算法pso、改进的粒子群算法pso

cf和改进的粒子群算法apso,均建立如公式(10)所示的当前位置和飞行速度:
[0056][0057]
其中,x
in
和v
in
分别表示第i个粒子在第n维的位置和速度;
[0058]
算法开始时,先用随机位置x
i
和速度v
i
初始化粒子群,并使用粒子群的位置坐标作为输入值来计算适应度函数;
[0059]
粒子群算法pso的种群中第i个例子的第d维的速度和位置更新方程如公式(11)所示:
[0060][0061]
式中,rand∈(0,1)为随机生成的数,c1和c2为学习因子,ω为惯性权重,p
gd
为所有粒子全局最优的适应度,p
id
为第i个粒子个体最优适应度;
[0062]
b
‑2‑
2).粒子群算法pso

cf的速度更新方程如公式(12)所示:
[0063]
v
id
(t 1)=λ(v
id
(t) c1×
rand
×
(p
id

x
id
(t)) c2×
rand
×
(p
gd

x
id
(t)))
ꢀꢀꢀ
(12)
[0064]
其中:
[0065][0066]
粒子群算法pso

cf的位置更新方程与粒子群算法pso的相同;
[0067]
b
‑2‑
3).改进的粒子群算法apso速度更新方程如公式(14)所示:
[0068][0069]
式中,s为大于

1的常数,t为当前迭代次数,t为总迭代次数;
[0070]
改进的粒子群算法apso的位置更新方程与粒子群算法pso的相同。
[0071]
本发明的基于粒子群

遗传混合算法的车辆横向pid控制方法,步骤b

2)所述的遗传算法ga通过以下步骤来实现:
[0072]
步骤1:随机生成个体种群,并计算每个个体的适应度;
[0073]
步骤2:根据适应度确定该种群中的个体是遗传还是被淘汰;
[0074]
步骤3:将选择出进行遗传的个体进行配对作为父个体,将两个个体的部分码值进行交换,从而得到新的个体;
[0075]
步骤4:根据变异概率,随机变更个体中码值,得到变异后的新个体;
[0076]
步骤5:重新计算适应度,若到达迭代次数,则输出全局最优,否则重复步骤2。
[0077]
本发明的基于粒子群

遗传混合算法的车辆横向pid控制方法,步骤a)中所述的车辆与目标路径的横向偏差e(t)的建立方法如下:
[0078]
a

1).求质心到路径的最短距离,设车辆的目标路径曲线用公式(15)所示的三次方程表示:
[0079]
y=ax3 bx2 cx d
ꢀꢀꢀ
(15)
[0080]
设车辆t时刻质心坐标为p
t
(x
t
,y
t
),p
t
(x
t
,y
t
)到路径曲线最短路径与曲线交点为p(x,y),则点p
t
(x
t
,y
t
)到曲线的最短距离为:
[0081][0082]
a

2).利用牛顿法求近似解;
[0083]
令:
[0084]
l=(x
t

x)2 (y
t

y)2ꢀꢀꢀ
(17)
[0085]
将公式(15)带入公式(17),得:
[0086][0087]
将公式(18)对x一次求导:
[0088][0089]
利用牛顿法求取方程l

的近似解:
[0090]
令:
[0091][0092]
迭代初值:
[0093]
x0=x
t

0.3
ꢀꢀꢀ
(21)
[0094]
迭代公式:
[0095]
x
n 1
=x
n

f(x
n
)/f

(x
n
)
ꢀꢀꢀ
(22)
[0096]
精度阈值为10

12
,迭代次数为100;假定求得的近似解为x=x
d
,代入式(15)中得到曲线上的一点p
d
=(x
d
,y
d
);
[0097]
a

3).求横向偏差,过点p
d
=(x
d
,y
d
)作路径曲线的切线,得到切线的斜率为
[0098]
为:
[0099][0100]
记θ1为切线与x轴的夹角;
[0101]
则:
[0102]
k=tanθ1ꢀꢀꢀ
(24)
[0103]
记θ2为点p与点p
t
两点之间的连线与竖直方向的夹角,根据三角形内角和等于180
°
以及相似三角形定理得:θ1=θ2;
[0104]
则车辆与目标路径的横向偏差e(t)为:
[0105][0106]
本发明的基于粒子群

遗传混合算法的车辆横向pid控制方法,步骤b)所建立的pid分段控制参数表为:
[0107]
表2
[0108]
速度参数0~1m/skp0,ki0,kd01~2m/skp1,ki1,kd12~3m/skp2,ki2,kd23~4m/skp3,ki3,kd34~5m/skp4,ki4,kd4……
n~n
1
m/skp
n
,ki
n
,kd
n

[0109]
本发明的有益效果是:本发明的基于粒子群

遗传混合算法的车辆横向pid控制方法,首先,将车速划分为若干个区间,在每个区间内使用不同的pid控制器参数,其次,为了优化控制效果,减小超调以及稳定时间,提出了一种基于粒子群算法和遗传算法的pcag算法,使用该算法对不同车速区间的pid控制器的参数进行整定。最后,为了弥补单一pid控制器在时变车速上控制的不足,使用模糊控制器对pid控制器进行参数补偿,从而让控制器可以适应更广的车速区间。应用结果表明,pcag收敛速度以及寻优能力均优于粒子群算法,经
过pcag优化后的分段pid 模糊控制器可以很好的适应不同的车速,具有较好的路径跟踪精度。
附图说明
[0110]
图1为本发明中车辆运动学模型的示意图;
[0111]
图2为本发明的基于粒子群

遗传混合算法的车辆横向pid控制方法的原理图;
[0112]
图3为本发明中粒子群

遗传混合算法pcag的流程图;
[0113]
图4为本发明中速度v的隶属度函数;
[0114]
图5为本发明中加速度a的隶属度函数;
[0115]
图6为本发明中车辆与目标路径的横向偏差e(t)的求取原理图;
[0116]
图7为粒子群算法pso与本发明的粒子群

遗传混合算法pcag的寻优效果对比图;
[0117]
图8为粒子群算法pso与本发明的粒子群

遗传混合算法pcag的控制效果对比图;
[0118]
图9为车速为10m/s时分段pid与分段pid 模糊控制效果对比图;
[0119]
图10为车速为20m/s时分段pid与分段pid 模糊控制效果对比图;
[0120]
图11为在变速情况下分段pid与分段pid 模糊控制的车辆偏差控制示意图;
[0121]
图12为当车辆加速到20m/s时分段pid与分段pid 模糊控制的震荡抑制效果图。
具体实施方式
[0122]
下面结合附图与实施例对本发明作进一步说明。
[0123]
如图1所示,给出了本发明中车辆运动学模型的示意图,图2给出了本发明的基于粒子群

遗传混合算法的车辆横向pid控制方法的原理图,本发明的基于粒子群

遗传混合算法的车辆横向pid控制方法,通过以下步骤来实现:
[0124]
a).建立车辆运动学模型,设车辆的两前轮和两后轮分别具有同样的运动规律,两前轮胎和两后轮胎各用一个轮胎来描述,只考虑车辆横向运动,且忽略转向机构的影响,基于大地坐标系xoy建立车辆运动学模型,根据运动学定理,得出车辆各状态的更新迭代公式如下:
[0125]
x
t 1
=x
t
v
t cos(ψ
t
β)
×
dt
ꢀꢀꢀ
(1)
[0126]
y
t 1
=y
t
v
t sin(ψ
t
β)
×
dt
ꢀꢀꢀ
(2)
[0127][0128]
v
t 1
=v
t
a
×
dt
ꢀꢀꢀ
(4)
[0129]
式中β由公式(5)得出:
[0130][0131]
式中:x
t
、x
t 1
和y
t
、y
t 1
分别为车辆质心在大地坐标系下的横坐标和纵坐标,ψ为车辆当前的偏航角,即车身与x轴的夹角,v为车辆的线速度,δ
f
为车前轮转角,即车前轮与车身的夹角,a为车辆的加速度,l
f
、l
b
分别表示前车轮、后车轮到车辆质心的距离;
[0132]
并建立车辆与目标路径的横向偏差e(t)的计算公式;
[0133]
如图6所示,给出了本发明中车辆与目标路径的横向偏差e(t)的求取原理图,该步
骤中,所述的车辆与目标路径的横向偏差e(t)的建立方法如下:
[0134]
a

1).求质心到路径的最短距离,设车辆的目标路径曲线用公式(15)所示的三次方程表示:
[0135]
y=ax3 bx2 cx d
ꢀꢀꢀ
(15)
[0136]
设车辆t时刻质心坐标为p
t
(x
t
,y
t
),p
t
(x
t
,y
t
)到路径曲线最短路径与曲线交点为p(x,y),则点p
t
(x
t
,y
t
)到曲线的最短距离为:
[0137][0138]
a

2).利用牛顿法求近似解;
[0139]
令:
[0140]
l=(x
t

x)2 (y
t

y)2ꢀꢀꢀ
(17)
[0141]
将公式(15)带入公式(17),得:
[0142][0143]
将公式(18)对x一次求导:
[0144][0145]
利用牛顿法求取方程l

的近似解:
[0146]
令:
[0147][0148]
迭代初值:
[0149]
x0=x
t

0.3
ꢀꢀꢀ
(21)
[0150]
迭代公式:
[0151]
x
n 1
=x
n

f(x
n
)/f

(x
n
)
ꢀꢀꢀ
(22)
[0152]
精度阈值为10

12
,迭代次数为100;假定求得的近似解为x=x
d
,代入式(15)中得到曲线上的一点p
d
=(x
d
,y
d
);
[0153]
a

3).求横向偏差,过点p
d
=(x
d
,y
d
)作路径曲线的切线,得到切线的斜率为
[0154]
为:
[0155][0156]
记θ1为切线与x轴的夹角;
[0157]
则:
[0158]
k=tanθ1ꢀꢀꢀ
(24)
[0159]
记θ2为点p与点p
t
两点之间的连线与竖直方向的夹角,根据三角形内角和等于180
°
以及相似三角形定理得:θ1=θ2;
[0160]
则车辆与目标路径的横向偏差e(t)为:
[0161][0162]
b).建立pid分段控制参数表,首先判断pid分段控制参数表是否建立,如果已经建立,则根据车辆当前车速v从pid分段控制参数表中获取当前比例控制参数k
p
、积分控制参数k
i
和微分控制参数k
d

[0163]
在面对车速变化范围较大这一情况时,单一的pid控制器难以实现较好的控制效果,使用分段pid控制器可以增加一定的车速适应能力,但当控制器参数选择不当,两个不同速度区间的pid参数频繁切换时,分段pid控制器不连续的特性可能会使系统不稳定。因此,使用pcag算法进行最优的参数整定,使每个速度区间的pid参数有尽量小的超调以及稳定时间,并使用模糊pid控制器进行参数补偿,以增加车速的划分区间的长度,减少pid参数切换的频率,减小分段pid参数切换引起的震荡。
[0164]
如图2所示,在该控制器中,给定值为车辆与路径偏差,首先使用pcag算法进行离线整定得到pid控制器的分段参数表,并根据车速v,通过切换器确定当前使用哪一组pid参数,将车速v和加速度a作为模糊控制器的输入,模糊控制器的输出作为增量,与分段参数表输出的参数相加后作用于pid控制器,得到最终的车辆转向角度,并作用于车辆控制器。
[0165]
由于控制器需要整定的参数较多,采用常规方法整定困难且不一定能够得到最优的控制效果,因此使用智能算法进行控制器参数的整定。在整定中,常用的智能算法有粒子群算法,该算法时间复杂度低,收敛速度快,被广泛应用于各种控制器参数的整定。
[0166]
虽然粒子群算法在很多方面有着较好的表现,但其种群多样性差,搜索范围小,容易陷入局部最优出现早熟的情况。而遗传算法具有种群多样、全局搜索能力强,但是种群个体无记忆、遗传操作盲目无方向、所需要的收敛时间长。因此,在粒子群算法改进的研究中,将遗传算法与粒子群算法结合,利用遗传算法种群多样,随机全局搜索能力和粒子群算法收敛速度快,粒子具有记忆的特点,两者结合的算法克服了单一粒子群算法易陷入局部最优点的缺点,改善了单一遗传算法收敛精度低的问题,使得两者性能都得到了提高,相比单一算法而言具有更好的全局稳定寻优的能力。
[0167]
粒子群算法(pso)是模拟鸟群寻找食物的方法来进行设计的,将每个寻优的问题都想象成一只鸟,称为“粒子”,每个粒子均有当前置位、飞行速度、个体最优适应度等属性。所有粒子在一个在n维空间中进行搜索,并通过一个适应度函数(fitness function)确定每个粒子的适应度以判断粒子当前位置的好坏。
[0168]
如图3所示,给出了本发明中粒子群

遗传混合算法pcag的流程图,如果pid分段控制参数表没有建立,则通过以下步骤建立pid分段控制参数表:
[0169]
b

1).车速分段,以每段车速长度为1m/s进行分段,将车速划分为[0,1)、[1,2)、

、[n

1,n)共计n段;
[0170]
b

2).选取四种最优算法,选取粒子群算法pso、改进的粒子群算法pso

cf、改进的粒子群算法apso以及遗传算法ga,作为求取pid分段控制参数的粒子群

遗传混合算法pcag;
[0171]
b

3).初始化四个算法的种群,首先建立如公式(6)所示的适应度函数:
[0172][0173]
式中,e(t)为车辆与目标路径的横向偏差,t为当前时刻;
[0174]
然后确定每个最优算法的种群规模、迭代次数,并初始化种群的位置;
[0175]
b

4).计算全局最优解,根据四种算法的更新速度和公式规则,更新每个粒子的速度和当前位置,根据适应度函数计算适应度,更新个体最优适应度和全局最优适应度,获取每种算法的全局最优解;
[0176]
b

5).粒子替换,利用步骤b

4)中利用4种算法求取的4个全局最优解,将四种算法中适应度最差的4个粒子替换掉;
[0177]
b

6).收敛判断,判断全局最优解是否达到收敛条件,如果达到,则执行步骤b

7),如果没有达到收敛条件,则执行步骤b

4);
[0178]
b

7).迭代次数判断,如果迭代次数没有达到要求,则执行步骤b

4);如果迭代次数达到要求,则输出四种算法的最后解作为当前车速分段的pid分段控制参数,执行步骤b

8);
[0179]
b

8).分段判断,判断所有的车速分段的pid分段控制参数是否已求取完毕,如果求取完毕,则执行步骤c);如果没有求取完毕,则通过步骤b

2)至步骤b

7)求取下一车速分段的pid分段控制参数;
[0180]
该步骤中,所建立的pid分段控制参数表为:
[0181]
表2
[0182][0183][0184]
步骤b

2)中:
[0185]
b
‑2‑
1).粒子群算法pso、改进的粒子群算法pso

cf和改进的粒子群算法apso,均建立如公式(10)所示的当前位置和飞行速度:
[0186][0187]
其中,x
in
和v
in
分别表示第i个粒子在第n维的位置和速度;
[0188]
算法开始时,先用随机位置x
i
和速度v
i
初始化粒子群,并使用粒子群的位置坐标作为输入值来计算适应度函数;
[0189]
粒子群算法pso的种群中第i个例子的第d维的速度和位置更新方程如公式(11)所示:
[0190][0191]
式中,rand∈(0,1)为随机生成的数,c1和c2为学习因子,ω为惯性权重,p
gd
为所有粒子全局最优的适应度,p
id
为第i个粒子个体最优适应度;
[0192]
b
‑2‑
2).粒子群算法pso

cf的速度更新方程如公式(12)所示:
[0193]
v
id
(t 1)=λ(v
id
(t) c1×
rand
×
(p
id

x
id
(t)) c2×
rand
×
(p
gd

x
id
(t)))
ꢀꢀꢀ
(12)
[0194]
其中:
[0195][0196]
粒子群算法pso

cf的位置更新方程与粒子群算法pso的相同;
[0197]
b
‑2‑
3).改进的粒子群算法apso速度更新方程如公式(14)所示:
[0198][0199]
式中,s为大于

1的常数,t为当前迭代次数,t为总迭代次数;
[0200]
改进的粒子群算法apso的位置更新方程与粒子群算法pso的相同。
[0201]
遗传算法(ga)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的算法。它按所选择的适应度函数并通过遗传、复制、交叉及变异对个体进行筛选,使适应度高的个体被保留下来,组成新的群体,新的群体既继承了上代的信息,又能得到全局最优解。
[0202]
步骤b

2)所述的遗传算法ga通过以下步骤来实现:
[0203]
步骤1:随机生成个体种群,并计算每个个体的适应度;
[0204]
步骤2:根据适应度确定该种群中的个体是遗传还是被淘汰;
[0205]
步骤3:将选择出进行遗传的个体进行配对作为父个体,将两个个体的部分码值进行交换,从而得到新的个体;
[0206]
步骤4:根据变异概率,随机变更个体中码值,得到变异后的新个体;
[0207]
步骤5:重新计算适应度,若到达迭代次数,则输出全局最优,否则重复步骤2。
[0208]
c).获取模糊控制器输出,利用车速v和加速度a作为模糊控制器的输入,获取模糊控制器的输出δk
p
、δk
i
和δk
d
;δk
p
、δk
i
和δk
d
分别作为k
p
、k
i
和k
d
的增量,模糊控制器的输出与pid分段控制参数表输出的参数相加后输入至pid控制器;
[0209]
如图4所示,给出了本发明中速度v的隶属度函数,如图5所示,给出了本发明中加速度a的隶属度函数,步骤c)中模糊控制器通过以下方法进行建立:
[0210]
c

1).输入和输出变量的模糊化,将车辆的车速v和加速度a作为模糊控制器的输入,其中v的论域为[

30,30],a的论域为[

3,3],模糊控制器的输出量为pid参数δk
p
、δk
i
和δk
d
;量化等级设为7级,语言变量分别定义为负大nb、负中nm、负小ns、零zo、正小ps、正中pm、正大pb;
[0211]
隶属度函数采用三角形与s形隶属度函数,其中:负大和正大采用s形隶属度函数,
用于当有大偏差时快速响应,负中、负小、零、正小、正中均采用分辨率、灵敏度高的三角形隶属度函数;
[0212]
c

2).制定模糊规则,采用“if

then”控制规则,制定如表1所示的控制规则:
[0213]
表1
[0214][0215]
对于输出的语言变量,从左至右分别为δk
p
、δk
i
和δk
d
的模糊规则;
[0216]
c

3).模糊推理和解模糊,采用如公式(8)所示的模糊推理方法:
[0217]
r
i
:if e is e
j and e
c is e
k then u is u
jk
ꢀꢀꢀ
(8)
[0218]
其中,表示第i条控制规则,e为v,e
c
为a,e
j
、e
k
分别表示第j行和第k列的取值,i=1,2,...,49,j、k=1,2,...,7;u
jk
表示第j行、第k列对应的语言变量;
[0219]
采用公式(9)所示的重心法进行解模糊:
[0220][0221]
式中,m表示输出量化级数,m=7,u
i
为模糊控制器论域中的值,μ(u
i
)为m的隶属度值,u为解模糊后最终的输出值;
[0222]
通过模糊推理和解模糊,最终得到模糊控制器的pid参数δk
p
、δk
i
和δk
d

[0223]
d).pid控制器输出,利用公式(7)计算出pid控制器的输出:
[0224][0225]
式中,b(t)为pid控制器输出的车辆转向角度,e(t)、e(t

1)分别为当前时刻和前一时刻车辆与目标路径的横向偏差;
[0226]
e).车辆控制,将车辆转向角度b(t)输入至车辆控制器,对车辆的转向角度进行控制,以控制车辆与目标路径的横向偏差。
[0227]
将本发明的粒子群

遗传混合算法pcag与粒子群算法pso进行对比,验证pcag的收敛性以及全局寻优能力。设置车辆起始偏差为0.5m,车速为5m/s,无加速度。两个算法均使用公式(6)作为适应度函数,itae函数如式所示。粒子群与pcga种群规模均为50,迭代次数均为200次,寻优效果对比如图7所示,根据图7可知,pcag在第20次迭代时收敛,收敛时适应度为1.2。而普通粒子群算法pso在100次迭代时收敛,收敛时适应为1.22,pcag在收敛速度
以及寻优能力上均优于pso。
[0228]
图8为粒子群算法pso与本发明的粒子群

遗传混合算法pcag的控制效果对比图,可见,在车速5m/s,使用pid控制时车辆路径跟踪偏差,使用pso整定的pid参数最大超调在0.23m,使用pcag整定的pid参数最大超调在0.1m。使用pcag整定的参数超调更小。
[0229]
图9、10分别显示了车速为10m/s、20m/s时,分段pid与分段pid 模糊控制效果对比,在增加模糊控制,车速为10m/s时,车辆偏差从0.31m~

0.11m减小至0.3m~

0.059m,调节时间从16s减少至10s。车速为20m/s时,车辆偏差从0.49m~

0.18m减小至0.44m~

0.1m,调节时间从27s减少至20s。增加模糊控制后车辆路径跟踪偏差减小,调节时间更短。
[0230]
在变速情况下,车辆偏差控制如图11所示,车速从0m/s加速至10m/s,再从10m/s减速至0m/s。使用分段pid,车辆稳定后,偏差在
±
0.1m;增加模糊控制后,车辆稳定后偏差控制在
±
0.05m之内。使用分段pid 模糊控制车辆路径偏差更小。
[0231]
如图12所示,给出了当车辆加速到20m/s时分段pid与分段pid 模糊控制的震荡抑制效果图,当车辆加速到20m/s时的控制情况,使用分段pid 模糊控制可以有效的抑制车辆出现的震荡情况,在高速情况下,车辆震荡从0.1~

0.05m减小到
±
0.01m,
[0232]
综合以上实验可以看出,pcag收敛速度更快,全局寻优能力更强,控制器使用整定后的参数超调更小。在不同的车速情况下,使用pcag优化后的分段pid 模糊控制相较于分段pid控制可以有效的减小车辆横向跟踪偏差,提高车辆横向跟踪精度,并有效的抑制了分段pid切换引起的震荡。
[0233]
可见,本发明的基于粒子群

遗传混合算法的车辆横向pid控制方法,针对单一pid控制在车辆路径横向跟踪控制中难以适应不同的车速的问题,提出了一种粒子群—遗传混合优化算法(pcag)的分段pid 模糊控制器。该控制器由分段pid和模糊控制器组成。首先,将车速划分为若干个区间,在每个区间内使用不同的pid控制器参数。其次,为了优化控制效果,减小超调以及稳定时间,提出了一种基于粒子群算法和遗传算法的pcag算法,使用该算法对不同车速区间的pid控制器的参数进行整定。最后,为了弥补单一pid控制器在时变车速上控制的不足,使用模糊控制器对pid控制器进行参数补偿,从而让控制器可以适应更广的车速区间。实验结果表明,pcag收敛速度以及寻优能力均优于粒子群算法;经过pcag优化后的分段pid 模糊控制器可以很好的适应不同的车速,具有较好的路径跟踪精度。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献