本发明涉及智能交通,具体是一种基于自触发管道模型预测控制(tubemodel predictive control,tube mpc)的混合车辆队列控制方法。主要针对混合车辆队列的通信冗余问题展开研究,设计出基于自触发tubempc的混合车辆队列控制方案。通过设计优化问题,将触发间隔时间直接包含在目标函数中,使控制输入和触发间隔时间共同优化,在保证控制性能的同时,极大地降低了系统的通信资源浪费。
背景技术:
1、随着经济的快速发展,交通堵塞、交通安全、交通污染等问题层出不穷,车辆队列控制成为研究热点。车辆队列控制是通过车载传感器和车车通信保证车辆近距离稳定跟驰,进而实现道路通行效率和燃油经济性的提升。现有研究已经证实,有效的车辆队列控制可以提高交通安全性,降低交通能耗及污染。国内外研究中,现有车辆队列控制多面向完全智能网联交通环境,控制车辆对象均为自动驾驶车辆(cav)。但真实的交通环境是复杂的,由于在交通系统中cav的渗透率将长期保持不饱和状态,人工驾驶车辆与自动驾驶车辆混合分布是现实交通环境的必经阶段。同时,人工驾驶车辆(hdv)存在难以预测的不可控性和强随机性,面向完全智能网联交通环境的车辆队列控制方法不能直接处理含有hdv的车辆队列,hdv的不可控性和强随机性会影响队列行车安全。针对由自动驾驶车辆构成的车辆队列控制方法不适用于真实的交通环境,因此,研究针对混合车辆队列的控制方法是必要的。
2、模型预测控制算法(mpc)是实现混合车辆队列控制常用的方法,该方法善于处理有约束的多输入多输出系统,其滚动时域预测的机制使该方法具有一定的鲁棒性。由于mpc是基于模型的控制,被控系统模型的精确度直接影响mpc控制器的控制效果,因此模型的建立十分重要。现有研究多通过设计mpc控制器为cavs规划最优的运动轨迹,从而达到对整个队列的协同控制。车-车通信、车-路通信等信息共享是实现车辆队列控制的前提,由于存在宽带限制及信道拥塞等问题,提高信息的传输效率成为解决问题的重要一环,控制器的在线计算量显得尤为重要。在保证性能的前提下,系统计算量越小,资源浪费越小。
3、现有研究证实,针对上述提到的模型误差,tubempc控制策略可以有效解决模型失配问题。首先通过前馈控制为名义系统规划其在预测时域内的最优轨迹,然后通过闭环反馈控制将混合队列中所有车辆的实际状态约束在tube正不变集内,最终使其收敛至系统的终端状态约束集,从而实现混合车辆队列鲁棒协同控制。
4、近年来,针对多智能体系统的非周期性控制可以分为事件触发控制和自触发控制两大类,事件触发机制需要邻居间保持连续通讯进行信息交换,来计算触发时刻,由于不必要通讯的存在,系统通讯负担较重。与事件触发控制相比,自触发控制策略根据当前时刻采集的信息,直接预测下一触发时刻,在两个触发时刻之间不需要获取邻居信息,避免了对事件触发函数的周期性检测,有效减少控制器的更新次数,有效节约系统的通信与计算资源。
5、本研究针对降低混合车辆队列的通信频率展开,创新性地将自触发与管道模型预测控制相结合,设计出基于自触发tubempc的混合车辆队列控制方案。将名义系统控制输入和触发间隔时间作为决策变量,设计自触发mpc优化问题,将触发间隔时间直接包含在目标函数中,使控制输入和下一个触发时刻共同优化,实现自触发控制。智能体在当前触发时刻接收邻居的状态估计信息与输出估计误差以用于计算下一触发时刻。为了使系统与控制器之间的通信最小化,在每个采样时刻直到下一个采样时刻的时间间隔都作为优化问题的解决方案的一部分计算,在两个触发时刻之间,不获取邻居信息,系统在下一个采样时刻之前的输入为前一采样时刻的控制输入,有效降低系统的通信次数,减少系统的通信资源浪费。为了保证在所有可能的干扰下满足状态约束和输入约束,设计龙伯格观测器,进而求解状态估计误差和控制误差的鲁棒正不变集,使得混合车辆队列可以克服模型失配带来的消极影响,仍然能保证编队行驶的安全性。
6、综上,目前针对混合车辆队列,还没有一种考虑自触发机制的管道模型预测控制方法通过减少触发采样控制器的计算更新,降低系统的通信频率,缓解了控制器的计算负担,减少了通信资源浪费,并且与在周期采样控制器控制下的系统相比几乎没有任何性能损失。
技术实现思路
1、本发明的目的是提供一种新的混合车辆队列控制方法,该方法通过设计自触发机制来预测未来通信的触发时刻,从而减少车辆状态的采样次数,并避免智能体之间的连续通信,降低通信的频率,减少优化问题计算次数,从而缩减在线优化时间。通过自适应采样间隔控制和通信网络资源调度,实现无冲突传输。
2、为达到上述目的,本发明提供了如下技术方案:
3、一种基于自触发tube mpc模型预测控制的车辆队列控制方法,其特征在于:
4、包括以下步骤
5、步骤1:建立混合车辆队列的数学模型
6、步骤1.1混合车辆队列数据表示
7、本发明研究的混合车辆队列为随机排布,队列共包含m辆车,由l辆自动驾驶车辆和m-1辆人工驾驶车辆组成,cavs之间可以通过v2v、v2i等方式实现车辆动态信息的共享,而hdvs的动态信息也可以通过路测设备获得。因此,本文采用的随时间演变的混合车辆队列的数据集合可以表示为,
8、
9、其中,vi和hi分别为第i辆车的跟车速度和跟车间距。混合车辆队列在第k时刻的状态被定义为为实数集,t为矩阵转置符号。pi,k=[hi,k,vi,k]t,i=1,...,m。hi,k表示第k时刻第(i-1)辆车和第i辆车之间的车间距,vi,k为第i辆车的车速。混合车辆队列在k时刻的控制量定义为ui,k表示k时刻作用于第i辆自动驾驶车辆的控制输入,即加速度。
10、步骤1.2建立混合车辆队列离散状态空间模型
11、xk+1=axk+buk (1.2)
12、控制目标为通过对cavs的控制使整个混合车辆队列达到期望状态,即平衡状态车辆速度、车间距达到预期。考虑建模误差,引入误差项wk,将混合车辆队列模型更新为:
13、xk+1=axk+buk+wk (1.3)
14、本发明基于koopman算子理论建立系统模型,根据koopman算子理论,实际系统状态xk映射到高维空间表示为sk,提升状态sk与实际状态xk的关系可以被描述为sk=ψ(xk),其中ψ(x)为koopman算子理论中的提升函数。进而得到混合车辆队列的线性模型为:
15、
16、sk=ψ(xk) (1.5)
17、系统矩阵a、控制矩阵b可通过求解最优问题得到,1为自动驾驶车辆数量,n为提升状态的维度。映射矩阵c可以通过最小二乘法得到,a、b、c参数计算遵循扩展动态模式分解算法(edmd),不属于发明重点,不作赘述。
18、步骤1.3建立混合车辆队列增量模型
19、由于本发明基于增量模型设计控制器,将物理模型转换成增量模型是必要的。在平衡状态,车辆的平衡控制量u*=0。总建模误差记为带模型误差的混合车辆队列系统的线性增量模型为:
20、
21、δsk=ψ(δxk) (1.7)
22、其中,δsk=sk-s*,δuk=uk,紧凑且包含原点。
23、步骤2:设计基于龙伯格观测器的混合车辆队列状态估计方法
24、步骤2.1:构造龙伯格状态观测器方程:
25、实际队列运行过程中因系统实际状态值与状态变量估计值存在误差,导致系统的输出误差不为0。设计增益矩阵l,通过反馈校正减少误差累计带来的消极影响,驱使估计状态变量快速趋于实际值,保证观测器的稳定性;引入系统状态误差到观测模型中,使得输出误差更快地趋于零,驱使观测状态逼近系统实际状态,将实际系统的龙伯格状态观测器方程构造为:
26、
27、其中矩阵a、b由koopman算子κ的近似矩阵拆分得来,c为将系统从高维空间映射回原始空间状态的映射矩阵,为观测器状态,为观测器输出,是观测器增益矩阵。
28、步骤2.2:构造混合车辆队列状态估计误差方程
29、定义系统实际状态值和状态变量估计值之间的状态估计误差为:
30、
31、通过设计选择合适的反馈增益矩阵l,使状态估计误差趋于零,观测器最终可以准确观测到系统状态。
32、步骤3:设计自触发tube控制器的反馈控制
33、本节为混合车辆队列系统设计自触发tube mpc控制器的反馈控制部分。tube mpc将反馈控制和前馈mpc控制相结合以获得更好的控制性能。通过反馈控制动态地减少车辆的实际状态与名义系统状态之间的偏差。首先通过前馈mpc控制求解所设计的多目标优化问题,为名义系统规划最优轨迹,然后以名义系统轨迹为中心构造一系列tube管道,反馈控制可以对实际状态与名义状态之间的误差进行校正,并在tube管道中引导被控车辆进行跟踪控制,从而实现存在模型失配问题下系统的鲁棒控制。
34、步骤3.1:构建混合车辆队列的误差系统
35、考虑未知扰动ω的存在,系统的实际状态不恒等于名义状态。实际提升状态δs与名义提升状态的偏差为σ,定义系统的实际状态δx与名义提升状态的偏差为k,为误差系统的控制输入,得到混合车辆队列的误差系统为:
36、
37、步骤3.2:求解反馈控制矩阵k
38、求得混合车俩队列的误差系统后,为防止误差的积累和传播,为(2.1)的误差系统设计闭环反馈辅助控制器以抑制误差的传播,辅助反馈率为:
39、
40、通过建立和求解如下离散lqr线性二次调节器问题得到反馈矩阵k:
41、
42、其中q、r分别为提升状态和控制输入的权重矩阵。通过设计反馈控制器动态调节实际系统和标称系统之间的偏差,以提高系统的鲁棒性。
43、自触发tube mpc算法的控制率由两部分构成,实际系统的控制输入为:
44、
45、式中,和分别代表混合车辆队列的名义系统控制输入和名义提升状态步骤3.3:求解最小rpi集
46、对于车辆队列系统的原始状态量与控制量的取值范围进行收缩,并将收缩结果作为标称系统的状态量与控制量的取值范围,以使得车辆队列系统在存在逼近残差情况下满足原始状态量与控制量的取值范围、并保持闭环控制的鲁棒性。采取合适的控制输入可以将混合车辆队列的名义系统状态和实际系统状态δsk间的误差始终约束在误差系统的鲁棒正不变集中。
47、定义每辆车m的触发时刻为以下简写为ki,为触发间隔,其中为最大触发间隔。当ki≤k<ki+1,即两个相邻触发时刻之间,由于系统不进行通信,控制输入不变。则混合车辆队列的增量模型改写为:
48、
49、龙伯格状态观测器(2.1)改写为:
50、
51、控制输入为:
52、
53、混合车辆队列的名义系统为:
54、
55、将状态估计误差方程改写为:
56、
57、定义控制误差其系统方程为:
58、
59、给出符号定义如下:
60、
61、
62、其中则(1.12)、(1.13)改写为:
63、
64、
65、从v和的定义,可知定义系统(1.16)中的rpi集为系统中v的rpi集为则有其中,代表minkowski加法,给定集合为由于v和有界,通过设计一个自触发模型预测控制算法来确定一个初始的名义状态和一个名义控制序列以及触发间隔从而使名义系统状态序列渐近收敛到零,从而使实际状态δx渐近有界。
66、由于mrpi集不易求得,采用内近似法进行逼近,公式为:
67、
68、步骤4:设计自触发控制策略
69、步骤4.1:设计混合车辆队列自触发架构
70、在每个触发时刻,传感器将当前的车辆状态信息发送给控制器,控制器计算控制量和下一次触发时刻,将控制输入发送给执行器,执行器控制cavs且在下一触发时刻前,其控制量不变。传感器、执行器、控制器之间只在下一触发时刻恢复通信,其他时间断开通信。
71、混合车辆队列的自触发控制系统架构如图1所示
72、图1混合车辆队列的自触发控制系统架构
73、步骤4.2:设计触发间隔及目标函数
74、自触发tube mpc控制器在触发时刻ki的开环多目标函数设计为:
75、
76、其中触发间隔m∈n[1,p]是决策变量,是设计变量,用于权衡抽样成本与控制成本。反映了抽样成本,用其来对抽样代价与经典的二次控制性能代价进行加权。和是决策变量,对于给定的选择较大的τ将迫使m更大,从而获得更长的触发间隔时间,显著减少采样触发次数,表示用控制性能来换取通信成本。通过构建成本函数,就可以对q,r和τ进行模拟调优,以获得所需的采样行为,同时保持所需的控制性能。是预测时域,是阶段成本,为终端成本。q,r和p都是正定对称矩阵。q是混合车辆队列名义系统的原状态的权重矩阵,r是控制输入的权重矩阵,对称正定矩阵p是以下李雅普诺夫方程的解:
77、
78、步骤4.3:获得混合车俩队列控制输入约束
79、根据式(3.7)获得控制输入,并在时刻ki到ki+1=ki+m应用于执行器。在触发时刻ki+1时,对系统状态重新采样并对控制系统进行优化。在此之后采用一个大小为周期为p的控制信号来控制系统。系统在瞬态时以较快的速率采样,而在达到稳态时以较慢的速率采样。该自触发机制的控制序列遵循图2所示的特定规律,即控制序列满足下列等式约束:
80、
81、为满足安全性的控制目标,混合车辆队列中的cavs需满足相关安全约束,包括跟车速度、跟车间距等状态量约束以及受cavs自身物理条件影响的控制量约束。将混合车辆队列的实际状态、控制量以及提升状态需要满足的约束分别定义为:
82、
83、为确保实际提升状态δs和控制输入δu满足约束(3.2),由以及实际系统的控制输入(3.7)、名义系统的状态和应用于名义系统的控制服从于以下紧约束:
84、
85、式中代表pontryagin减法,给定集合其中终端代价vf(·)和终端状态约束集sf满足以下假设。
86、假设4.1:存在对于和使得μ(k;x)∈sf,并且vf(μ(k+1;x))-vf(μ(k;x))≤-l(μ(k+1;x),kfx),其中
87、步骤5:设计混合车辆队列优化问题
88、步骤5.1设计总体目标函数
89、将触发间隔时间m直接包含在目标函数中,使控制输入和下一个触发时刻同时优化,在保证系统性能的情况下降低系统间通信次数。总体目标函数定义为:
90、
91、步骤5.2求解最优序列
92、求解最优控制问题得到最优触发间隔m*和最优控制序列:
93、
94、以及相应的最优状态序列:
95、
96、应用到系统(2.5)和(2.6)上的实际控制量为:
97、
98、直到下一个触发时间ki+1=ki+m*,整个过程重复进行。
99、步骤6:计算离线参数
100、步骤6.1:通过(3.3)计算闭环反馈矩阵k;
101、步骤6.2:通过(3.15)计算rpi集和
102、步骤6.3:通过(4.5)计算紧集和
103、步骤6.4:通过(4.2)计算终端权重矩阵p。
104、步骤7:在线运行求解车辆运动状态
105、对触发时刻k=k0、k1...kl...ki
106、步骤7.1:通过(1.7)得到提升状态δsk=ψ(δxk);
107、步骤7.2:通过(5.1)获得最优解m;
108、步骤7.3:将最优解代入(3.4)得到控制输入δuk;
109、步骤7.4:step<k+m,将控制输入δuk应用到系统(3.5)、(3.6);
110、步骤7.5:停止计算。