基于PSO算法的城轨列车自动驾驶控制策略研究
2023-10-26吴秋艳
吴秋艳
(南京交通职业技术学院,江苏 南京 210012)
0 引言
城市轨道交通经过十余年的高速发展,相关设备越来越先进,乘客的体验感越来越舒适。这些都得益于科技的发展进步。目前,自动驾驶技术已经在公共交通、物流配送、消防救援、环境监测等很多领域得到有效应用。我国深圳、上海、成都等多个城市也都相继开通了无人驾驶地铁线路,并且无人驾驶将会是今后城市轨道交通发展的方向。因此,针对城轨列车非线性、高复杂性等运行特点,需要用更优化的智能控制方法解决传统控制方法无法解决的复杂的控制问题。
本文所研究的粒子群算法(Partide Swarm Optimization, PSO)是在1995年,由美国学者Kennedy和Eberhart所提出。PSO算法与遗传算法相似,都是基于群体的随机搜索算法,通过模拟生物的活动和进化的过程来寻求最优解。由于PSO算法原理相对简单、易于实现,因此,粒子群算法在科学研究和工程应用中都受到了很大的关注。国内对于PSO算法的相关应用已经在很多行业中开展,与城市轨道相关的有基于PSO算法设计的自适应模糊PID控制器,对列车进行停车精度和舒适度控制[1];基于PSO算法建立的地铁调线调坡数学分析模型,并以此开发地铁智能调线调坡系统,用来改善线路参数选择的合理性和改善侵限情况[2];基于粒子群算法的优化地铁车厢空调的控制研究,以车厢内空气舒适度作为地铁车厢变风量空调系统的控制对象,设计出一个舒适和节能效果佳的控制系统[3]。虽然PSO算法对于城市轨道交通的应用研究早已开始,但是在城轨列车自动驾驶方面,相关研究很少。本文以PSO算法为基础算法,对列车自动驾驶过程进行仿真分析,比较PSO算法用于城轨列车自动控制的优缺点。利用MATLAB仿真列车运行模型,对系统进行功能仿真,验证本文所提理论的正确性和控制方法的可行性。
2 粒子群优化算法(PSO)
粒子群优化(PSO)算法模拟的是鸟群的捕食行为。具体的研究场景为鸟群在随机地搜索食物,所有鸟都不知道食物的具体位置。如果他们知道自己与食物的距离,那么找到食物最有效的方式就是搜寻目前离食物最近的鸟的周围区域。在这一过程中,个体通过鸟群互相传递的位置来判断自己找到的是否为最优解,并将结果反馈给鸟群,当整个鸟群都聚集在食物周围时,即被认定为找到了最优解。同时,在这一过程中,每个个体都会根据食物寻找的结果产生自身的认知,而且当其他个体具有更加先进的认知时,个体会及时进行调整以便能够提高自身的搜索能力。粒子群算法的学习机制就是基于上述行为过程而产生的。
PSO算法的数学公式为:
ΔUi(n+1)=ωΔUi(n)+c1r1[Uimax-Ui(n)]+c2r2[Ugmax-Ui(n)]
(1)
Ui(n+1)=Ui(n)+ΔUi(n+1)
(2)
式(1)~(2)中:i表示第i个粒子;n表示迭代次数;ΔUi(n+1)表示粒子的移动距离;Ui(n)表示粒子的当前位置;ω为惯性权重,用于控制粒子的飞行速度,取值范围为[0,1],取值范围一般为0.4~0.9,ω越大,表示全局寻优能力越强,局部寻优能力越弱,ω越小,表示全局寻优能力越弱,局部寻优能力越强;c1和c2为加速因子,表示粒子移动的速度,取值范围为[0,2];r1和r2为[0,1]之间的随机数;Uimax表示当前粒子的历史最佳位置;Ugmax表示所有粒子中最佳粒子的位置。
PSO算法的标准流程如下:
步骤1 设置相关参数和种群微粒数量,并对种群进行初始化,包括随机位置和速度;
步骤2 评价每个微粒的适应度,即根据适应度评价公式计算种群中每个微粒对应的适应度的值;
步骤3 对种群中的每个微粒,将其适应度的值与其经过的最好位置Uimax作比较,如果适应度较好,则将其更新为当前的最好位置Uimax;
步骤4 对种群中的每个微粒,将其适应度的值与其经过的最好位置Ugmax作比较,如果适应度较好,则将其更新为当前的最好位置Ugmax;
步骤5 根据公式(1)和公式(2)分别对每个微粒的速度和位置进行更新;
步骤6 判断是否满足结束条件。未达到结束条件则转到步骤2。
PSO算法流程如图1所示。
图1 PSO算法流程
3 列车运行多目标优化模型
根据牛顿第二定律,列车的质点运动方程[4]为:
(3)
(4)
式(3)~(4)中:t,v和s分别为列车运行的时间、速度和距离;ε是加速度系数;c为列车单位合力[5]。列车受力公式为:
ma=f(u,v)-g(v)-w(x,v)
(5)
式(5)中:m为列车质量;a为列车运行合力所产生的加速度;f(u,v)为列车的作用力,分为牵引力和制动力,与输入控制序列u和列车的运行速度v有关;g(v)为列车的基本阻力,是列车运行速度的函数;w(x,v)为列车的附加阻力,其中x为线路位置,并且该附加阻力与线路坡度、曲线和隧道等线路条件有关[5]。当列车处于牵引状态时,f(u,v)>0;当列车处于惰行状态时,f(u,v)=0;当列车处于制动状态时,f(u,v)<0。
3 仿真实验与分析
3.1 仿真参数设置
本文所设计的线路参数、坡度参数和列车参数的取值分别如表1~3所示[6]。
表2 坡度参数
表3 列车参数
3.2 仿真结果及分析
在MATLAB仿真环境下对基于PSO算法的城轨列车运行过程进行仿真实验,得到速度-距离曲线以及加速度-距离曲线分别如图2—3所示。
图2 速度-距离曲线
图2是采用PSO算法对列车运行过程优化后得到的速度-距离曲线。从图2可以看出,运行速度满足表1中的线路限速和车站限速的要求,并且在较短距离内实现平稳加速和平稳制动,有效地提高了舒适度。
图3是采用PSO算法对列车运行过程优化后得到的加速度-距离曲线。从图3可以看出,当列车速度接近于限速后,加速度开始下降,并且在列车惰行过程中,列车加速度并没有因为坡度的变化而产生明显变化。对于乘客而言,列车运行中加速度变化率在1 m/s2内都是感觉舒适的,因此本算法对于舒适度和能耗的数值优化起到了重要作用[6]。
图3 加速度-距离曲线
同时,本文对仿真过程中的停车精度、准点误差、能耗、舒适度也进行了数据记录,结果如表4所示。
表4 PSO算法优化结果
为验证本文算法的有效性,对不加算法下的列车运行过程也进行了仿真分析。
如表4所示,在不加以任何算法优化的情况下,列车运行过程中停车误差和准点误差与停车误差小于0.3 m并且准点误差小于4 s的要求相差甚远,因此无法满足运行的基本要求[6]。
当列车运行过程模型采用PSO算法优化后,在第300次迭代后,停车误差和准点误差均可以满足上述条件。除了停车误差和准点误差这两个指标外,基于PSO算法下的列车运行过程中的舒适度和能耗指标也明显优于不加任何算法下的数值。但是从仿真过程和仿真结果可以总结出,PSO算法在早期收敛速度快,这是PSO算法明显优于其他算法的优点,但是收敛快导致精度较低易发散等缺点。因为在收敛的情况下,所有粒子都向最优的方向飞去,导致后期的收敛速度迅速变慢,进而搜索能力变弱,甚至有可能会出现收敛到一定精度时,无法再继续优化的情况。
4 结语
本文通过仿真和实验,对比不加算法下的列车运行过程中的停车误差、准点误差、舒适度以及能耗指标,结合速度-距离曲线图和加速度-距离曲线图,结果表明PSO算法对于优化城轨列车运行模型的正确性和可行性,且效果良好,但同时也要考虑到PSO算法的缺点,有针对性地进行算法性能的优化。