当前位置:首页>自动驾驶>自动驾驶Contingency Planning(应急规划)核心必懂知识手册

自动驾驶Contingency Planning(应急规划)核心必懂知识手册

  • 2026-05-07 22:54:46
自动驾驶Contingency Planning(应急规划)核心必懂知识手册

  • L2 级(辅助驾驶)Contingency Planning 不是必备的独立模块。只要具备AEB等安全兜底功能,并在系统失效时能发出提醒,就符合主流标准。

  • L3 级及以上(自动驾驶)Contingency Planning 是必备的。没有它,系统就无法满足“责任主体转移”后的法律与安全要求,也无法通过现行的国际法规(如UN R157)认证。

可以这样理解:Contingency Planning 是区分“真正自动驾驶”与“高级辅助驾驶”的一道重要分水岭。

下面聚焦核心定义、架构逻辑、工程落地、避坑准则全链路,补充所有必懂的关键概念细节、量化指标与底层逻辑。


一、基础认知:核心定位、边界与底层逻辑

1. 核心定义与本质

Contingency Planning(应急规划/预案规划),是L3自动驾驶中(L2不强制要求)与标称轨迹规划(Nominal Planning)并行运行、针对潜在高风险突发场景,1. 提前预生成,2. 逐周期同步更新的,3. 可零延迟切换的安全备选策略与可执行应急轨迹

必懂补充细节:

  • 核心本质:是规划层的主动安全冗余兜底,而非事后补救的被动触发功能。其核心价值是解决「重规划/标称规划的时延痛点」,量化差异为:常规重规划端到端时延100-500ms,而预生成的应急轨迹切换时延<10ms;100km/h车速下,100ms时延对应2.78m的行驶距离,足以决定碰撞是否发生。
  • 两大核心分支(量产设计完全解耦):
    1. 环境风险类应急规划:针对外部交通参与者突发风险鬼探头前车急刹对向越线等),核心是覆盖预测模块的低概率高危害模态提前做风险预案
    2. 系统故障类应急规划:针对自车系统失效(传感器/定位降级、线控执行能力下降、算力过载等),核心是在故障容错时间间隔(FTTI)内,将车辆带入最小风险状态(MRM)。
  • 合规底层逻辑:是满足ISO 26262功能安全、ISO 21448预期功能安全(SOTIF)量产强制要求的核心实现手段,尤其ASIL-D高安全等级项目的必备模块。

2. 关键边界区分(90%工程踩坑都源于概念混淆)

以下边界是PnC模块架构设计、权限仲裁、参数调试的前提,必须精准区分,补充核心量化细节:

概念
核心边界与量化差异
与Contingency Planning的本质关系
标称规划(Nominal Planning)
处理常规、预期内交通场景,成本函数优先级:通行效率>乘坐舒适性>安全性仅基于预测模块最高概率的标称轨迹做规划
并行运行,Contingency Planning是其安全兜底,控制权优先级永远更高;二者共用同一帧环境输入,但采样范围、约束条件、成本函数完全独立
紧急制动(AEB)
底盘域被动触发的最后一道物理防线,触发TTC阈值较小,仅支持制动兜底,无轨迹规划能力,逻辑固化在底盘ECU,不可被AD域覆盖
互补而非替代关系。Contingency Planning是AD域规划层的主动前置介入,触发TTC阈值高于AEB,大概2.5-3.5s,可实现保守制动、避让、靠边停车等多策略,提前化解风险,避免进入AEB触发区间
重规划(Re-planning)
单轨迹滚动优化逻辑,仅在当前轨迹失效后才重新计算,存在固有规划时延,核心是「失效后补救」
本质对立。Contingency Planning是「多轨迹并行预计算」,永远提前备好可执行的备选轨迹,从根源上解决重规划的时延痛点
故障处理(Failure Handling)
仅针对自车系统故障的状态机降级策略,无完整轨迹规划能力,仅输出简单的制动/停车指令
包含关系。Contingency Planning覆盖系统故障+外部环境风险,核心是为故障场景提前生成符合动力学的完整安全轨迹,而非简单的指令输出

3. 不可替代的核心价值(为什么量产必须做)

  1. 解决感知预测的固有不确定性:鬼探头、对向越线等低概率高危害场景,预测模块无法100%准确预判。标称规划仅基于最高概率预测结果做规划,而Contingency Planning会强制覆盖所有概率≥5%的高风险预测模态,为小概率致命场景提前备好预案。
  2. 满足功能安全的FTTI强制要求:ISO 26262定义的FTTI(故障容错时间间隔),是从故障发生到必须执行安全动作的最大时间窗口,高速场景下转向/制动系统失效的FTTI仅500ms,常规重规划无法满足,只有预生成的应急轨迹可在FTTI内完成安全动作触发
  3. 极端场景的多层安全兜底:覆盖多车连环追尾、路面突发障碍物、传感器/定位失效等标称规划完全无法处理的极端场景,与AEB/ESP形成「规划层-执行层」的双层冗余兜底
  4. 平衡安全性与用户体验:在非紧急场景下,通过保守预案实现风险的平滑化解,避免AEB的极限急刹给用户带来的恐慌与不适,同时避免临界场景下的频繁误触发。

4. 核心覆盖场景(预案设计的基础)

按风险来源分为两大类,每类场景对应明确的预案设计目标,补充量产触发的量化条件:

  1. 外部环境突发风险(环境类)
    • 前车/障碍物紧急制动:同向同车道TTC≤2.5s,前车减速度≥-4m/s²
    • VRU鬼探头/横穿:路口/遮挡场景PET≤1.5s,碰撞概率≥10%
    • 对向车越线占道:对向车辆侵入本车道时间≤2s,无避让空间
    • 相邻车辆恶意加塞挤压:相邻车辆横向侵入本车道≥0.3m,TTC≤3s
    • 道路突发异常:路面落石/施工/积水,本车道无法安全通行
  2. 自车系统故障(系统类)
    • 传感器/定位/高精地图失效:定位置信度<0.7,感知目标检出率下降≥50%
    • 线控制动/转向能力降级:转向角度最大行程下降≥30%,制动减速度极限下降≥50%
    • 计算平台/通信故障:算力过载导致规划超时,CAN总线通信中断
    • 电源系统故障:低压电池电压低于9V,系统即将下电

二、核心设计原则(工程落地必须遵守的铁则,所有设计不能突破)

所有Contingency Planning的算法与架构设计,必须优先满足以下原则,否则无法通过量产合规与实车验证,补充每个原则的必懂细节与量化要求:

  1. 安全绝对优先原则所有预案的核心唯一目标,是将车辆带入最小风险状态(Minimal Risk Manoeuvre, MRM)

    • 必懂补充:ISO 26262对MRM的标准定义是「使车辆进入可接受风险水平的稳定状态,通常为平稳静止状态」,量产中分为3级,优先级从高到低:
    • 铁则:极端情况下,宁可平稳停在行车道内,也不冒险换道引发二次事故;所有软约束(舒适性、效率)必须为安全硬约束让步。
    1. 一级MRM:紧急制动停车(碰撞不可避免时,最大化减速,最小化碰撞速度)
    2. 二级MRM:本车道内平稳停车(无换道空间时,车道内无碰撞静止)
    3. 三级MRM:应急车道/路边安全区域停车(系统长时失效时,完全脱离行车道)
  2. 并行持续运行原则必须与标称规划同周期、同输入帧、同步更新,绝对不能等风险出现再启动计算。

    • 必懂补充:
    1. 同帧输入要求:必须和标称规划使用同一时刻的环境模型、障碍物预测结果、自车状态数据,禁止出现帧差,否则会导致轨迹切换时的状态不一致与跳变。
    2. 逐周期有效性校验:每个规划周期(量产标准100ms)必须重新校验所有应急轨迹的安全性动力学可行性,禁止复用前一帧的轨迹结果,因为动态交通场景每100ms都会发生本质变化。
    3. 算力优先级:给应急规划模块最高的算力调度优先级,保证即使主域控制器算力过载,也能按时完成应急轨迹的计算与更新。
  3. 强可执行性原则应急轨迹必须100%符合车辆动力学极限线控执行能力轮胎附着极限,禁止规划车辆无法执行的“理论安全轨迹”。

    • 必懂补充(量产通用量化约束,PnC调参基准):
    1. 纵向动力学约束:干燥沥青路面,湿滑路面,冰雪路面最大减速度、纵向加加速度。
    2. 横向动力学约束:横向最大加速度、横向加加速度、转向角速度,避免轮胎侧滑。
    3. 轮胎摩擦圆约束:轮胎纵向力与横向力的合力,不得超过路面附着极限的80%(预留20%安全余量),公式为√(Fx² + Fy²) ≤ 0.8×μ×Fz,避免同时全力制动+大角度转向导致的车辆甩尾失控。
    4. 执行延迟补偿:规划阶段必须提前补偿线控系统的固有延迟——制动系统液压延迟、转向系统响应延迟,通过轨迹前馈设计,保证实际执行效果与规划轨迹一致。
  4. 无缝切换无抖振原则标称轨迹与应急轨迹切换时,必须保证状态连续无突变,同时避免临界场景下的频繁切换

    • 必懂补充:
    1. 连续性硬要求:切换点必须满足G2连续,即轨迹的位置、速度、加速度、加加速度全部连续,无阶跃突变。
    2. 轨迹重参数化方法:切换时,必须以当前车辆的实时状态(x,y、航向角、速度、加速度、加加速度)为初始条件,对预生成的应急轨迹做重参数化,保证轨迹初始点与车辆当前状态完全匹配,从根源上避免跳变。
    3. 滞回设计铁则:触发与退出阈值必须设置滞回区间例如:触发应急的TTC阈值为2.5s,切回标称的TTC阈值为4s,中间预留1.5s的滞回窗口绝对禁止临界值附近的频繁来回切换
    4. 平滑过渡机制:若两条轨迹的控制量差超过2m/s²,需在10-20个控制周期(100-200ms)内做加权融合过渡,避免硬切换带来的车辆冲击与乘客不适。
  5. 可验证可追溯原则所有策略、参数、逻辑必须可量化、可解释、可测试、全链路可追溯,满足功能安全审核要求。

    • 必懂补充:
    1. 需求追溯链:必须建立从顶层安全目标→系统级需求→模块级需求→代码实现→测试用例的全链路追溯体系,每个参数、每个逻辑分支都必须有对应的需求来源,无来源的参数与逻辑不允许出现在量产代码中
    2. 可解释性要求:核心决策与规划逻辑必须采用确定性的规则/数值优化算法,绝对禁止黑盒AI模型作为核心链路,否则无法通过功能安全认证
    3. 可测试性要求:所有触发条件、策略分支都必须有对应的测试用例,可在仿真/HIL/实车环境中复现与验证
  6. 无冲突冗余设计原则多预案之间有明确的优先级与边界,同时与底层底盘安全功能形成互补兜底,无逻辑冲突与权限重叠。

    • 必懂补充:
    1. 量产通用控制权仲裁优先级(从高到低,不可越级覆盖):底盘域AEB/ESP硬安全功能 → Contingency Planning应急轨迹 → 标称规划常规轨迹
    2. 预案互斥性设计:同一周期内,禁止同时生成两个互斥的预案(如紧急左避让与紧急右避让、紧急制动与换道避让),必须通过场景分级与优先级排序,唯一确定当前最高优先级的有效预案。
    3. 梯度降级设计:系统故障场景下,必须采用梯度降级策略,先降级到低等级AD功能,再触发保守停车预案,仅在极端紧急场景下触发极限制动,避免非必要的紧急操作。

三、主流量产架构与标准全流程工作逻辑

1. 两种主流量产架构(按功能安全等级选择)

补充架构的工程实现细节、优缺点与适用场景,可直接对应项目需求选型:

架构1:集中式并行规划分支(Robotaxi/高阶NOA主流方案

  • 核心设计:规划模块集中式部署,同一规划周期内,同步生成1条标称主轨迹+N条应急备选轨迹,共用同一套环境模型、坐标系转换、碰撞检测底层能力,仅采样逻辑、约束条件、成本函数独立;最终由行为决策/轨迹仲裁模块根据场景风险等级,选择唯一一条轨迹下发给控制模块
  • 必懂补充细节:
    1. 典型代表:Apollo 6.0+规划架构、Waymo On-Road规划系统。Apollo的实现逻辑为:通过Scenario机制匹配场景,每个场景下并行生成多组Trajectory Bundle,由Decider模块完成轨迹仲裁与筛选。
    2. 算力开销:底层能力全复用,仅采样与成本评估环节独立,相比纯标称规划,算力开销仅增加20%-30%,单周期计算时间可控制在20ms以内。
    3. 优点:架构统一、代码复用度高、轨迹一致性好、算力开销低,与现有PnC架构兼容性强,无需额外硬件投入。
    4. 缺点:单模块失效会导致标称与应急规划同时失效,功能安全等级最高仅能达到ASIL-B,无法满足ASIL-D的冗余要求。
    5. 适用场景:L2+~L4级城市NOA/高速领航辅助、非载客Robotaxi、算力受限的量产乘用车项目。

架构2:分布式独立应急规划模块(高安全等级量产首选

  • 核心设计:Contingency Planning为完全独立的功能模块,与标称规划软件、硬件、输入、输出全链路解耦、并行运行;拥有独立的安全域控制器、独立的感知输入(前视摄像头+毫米波雷达冗余)、独立的线控执行链路,安全优先级更高,触发条件满足时,可直接绕过标称规划,接管车辆控制模块
  • 必懂补充细节:
    1. 典型代表:国内商用车L4自动驾驶量产方案、头部Robotaxi企业的冗余安全架构、欧盟ASIL-D认证乘用车AD系统。
    2. 功能安全优势:主域控制器失效、标称规划超时、主感知链路失效时,独立应急模块仍可正常运行,完全满足ISO 26262 ASIL-D等级的单点故障容错要求。
    3. 优点:解耦性极强、安全性最高、不受主系统故障影响,可通过最高等级功能安全认证。
    4. 缺点:硬件成本高、算力开销大,需额外处理两条链路的环境输入同步、轨迹一致性匹配问题,避免切换时的状态跳变。
    5. 适用场景:L4级载客Robotaxi、商用车干线物流自动驾驶、高安全等级乘用车主被动安全系统、需要通过ASIL-D认证的量产项目。

2. 标准全流程工作逻辑(逐周期循环执行,量产标准100ms/周期)

每个规划周期内,Contingency Planning严格按照5个步骤执行,每个步骤的核心必懂概念、量化指标与工程实现细节:

步骤1:风险识别与场景分级

  • 核心输入:感知障碍物信息、预测模块多模态预测结果、自车状态量、定位与高精地图信息、系统故障诊断信号。
  • 核心工作:量化风险、场景匹配、风险分级,是整个流程的触发入口。
  • 必懂补充细节:
      1. 核心风险量化指标(PnC工程师必须吃透定义与适用场景):
      • TTC(Time To Collision,碰撞时间):定义为自车与障碍物保持当前速度行驶,发生碰撞的剩余时间,公式为 TTC = (d - L) / (v_ego - v_obj),仅适用于同向同车道、自车速度大于障碍物速度的场景,是纵向风险的核心指标。
      • PET(Post Encroachment Time,侵入时间差):定义为自车与障碍物到达同一冲突区域的时间差,是横向交叉场景鬼探头、路口横穿、加塞)的核心风险指标,解决了TTC无法处理横向运动场景的局限性。
      • 碰撞概率:基于预测模块的多模态轨迹概率分布,计算自车规划轨迹与障碍物所有预测轨迹的碰撞概率,是综合风险量化的核心指标。
      1. 量产通用场景风险分级标准(触发预案的核心依据,需要反复标,具体数值只是展示分层举例): 
        | 风险等级 | 量化触发条件 | 对应预案策略 | 
        | :--- | :--- | :--- | 
        安全级 | TTC>4s,PET>3s,碰撞概率<1% | 仅生成保守跟车预案,不激活高等级应急 | 
        关注级 | 2.5s<TTC≤4s,1.5s<PET≤3s,1%≤碰撞概率<10% | 生成保守跟车+车道内停车预案,持续监控风险 | 
        预警级 | 1.5s<TTC≤2.5s,0.8s<PET≤1.5s,10%≤碰撞概率<50% | 生成紧急避让+紧急制动预案,做好切换准备 | 
        紧急级 | TTC≤1.5s,PET≤0.8s,碰撞概率≥50% | 立即触发最高优先级应急预案,接管车辆控制 |

    步骤2:应急预案集生成

    针对识别的风险等级与场景类型,生成对应备选预案集,每个预案包含明确的行为策略、目标状态、硬约束边界。

    • 必懂补充细节:量产场景下,按风险等级从低到高,核心预案集的设计规范如下,每个预案都有明确的触发边界与设计目标,禁止越界使用:
      1. 保守跟车预案:触发于关注级场景,核心目标是预留安全车距,可无缝切换到紧急制动;硬约束:跟车时距≥2s,最大减速度≥-2m/s²,不影响乘坐舒适性。
      2. 紧急避让预案:触发于预警级场景,仅在同车道无法通过制动避免碰撞、相邻车道无碰撞风险时激活;核心目标是无碰撞避让到相邻车道;硬约束:横向加速度≤4m/s²,避让完成后可平稳停车,不影响相邻车道车辆正常行驶。
      3. 紧急制动预案:触发于紧急级场景,核心目标是最大化减速,最小化碰撞速度;硬约束:减速度不超过路面附着极限,纵向Jerk设置约束,车轮不抱死。
      4. 车道内平稳停车预案:触发于系统降级、道路封闭场景,核心目标是车道内无碰撞平稳停车,不影响其他车辆;硬约束:停车位置与障碍物距离约束,车轮不压线,最大减速度≥-4m/s²。
      5. 靠边停车预案:触发于系统严重故障、长距离风险场景,核心目标是完全脱离行车道,进入应急车道/路边安全区域停车;硬约束:变道无碰撞风险,停车后车身距离行车道≥1m,停车后自动开启双闪。

    步骤3:应急轨迹规划与优化

    针对每个激活的预案,生成符合所有硬约束的应急轨迹,核心逻辑与标称规划的本质差异是:安全硬约束不可突破,效率与舒适性为次要优化目标

    • 必懂补充细节:量产3种主流实现方法的核心设计要点:
        1. Frenet Lattice采样法(最主流,适配高阶AD系统)
        • 核心逻辑:将安全约束、车辆动力学约束作为硬约束,直接求解满足要求的最优应急轨迹与控制序列,实现规划与跟踪的一体化设计。
        • 应急场景专属优化:缩短预测时域,从标称的5s缩短到2s,减小控制步长,保证求解实时性用凸包近似障碍物边界,将碰撞约束转化为线性硬约束,保证求解稳定性
        • 核心优势:可执行性极强,完美适配车辆动力学特性,可补偿执行延迟,鲁棒性好,适配高速、低附着路面等极限场景。
            1. 预定义轨迹库+在线修正法(低算力平台首选)
          • 核心逻辑:离线生成全场景、全工况的标准化应急轨迹库,运行时匹配场景、车速、路面附着系数,仅做少量线性插值修正,直接输出可执行轨迹。
          • 轨迹库设计规范:按「车速(0-120km/h,每10km/h一个档位)×路面附着系数(干燥/湿滑/冰雪)×场景类型」做三维索引,每条轨迹都经过离线动力学仿真验证,保证可执行性。
          • 核心优势:计算量仅为Lattice方法的1/10,单周期计算时间<5ms,无时延,全轨迹可离线验证,可量产性极强。
              1. QP/MPC优化法(高动力学适配场景首选)
            • 核心逻辑:与标称规划复用Frenet坐标系,针对应急场景调整采样范围,快速生成候选轨迹,经碰撞检测与成本评估筛选最优解。
            • 应急场景专属采样调整:纵向采样范围从标称的-3m/s²~2m/s²,扩展到-8m/s²~0m/s²,采样步长缩小,覆盖所有安全制动轨迹;横向采样范围从标称的当前车道±0.5m,扩展到相邻车道全范围,覆盖左/右避让轨迹。
            • 碰撞检测要求:采用时间序列的OBB包围盒碰撞检测,检查轨迹上每个100ms时间步的自车包围盒与障碍物预测轨迹的重叠情况,横向预留≥0.5m、纵向预留≥1m的安全余量。

          步骤4:预案评估与优先级排序

          对所有候选应急轨迹+标称主轨迹做综合量化评估,确定最终的优先级排序,核心是「同风险等级下,优先选择可恢复性高安全性强的预案」。

          • 必懂补充细节:
              1. 成本函数权重设计(与标称规划完全不同,核心差异点):
              • 紧急级场景:碰撞成本权重1e9,安全余量成本权重1e6,其他所有维度权重<1e3,完全以安全为唯一核心。
              • 预警/关注级场景:碰撞成本权重1e8,可恢复性成本权重1e6,舒适性权重1e4,通行效率权重1e3,兼顾安全性与用户体验。
              1. 核心评估维度(按优先级从高到低):碰撞概率→安全余量→可执行性→可恢复性→轨迹连续性→合规性→舒适性→通行效率。
              2. 可恢复性定义:预案执行后,车辆能否平稳回到标称驾驶状态,是预警级场景的核心评估指标。例如:保守跟车预案的可恢复性远高于紧急避让预案,因此同风险等级下,优先选择保守跟车预案,而非直接触发避让

            步骤5:轨迹切换与下发执行

            这是工程落地的核心难点,核心目标是零延迟切换、无抖振、安全仲裁不越权

            • 必懂补充细节:
                1. 分层控制权仲裁机制(量产通用,不可修改优先级):
                • 第一层(最高优先级):底盘域AEB/ESP硬安全功能,其制动/转向请求不可被AD域覆盖。
                • 第二层(次高优先级):Contingency Planning输出的应急轨迹,触发后直接覆盖标称规划,接管控制模块。
                • 第三层(最低优先级):标称规划输出的常规驾驶轨迹,仅在无应急触发时生效。
                1. 零延迟切换实现方法:每个规划周期,同时将主轨迹与最高优先级应急轨迹下发给控制模块,控制模块提前完成应急轨迹的前馈计算(转向角、制动压力前馈),一旦收到仲裁模块的切换指令,可立即切换执行,实现真正的零延迟。
                2. 应急状态锁定机制:高等级应急状态触发后,必须满足严格的退出条件才能降级,例如:紧急制动触发后,必须车辆完全静止、风险完全消除、驾驶员接管车辆,三个条件同时满足,才能切回标称规划,避免中途退出引发二次风险。

              四、工程落地核心难点与量产解决方案

              这是实车开发中一定会遇到的核心问题,也是区分算法Demo与量产方案的关键,补充每个难点的底层原因与可落地的工程化解决方案:

              难点1:轨迹切换跳变与抖振问题

              • 底层根本原因:
                1. 标称轨迹与应急轨迹的初始状态不一致,切换点不满足G2连续(见附录)
                2. 切换阈值无滞回设计,临界场景下频繁来回触发;
                3. 控制模块无提前前馈准备,跟踪带宽不足,无法快速响应轨迹切换。
              • 完整解决方案:
                1. 强制轨迹重参数化:切换时必须以车辆实时状态为初始点,对预生成的应急轨迹做重参数化,保证切换点G2连续,从根源上消除状态跳变。
                2. 严格滞回设计:所有触发与退出阈值必须设置不小于1s的滞回区间,禁止临界值附近的频繁切换。
                3. 预加载前馈机制:控制模块提前预加载应急轨迹的前馈控制量,切换时直接输出,减少跟踪延迟与响应滞后。
                4. 平滑过渡融合:若两条轨迹的控制量差超过2m/s²,在10-20个控制周期内做加权线性融合,实现软切换,避免硬切换带来的车辆冲击。

              难点2:算力与时延的平衡问题

              • 底层根本原因:并行生成多条轨迹带来额外算力开销,易导致规划周期超时,反而引发安全风险;应急规划的计算优先级不足,被标称规划占用算力资源。
              • 完整解决方案:
                1. 分级触发计算机制:不同风险等级仅生成对应必要的预案,禁止全量预案全周期生成。例如:安全级场景仅生成保守跟车预案,预警级场景才激活避让/制动预案,减少90%的无效计算。
                2. 算力优先级硬隔离:给应急规划模块最高的算力调度优先级,设置算力硬隔离区间,保证即使主系统算力过载,应急规划也能在20ms内完成单周期计算。
                3. 算法算力优化:采用轨迹增量更新,前一帧的最优轨迹作为当前帧的初始解,仅做局部优化,而非全量重新采样;碰撞检测采用AABB粗筛+OBB精检的二级机制,配合GPU并行加速,减少80%的碰撞检测耗时。
                4. 代码级优化:核心算法采用C++实现,禁用动态内存分配,采用定点化计算,保证计算耗时的确定性,避免随机超时。

              难点3:车辆动力学与执行极限适配问题

              • 底层根本原因:应急轨迹采用简化的自行车模型,未考虑轮胎附着极限、线控执行延迟、路面附着系数变化,导致规划轨迹超出车辆执行能力,出现跟踪偏差、打滑甚至失控。
              • 量产完整解决方案:
                1. 采用非线性车辆动力学模型:规划阶段引入魔术公式轮胎模型而非简化的自行车模型,严格遵守轮胎摩擦圆约束,预留20%的安全余量,保证纵向与横向合力不超过路面附着极限。
                2. 实时路面附着系数估计:基于轮速差、ESP滑移率数据、IMU加速度数据,实时估计路面附着系数μ,动态调整规划的最大减速度与转向角极限,适配干燥/湿滑/冰雪等不同路面。
                3. 执行延迟前馈补偿:规划阶段提前考虑制动/转向系统的固有延迟,将轨迹的时间轴向前偏移对应的延迟时间,保证实际执行的轨迹与规划轨迹完全一致。
                4. 执行能力降级适配:实时接收线控系统的执行能力反馈,当制动/转向能力降级时,动态收缩规划的约束边界,保证轨迹永远在车辆当前可执行的范围内。

              难点4:功能安全与SOTIF合规问题

              • 底层根本原因:应急规划作为安全兜底模块,必须满足ASIL-D等级的功能安全要求,以及ISO 21448对已知未知场景的覆盖要求,否则无法通过量产认证。
              • 完整解决方案:
                1. 架构冗余设计:高安全等级项目采用分布式独立应急规划架构,与标称规划软硬件全解耦,满足单点故障容错要求。
                2. 全链路需求追溯:建立从顶层安全目标到代码实现、测试用例的完整追溯链,每个参数、每个逻辑分支都有明确的需求来源与验证报告
                3. 确定性逻辑设计:核心决策与规划逻辑采用确定性的规则/数值优化算法,AI仅用于场景分类风险识别等辅助环节,且必须有确定性规则兜底,保证100%可解释。
                4. 全场景覆盖验证:构建完整的应急场景库,完成至少1000万公里的仿真测试、100万公里的实车测试,覆盖所有已知风险场景,同时针对未知场景设计通用兜底策略,满足SOTIF要求。
                5. 安全监控与降级:设计独立的功能安全监控模块,实时监控应急规划模块的运行状态,一旦出现超时、输出异常,立即触发最低等级的硬安全兜底策略,保证车辆永远可进入安全状态。

              五、常见误区与量产避坑指南

              针对开发中90%会踩的坑,明确误区本质与避坑准则:

              1. 误区1:用AEB替代Contingency Planning
                • 避坑核心:二者是互补关系,绝对不可替代。AEB是最后一道被动防线,触发阈值极低,100km/h车速下,AEB触发时即使全力制动,也需要38m以上的制动距离,极易发生碰撞;而Contingency Planning是主动前置介入,在TTC=3s时就提前化解风险,同时可实现避让、靠边停车等AEB无法完成的策略,从根源上避免碰撞。
              2. 误区2:只关注避撞理论安全,忽略轨迹可执行性
                • 避坑核心:无法被车辆准确执行的轨迹,再安全也没有任何意义。量产开发中,最常见的错误就是规划了超出车辆动力学极限的轨迹(如-10m/s²的减速度、同时全力制动+大角度转向),导致实际执行时偏离轨迹,反而引发事故。必须牢记:规划的第一准则是轨迹可执行,第二才是避撞。
              3. 误区3:触发阈值过于灵敏,导致频繁误触发,影响用户体验
                • 避坑核心:应急规划的误触发,会导致用户对AD系统失去信任,甚至关闭系统,反而增加安全风险。必须平衡安全性与用户体验,通过场景语义识别(如区分前车路口正常减速与紧急制动)、驾驶员状态监测(驾驶员踩制动时降低触发灵敏度)、滞回设计,避免非必要的应急触发,保证用户体验。
              4. 误区4:用黑盒AI算法做核心应急决策与规划
                • 避坑核心:ISO 26262功能安全标准要求软件逻辑100%可解释、可验证,黑盒AI模型无法证明其在所有场景下的行为是安全的,无法通过量产认证。量产场景下,AI仅可用于风险识别场景分类等辅助环节,核心的应急决策与轨迹规划,必须采用确定性的规则或数值优化算法,且必须有硬规则兜底。
              5. 误区5:只考虑单车避撞,忽略周边交通参与者的反应
                • 避坑核心:应急规划不是单车的孤立行为,必须考虑周边交通参与者的反应。最常见的错误是:紧急换道避让时,只看相邻车道当前的车辆状态,未考虑相邻车道后车的加速反应,导致换道时被后车追尾。必须在轨迹规划中,加入周边车辆的反应预测,预留足够的安全余量,保证全局场景的安全性,避免引发二次事故。
              附录

              G2连续(二阶几何连续性)核心详解


              一、核心定义

              G2连续,全称二阶几何连续性(2nd Order Geometric Continuity),是描述两段曲线/轨迹在拼接点处,几何形状平滑过渡的核心指标。

              • 纯数学定义:两段曲线在拼接点处,同时满足G0连续(位置重合)+ G1连续(切线方向一致)+ 曲率大小与方向完全相等,且曲率变化率无突变。
              • 工程定义:两条轨迹(比如标称轨迹与应急轨迹)在切换/拼接点处,位置航向角曲率完全连续无跳变,最终映射为车辆的前轮转角、横向加速度、加加速度(Jerk)全程平滑无突变。

              前置基础:先搞懂G连续与C连续的核心区别

              这是工程师容易混淆的概念,也是理解G2连续的前提: 

              | 连续性类型 | 核心定义 | 约束强度 | 自动驾驶适配性 |

               | :--- | :--- | 更严格 | 

               | C连续(参数连续性) | 以时间t为参数的轨迹方程,各阶导数严格相等(方向+大小完全一致)。C0=位置连续,C1=一阶导数(速度)连续,C2=二阶导数(加速度)连续 | 更高 | 更关注纵向加减速的时间序列连续性,对轨迹几何形状的约束过强 |

               | G连续(几何连续性) | 仅关注轨迹本身的几何形状,不依赖时间参数化方式,只要求几何属性一致。G0=位置重合,G1=切线方向一致,G2=曲率完全一致 | 更灵活 | 完美匹配车辆行驶的物理特性,轨迹的几何形状直接决定车辆的转向执行需求,是轨迹规划的核心约束 |

              关键结论:C2连续一定满足G2连续,但G2连续不一定满足C2连续。工程中,优先保证G2连续,因为它直接决定了车辆转向系统能否执行轨迹,而C2连续更多用于纵向速度规划的平滑性约束

              从G0到G2的递进关系

              G2连续是在低阶连续的基础上叠加约束,每一级都对应车辆行驶的硬要求:

              1. G0连续(零阶几何连续)
                • 约束:两段轨迹在拼接点位置完全重合,无断点
                • 工程意义:轨迹的最低要求,G0不连续的轨迹,车辆根本无法跟踪,会出现位置跳变,直接失控。
              2. G1连续(一阶几何连续)
                • 约束:在G0连续的基础上,拼接点处曲线的切线方向(车辆航向角)完全一致,无折角。
                • 工程意义:G1不连续的轨迹有折角,要求车辆瞬间完成大角度转向,转向系统无法执行,会出现航向跳变,严重冲击乘客。
              3. G2连续(二阶几何连续)
                • 约束:在G0+G1连续的基础上,拼接点处曲线的曲率大小、方向完全相等,曲率变化率无突变
                • 核心工程映射:曲率κ=1/R(R为车辆转弯半径),而车辆的前轮转角与转弯半径一一对应——曲率连续=前轮转角连续,这是G2连续最核心的物理意义。

              二、G2连续对应车辆运动的物理量映射(PnC工程师必背)

              G2连续不是纯数学概念,每一项约束都直接对应车辆的执行机构与运动状态,映射关系如下:

              G2连续的约束项
              对应车辆运动物理量
              不连续的直接后果
              G0连续(位置重合)
              车辆平面坐标(x,y)连续
              轨迹断点,车辆无法跟踪,位置失控
              G1连续(切线方向一致)
              车辆航向角θ连续 → 速度方向连续
              轨迹折角,方向盘瞬间跳变,航向失控
              G2连续(曲率一致)
              前轮转角连续 → 横向加速度a_y=v²·κ连续 → 加加速度(Jerk)无突变
              前轮转角跳变,转向系统无法执行,横向冲击、甩尾,甚至轮胎侧滑

              三、为什么Contingency Planning(应急规划)必须强制要求G2连续?

              核心原因有4点:

              1. 保证应急轨迹的可执行性,避免执行机构失效车辆的转向系统有固有响应带宽,无法瞬间完成转角跳变。如果标称轨迹与应急轨迹切换点不满足G2连续,曲率突变会要求方向盘瞬间从0度打到30度,转向系统完全无法跟踪,导致实际行驶轨迹偏离规划轨迹,应急场景下直接引发碰撞。

              2. 实现轨迹无缝切换,消除切换抖振与控制超调Contingency Planning的核心价值是零延迟切换,如果切换点G2不连续,控制模块的跟踪误差会瞬间飙升,PID/LQR控制器会出现严重超调,导致车辆左右晃、抖振,甚至车道偏离。只有G2连续的轨迹,才能保证切换时控制量无跳变,车辆平稳过渡,这是应急场景下安全切换的核心前提。

              3. 避免突破轮胎附着极限,防止应急场景下失控轮胎的横向力与轨迹曲率直接相关,曲率突变会导致横向力瞬间跳变,纵向+横向合力极易突破轮胎摩擦圆极限,尤其是湿滑/冰雪路面,会直接引发车辆侧滑、甩尾。G2连续保证了曲率平滑变化,轮胎受力平稳,永远在附着极限内,这是极限应急场景下车辆可控的核心保障。

              4. 平衡应急安全与乘坐舒适性,避免用户恐慌加加速度(Jerk)是衡量车辆冲击与舒适性的核心指标,G2不连续的轨迹会导致Jerk阶跃突变,出现剧烈的横向冲击,即使成功避撞,也会让乘客严重恐慌,甚至关闭智驾系统,反而增加长期安全风险。


              四、工程中G2连续的实现方法

              1. 选用天然支持G2连续的轨迹曲线

              这是最基础的实现方式,量产PnC中主流的G2连续曲线包括:

              • 回旋曲线(Clothoid,最核心常用):曲率随弧长线性变化,完美匹配人类驾驶特性——方向盘匀速转动时,车辆的行驶轨迹就是回旋曲线,天然保证G2连续,是换道、避让、靠边停车等场景的首选曲线。
              • 五次多项式曲线:可直接约束轨迹起点和终点的位置、航向、曲率,天然实现两段轨迹的G2连续拼接,常用于应急轨迹的快速生成。
              • B样条曲线/三阶以上贝塞尔曲线:自带高阶平滑特性,可实现多段轨迹的G2连续拼接,常用于全局路径的平滑优化。

              2. 应急轨迹切换的G2连续核心实现:轨迹重参数化

              这是Contingency Planning场景下的关键操作:

              绝对不能直接把预生成的应急轨迹硬切到当前车辆状态,必须以切换时刻车辆的实时状态(位置、航向角、当前前轮转角/曲率、速度、加速度)作为应急轨迹的起点约束,重新生成轨迹,保证拼接点的位置、航向、曲率完全匹配,天然实现G2连续,从根源上消除切换跳变。

              3. 工程校验方法

              每个规划周期,必须对轨迹做G2连续校验:

              1. 检查拼接点前后100ms的轨迹曲率差,量产要求曲率突变≤0.005m⁻¹,对应前轮转角跳变≤0.5°;
              2. 校验横向加速度变化率,保证加加速度(Jerk)≤5m/s³(应急场景可放宽至15m/s³);
              3. 与车辆转向系统带宽匹配,保证曲率变化率不超过转向系统的最大响应能力。

              五、常见误区与避坑指南

              1. 误区1:G1连续就够用,不需要G2连续避坑:G1连续只能保证航向无折角,无法约束曲率突变,依然会出现前轮转角跳变,转向系统无法执行,高速场景下微小的曲率突变都会被车速放大,直接导致跟踪偏差与失控

              2. 误区2:混淆G2连续与C2连续,过度约束参数避坑:C2连续要求参数二阶导数完全相等,对纵向速度的约束过强,应急场景下反而会限制制动减速度的快速提升。工程中,路径规划优先保证G2连续,速度规划优先保证C2连续,二者解耦设计,不要混为一谈。

              3. 误区3:只关注路径的G2连续,忽略动态轨迹的平滑性避坑:G2连续不仅是静态路径的曲率连续,还要结合车辆动态速度。高速场景下,相同的曲率变化会带来更大的横向加速度跳变,必须根据车速动态调整曲率变化率的约束,保证全车速段的G2连续有效。

              4. 误区4:应急场景下可以放宽G2连续要求避坑:恰恰相反,应急场景下车辆处于极限操作状态,轮胎附着余量、转向系统响应余量都极小,曲率突变极易突破物理极限,反而要更严格地保证G2连续,才能确保车辆可控。

              最新文章

              随机文章

              基本 文件 流程 错误 SQL 调试
              1. 请求信息 : 2026-05-10 00:25:04 HTTP/2.0 GET : https://e.mffb.com.cn/a/485983.html
              2. 运行时间 : 0.171406s [ 吞吐率:5.83req/s ] 内存消耗:4,467.22kb 文件加载:140
              3. 缓存信息 : 0 reads,0 writes
              4. 会话信息 : SESSION_ID=ced50533b4000e44d2e3e3a6c42cf2d1
              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.000713s ] mysql:host=127.0.0.1;port=3306;dbname=e_mffb;charset=utf8mb4
              2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000580s ]
              3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.001383s ]
              4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000281s ]
              5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000620s ]
              6. SELECT * FROM `set` [ RunTime:0.000281s ]
              7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000600s ]
              8. SELECT * FROM `article` WHERE `id` = 485983 LIMIT 1 [ RunTime:0.002667s ]
              9. UPDATE `article` SET `lasttime` = 1778343904 WHERE `id` = 485983 [ RunTime:0.001642s ]
              10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000327s ]
              11. SELECT * FROM `article` WHERE `id` < 485983 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000569s ]
              12. SELECT * FROM `article` WHERE `id` > 485983 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000466s ]
              13. SELECT * FROM `article` WHERE `id` < 485983 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000752s ]
              14. SELECT * FROM `article` WHERE `id` < 485983 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001972s ]
              15. SELECT * FROM `article` WHERE `id` < 485983 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.010691s ]
              0.173082s