基于PID型迭代学习控制的列车自动驾驶曲线跟踪算法研究
2023-11-27王锡奎黄克勇李亚楠
王锡奎,黄克勇,李亚楠
(1. 南京铁道职业技术学院 通信信号学院,南京 210031;2. 中国联合网络通信集团有限公司 江苏分公司 云网运营中心,南京 210008)
高速列车运行速度快,运行环境复杂多变,其运行控制系统易受内外部未知因素的干扰,呈现出快时变、强非线性的特征。因此,亟需设计一种智能化的列车自动驾驶(ATO,Automatic Train Operation)控制器,以保证对列车运行的精确控制。现阶段,有关ATO控制算法的研究已取得大量成果,以比例微分积分(PID,Proportional Integral Derivative)算法为代表,可将滑模控制[1]、预测控制[2-3]、模糊控制[4]、神经网络[5-6]等算法与PID相结合,用于解决列车速度自动控制精度不足、稳定性不高等问题。然而,上述方法均存在一定的局限性,如PID算法以线性近似列车速度控制中的非线性因素,无法保证控制精度;滑模控制、预测控制、模糊控制、神经网络等算法的控制规则和参数的设计与调整需要丰富的实际系统开发经验,要求较高。
高速列车在运行过程中具有重复性的特征,具体体现在列车的运行环境、运行计划、运行目标、运行工况、动力学模型、运行速度及轨迹跟踪等方面。迭代学习控制(ILC,Iterative Learning Control)是一种对以重复模式工作的系统进行跟踪控制的方法,主要适合于具有高度重复性特征的被控对象的控制器设计[7]。目前,ILC已在航空、轨道交通等领域得到了较为广泛的应用。如文献[8]采用智能PD型ILC算法解决了园区固定路段的清扫车路径跟踪问题;文献[9]提出了一种迭代控制与滑模控制相融合的策略,实现了机械臂对目标轨迹的精确跟踪;文献[10]设计了基于ILC的差分–微分参数计算律,以减小时域和迭代域上的跟踪误差;文献[11]提出了一种无模型自适应ILC容错控制策略,用于解决高速列车速度轨迹跟踪问题;文献[12]提出了一种新的ILC方案,以保证高速列车运行控制的安全性和舒适性;文献[13]提出了一种将ILC和集体更新策略相结合的集体学习控制算法,可提高系统的自主学习能力。
基于以上研究,本文提出基于PID型ILC的ATO曲线跟踪算法,以期实现对列车目标速度和目标位移的精确跟踪,并通过典型场景,仿真其跟踪精度和收敛速度,验证了算法的有效性。
1 问题概述
高速列车的运行是一个连续复杂的过程,与人、系统和环境存在紧密的关联,通常可以将该过程抽象为一个非线性的多目标优化问题。ATO系统需要具备对列车速度自动调整的功能,从而精确跟踪列车速度防护曲线,减少列车在牵引、制动和惰行等工况之间的切换,提高列车的准点率、停车精度、舒适性,降低司机的工作强度。
列车运行动力学模型是ATO系统中用于计算列车运行目标速度的基础,该模型如公式(1)~(4)所示。
式中,t表示时间,s;v表示列车运行速度,m/s,v(0)=0;s表示列车运行距离,m,s(0)=0;u是ATO系统作用在单位质量上的牵引力或制动力,N/kg;w(v) 表示单位质量上列车所受的基本阻力,N;g(s)是列车所受的单位附加阻力,N;l为经验常数,通常取重力加速度;θs为位置s处的线路坡度,°;ca表示空气阻力常数;cv表示机械阻力常数;c0表示车轮滚动和滑动阻力常数;ca、cv、c0均为经验常数。
由式(3)可知,基本阻力w(v) 包含与列车速度的二次方相关项,具有典型的非线性特征。非线性系统的控制器设计需要尽可能保留非线性部分,以提高控制器的精度。因此,本文将PID与ILC算法相结合,在初始状态一致的情况下,可以实现对于给定的列车超速防护速度曲线的精确跟踪,当迭代次数趋于无限大时,跟踪误差可以收敛到0。
2 算法设计
速度曲线追踪的控制目标是使列车运行动力学模型中的控制量(列车运行速度v和位移s)能够精确地跟踪目标速度轨迹和目标位移轨迹。因此,在设计迭代学习控制器之前,须先确定ATO系统第k次迭代时的跟踪误差。
在列车运行区间中选择一段有限的时间区间[0,T],通常可设T为列车在两个相邻站点间的运行时间。假定列车在该区间上重复运行,将列车的运行速度v和位移s作为ATO系统的两个状态,可以将公式(1)~(4)表述为ATO系统的状态空间模型,当其迭代到第k次时,ATO系统算法为
式中,t为时间变量,s;vk(t) 为第k次迭代的列车运行速度,m/s;sk(t) 为第k次迭代的列车运行位移,m;v˙k(t) 和s˙k(t) 分别为速度和位移的一阶导数,表示速度和位移的变化率;uk(t) 为ATO系统控制输入量,即ATO系统作用在单位质量上的牵引力或制动力;yk(t) 为ATO系统输出。
将系统的跟踪误差ek(t) 定义为
式中,ek,1(t) 为速度跟踪误差,m/s;ek,2(t) 为位移跟踪误差,m;vd(t) 为目标速度,m/s;sd(t) 为目标位移,m。
基于ILC的理念,设计迭代学习控制律公式为
3 仿真与分析
通过典型场景对本文提出的PID型ILC算法进行仿真,并将仿真结果与PID控制结果进行对比分析,进而验证本文算法的有效性。
3.1 控制器搭建
本次仿真在Matlab(2018b)软件环境下进行。公式(3)中的运行阻力参数ca、cv、c0均为随列车动态运行和外界环境变化的未知时变参数,在ATO系统控制器设计时通常采用经验常数。本文采用实际运营的高速铁路CRH-3型动车组部分技术参数作为仿真场景中的列车参数,如表1所示。
表1 高速铁路CRH-3型动车组部分技术参数
3.2 仿真环境设计
列车的运行仿真线路及其参数设置如下:
(1)仿真中的线路总长为99.95 km,线路中的最大坡度为10‰,坡道长度为12.85 km,此外还包括一段坡度为7‰、长度为4.1 km的线路,仿真线路及其参数如图1所示。
图1 仿真线路及其参数
由于公式(4)中的 θs通常为千分率级,因此,可认为sin(θs)≈θs,取经验值l为标准重力加速度9.8 m/s2,将图1中的坡度数据代入公式(4)可得到坡度附加阻力。
(2)列车在仿真线路上运行需要有时刻表的约束,仿真运行时间T为1 460 s,列车在[0,T]内运行的目标速度曲线公式为
列车在[0,T]内的目标位移轨公式为
(3)本文设计的ILC算法是基于迭代域和时间域的,其中,反馈控制是在时间域上实现的;迭代学习控制是在迭代域上实现的。为保证仿真过程中的数据采样精度,将采样时间ts设置为0.1 s。
(5)为方便比较控制算法的性能优劣,将PID算法与本文提出的PID型ILC算法在收敛速度、跟踪误差等方面进行比较。PID控制算法控制律公式为
式中,Kp为比例项增益,Kp=5;Ki为积分项增益,Ki=0.1;Kd为微分项增益,Kd=10[14]。
(6)为量化比较控制算法的跟踪精度,定义跟踪误差率公式为
式中,yd为目标值,且yd>0;yr为实际值;re的取值保留小数点后2位。
3.3 仿真结果分析
在公式(11)所示的PID型迭代学习控制器和公式(12)所示PID控制器中运行上述仿真场景,可得到速度跟踪轨迹和位移跟踪轨迹,分别如图2、图3所示。
图2 速度跟踪轨迹
3.3.1 速度跟踪结果分析
图2给出了PID控制器对目标速度的跟踪轨迹和PID型迭代学习控制器在第1次、第5次、第15次和第30次迭代时对目标速度的跟踪轨迹,以及第30次迭代时在时间区间[197 s,210 s]和[610 s,655 s]上的跟踪轨迹放大图。从图2中选取若干跟踪点,并根据公式(13)得到两种控制器第30次迭代后的速度跟踪误差率re,如表2所示。
表2 速度跟踪误差率分析
由表2可知,PID型ILC算法在第30次迭代后的速度跟踪误差均小于1%,明显优于PID算法;此外,对于相同的误差率,PID型ILC算法的实现速率快于PID算法。
3.3.2 位移跟踪结果分析
图3给出了PID控制器对目标位移的跟踪轨迹和PID型迭代学习控制器在第1次、第5次、第15次和第30次迭代时对目标位移的跟踪轨迹,以及第30次迭代时在时间区间 [810 s,835 s]上的位移跟踪轨迹放大图。由图可知,在823.5 s时,目标位移为55 940 m,PID控制器的跟踪位移为54 890 m,误差为1 050 m,re为1.88%;PID型迭代学习控制器的跟踪位移为55 870 m,误差为80 m,re为0.14%。
3.3.3 整体分析
从图2、图3可以看出,当迭代开始时,PID型迭代学习控制器的跟踪轨迹与目标轨迹之间存在较大偏差;当迭代次数达到15次以上时,二者基本重合。PID型迭代学习控制器最大跟踪误差绝对值与迭代次数的关系如图4所示。
图4 PID型迭代学习控制器最大跟踪误差绝对值与迭代次数的关系
由图4可知,PID型迭代学习控制器的跟踪误差随着迭代次数的增加逐渐减小,当迭代次数达到25次时,速度和位移跟踪误差接近于0。
综上,PID型ILC算法通过学习列车运行的重复信息,可以快速接近目标速度和位移,实现精确跟踪。
4 结束语
本文分析了高速列车运行动力学模型,根据列车运行过程中的重复性特征,设计了ATO曲线跟踪的ILC算法。将迭代学习控制律加入PID控制律中,通过学习跟踪过程中的误差因素和前次迭代的误差变化率,实现对期望轨迹的精确跟踪。
此外,通过设置典型的仿真环境,利用真实的线路数据和列车参数对所设计算法的性能进行验证,并与现有算法进行对比。仿真结果表明,本文设计的算法具有更高的跟踪精度,随着迭代次数的增加,实际运行轨迹逐渐接近目标轨迹,跟踪误差逐渐减小,且最终收敛于零,从而证明了所提出的算法的有效性和优越性。