当前位置:首页>自动驾驶>自动驾驶中基于量化风险约束缓解死锁的遮挡感知轨迹规划

自动驾驶中基于量化风险约束缓解死锁的遮挡感知轨迹规划

  • 2026-03-03 21:25:30
自动驾驶中基于量化风险约束缓解死锁的遮挡感知轨迹规划

编者按自动驾驶汽车在复杂的遮挡交通场景中面临严峻挑战,盲区的存在往往导致现有规划算法因过度保守而陷入“死锁”状态,严重影响通行效率。本文提出了一种基于量化风险约束的遮挡感知轨迹规划方法,旨在平衡安全与效率。作者引入具有不确定性的“幽灵障碍物”概念,并采用随机模型预测控制(SMPC)对潜在风险进行建模。该方法模仿人类驾驶员的防御性驾驶风格,提出横纵向一体化规划策略,通过主动的侧向偏离优化视野。值得注意的是,文章设计了一种新颖的量化风险评估方法,通过对时空(ST)投影的创新调整,将风险约束量化,从而有效缓解死锁问题。在多种典型遮挡场景下的实验证明,该方法在安全性、舒适性及死锁消解能力上均优于现有的POMDP和基于集合的方法。

本文译自:

《Occlusion-Aware Trajectory Planning With Quantified Risk Constraint for Deadlock Mitigation in Autonomous Driving》

文章来源:

IEEE Transactions on Intelligent Transportation Systems,2025

作者:

Zhan Chen1, Weidong Liu1, Lu Xiong1 , Zhuoping Yu1 , and Chen Tang1

作者单位:
同济大学
原文链接:
https://ieeexplore.ieee.org/abstract/document/11053221

摘要对于自动驾驶汽车(AVs)而言,安全、高效且舒适地通过存在视线遮挡的交通场景仍然是一个巨大的挑战。盲区无处不在,紧急情况可能随时发生,这就要求自动驾驶汽车在行驶时必须采取充分的预防措施。然而,现有的规划算法往往采取过度的保守策略,导致造成导航中断的“死锁”现象。为应对这些挑战,我们引入了“幽灵障碍物”(phantom obstacles)的概念,并赋予其不确定性特征。基于此,我们提出了一种横纵向一体化的轨迹规划方法,以模仿人类驾驶员的防御性驾驶风格,并采用随机模型预测控制(SMPC)来对障碍物的各种不确定性进行建模。此外,我们分析了死锁的成因机制,并提出了一种新颖的量化风险评估方法,该方法针对遮挡感知规划对时空(ST)投影进行了创新性的调整。该方法制定了一种能够显著降低死锁可能性的驾驶策略,增强了自动驾驶汽车在遮挡场景下的有效导航能力。涵盖不同典型设置中各类对象的案例分析和跨多场景的统计研究,验证了所提规划结果的安全性、效率和舒适性。这些发现凸显了我们的方法在提升自动驾驶汽车应对复杂及遮挡驾驶环境能力方面的潜力。

关键词:自动驾驶汽车,轨迹规划,遮挡

引言

自动驾驶汽车显著提升了交通效率和安全性[1]-[3]。然而,带有遮挡的复杂场景仍然是自动驾驶面临的一大严峻挑战。在此类场景中,自动驾驶汽车因各种不确定性而面临巨大困难,包括传感器测量噪声、遮挡区域内障碍物存在与否的模糊性,以及对其运动预测的不确定性[4]-[9]。即使使用最先进的传感器,这些不确定性也无法被完美消除。因此,规划模块必须考虑这些不确定性,并提出一条既安全又高效的轨迹。这一概念被称为遮挡感知运动规划(occlusion-aware motion planning),其重点在于生成能够应对源自盲区固有风险的鲁棒轨迹[10]-[12]。

在解决这些挑战时,近期的研究主要集中在结构化道路环境,特别是交叉路口。这些研究在很大程度上依赖于地图信息的利用[14]-[16] 或从外部数据源获取信息[17],[18]。主流方法通常包含相对简单的冲突障碍物,主要是车辆。然而在实际场景中,各种危险情况可能涉及多种类型的障碍物,例如从公交车后走出的行人或在乡村岔路口出现的骑行者。这就需要一种具有兼容性和通用性的算法,以有效管理这一系列的障碍物。 

之前关于遮挡感知运动规划的研究也集中在估计盲区内其他交通参与者的概率上[16]。一些研究采用“最坏情况法”,假设虚拟障碍物总是会从遮挡区域出现,并使用碰撞时间(TTC)指标或基于集合的方法(set-based methods)规划避障[19]-[21]。虽然这种方法能有效确保安全,但可能过于保守,常导致自动驾驶汽车陷入所谓的“冻结状态”(freezing state)[22]。另一种方法是根据从上下文信息和道路拓扑得出的风险系数进行采样,从而确定潜在障碍物的可能性[16],[22],但这种方法缺乏足够的安全应对措施。然而,采样结果并非总是可靠。潜在障碍物的存在与否并不是一个简单的“是”或“否”的二元问题。当自动驾驶汽车承担风险时,它们应当量化风险水平并为最坏情况做好准备,同时避免可能阻碍效率的过度谨慎的规划结果。 

在规划输出方面,许多研究在处理遮挡驾驶区域时主要关注纵向速度规划,包括加速和减速策略[23]-[26]。相比之下,设想人类驾驶员遇到此类情况的场景,他们会本能地在适当减速的同时,向盲区的另一侧进行微小的横向偏离。这种路径与速度的联合调整不仅提高了对隐蔽交通参与者的可见性,还为紧急情况的处理分配了更多的反应时间。为了实现类似人类驾驶员的驾驶行为,必须在遮挡感知轨迹规划中同时纳入横向和纵向的考量。

在本研究中,我们采用幽灵障碍物(PHOs)的概念作为处理遮挡的策略,并基于期望最大化(EM)规划器[27] 对路径和速度进行优化。为了考虑与感知障碍物(POs)和幽灵障碍物相关的各种不确定性,最优轨迹规划问题被表述为随机模型预测控制(SMPC)。这些不确定性被表示为概率约束,从而有助于有效地进行风险建模。为了优先选择非保守的驾驶策略,我们通过量化风险模型来平衡风险与效率,确保规划结果既积极又具有探索性,如图1所示。该方法旨在在以安全为首要任务的同时避免死锁情况。

图1. 当AV通过有遮挡区域并且考虑到障碍物不确定性扩散时,如果不考虑遮挡(如左上子图),或者对空间-时间(Space-Time, ST)投影施加刚性约束[13](如左下子图),就会导致保守的规划结果。相比之下,具有遮挡意识的路径会引入横向偏移,提高对盲区的感知并增加对遮挡障碍物的反应距离(如右上子图)。利用量化风险约束可以防止车辆采用保守的加速度策略(如右下子图),从而提高具有遮挡意识的轨迹规划结果的效率

本文提出的方法的贡献总结如下:

  • 我们提出了一种通用的遮挡感知轨迹规划算法框架,擅长处理各种带有遮挡的交通场景。该框架统一了横向和纵向规划,并结合PHOs概念来对遮挡区域产生的不确定性进行建模。

  • 我们利用SMPC,因其固有的概率约束有助于不确定性的无缝集成。在此基础上,我们引入了量化风险约束(Quantified Risk Constraints)以缓解死锁情况,并能够在高度不确定的环境中实现安全过渡。

  • 我们在各种极具挑战性的场景中进行了广泛的实验,包括不同类型的障碍物、连续的遮挡障碍物和动态遮挡。结果表明,与其他最先进的方法相比,该方法在避撞、死锁解决和导航效率方面有显著提升。

本文结构如下:第二部分回顾相关工作;第三部分介绍结合EM规划器和SMPC的基础规划问题表述,并推导遮挡区域的PHOs建模;第四部分讨论死锁情况的分析及带有约束重构的风险量化;第五部分展示仿真结果;第六部分总结全文。

相关工作

目前已有一些方法旨在使自动驾驶汽车能够通过遮挡场景。值得注意的是,车路协同系统(vehicle-road cooperative system)和车间信息交换的实施旨在减轻遮挡带来的不确定性,从而推导出优先考虑安全和舒适的速度规划结果[1],[17],[28],[29]。然而,这些方法的广泛实施面临诸多挑战,包括对鲁棒通信网络的需求、延迟问题以及基础设施部署的高昂成本[18],[30]。

为了保持高水平的安全性,通常假设障碍物可能从可见区域的边缘出现。TTC指标经常被用作一种调节自动驾驶汽车速度以避免碰撞的低成本手段。然而,这种方法无法提供稳健的安全保证[19],[31]。作为替代方案,基于集合的方法(set-based approach)被提出,该方法考虑虚拟障碍物所有可能的未来状态(包括最坏情况)来制定可达集。规划的轨迹必须确保不与这些可达集相交以保证安全[20]。尽管已有研究致力于改进这一方法[14],[15],[25],但它倾向于导致过度保守的规划输出。

为了减轻规划结果的过度谨慎,遮挡感知运动规划可以被表述为部分可观测马尔可夫决策过程(POMDP),而非始终考虑最坏情况[32],[33]。在这种方法中,不确定性被集成到POMDP模型中,允许通过置信状态(belief state)更新,结合过去和当前的观测来推断被遮挡障碍物的状态。基于POMDP框架,Thornton等人[34]将价值敏感设计应用于车辆速度控制,以通过被遮挡的人行横道。在Schratter等人[35]的研究中,自动紧急制动(AEB)被制定为POMDP以解决行人乱穿马路的问题,但这仅在直接感知到行人时触发,而不对被遮挡的障碍物进行推断。Hubmann等人[16]的另一项研究将视场(FOV)的变化纳入POMDP框架。通过考虑交通密度来确定潜在障碍物存在的概率,然后进行采样以确定盲区中是否存在障碍物。Zhang等人[22]通过结合环境上下文得出的更准确的障碍物存在概率,进一步增强了这一方法。然而,这些研究严重依赖采样结果,且缺乏相应的安全应对措施。此外,尽管已有工作试图提升求解器性能(通常涉及粗略离散化的动作空间[36]),基于POMDP的方法的计算成本仍然是一个挑战。

基于学习的方法通过同化大量驾驶数据来实现类人的驾驶策略,从而针对特定场景和冲突实体产生有效的规划结果[37]-[40]。然而,这种方法在泛化性和可解释性方面存在局限性[41]-[43]。在文献[44]中,提出了一种开创性的时空全局推理网络(ReasonNet),利用端到端模型将被遮挡障碍物的预测纳入考量。尽管具有创新性,该网络在提取被遮挡障碍物相关特征方面表现不足,且缺乏明确的解释。文献[45]学习了一种人类驾驶员的传感器模型用于遮挡推断,将观察到的人类代理行为解释为传感器测量值。其他研究,如[46]和[47],利用占用流场(occupancy flow fields)进行预测任务,展示了预测被遮挡障碍物的能力。然而,目前这种预测任务的精度仍然不够理想,且网络结构设计在被遮挡障碍物的特征提取方面存在缺陷[48]。

为了对遮挡场景进行建模,Andersen等人[49]采用模型预测控制(MPC)来提高绕过被遮挡停放障碍物的效率。然而,这种改进仅仅是通过增强视野实现的,并未直接考虑被遮挡障碍物的高度概率性质,例如它们可能突然出现。虽然在某些场景下有效,但这一局限性限制了其在更动态、不确定的环境中的适用性。SMPC是处理具有显著不确定性对象的合适方法。Brüdigam等人[50]在变道场景中利用SMPC,考虑了传感器测量和障碍物运动的不确定性。该方法基于预定义的风险参数生成安全轨迹。然而,这项研究专门针对特定场景中已感知的障碍物,可能无法完全捕捉处理被遮挡障碍物或更复杂交通环境中突发动态的挑战。

总而言之,当前的研究面临一定的局限性,通常针对特定场景和障碍物,并严重依赖地图信息来通过盲区。此外,大部分关注点在于纵向速度调整,忽略了横向机动的潜在益处。在某些情况下,横向调整可以显著增强视野,增加对障碍物的反应距离和时间,最终提高整体效率。在我们的方法中,我们假设在遇到遮挡时,PHOs始终出现在可见区域的边缘。我们采用SMPC在考虑不确定性的同时优化轨迹。为了缓解导致死锁情况的过度谨慎,我们提出了一种在风险与效率之间取得平衡的规划策略,专门用于应对复杂遮挡环境中障碍物的出现。值得注意的是,我们的重点主要在于运动规划,这就需要对传感器范围和离线地图数据的可用性做出一定的简化假设。

考虑不确定性的轨迹规划

传统的EM规划器[27] 结合动态规划(DP)和二次规划(QP)方法来计算轨迹。在此框架下,静态障碍物在Frenét坐标系的路径规划中被考虑,而动态障碍物则投影到时空(ST)投影上进行速度规划。引入随机模型预测控制(SMPC)后,规划过程及相关的优化问题需要重新配置以应对遮挡场景。在EM规划器中考虑感知障碍物(POs)不确定性的路径和速度规划的DP和QP问题将在III-A和III-B节中详述。为了应对盲区中幽灵障碍物(PHOs)潜在危害而对规划框架进行的修改将在III-C节中详细说明。

A. 解耦的路径与速度规划

在轨迹规划中,车道中心线最初被用作参考线,感知到的静态障碍物被投影到该线上。然后利用Lattice采样器计算每个图边的相应代价。这些代价考虑了多个目标,如避障和路径偏离,并配有相应的权重 ,如下所示:

式中,表示在参考线上均匀采样的个点中第个点的横向偏差。分别与路径的航向角、曲率和曲率导数相关。此外,表示AV与第个静态障碍物之间的包围盒距离,静态障碍物总数为。参数作为缓冲区引入以确保避撞。

随后通过DP最小化总代价来选择候选路径,这决定了针对静态障碍物的适当微调决策并建立可行的通道。接着采用基于样条的QP来平滑路径,确保其无碰撞并紧贴参考线,详见文献[13]。

B. 用于避障的概率约束

路径规划之后,基于Frenét轴对齐包围盒(FAABB)[51],通过在ST投影内生成速度曲线来实现对动态障碍物的避让。在不考虑遮挡的轨迹规划中,感知障碍物(POs)被视为常规对象,通过SMPC处理以限制不确定性引起的扰动。每个障碍物的状态由其在Frenét坐标系中的位置和速度定义为,障碍物的动力学模型可以建模为:

其中是运动学模型的系统矩阵。控制输入由反馈控制器和输入上的独立同分布扰动组成。是通过跟踪具有缺陷的确定性参考状态生成的。控制律设计为:

其中,增益矩阵由线性二次调节器计算得出。假设服从均值为零、协方差矩阵为的高斯分布。

在公式 (2b) 中,表示假设的初始状态,假设传感器噪声为截断高斯噪声,即,均值为零,协方差矩阵[50]。

图2. 置信碰撞区域的纵向长度和横向长度

在映射到ST投影时,必须同时考虑物理尺寸和不确定性所需的安全冗余。遮挡区域构成了重大的隐形威胁,因为障碍物可能突然出现,导致自动驾驶汽车受到严重干扰。因此,自动驾驶汽车必须提前预判潜在的危险情况。利用SMPC,碰撞检测以概率约束的形式纳入,这确保了感知障碍物(POs)位于碰撞区域()之内的概率大于预定义的风险因子,即:

随后,为了进行速度优化,概率机会约束被转化为确定性形式。正如文献[50] 所详述,预测状态误差的高斯分布协方差传播可以通过获得,其中,这里代表预测状态。 

s方向和l方向的额外安全冗余可以通过自由度为2的卡方分布来确定(即),结合AV的几何形状AV()和动态障碍物原始物理尺寸在s和l方向的投影长度(),如图3(a)所示,置信碰撞区域的纵向长度 和横向长度 可推导为:

随着预测的推进,不确定性将传播并累积,使得障碍物置信区域逐渐扩大,如图3(a)所示。

图3. (a) 随着传播距离的增加,横穿行人的位置不确定性增加,红色方框表示对自动驾驶车辆构成威胁的位置分布。(b) 考虑到概率约束的ST投影。由于考虑了不确定性的传播和累积,ST投影中障碍物的占据单元将随时间扩大

此处考虑了横向距离的安全阈值()。遍历每个 PO,如果,则将其识别为有风险,如图3(a)草图所示,并应根据将其映射到 ST投影上,获得PO投影集,其中上标表示第个阻碍AV的PO,总数为

为了构建凸优化问题,我们首先通过DP在ST投影上确定一个凸空间。考虑了避障、速度跟踪和路径平滑度的边代价如下:

式中,通过有限差分法近似。

随后获得一个分段线性的DP速度曲线作为引导线,如图3(b)中的蓝色虚线所示。根据DP结果,做出速度调整决策(减速让行或加速超越障碍物),并在ST投影上生成凸区域。

公式(4)形式的概率约束可以转化为确定性形式:

注1:在该约束下,优化后的速度曲线严禁与感知障碍物(POs)占据的区域相交,如图3(b)所示。 

除了公式(7),还考虑了速度、加速度和加加速度的约束。速度规划的优化问题可以表述为:

其中表示AV的纵向运动模型,分别表示系统状态和控制输入的可行集。是权重矩阵。如图3(b)所示,可以计算出优化后的速度曲线(绿线),该曲线比DP速度曲线更平滑。

C. 盲区轨迹规划

如图4(a)所示,在穿越遮挡区域时,应同时考虑可见的POs和不可见的PHOs。与POs不同,由于PHOs具有高度的虚拟性和不确定性,应对其进行不同的建模。为了构建具有遮挡挑战性的交通场景,假设PHO在下一时刻突然从每个遮挡区域边缘的特定位置出现,并全速直冲AV的行车道,如图4(b)所示。这一假设促使算法在规划过程中主动考虑最具挑战性的盲区驾驶场景,使其能够有效处理大多数情况。

图4. (a)在通过遮挡区域时,应该同时考虑PO和PHO.(b)假设的PHO的位置,用于构建最具挑战性的含有遮挡的交通场景. 虚线表示遮挡区域的边界

注2:基于此假设,PHO对AV构成了最大的潜在威胁,留下的反应时间最短。避免与其发生碰撞可确保即使在存在多个遮挡动态障碍物的情况下也能保证安全,这将在实验部分得到证明。

在路径规划中,需要通过增加距离相关的惩罚项,使AV尽可能远离PHO周围的风险区域,具体如下:

其中定义为单调递减函数,而是 AV 与第个PHO之间的距离。预定义的风险因子与公式(4)中的相同,用于影响横向偏离的程度。

注3:之前的工作(如[22]和[52])已提出了一些确定风险因子的方法。然而,由于这不是本研究的主要重点,我们将不在此详细讨论。

在速度规划中,PHOs的建模应与POs不同。公式(2b)中的代表测量的PO初始状态,而对于PHO则是主观设定的初始状态。相应地,代表PO的传感器误差和PHO的初始预测误差。需要注意的是,PHO的值应大于PO的值,以引入更大的不确定性并考虑最坏情况。

对于POs,假设它们在整个预测范围内保持恒定的速度和航向,表示为 。相比之下,PHOs的参考状态如前所述构建并如图4所示。然而,由于PHO运动在速度和方向上的高度不可预测性,假设PHOs在s方向上不遵循特定的参考位置或速度。具体而言,在公式(3b)中,针对PHOs设置

在获得PHO投影集后,应用B节中概述的相同算法来得出规划结果。

基于量化风险的遮挡感知路径规划

A. 死锁问题

通过施加严格约束(如方程(7)定义)来解决与PHOs和POs相关的不确定性,会导致更安全但更保守的规划结果。然而,这种谨慎的方法增加了AV进入死锁状态的可能性。在这种情况下,AV可能会在接近遮挡区域时停滞不前,无法继续前进。

为了更好地理解这种冻结状态的成因,我们从ST投影的角度进行分析。如图5(b)所示,PHO在ST图上的初始投影位置呈现出特定趋势。在s方向上,随着AV接近遮挡和PHO,经历减小的变化过程。在t方向上,如图5(a)所示(为简化起见假设路径为直线),我们可以得到:

点C代表造成遮挡的障碍物的主角点。参数  代表PHO与角点C之间的纵向距离,而  表示AV路径与角点C之间的横向距离。为简化起见,它们被视为常数。指的是AV与角点C之间的纵向距离。

为了防止与PHO发生碰撞并成功穿越遮挡,必须果断地从让行转变为优先通过。这种转变反映在ST投影中,PHO占据的块经历了描述的移动。这种变化如图5(c)所示,速度曲线从从下方绕过该块转变为从上方绕过。然而,未能实现这一决策转变会导致死锁,如图5(d)所示。

图5. (a)AV和PHO相对位置示意图.(b)PHO占据街区的一般运动趋势.(c)决策转换成功.(d)决策转换失败.(e)ST投影上速度决策转换的简化图

当AV接近遮挡区域时,PHO在ST投影上的投影区域可能非常靠近原点。此时,决策转变意味着速度曲线斜率的显著变化。因此,由于动力学约束,AV被迫减速、停车并保持让行。然而,如果AV保持静止,关于PHO的假设就会持续存在,导致ST投影变为静态,从而引发冻结状态。这将在第五部分进行仿真分析。

一般来说,ST投影上的速度曲线规划受到车辆动力学约束和确保乘客舒适性(即)的限制。为了更好地说明导致死锁的条件,我们系统地简化了决策转变时刻的ST投影,如图5(e)所示。在此背景下,我们将PHO假设为质点,忽略不确定性的扩散。这使得PHO占据的块变为线性段。速度曲线假设为通过ST投影原点的直线。

时刻,决策是让行PHO,速度曲线与PHO占据块的后端相交于()。经过时间间隔后,在时刻,速度决策转变为优先通过,速度曲线与PHO占据块的前端相交于()。这种转变导致加速度推导为:

由于之间的关系表达为,结合公式(11),我们可以得到:

即,在方程未得到满足的情况下,速度决策的转变无法发生,必须保留减速和让行的决策。

直观上,为了便于满足不等式(12),我们需要较大的值,以及较小的值。相应地,基于公式(10),我们可以得出相同的结论。当AV靠近遮挡区域时,非常小,只要AV以微小的速度移动而不停止(),就会持续增加。这有利于以较小的加速度(速度曲线斜率变化)进行决策转变。换句话说,当AV靠近遮挡时,获取信息和增加视野的过程是高效的。从图5(a)的简单草图来看,比较从与从的过程,后者在获取更多遮挡区域信息时消耗的距离要少得多。因此,保持AV移动对于速度决策的转变至关重要且意义重大。事实上,路径规划中的横向偏离也增加了的值和可见性,这符合我们作为人类驾驶员的直觉[53]。因此,我们提出的死锁解决方案是:激励AV不断探索盲区以获取信息,并促进从让行到加速的决策制定,同时控制风险程度并保持速度曲线的小幅波动,以避免剧烈的加减速。我们提出了一种包含量化风险约束的方法,将在下一节详细阐述。

B. 带有量化风险的概率约束

鉴于PHOs具有高度虚拟性和额外的概率安全冗余,通过施加严格约束将其视为刚性POs可能过于保守。一种更合适的方法是将它们建模为ST投影上的风险概率分布,即PHOs占据的区域并非完全不可穿透;相反,穿越这些区域涉及在效率与可接受的风险水平之间进行平衡。

为了准确量化PHO在每一时刻和位置带来的风险,我们利用关于PHO置信碰撞区域的概率信息。这允许我们将潜在碰撞的可能性进行动态评估。为了对此建模,我们采用正态分布的概率密度函数(normpdf)和累积分布函数(normcdf)。这些函数为评估PHO随时间和空间的风险分布提供了数学框架,公式如下:

由于PHO在s和l方向的位置分别遵循截断高斯分布,其中,第个PHO几何中心(简写为)落在各自区间内的概率定义为。此时,公式(6)重构为:

其中,PO 投影集仍严格禁止相交。

为了计算,我们连接 和 ,并将其分为 段。每个节点的风险代价被累积。考虑到AV和PHO的物理尺寸,PHO的风险概率分布如图6所示。这可以视为PHO在两个方向上风险水平的综合。在s方向,碰撞概率随AV纵向位置变化(分为让行风险和优先通过风险)。在l方向,PHO对AV的威胁程度随时间演变(分为初期威胁和即将结束的威胁)。下文中,分别简写为

图6. 在ST投影和平面上,PHO对AV的撞击风险概率分布.风险cdf的推导基于风险pdf和AV与PHO的相对位置,详见式(16)和(17)

PHOs的量化风险表述为:

其中,分别代表s和l方向的量化风险。项反映了随着AV速度增加,潜在危险也随之升级。引入参数是为了惩罚跨越PHO占据区域的危险行为。我们认为这种跨越行为具有极高风险,如果发生,将被视为等同于碰撞进行惩罚,定义如下:

在量化了与PHOs相关的风险并获得初始曲线后,原始的ST投影2D规划空间被转换为更全面的3D规划空间,其中额外的维度明确量化了风险信息。据此生成可行的通道,确保可行区域不侵入POs占据的区域。然而,由于PHOs的占据块是基于时空不确定性动态更新的,针对PHOs的调整处理方式有所不同,详见算法1。

更新后的凸区域放宽了由PHOs引起的部分约束,如图11所示,通过求解优化问题可以获得不那么保守的纵向规划结果,从而达到避免冻结状态且明确知晓AV所承担风险程度的目的。

实验验证

在本节中,我们展示了一系列旨在模拟遮挡挑战的复杂交通场景,这些场景基于真实世界的情况,如图7所示。

图7. (a) 场景1:道路一侧有多辆货车停放. (b) 场景2:公交站有一辆公交车停放. (c) 场景3:由于静止(左)和移动(右)条件下货车的阻挡,导致道路交叉口能见度受限. (d) 场景4:一个具有无限循环道路结构的具有挑战性的道路,道路中有很多盲区,在这些盲区中,多名行人会在被遮挡的位置反复横穿马路,同时还有几辆车突然出现在这些盲区中

场景1:特征是路边停放了两辆卡车,因车辆后方存在盲区而产生潜在危险。当自动驾驶汽车(AV)接近时,原本被遮挡的障碍物正准备从第二辆卡车后方出现,引发重大安全隐患。场景2:描绘了一个公交车站,有一辆静止的公交车,这是一种典型且潜在危险的情况。当AV接近时,被遮挡的障碍物即将从公交车后方的盲区横穿马路,进一步放大了场景的固有风险。场景3:考虑了一个无信号灯控制的交叉口,一辆预设的障碍车辆从盲区出现,被一辆卡车遮挡,对AV构成潜在威胁。为了展示所提方法在处理静态和动态遮挡方面的通用性,我们在卡车处于静止和运动两种状态下进行了仿真。在这些场景中,AV的任务是从盲区前方的固定起始位置出发,穿越遮挡区域,并到达指定终点。

根据文献[54],我们旨在尽可能最大化场景的危急性(criticality)。如图8所示,我们针对包括行人、骑行者和汽车在内的多种障碍物类型进行了实验。纵向距离(PHO与盲区角点之间的距离)在一般情况下统一设置为2米,或者在有结构化道路和人行横道几何信息可用时基于中心线计算。我们使用碰撞时间(TTC)作为场景构建的标准。我们监测AV的速度,并在预计AV在0.5秒内到达潜在碰撞区时触发被遮挡障碍物从盲区的切入动作。具体而言,计算平均速度,以确保障碍物也在0.5秒内到达碰撞区,即TTC为0.5。通过调整被遮挡障碍物的初始位置与潜在碰撞区之间的距离,我们确保行人、骑行者和汽车的分别约为 2m/s、5m/s 和 10m/s,这些对于各类障碍物而言都是相对较高的速度,对AV构成了安全威胁。此外,为了增加实验的不确定性和真实感,我们从分布中采样被遮挡障碍物的时变纵向速度,并从中采样添加到动态障碍物初始横向位置的噪声。这引入了潜在碰撞区内交互位置的随机性。

图8. 危急情况设置示例

此外,为了评估所提方法在更复杂交通情况下的整体性能,我们采用了场景4——一条无限循环道路,其中包含由其他车辆或建筑物造成的众多感知盲区。在其中几个盲区,行人反复横穿马路,而车辆则从遮挡区域突然出现。这种循环设置确保了场景的随机性和多样性,移动障碍物可能作为感知障碍物(PO)或幽灵障碍物(PHO)出现,两者都对AV构成了重大的安全挑战。

为了评估所提遮挡感知轨迹规划方法的有效性,我们使用 Simulink、CarSim 和 PreScan 进行了联合仿真。为了平衡实时计算性能和轨迹规划的有效性,我们分别选择60米和6秒作为路径和速度规划的最大纵向规划距离和最大规划时间。表I提供了仿真中使用的其他一些关键参数概览。

表Ⅰ轨迹规划中采用的关键参数

A. 横向偏离与风险因子的影响

我们首先进行实验以评估在三个不同场景中不同程度横向偏移的影响。值得注意的是,实验设置排除了被遮挡障碍物,以消除由障碍物不可预测性引起的随机干扰。实验结果如图9所示。

图9. 在不同风险因素和横移偏差程度下比较轨迹和车速:(a)轨迹,(b)车速

首先,较高的风险因子会导致更保守的轨迹规划结果。这一观察表明,提高风险因子会导致在穿越盲区时与潜在被遮挡障碍物保持更大的距离,且从减速到加速的速度决策转变发生得更晚。此外,研究结果强调,在穿越盲区时引入明智的横向偏离(相较于无横向偏移的情况),有助于促进从减速让行到优先通过的速度决策转变,从而显著提高交通效率。

在场景1中,引入了一个被遮挡的行人,并保持风险因子。为了彻底评估横向偏离对避撞的影响,我们在两种条件下(有和无横向偏离)进行了一系列实验(200次试验)。这些实验的主要目的是检查在AV首次感知到原本被遮挡的行人时,AV与行人之间的距离。统计结果如图10所示。分析揭示了一个显著的模式:横向偏离显著增加了AV首次检测到被遮挡行人的距离。从实践角度来看,这种增加的距离转化为扩大的反应空间和为AV及障碍物采取必要预防措施的额外时间。这一延长的反应窗口通过允许采取更主动的安全措施和更平滑的避让动作,有效地降低了碰撞概率。这些发现强调了将横向偏离策略纳入遮挡感知规划框架的重要性,因为它显著增强了AV安全导航涉及不可预测障碍物环境的能力。

图10. 在有无侧偏条件下,场景1的统计实验结果

B. 利用量化风险约束解决死锁

为了验证量化风险约束在克服死锁(deadlock)情况方面的有效性,我们进行了以下对比实验。这些测试旨在全面评估当AV接近潜在冻结状态(freezing state)时不同方法的轨迹规划性能。为此,我们选择了两种成熟的方法进行测试:GO-POMDP[22]和基于集合的方法(set-based method)[14],这两种方法在此背景下具有代表性。此外,我们在两种配置下测试了所提出的方法——一种使用硬约束,另一种使用量化风险约束。实验在场景1和场景2中进行。为了隔离盲区处理对算法性能的影响,我们暂时移除了所有移动障碍物,仅保留造成盲区的静态障碍物。这种设置允许重点评估每种方法在存在遮挡时防止死锁并确保平滑轨迹规划的能力。 

如图11所示,GO-POMDP方法由于其基于采样的特性,在接近盲区时表现出明显的停车行为。虽然这确保了避免死锁,但交通效率较低。此外,规划结果的离散性导致最终控制输出出现明显的波动,损害了驾驶舒适性。另一方面,基于集合的方法表现出高度保守的策略,特别是在我们构建的具有挑战性的盲区场景中。当障碍物较大且完全阻挡感知时,基于集合的方法倾向于做出最保守的假设,这限制了可行区域,最终导致死锁,AV完全停止。

图11. 在场景1和2的模拟中,分别在两个不同时刻得到的ST投影图象说明了引入量化风险约束可以建立一个向上的可行隧道,从而有效地解决死锁情况。(a)情形1,(b)情形2

对于所提出的方法,我们在两个场景的关键时刻(图11中的A和B时刻)捕获ST投影快照来说明结果。由于考虑了PHO的不确定性,PHO在ST投影中扩大了其占据空间,挤压了可行的凸空间。这种效应在场景1中尤为明显,连续的盲区导致了连续PHO的假设。在刚性(硬)约束下,这些保守假设迫使ST投影中的速度曲线穿过下方区域,最终导致死锁和车辆停止运动。相比之下,在量化风险约束下,速度曲线在某些极端情况下会在ST投影中主动开辟凸空间,在风险极小的情况下保持前进,如场景1中的时刻A所示。即使在更具挑战性的条件下,如场景2中的时刻A(由于上方缺乏凸空间,速度曲线被迫规划通过下方区域),量化风险约束也允许速度曲线保持其斜率,继续前进并探索盲区信息以避免死锁。总体而言,与其他方法相比,所提方法生成的速度曲线实现了最高的交通效率。

C. 通用性与安全性

1)典型场景评估

为了验证所提方法的通用性和安全性,我们在四个构建的场景中进行了多次实验。这些实验包含了所有必要的场景元素,特别是盲区内预设的被遮挡障碍物。如前所述,这些障碍物以相对较高的速度移动并带有波动以确保随机性,如果不采取预防措施,它们将导致与AV发生碰撞。用于比较的基准方法是EM规划器[13](不考虑动态障碍物或PHOs的不确定性)。此外,我们将所提方法与 GO-POMDP 和基于集合的方法进行了比较。为了确保比较更全面,我们增强了原始的基于集合的方法[14],集成了文献[20]中提出的基于加速度的占用建模,使其能够考虑被遮挡障碍物的运动不确定性。具体而言,我们采用了行人、骑行者和汽车的初始速度为2m/s,5m/s和10m/s,并将最大加速度设置为。为了表示横向位置不确定性,我们在障碍物的初始横向位置增加了一个范围采样的随机偏移。

我们在场景1、2和3中进行了多次测试。重点关注AV速度受遮挡影响直至完全感知盲区内状况的时间间隔。我们在通过时间和碰撞率方面进行了对比分析。在场景1和2中,为了评估所提方法对不同类型障碍物的适应性,我们测试了各种动态障碍物类别,具体为被遮挡的行人和被遮挡的骑行者。此外,为了展示该方法在涉及连续被遮挡障碍物场景中的适用性,我们在三个场景中设置了两个障碍物依次进入潜在碰撞区的情况。如图13所示,在场景1和2中,这两个障碍物类型不同(行人和骑行者),进入顺序随机。第一个障碍物的TTC为0.5,而第二个障碍物晚1秒进入区域。同时,为了展示所提方法在静态和动态场景中的通用性,我们在场景3中进行了仿真,其中卡车是动态移动的。在此设置中,卡车在路口左转,阻挡了AV对被遮挡车辆的感知,如图7(c)所示。每种实验设置都进行了200次试验以确保鲁棒性。

实验结果如图12和表II所示。对于基准方法,由于缺乏对盲区内潜在危险的考虑以及缺乏对被遮挡障碍物的避撞措施,导致碰撞案例数量显著较高。此外,不同试验中的通过时间变化很大,显示出性能的不一致和缺乏鲁棒性。

图12. 三个场景下盲区穿越的平均时间消耗柱状图

图13. 包含多个遮挡物的测试场景

表Ⅱ不同场景与方法下的碰撞率(%)

相比之下,GO-POMDP方法结合了观测和采样过程,总体通过时间较长。虽然与基准相比碰撞率显著降低(考虑了盲区内潜在障碍物的安全性),但由于过度依赖采样过程,碰撞率仍然相对较高。许多碰撞发生在方法盲目相信采样结果(即盲区内无障碍物)而撞上突然出现的障碍物时。这一结果强调了维持遮挡区域内存在PHOs假设以增强安全性的必要性。另一方面,基于集合的方法有效地将碰撞率降低到了极低水平。然而,这种安全性的提升是以牺牲交通效率为代价的。具体而言,基于集合的方法经常导致死锁情况,尽管实际路径是安全可通行的,但由于过度保守的风险估计,自车无法前进。这一问题在涉及遮挡的场景中尤为突出。我们的实验表明,基于集合的方法在场景1、场景2和静态场景3中的总体死锁率分别为93.0%、87.0%和83.5%(在动态场景3中,随着卡车移动盲区消失,避免了死锁)。此外,它导致了所有测试场景中最长的平均耗时。如此高的死锁率和延长的导航时间对于旨在实现现实世界安全高效导航的自动驾驶汽车来说是不可接受的。

对比之下,所提方法在所有评估场景中实现了 0% 的死锁率,展现了高效率和安全性,且通行时间具有竞争力。值得注意的是,所提方法在几个场景中的通过时间与基准方法相似,甚至更好。此外,所提方法始终保持极低的碰撞概率,有效地平衡了安全与性能。该方法还表现出对包括行人、骑行者和车辆在内的多种障碍物类型以及从静态到动态环境变化的卓越适应性和鲁棒性。即使在涉及连续被遮挡的多个障碍物的高度复杂情况下,所提方法仍能可靠运行,展现出相较于其他方法在效率和安全性方面的显著优势。此外,所提方法的计算效率值得注意,所有测试试验中每次规划迭代的平均计算时间仅比基准增加了6.8%。这些结果强调了该方法处理带有遮挡的复杂交通场景的能力,确保即使在挑战性条件下也能实现平滑安全的导航。

2)综合场景测试

为了评估所提算法在连续场景中的综合性能和可扩展性,我们使用构建的场景4进行了广泛测试。实验设计为无限里程测试,AV在循环道路上连续行驶,直到发生碰撞或陷入死锁,仿真结束。所有动态障碍物(包括PO和被遮挡障碍物)在预定路径上往返移动,给场景引入了巨大的不确定性。此设置专门设计用于评估算法在高度复杂场景中管理直接风险和潜在风险的整体性能。

除了无限里程测试外,还进行了固定时间仿真测试,以进一步分析算法的可扩展性和鲁棒性。在此实验中,AV运行固定的三分钟仿真时长,记录每次试验的最大行驶距离和平均碰撞次数。这提供了关于算法维持长期安全高效导航能力的额外见解。为了确保结果的可靠性,每种方法在两种实验设置下均进行了200次测试。在每次试验中,AV从预定起点静止出发,加速至8 m/s的目标速度。实验结果如表III所示,清楚地表明所提方法在无限里程和固定时间测试的各项性能指标上均显著优于其他方法。基准方法在固定时间测试中实现了最高的行驶距离,但由于无法安全处理复杂的遮挡场景,碰撞率很高。GO-POMDP方法在距离和安全性之间取得了平衡,但在两个指标上均不如所提方法。基于集合的方法虽然实现了最低的碰撞率,但由于频繁陷入死锁,未能展现出可扩展性和效率。所提方法在无限里程测试中实现了最高的平均行驶距离,并保持了最长的平均模拟时间(156.4秒),表明其在避免碰撞和死锁方面的卓越能力。在固定时间测试中,所提方法展现了安全与效率之间的出色平衡。

表Ⅲ 无限里程测试与固定时长测试下的性能评估

所提方法展示了其有效处理复杂遮挡环境和挑战性场景的能力。它实现了最佳的整体性能,显著减少了碰撞,实现了高效导航,并对潜在风险进行了鲁棒处理,使其成为现实世界场景中自动驾驶高度可靠且可扩展的方法。

结论

在本文中,我们提出了一种遮挡感知轨迹规划方法,旨在确保自动驾驶汽车安全通过遮挡场景。所提方法具有三个显著特征:首先,它在横向和纵向规划中均考虑了盲区内的潜在障碍物,模仿了类似人类的驾驶行为。其次,我们结合了幽灵障碍物(PHO)的概念并利用随机模型预测控制(SMPC)来应对与遮挡区域及潜在受阻障碍物相关的巨大不确定性,确保考虑最坏情况。此外,为了避免过度保守的规划结果,我们进一步分析了ST投影上的死锁成因,并引入了量化风险约束。这些约束鼓励自动驾驶汽车继续前进,探索遮挡区域,并促进速度决策的转变。来自不同遮挡场景(包括个案和统计分析)的实验结果证实了横向轨迹偏离对高效穿越盲区的积极影响。不同的风险因子有效地调节了规划轨迹对遮挡区域的保守程度。此外,所提出的量化风险约束证明在解决死锁情况、促进自动驾驶汽车前行方面是有效的。最后,由于综合考虑了各种不确定性,与其它方法相比,我们提出的方法不仅提高了通行效率,还保持了较低的碰撞概率,强调了所提方法的通用性、鲁棒性、效率和安全性。在未来,在更多样化的测试平台上验证我们的方法,并在涉及盲区的更广泛交通场景中对其进行评估将会很有意义。此外,我们旨在提高算法对更广泛环境的适应性,增强其实际应用价值。

参考文献

责编丨高炳钊

联系人:唐老师  
电话:13917148827
邮箱:tangyanqin@tongji.edu.cn

点“阅读原文”获取论文

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-05 17:32:47 HTTP/2.0 GET : https://e.mffb.com.cn/a/471411.html
  2. 运行时间 : 0.197804s [ 吞吐率:5.06req/s ] 内存消耗:4,397.86kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=4dea6587bbeead0e00b57c49ce980c72
  1. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/runtime/temp/600e51726691ba7063b44bb89d9aaaff.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000966s ] mysql:host=127.0.0.1;port=3306;dbname=e_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001421s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000718s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000736s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001319s ]
  6. SELECT * FROM `set` [ RunTime:0.000537s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001646s ]
  8. SELECT * FROM `article` WHERE `id` = 471411 LIMIT 1 [ RunTime:0.001242s ]
  9. UPDATE `article` SET `lasttime` = 1772703167 WHERE `id` = 471411 [ RunTime:0.012396s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.006533s ]
  11. SELECT * FROM `article` WHERE `id` < 471411 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000607s ]
  12. SELECT * FROM `article` WHERE `id` > 471411 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000424s ]
  13. SELECT * FROM `article` WHERE `id` < 471411 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.005626s ]
  14. SELECT * FROM `article` WHERE `id` < 471411 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000858s ]
  15. SELECT * FROM `article` WHERE `id` < 471411 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000665s ]
0.199430s