基于B样条轨迹规划的自动驾驶车辆协同驾驶
摘要
车辆自动化用于提高交通流量和道路安全性。自动驾驶车辆应具备高度的通用性,以在高速公路和城市道路上实现导航。为此,完全自动化的自主车辆通常采用运动规划器来确保无碰撞且舒适的轨迹。相比之下,在协同驾驶中,通常使用反馈控制来实现短车距下的弦稳定车辆跟随行为。本研究通过使用轨迹规划器生成协同轨迹,弥合了协作式车辆跟随与轨迹规划之间的差距,从而在保留自动驾驶车辆通用性的同时纳入了协同性。所提出的方法利用B样条生成协同轨迹。仿真结果表明,即使在较大的通信延迟下,仍可实现弦稳定行为。采用B样条形式的参数化轨迹,确保车辆间仅需传递少量参数。
Index Terms— 自动化车辆,自动驾驶车辆,B样条,联网车辆,协同驾驶,运动规划,弦稳定性,轨迹规划
一、引言
VEHICLE 自动化目前备受关注,因为它有望提高道路通行能力和安全性。通过消除驾驶任务中的人为错误并缩短系统的响应时间,可以提高安全性。此外,它还能实现更紧密的车辆跟随,并消除所谓的“幽灵交通堵塞”,这两者都能提高道路通行能力[1]。
通常,可以将两种类型的自动驾驶车辆区分开来[2]。第一种类型是协作式车辆。这些车辆利用车对车(V2V)和车对基础设施(V2I)通信来共享信息,以实现(部分)自动化方式下的协同。用于控制纵向运动的协作式系统示例包括协同自适应巡航控制(CACC)[1],联网巡航控制[3],以及自动交叉口处理[4]。此外,已有用于以协作方式控制横向运动的系统被开发出来[5]。在分析协作式系统性能时,一个重要方面是弦稳定性[6]。这指的是扰动沿车队上游传播过程中其影响的衰减能力。
方向。弦稳定行为对于确保加速度保持在有界且可行的范围内非常重要,同时还能防止幽灵交通堵塞。虽然无需车对车通信即可实现串稳定性,但车对车通信允许更短的车间距,从而提高道路容量[1]。
第二类自动化车辆通常被称为自动驾驶汽车,因为它能够在交通中自主导航。所考虑的车辆对应于美国汽车工程师学会(SAE)[8]定义的分类法中的自动驾驶系统(3级及以上),其中驾驶员不再参与驾驶任务。自动驾驶车辆通常使用轨迹规划器在复杂交通场景中生成可行、舒适且无碰撞的轨迹[9]–[14]及相关参考文献。协作式车辆通过通信获取额外的环境信息,而自动驾驶车辆则仅依赖车载传感器。
理想情况下,这两种类型的车辆自动化将集成于同一车辆中。此类车辆既能受益于近距离跟车的能力,又能保持自主轨迹规划器框架的灵活性。保持串行稳定车间距的任务由此分配给运动规划层,而非反馈控制器。大量此类自动驾驶车辆能够以串行稳定的方式实现短距离车辆跟随。同时,由于编队并非预先设定,自动驾驶车辆可以随时脱离编队。例如,当车队行驶速度过慢而不再具有优势,或车队的目的地与主车不同时,这一能力非常有用。此外,该车辆仍可使用相同的框架自主导航道路,或作为领航车辆行驶。
除了自动驾驶车辆中通常使用的车载传感器外,协作式车辆自动化中常用的车际通信也被采用。车辆之间的通信通常允许更短的安全车间距,其中通信延迟至关重要[1]。这种通信所需的带宽以及消息大小理想情况下应尽可能低。这可以提高消息投递率[15],进而增强车辆间通信的可靠性。
一些轨迹规划器能够实现车辆跟随。然而,在大多数情况下,当多个自动驾驶车辆处于车辆跟随情形(即以车队形式行驶)时,尚未尝试评估其弦稳定性特性。在[11]中,使用五次多项式为车辆跟随生成最小加加速度轨迹。这些轨迹在[16]中被证明是弦不稳定的。在[12]中,一种更传统的自适应巡航控制器用于车辆跟随,通过估计前车的加速度;然而,未考虑或未明确提及弦稳定性。此外,该方法未考虑车对车通信,因此导致了保守的轨迹。而且,如果考虑车对车通信,则由于轨迹的特定表示方式,需要无线链路具有较高的带宽。另一种方法是[17],[18],[19]提出的模型预测控制(MPC)方法,用于解决异构车队的车辆跟随问题。尽管该方法最初并非为轨迹规划器设计,但MPC方法能够获取未来状态,因此可以与此类规划器集成。在此工作中,明确分析了弦稳定性。然而,车辆之间仍需传输大量样本。相比之下,[16]中提出的规划多项式轨迹的方法仅需在车辆之间传递少量系数,而非采样轨迹。这些轨迹能够使车辆队列从一个稳态过渡到另一个稳态。然而,该方法无法处理初始状态的扰动,从而导致不理想的轨迹。
本文提出了一种考虑弦稳定行为的协同轨迹规划新方法。通过该新方法,距离调节的目标从反馈控制层转移至轨迹规划层。由此,弦稳定的协同轨迹规划可被整合到自动驾驶汽车的轨迹规划框架中。通过将协作式车辆跟随与自动驾驶融合在同一框架内,自动化车辆能够在自动驾驶与弦稳定协同驾驶之间无缝切换。例如,可通过用户指定的成本函数实现是否组成车队或超车的决策。因此,生成的车辆可在较近的车间距下行驶,同时在其他道路场景中仍保持高度灵活性。协同轨迹使用B样条进行规划,B样条是一类分段多项式函数。由于B样条是参数化曲线,车辆间仅需传输少量参数,因此通信带宽远低于需要传输采样轨迹的情况。B样条具有局部修改特性,即当某个控制点发生变化时,曲线仅在局部发生改变,从而更易于对轨迹进行微调。相比之下,对于B´ezier曲线和多项式,单个系数的改变会导致整个曲线发生变化。此外,需要注意的是,B´ezier曲线实际上是B样条的一种特例。而且,即使存在显著的通信延迟,仍能保持弦稳定行为,这相较于传统的协作自适应巡航控制系统具有显著优势。
本文的结构如下。首先,第二节介绍了自动驾驶汽车轨迹规划器的框架,并阐述了协同轨迹规划问题。接着在第三节中,简要介绍了B样条及其特性,随后是主要贡献。在第四节中,通过仿真平台展示了规划器的功能。最后,第五节总结了本工作的结论,并提出了未来的研究方向建议。
II. 框架与问题表述
本节首先介绍自动驾驶汽车的轨迹规划框架。在提出该框架后,将概述协作如何融入此框架中。最后,制定协作部分的控制目标和性能准则。
A. 框架
采用文献[11]中提出的方法,因为该框架可以轻松地融入协作机制。在惯性参考系中定义一条参考路径X(s)=[x(s) y(s)],其分量为~r 1 1、~r 1 2,如图1所示。该参考路径可视为道路的中心线,具备足够的连续性。为了允许规划器偏离参考路径,定义了一个移动Frenet坐标系~r 2,其分量为~r 2 1、~r 2 2。规划问题现被定义为确定移动Frenet坐标系的曲线距离s(t)以及车辆相对于Frenet坐标系的横向距离 (t),以时间 t作为参数,使得{s(t) (t)}构成一条轨迹。利用文献[11]中提出的闭式变换,这些轨迹也可表示为车辆坐标系~r 3中的形式,其分量为~r 3 1、~r 3 2。特别地,纵向和横向坐标及其时间导数构成状态轨迹˙¨S(t):=[s(t) s˙(t) ¨s(t)]和Λ(t):=[ (t) (t)`(t)]。
轨迹规划器的目标是在考虑动态障碍的前提下,在时间范围t∈[t0,t0+T]内找到可行、无碰撞且舒适的轨迹S(t)Λ(t),这些轨迹从初始状态S(t0)Λ(t0)开始。
与其求解一个可能包含动态障碍和约束的复杂优化问题,不如生成一组可能的轨迹,然后检测这些轨迹是否存在约束违反和碰撞情况。这大大简化了问题。
描述的参考路径,通过在以曲线距离 s为参数的移动Frenet坐标系~r 2(s)中引入横向偏移`构造出的偏离路径)
图2:一组生成轨迹()在终端条件网格和空间参考路径()下的可视化
如[11]所示,对s(t)和`(t)使用五次多项式可在给定终端时间和终端状态的情况下实现最小加加速度的操纵动作。对于正常的自主运行,会生成五次多项式以在横向、纵向和时间维度上将初始状态与一组终端约束连接起来[16]。这在图2中进行了说明。
规划器同时考虑多条潜在轨迹非常重要。该方法生成一组多样化的轨迹,包括变道、停车和保持速度。因此,协同轨迹可以简单地添加到该集合中。通过使用代价函数从生成的轨迹集合中选择最优的(可行且无碰撞)轨迹。这使得新框架能够自动选择例如以编队行驶形式进行协作,或者当前车速度小于期望速度时直接超车。协作自适应巡航控制系统不具备这种灵活性,因为其始终跟随前车。显然,所得到的规划器既能够自主运行,也能够协同运行,并能在这两种模型之间无缝切换,从而使所得到的自动化车辆具有高度的通用性。在下文中,仅考虑协同轨迹的生成。
B. 控制目标
目标是将弦稳定车辆跟驰集成到轨迹规划中。为此,考虑一个由i∈{1,2,…N}索引的车辆队列,其中领航车辆的索引为i=1。车辆i的轨迹表示为Si(t)。现在需要利用前车的通信信息Si−1(t)t∈[t0,t0+T]来规划主车的轨迹Si(t)t∈[t0,t0+T]。本文采用前车跟随配置,即主车仅使用前车的信息,这使得临时编队形成更加容易。此外,在[20]中已表明多车前瞻并不总是有益的。虽然更通用的通信拓扑有可能被集成,但这超出了本文工作的范围。本文仅考虑曲线轨迹Si(t),因为横向轨迹Λi(t)在本研究背景下对车辆队列的性能并无关键影响。还需注意的是,如图2所示,每条Si(t)都关联着大量的横向轨迹。
关于该轨迹规划,有几个方面非常重要。首先,该控制系统在计算时间[12]方面面临严格的限制,因为它在防碰撞情况下运行临界情况。因此,必须确保当车辆需要时,能够获得一条新的可执行轨迹。另一个重要方面是将规划的轨迹传输给后随车辆所需的带宽。注意,轨迹Si(t)可以通过多种方式传输。直观上,由于主车上的实时实现带来了离散时间实现,因此直接在规划时域内传输采样轨迹是合理的。然而,由于实时计算机的规划时域和更新速率可能较大,需要传输的数据量也会相应增加。显然,需要传输的数据块越大,可能导致的延迟也越大,这是不希望出现的。
接下来,考虑生成轨迹本身的性质。显然,安全性至关重要,因此要求协同轨迹是无碰撞的,即满足si(t)≤si−1(t),假设车辆长度为零。协同轨迹的另一个关键特性是弦稳定性。弦稳定性意味着系统中引入的扰动在上游方向不会无限放大。除了防止所谓的“幽灵交通堵塞”外,该特性还可避免加速度输入超出车辆的加速度约束而无限增长。因此,弦稳定性是确保上游方向车辆轨迹可行性的必要条件。弦稳定性的概念在[6]及其所含参考文献中有描述,其中Lp将弦稳定性定义为
‖yi(t)‖∞ ‖yi−1(t)‖∞ ≤ 1, ∀i (1)
‖yi(t)‖p = √p∫∞−∞ypi(t)dt (2)
其中yi(t)是所考虑的级联系统的一个输出。在这种情况下,这些车辆的加速度被用作输出,因其具有物理意义。
轨迹规划的另一个重要方面是时间一致性[11]。这指的是轨迹规划器的递归实现,即在连续两个规划周期中,若场景未发生变化,则所规划轨迹的时间范围的重叠部分应保持一致。这一点非常重要,因为后随车辆会利用接收到的传输的轨迹来构建自身的轨迹。此外,如果连续生成的轨迹之间没有显著差异,则在无线通信发生数据包丢失的情况下,可以使用之前的轨迹以提高鲁棒性。在本研究中,采用了一个性能指标,用于衡量规划步骤k的轨迹Si,k(t)t∈[tk,i,tk,i+T]与另一次规划步骤的轨迹在重叠部分的重合程度。规划时间通过规划间隔tp进行更新,使得tk+1,i=tk,i+tp。作为性能指标,采用的是在重叠时间时域上,规划步骤k与规划步骤j(其中k<j)之间的最大差异,其定义为
Γk,j,sj,s˙Γk,j,¨s=maxt|si,k(t)−si,j(t)|t|s˙i,k(t)−s˙i,j(t)|maxt|¨si,k(t)−¨si,j(t)|\,t∈ tj,i,tk,i+Ti
III. 方法
在本研究中,采用B样条来描述轨迹。与多项式轨迹类似,整个轨迹可以通过少量参数进行简洁的参数化,这些参数随后可被传递给其他交通参与者。然而,与多项式不同的是,B样条可以局部修改,从而在构建轨迹时提供更大的设计自由度。B样条已被用于轨迹规划的优化方案中,例如在[21]中,但传统上更多地应用于图形学和曲线拟合[22]。本节将介绍B样条的定义方式及其在轨迹构建中的应用。首先介绍B样条及其一些有用特性;在描述了一般B样条曲线之后,进一步解释用作轨迹的B样条函数;最后,在协作式自动驾驶的背景下描述这些轨迹的构建方法。
A. B样条
B样条,C(u),是关于参数变量u的p次分段多项式。一个通用的多维样条定义为
C(u)=∑nj=0Nj,p(u)Pj,u∈[u0,um] (4)
其中P=[P0,P1,…,Pn]为控制点,对应于d次基函数Nj,p(u),这些基函数递归定义为[22]:
Nj,0(u)={1 if uj≤u<uj+1 otherwise , (5)
Nj,p(u)=u−ujuj+p−ujNj,p−1(u)+uj+p+1−uuj+p+1−uj+1Nj+1,p−1(u)
通过所谓的节点向量U=[u0,u1,…,um],其包含m+1个元素,其中ui−1≤ui,使得零阶函数为阶跃函数且仅在一个节点区间上非零,一阶函数为线性函数且在两个节点区间上非零,二阶函数为二次函数且在三个节点区间上非零,依此类推。这些基函数构成单位分解,满足∑nj=0Nj,p(u)=1,∀u。节点向量决定基函数的形状,且为一个非递减向量。节点数量m+1与控制点数量n+1共同唯一确定曲线的阶数,关系式为p=m−n−1。通常使用所谓的clamped节点向量,其中前p+1个节点和最后一个节点相同,从而使B样条曲线经过第一个和最后一个控制点。
控制点可以连接形成一个控制多边形。由于强烈的凸包性质,该控制多边形决定了B样条的形状。这一性质遵循从以下事实可知:如果u∈[uj,uj+1,则C(u)位于控制点{Pk|k∈{j,j−1,…,j−p}}的凸包内。当Pj确实是多维时,该控制多边形可绘制在与曲线本身相同的维度空间中。然而,控制多边形也可以在参数空间中可视化。这在处理一维曲线时非常有用,即Pj为标量,本文正是如此处理的。为了求得控制点Pj的参数坐标µj,使用以下公式[23]
µj=1pp∑k=1uj+k,j∈{0,…,n} (6)
这些点也被称为格雷维尔横坐标或马森‐勋伯格点。利用这些点可以证明,控制多边形的第一段和最后一段分别与B样条的起点和终点相切。图3中展示了这一现象,其中控制多边形用虚线表示。该控制多边形是通过控制点构造的,而对应的基函数Nj,p在下方的图中给出。可以看出,对于所有三条曲线,样条都跟随了控制多边形的方向变化。此外,控制点构成了B样条的凸包。
另一个重要特性是,B样条的导数本身也是一个B样条。一个p次B样条的导数是一个p−1次B样条,称为矢端曲线。第k阶矢端曲线(即第k阶导数)的控制点记为P(k)j,并由以下递推公式确定
P(k)j={Pj fork=0p−k+1u+p+k+1−uj+1+k(P(k−1)j−P(k−1)j)(7)
对于j∈{0,…,n−k}。请注意,每求一次导数,控制点的数量减少一个。还要注意,(7)可以重写为矩阵乘法
P(k)=∆kk−1(U)·∆k−1k−2(U)·…·∆10(U)︸︷︷︸∆k0P (8)
其中为简洁起见,在符号表示中省略了∆k0对U的依赖关系
∆kk−1(U)=δ0δn−d−11−11
δi=p+1−kui+p+k−ui+k(9)
此外,根据p=m−n−1,B样条的k阶导数对应的节点向量去除了2k个节点,以确保导数曲线的次数确实低于原始曲线。事实上,k阶导数曲线的节点向量是U(k)=[uk,uk+1,…,um−k−1,um−k],其中节点来自原始节点向量。注意,在(7)中,原始曲线的节点也用于确定控制点。
B. B样条轨迹
在解释了B样条基础之后,接下来介绍使用B样条来描述轨迹的方法。目标是使用样条来描述状态轨迹Si(t)。为此,将时间t用作参数化变量。然后使用一维B样条来描述车辆i的轨迹si(t):
si(t)=∑nj=0Nj,p(t)Pj,i,t∈[tk,i,tk,i+Ti] (10)
其中Pi=[P0,i,P1,i,…,Pn,i]是n+1个控制点。节点向量Ui中的节点也以时间域表示。为了确保轨迹在期望的时间范围内定义,第一个节点应与当前时间tk,i重合,最后一个节点应延伸至时间范围tk,i+Ti。采用均匀钳位节点向量,
Ui=[tk,i,…,tk,i︸︷︷︸p+1,up+1,…,un︸︷︷︸n−p,Ti+tk,i,…,Ti+tk,i︸︷︷︸p+1],
uj=j−pn−p+1Ti+tk,i,j={p+1,…,n} (11)
请注意,一旦定义了si(t)的轨迹,便可简单地计算其矢端曲线以得到s˙i(t)和¨si(t)。这意味着只需使用控制点Si(t)、当前规划时间tk,i以及时间范围Ti即可进行评估。这一点在图4中进行了说明,图中显示了si(t)的B样条曲线以及对应的s˙i(t)和¨si(t)的样条轨迹。
C. 车辆模型
对于轨迹要可行,要求其从当前车辆状态开始,这通过使当前位置si(tk,i)与第一个控制点P0,i重合来实现,这是由于使用了钳制的节点向量。初始速度s˙i(tk,i)可简单通过矢端曲线关系求得,其控制点根据(7)式确定,使之与第一个控制点P(1)0i,重合,该值与前两个控制点之差P0,i,P1,i相关。类似地,初始加速度¨si(tk,i)与P(2)0i,重合。因此,当前状态Si(tk,i)通过前三个控制点Pj,i,j∈{0,1,2}确定。通过将加速度包含在状态向量中,从而确保了加速度的连续性。这是必要的,因为车辆的传动系统无法实现驱动扭矩的瞬时变化。
事实上,可以采用与1],18],19],24]中相同的模型,该模型代表将在未来工作中使用的实验演示平台。该模型对传动系统使用一阶动态。
a˙i(t)=1ηi(ui(t)−ai(t)), (12)
其中ai(t)为纵向加速度,ui(t)为指令纵向加速度,ηi为车辆i传动系统的时间常数。定义了一个新的系统增广输入νi(t):=1ηi(ui(t)−ai(t)),从而得到一个虚拟三重积分系统。
q˙i(t)=vi(t) (13)
v˙i(t)=ai(t) (14)
a˙i(t)=νi(t) (15)
其中qi(t)、vi(t)和ai(t)定义在车辆坐标系~r3中。
注意,规划轨迹的导数可直接替换为νi(t)。然后,原系统的输入ui(t)可计算为ui(t)=ηiνi(t)+ai(t)。这表明显式规划轨迹的另一个优势,即相较于使用反馈策略,可以补偿传动系统动态,或针对纵向B样条轨迹,只要p≥3,即可计算该规划轨迹的导数。此外,根据文献11],中提出的闭式变换(将[S(t)Λ(t)、X(s)]→[qi(t)vi(t)ai(t)]进行映射),要求`(t)是三次连续可微的,且参考路径X(s)的曲率是二次连续可微的。然而在实际中,横向轨迹Λ(t)在车辆坐标系[qi(t)vi(t)ai(t)],中的运动分量远小于S(t)的贡献。需要注意的是,当ηi存在模型不确定性时,规划器的滚动时域实现构成了所提出规划器的反馈机制。
D. 期望轨迹
为了实现安全的短距离车辆跟随,采用了一种在协同自适应巡航控制应用中常用的间距策略[1]。该间距策略描述了车辆i的后保险杠与车辆i−1的后保险杠之间的期望车距di,r
di,r(t)=ci+Li+hisd˙i(t), (16)
ei(t)=di(t)−di,r(t)=si−1(t)−si(t)−(c˜i+hisd˙i(t)) (17)
其中c˜i=ci+Li结合了静止距离ci和车辆长度Li,hi为固定车头时距,ei为距离误差。请注意,这些轨迹和间距策略是在运动坐标系~r2中定义的。
假设前车的规划轨迹si−1(t)信息以B样条的形式提供。该轨迹的n+1控制点表示为Pi−1。除了控制点外,还接收到前车规划其轨迹的时间实例tk,i−1以及时间范围Ti−1,从而可以重构如(11)式所示的固定均匀节点向量,前提是所有车辆均使用相同次数p的均匀分布节点向量。因此,仅通过通信n+3个值即可评估前车的完整轨迹Si−1(t)。相比之下,若采用模型预测控制或采样轨迹的方法,并假设控制频率为fc,则需要通信fc·Ti个值才能达到相同效果。典型取值为fc=100Hz、Ti=5s和n=6,这意味着在MPC情况下需要传输500个值,而所提出的规划方法仅需9个值。
接下来,为了为主车i构建期望轨迹,采用间距策略(16)。在传统的协同自适应巡航控制应用中,使用反馈控制器将误差ei调节至零。基于相同的思路,通过调整B样条来确保规划轨迹也能够最小化该误差。对于给定时刻,可计算出给定阶数的基函数值,并将其组合成一个行向量
Bn,p(t)=[N0,p(t)N1,p(t)…Nn,p(t)] (18)
使得(10)可以重写为
si(t)=Bn,p(t)Pi (19)
s˙i(t)=Bn−1,p−1(t)∆10Pi (20)
¨si(t)=Bn−2,p−2(t)∆20Pi (21)
将(19)和(20)代入(17)可得
ei(t)=si−1(t)−c˜i−[Bn,p(t)+hiBn−1,p−1(t)∆10]Pi(22)
时间实例被使用
t∗j∈[tk,i,tk,i+Ti],j={1,2,…} (23)
来构造一个向量T,使得tj∗<tj∗+1成立。对于该向量中的每个元素,计算(22)中的误差,并且目标是最小化累积误差
J=∑Tei(tj∗)2 (24)
为了解决这个最小化问题,可以将(22)在T中的每个时间实例上设为零,从而构建一个线性方程组,用于求解Pi。注意,为了使解具有唯一解,t∗应满足Schoenberg‐Whitney条件[25],[23],。
uj≤tj∗≤uj+p (25)
因此,T中时间实例的选择非常重要。由于(22)的误差在整个时间范围内都应较小,因此应包含整个时间范围内的样本。注意,(6)中控制点的坐标既满足Schoenberg‐Whitney条件,又覆盖了整个样条。因此,tj∗=µj被用于时间实例向量T中。
规划轨迹从如前所述的当前车辆状态开始。根据构造,N0,p(tk,i)=1,∀p和Nk,p(tk,i)=0,k>0。控制点Pj,i,j∈{0,1,2}通过(19)、(20)、(21)和(9)固定以对应给定的初始条件,并可通过
[P0,iP1,iP2,i]ᵀ=C−1Si(tk,i) (26)
[C03×(n−2)]=[10…0][10…0]∆10[10…0]∆20
其中C∈R3×3。前三个控制点在很大程度上控制初始响应。因此,仅使用时间实例T=[µ3,µ4,…,µn]作为自由控制点的坐标,以最小化代价函数J=∑nej=3ei(µj)2。通过求解方程组(22)可得到控制点。
P3,i…Pn,i=Ω−112si−1(µ3)−c˜i…si−1(µn)−c˜i−Ω11P0,iP1,iP2,i (27)
[Ω11Ω12]=Bn,p(µ3)+hiBn−1,p−1(µ3)∆10…Bn,p(µn)+hiBn−1,p−1(µn)∆10
其中,ΩΩΩ11,和ΩΩΩ12是对应维度的矩阵分块。在优化中可以包含更多的时间戳,此时应使用摩尔‐彭罗斯逆。由于选择t∗进行最小化会导致样条在整个时间范围内最小化误差,因此在我们的应用中可能避免超调。这使其适用于实现弦稳定性。
E. 设计考虑
实际上,规划器将以固定时间间隔tp进行更新的滚动时域方式实现,使得tk+1,i=tk,i+tp。通过合适的小化准则,可以实现时间一致性的设计目标。由于最优性原理。理想情况下,当时间范围延长时,这种最小化保持不变。注意,(17)确实满足这一条件。
此外,只有当基函数完全相同时,才能实现精确的时间一致性。通常情况下这并不成立,除非将新的节点向量向后移动tp以与前一个规划步骤的节点向量重合。然而,这需要额外的开销来跟踪基函数应如何定义。因此,为了简单实现而牺牲了精确的时间一致性。
一个重要考虑因素是B样条的次数p以及所使用的控制点数量n+1。为了舒适性,通过选择p=5来保持[16]的光滑性特性。对于n,请注意,在给定视界Ti的情况下,使用更多的控制点可以使方法更快地调节误差,但代价是更大的控制输入和CPU上更高的计算负担。
需要注意的是,在该框架下,通常存在的间隙闭合问题(即CACC控制器发出激进的加速度指令)可以轻松避免。通过修改间距策略,可构建更舒适的接近轨迹,如[26]所示。然而,在本文其余部分中,间距策略保持不变,以便更容易地评估行为。
F. 通信延迟
传统上,CACC控制器设计中的主要瓶颈之一是通信延迟。这种延迟会阻碍反馈控制器的性能,因为主车接收到前车期望加速度信息的时间较晚。显然,由于该延迟是由系统所使用的硬件导致的,因此采用不同的控制策略并不能消除这一问题。然而,如将要展示的那样,轨迹规划方法对通信延迟ζ(t)具有更强的鲁棒性。这是因为通信信息不仅包含当前期望加速度,还包含整个时间范围内的期望加速度。尽管如此,仍然需要考虑通信延迟的影响,因为此时通信的轨迹不再包含主车所需规划的完整时间范围。
这一点在图5中得到了说明,图中显示了前车所通信的轨迹。需要注意的是,不能简单地将主车的时域截断以匹配前车的时域,否则会导致上游车辆的时域变得越来越小。当若前车的规划时域小于主车的规划时域时(例如Ti>Ti−1),也会出现同样的问题。
为了确保主车仍能在其时间范围内构建轨迹t∈[tk,i,tk,i+Ti],有一些可选方案。一种方案是改变时间向量t∗,该向量包含用于最小化由(22)给出问题的样本。然而,对于时间范围Ti−Ti−1存在较大差异的情况,这可能导致违反Schoenberg‐Whitney关系式(25)。另一种方案是通过预测直接延长B样条轨迹。
情况下,由于信息未包含主车整个时间 范围 t ∈[tk,i, tk,i+ Ti]内的数据,前车的B样条轨迹被延长)
假设轨迹的延伸部分为恒定加速度。对于满足(tk,i−1+Ti−1)<θ的时间样本θ,可以计算出一个简单的预测sˆi−1(θ):
τi=tk,i+Ti,∆t=θ−τi−1
ˆsi−1(θ)=si−1(τi−1)+∆ts˙i−1(τi−1)+12∆t2¨si−1(τi−1)
其中(9)可用于计算
s˙i−1(τi−1)=[0…01]∆10Pi−1
¨si−1(τi−1)=[0…01]∆20Pi−1
IV. 仿真结果
本节展示了该算法在路径规划中的有效性。为此,实现了车辆车队的多个重要场景。领航车辆采用B样条轨迹,以最小加加速度过渡到新的速度。需要注意的是,这些轨迹与[11],[16]中的四次多项式轨迹相对应。该领航车辆的轨迹由B样条表示,其{spline}为p=5,T0=5s,节点根据公式(11)确定,控制点为P0|0=[0103048.75658087.5]。该领航车辆轨迹对应的速度变化是从s˙(0)=20ms−1变为速度s˙(5)=15ms−1。注意,该轨迹在每个规划周期都会更新,因此P0,k在每个时间步k都会更新,以适应新的初始条件。这一处理方式与其他后随车辆类似,但不同之处在于,对于领航车辆,期望轨迹会被调整,以尽可能接近上一规划周期所生成的轨迹。此外,还施加了终端约束¨s(tk,0+T0)=0,以防止样条拟合过程中出现振荡。因此,领航车辆的控制点P0|k通过等式约束下的最小化方法求解。
min∥∥∥∥∥∥∥Bn,p(µ0)…Bn,p(µn)P0|k−s0|k−1(µ0)…s0|k−1(µn)∥∥∥∥2(28)
s.t.[C[0…01]∆20]P0|k=[S0(tk,0)0],
其中µj,j∈[3,…,n]与时间步k相关,s0|k−1(t)表示规划步骤k−1的值,且C与(26)中的相同。同样地,请注意在以下情况中由于通信延迟,需要对前一时间步规划的轨迹进行外推。这是通过假设在速度过渡达到的值上保持恒定速度来实现的。
注意,在[16]中已经展示了[11]的多项式规划器的性能,并表明其本质上是弦不稳定的。在[16],中还展示了潜在解决方案,但这需要为车队中的每辆车移动时间范围,对于长编队来说并不实际。这是由于上游方向的车辆距离扰动源头越远,补偿初始扰动所需的时间就越长。
A. 时间一致性
在第II‐B节中提到的控制目标之一是时间一致性。这指的是连续规划轨迹之间的相似程度。如前所述,通常情况下由于基函数随时间推移而移动,因此无法实现精确的时间一致性tp。然而在实际应用中,只要求连续轨迹彼此接近即可(即要求(3)中的Γk,k+1足够“小”)。
进行了一项仿真研究,以分析在领航车辆从s˙(0)=20ms−1减速至速度s˙(5)=15ms−1的场景下,第II‐B节中的性能指标。所有车辆的间距策略参数采用时间间隔为hi=0.5s,静止距离为ci=5m;所有车辆长度均设为零,不失一般性。对于B样条轨迹,使用了p=5和n=6。轨迹规划的时间范围为Ti=5s∀i。该仿真在规划更新间隔为tp=0.2s的情况下如图6所示。
第一辆车用黑线表示,上游车辆的响应通过逐渐变蓝的颜色表示。对于每辆车,所有规划周期内的规划轨迹在整个时间范围内均被绘制出来,以显示连续规划周期之间的差异。每辆车的实际响应由在时间跨度t∈[tk,i,tk,i+tp]上按tp间隔更新的连续规划B样条轨迹确定,并用对应车辆的颜色表示。
从图6可以看出,所有车辆的响应均为向新速度的平滑过渡。由于加速度幅值随着车辆索引的增加而减小,该车辆队列未表现出弦不稳定行为。此外,连续的规划周期显示出(接近)时间一致性。由于uj+1−uj≠tp,新节点与先前节点不重合,因此最低阶基函数的过渡也发生在略微不同的时间点,故无法实现精确的时间一致性。然而,该图表明位置和速度均保持接近原始轨迹。
这在图7中得到了证实,该图展示了对于6辆车的车队,在不同规划更新时间tp下的上述性能指标(图中显示了所有车辆中的最大值)。显然,从黑色叉号可以看出,更新时间越短,两个连续规划周期之间的差异就越小。此外,由于更多轨迹覆盖相同的时间实例,最大的任何规划轨迹之间的差异都更大。请注意,该操纵动作的位置差异仅为所展示操纵动作车距的0.8%,足够小,可以接受。
需要注意的是,更新时间tp不仅影响时间一致性,还会影响规划延迟。由于车辆以异步方式规划,导致的计划延迟的期望值随其线性增加tp的值。因此,tp应根据车载CPU的计算能力尽可能选择较小的值。在本节其余部分中为tp=0.2s。
B. 初始扰动
第二个重要的测试场景是领航车辆以恒定速度行驶,且参数与第四节‐A相同,但车队不处于稳态,因为第二辆车的位置相对于其期望位置存在偏移。使用多项式[16]的所提出方法无法很好地处理这些初始扰动,甚至导致了碰撞。然而,从图8可以看出,新提出的使用B样条的方法能够良好地处理初始扰动。所有初始误差均被调节至零。此外,可以明显看出扰动在上游方向上衰减,上游车辆加速度的幅值再次呈现减小趋势。因此,该响应未表现出弦不稳定行为。
C. 通信与规划延迟
实际上,由于通信延迟和异步规划更新,时间延迟始终存在。因此,执行与之前相同的仿真,但现在后随车辆只有在通信延迟ζ(t)之后才能获得信息。仿真中假设延迟为常数,但规划器并不要求如此,因为规划计算所对应的时间实例始终会被传递。在这种情况下,ζ(t)不仅包含通信延迟,还包括由于连续车辆规划异步性引起的延迟,从而表示计划更新时间之间的总时间延迟,tk,i,以及主车的时间实例tk,i−1,即前车可用的规划时间。如图5所示。仿真的设置使得后随车辆在通信信息可用时能够直接更新其规划。
使用了ζ=0.4s的延迟,其余参数与第四节‐A中使用的参数相同。结果如图9所示,表明响应仍未表现出弦不稳定行为,并且与图6中无延迟情况的结果几乎相同。该结果强调了此方法的优势,即尽管存在显著的时间延迟,仍未观察到弦不稳定行为。可以看出,在尚未接收到速度变化信息时,后随车辆最初会持续规划以保持初始速度行驶。
注意到以下三个参数对车队的最终行为具有重要影响:规划时域Ti、时间间隔hi和延迟时间ζ。为了评估性能,进行了数值参数研究,以确定在哪些参数组合下,车队在选定的操纵动作中不会表现出弦不稳定行为。由于时间范围通常由自主规划器的需求决定,因此像之前一样将其固定为Ti=5s∀i,并单独针对更长的规划时域Ti=10s∀i进行了额外的仿真研究。在本研究中,使用由50辆车组成的车队模拟了多个操纵动作。测试的操纵动作如下:速度转换:(i)s˙i(0)=20ms−1→limt→∞s˙i(t)=15ms−1,∀i,如图9所示;(ii)s˙i(0)=20ms−1→limt→∞s˙i(t)=1ms−1,∀i;(iii)s˙i(0)=5ms−1→limt→∞s˙i(t)=15ms−1,∀i;以速度s˙i(0)=20ms−1行驶,车辆2的初始误差为:(iv)e2(0)=5m(车辆2比期望位置更远),如图8所示;(v)e2(0)=−5m(车辆2比期望距离更近)。随机加速度在p作用于领头车辆:(vi)P(2)j,1∼N(0,1)j∈[1,…,n−2],其中P(2)n−1,1=0。情景(i)‐(iii)用于覆盖多个速度。情景(iv)‐(v)展示了更多真实世界情景,其中速度曲线由车辆纠正误差的过程决定。最后,使用二十种不同的随机情景(如(vi)所述)作为最坏情况情景,覆盖更大的频率范围,其中第一个规划步骤的加速度控制点取自正态分布N(0,1),均值为零,方差为1。因此,情景(i)‐(v)的组合能够可靠地指示串稳定性。在此第一个规划步骤之后,仿真其余部分采用(28)。
此类情景的一个示例如图10所示,展示了50辆车的响应,其中曲线颜色表示车辆索引:第一辆车为黑色,第50辆车为蓝色。可以看出,在该情景中,对于特定的延迟ζ和车头时距h组合,系统表现出串稳定性。需要注意的是,由于假设领航车辆使用B样条进行轨迹规划,即使控制点是随机选择的,仍会生成平滑轨迹,这一点在图10中也可以明显观察到。
在h和ζ上使用网格,并结合二分法来寻找参数值,使得车队在所有仿真操作(i)‐(v)以及(vi)的二十种场景下,根据(1)中加速度¨si(t)不表现出弦不稳定行为。对于给定的时间间隔h,图11显示了仿真车队不表现出串不稳定行为的最大延迟ζ。对于非常大的延迟,累积的误差超过当延迟过大而无法通过足够小的加速度进行补偿时,会导致弦不稳定行为。然而,发生这种情况的延迟远大于例如[1]中传统CACC控制器的情况。显然,通过利用未来信息,即使存在较大延迟,仍可避免弦不稳定行为,如绿色区域所示。对于更长的时间范围,可以观察到轻微优势,即与较短时间范围相比,可以在稍大的时间延迟下防止弦不稳定行为。
V. 结论与展望
本文提出了一种在协作式自动驾驶车辆轨迹规划中使用B样条的新方法。所提出的方法使得我们能够将自动驾驶汽车的框架(其中轨迹在执行前被明确规划和检查)与协作式车辆跟随的框架(通过通信实现弦稳定性)相结合。该方法表明,B样条可用于为协作式车辆规划轨迹,从而将满足弦稳定性的任务从反馈控制器转移到轨迹规划层。该方法无需使用迭代求解器进行优化,因此有可能满足计算时间上的约束。此外,由于采用B样条表示,期望轨迹可以高效地进行通信,从而保持较低的带宽需求。针对所选代价函数,实际的时间一致性得以实现。在所展示的仿真中,该规划算法在弦稳定性方面表现出良好的结果。
即使在存在较大通信延迟的情况下,所提出的方法在展示的仿真中仍表现出弦稳定行为。这是由于每个通信消息不仅包含当前期望加速度,而是一个完整的规划轨迹。需要对串稳定性进行更严格的分析,以正式声明所提出的规划器框架的串稳定性。这还可能揭示加速度衰减意义上的弦稳定性是否也意味着关于速度的弦稳定性。在全尺寸车辆上的实验验证留待未来工作完成。
4156

被折叠的 条评论
为什么被折叠?



