📄 论文信息
- 标题:nuTruck: Benchmarking Autonomous Driving Planning for Distributed Electric-drive Trucks
- 团队:清华大学车辆与运载学院 × KargoBot.AI(恺 databot)
- arXiv:2607.13704(2026 年 7 月,cs.RO)
- 关键词:分布式电驱重卡(DET)、闭环规划、侧翻风险、LTR、动力学安全
- 一句话总结:首个专门为分布式电驱重卡打造的规划训练 + 闭环评测基准——它把"侧翻风险"做成可量化指标,证明在重卡上"规划管避撞、控制器管防侧翻"的传统分工是会失效的。
图1:nuTruck 基准整体框架。以 nuPlan 真实驾驶场景为输入,经过 DET 高保真动力学模型闭环仿真,输出轨迹跟踪性能与侧翻风险评估。
图2:同一无碰撞轨迹在 DET 上的跟踪效果。(a)运动学可执行但侧翻风险高;(b)侧翻风险可视化(颜色越红风险越高);(c)理想的 DET 轨迹应同时满足运动学可行性和动力学安全性。
🤔 要解决什么问题?乘用车的"好轨迹"会让重卡翻车
学习型规划器(learning-based planner)在乘用车上已经大杀四方,从 UniAD、SparseDrive 到 Plan-R1、CaRL,几乎清一色在 nuPlan、Bench2Drive 上刷榜。但论文一上来就抛出一个反直觉的现象:
一条在 nuPlan 上被 iLQR 精准跟踪、且完全无碰撞的轨迹,换到重卡上跟踪,却会因为转向半径过小 + 车速过高而侧翻风险爆表。
这背后是重卡与乘用车的本质差异。**分布式电驱重卡(Distributed Electric-drive Truck, DET)**有几个乘用车没有的特点:
| 维度 | 乘用车 | 分布式电驱重卡 DET |
|---|---|---|
| 驱动方式 | 集中驱动 | 每个车轮独立驱动 + 独立转向 |
| 质心高度 | 低 | 高(满载更夸张) |
| 侧倾易感性 | 几乎不会翻 | 极易侧翻 |
| 动作空间 | 低维(油门/转向) | 12 维(6 轮各自扭矩 + 转角) |
作者更尖锐地指出当前基准的两个空白:
- 现有重卡数据集都只做开环:TruckScenes(2024)、TruckDrive(2026)虽然采集了卡车数据,但只能开环评测,且完全忽略车辆动力学;
- nuPlan/Waymax 只用运动学自行车模型,对乘用车够用,对 DET 则完全失真。
核心矛盾可以用论文 Table I 里的一组数字讲透:同样是跟踪无碰撞轨迹,nuPlan 上乘用车 CLS=96.24;换到 nuTruck 的 DET 上,CLS 掉到 77.55,而即便给控制器加上侧翻防护(iLQR+S),CLS 也只回到 74.36——因为规划阶段根本没考虑动力学安全,下游控制器再怎么补救也补不回来。
💡 核心思想:把"动力学安全"写进评测,而不只是"无碰撞"
nuTruck 的设计哲学只有一句话:对于 DET,“无碰撞” ≠ “安全”,必须再加上"不侧翻"。为此它在三个层面做了系统性的基建工作。
1. 高保真非线性 DET 动力学模型
模型定义
论文实现了一个三轴六轮、每个轮子可独立驱动和独立转向的非线性动力学模型。状态量与控制输入分别为:
- 状态量 $\mathbf{s} = [x, y, \psi, v_x, v_y, \dot{\psi}]^\top \in \mathbb{R}^6$:全局位置、横摆角、纵向速度、侧向速度、横摆角速度。
- 控制量 $\mathbf{u} = [T_1, \dots, T_6, \delta_1, \dots, \delta_6]^\top \in \mathbb{R}^{12}$:6 轮独立扭矩 + 6 轮独立转角。
动力学微分方程为:
$$\dot{\textbf{s}}_t = \mathcal{F}_\theta(\textbf{s}_t, \textbf{u}_t), \quad \textbf{s} \in \mathbb{R}^6,\ \textbf{u} \in \mathbb{R}^{12}$$轮胎模型:Pacejka 魔术公式
每个车轮的纵向力 $F_{x,i}$ 和侧向力 $F_{y,i}$ 由 Pacejka 魔术公式计算:
$$F_{x,i} = D_x \sin(C_x \arctan(B_x \kappa_i - E_x(B_x \kappa_i - \arctan(B_x \kappa_i))))$$$$F_{y,i} = D_y \sin(C_y \arctan(B_y \alpha_i - E_y(B_y \alpha_i - \arctan(B_y \alpha_i))))$$其中 $\kappa_i$ 为滑移率,$\alpha_i$ 为侧偏角,$B,C,D,E$ 为 Pacejka 系数,由轮胎类型和垂直载荷 $F_{z,i}$ 插值得到。独立驱动允许每个车轮独立调节 $F_{x,i}$(通过扭矩 $T_i$),独立转向允许每个车轮独立设定 $\alpha_i$(通过转角 $\delta_i$),这恰恰是 DET 与集中驱动车辆的底层差异。
刚体动力学
整车三自由度(纵向、侧向、横摆)动力学为:
$$m(\dot{v}_x - v_y \dot{\psi}) = \sum_{i=1}^6 F_{x,i} - \frac{1}{2} \rho C_d A v_x^2$$$$m(\dot{v}_y + v_x \dot{\psi}) = \sum_{i=1}^6 F_{y,i}$$$$I_z \ddot{\psi} = \sum_{i=1}^6 \left( l_{x,i} F_{y,i} \cos\delta_i - l_{x,i} F_{x,i} \sin\delta_i + \frac{w_i}{2} (F_{x,i}^{\text{right}} - F_{x,i}^{\text{left}}) \right)$$其中 $m$ 为整车质量(满载可达 25 吨),$I_z$ 为横摆转动惯量,$l_{x,i}$ 为第 $i$ 轮轴到质心的纵向距离,$w_i$ 为轴距,$\rho C_d A$ 为空气阻力系数。
动态垂直载荷转移
DET 侧翻风险的核心来源是加减速和过弯时的垂直载荷转移。各轮垂直载荷 $F_{z,i}$ 不再是静态的($mg/\text{轮数}$),而是由纵向和侧向加速度实时调制:
$$F_{z,i} = \underbrace{F_{z,i}^{\text{static}}}_{\text{静态分配}} + \underbrace{\Delta F_{z,i}^{\text{long}}}_{\text{纵向转移}(a_x)} + \underbrace{\Delta F_{z,i}^{\text{lat}}}_{\text{侧向转移}(a_y)}$$具体地,纵向加速度 $a_x = \dot{v}_x$ 导致前/后轴载荷转移,侧向加速度 $a_y = \dot{v}_y + v_x \dot{\psi}$ 导致左/右轮载荷转移:
$$\Delta F_{z,\text{front}}^{\text{long}} \approx -\frac{m h_{\text{CoG}}}{2L} a_x, \quad \Delta F_{z,\text{left}}^{\text{lat}} \approx -\frac{m h_{\text{CoG}}}{w} a_y$$其中 $h_{\text{CoG}}$ 为质心高度(满载 DET 可达 1.8m,远高于乘用车的 0.5-0.6m),$L$ 为轴距,$w$ 为轮距。质心高这一单一几何参数,使得 DET 的侧倾力矩臂远大于乘用车——这就是 DET 极易侧翻的根本物理原因。
模型保真度验证
| 对比项 | 指标 | 数值 |
|---|---|---|
| 124 段正弦激励 | 15s 位置 MAE | 0.25 m |
| 124 段正弦激励 | 15s 速度 MAE | 0.08 m/s |
| 124 段正弦激励 | LTR MAE | 0.005 |
| 对比对象 | TruckSim | 准工业级 |
0.25m 的位置误差相对于重卡 10m+ 的车长可以忽略,LTR 误差 0.005 更是极低的水平——模型几乎和 TruckSim 一样准,但完全可微分、可在 PyTorch 训练循环中正反向传播。
2. 新指标:NRS 与 CLS-Safe
有了 LTR 这个连续风险度量,作者设计了 Non-Rollover Score (NRS)——一个从 LTR 时序信号到 0-100 分值的映射函数:
$$\text{NRS} = \begin{cases} 0, & \max_t \text{LTR}(t) > s_{\max} \\[4pt] 100 \times \left(1 - \frac{1}{T}\sum_{t=1}^T \frac{\text{LTR}(t) - s_{\min}}{s_{\max} - s_{\min}}\right)^2, & s_{\min} < \max_t \text{LTR}(t) \leq s_{\max} \\[4pt] 100, & \max_t \text{LTR}(t) \leq s_{\min} \end{cases}$$其中 $s_{\max}=0.9$(临界侧翻阈值,超过则判 0 分),$s_{\min}=0.5$(安全阈值,低于则满分)。NRS 在 0.5-0.9 之间按二次函数衰减,惩罚那些"虽然没翻但接近翻"的轨迹。
再将 NRS 作为乘性因子与 nuPlan 的闭环分数复合:
$$\text{CLS-Safe} = \text{CLS} \times \left(\frac{\text{NRS}}{100}\right)^\alpha$$其中 $\alpha=0.5$ 控制 NRS 的惩罚强度。CLS-Safe 迫使规划器在"能到终点(EPAR)、不撞(CLS)、不翻(NRS)“三者间同时拿高分——一个指标的片面优化会被另外两个拉回来。
3. 一套覆盖规则/学习的基线
nuTruck 适配了两类三种规划基线:
| 类别 | 代表方法 | 输出维度 | 控制器 | 侧翻防护 |
|---|---|---|---|---|
| 规则型 | IDM、PDM-Closed | 轨迹 (2D) | iLQR / iLQR+S | 可选 |
| 学习型(轨迹) | Plan-R1(nuPlan SOTA) | 轨迹 (2D) | iLQR / iLQR+S | 可选 |
| 学习型(动作) | CaRL-A12 / A2 / A4 | 动作 (12D/2D/4D) | 无(直接控车) | 隐式 |
其中 CaRL 系列是动作型规划器:不输出轨迹,而是直接预测低层控制信号(扭矩+转角),绕过下游控制器。作者设计了三种 action pattern 来驯服 12 维高维动作空间:
| 模式 | 动作维度 | 自由度数 | 含义 |
|---|---|---|---|
| CaRL-A12 | $[T_{1-6}, \delta_{1-6}]$ | 12 | 全自由——各轮独立驱动转向,收敛困难 |
| CaRL-A4 | $[T_f, T_m, T_r, \delta_f]$ | 4 | 分组驱动——前三轴扭矩 + 前轮转角(阿克曼) |
| CaRL-A2-FRO | $[v, \dot{\psi}]$ | 2 | FRO (前后轮反向)——速度+横摆角速度,前后轮转角反向以减小转弯半径 |
| CaRL-A2-RWL | $[v, \dot{\psi}]$ | 2 | RWL (后轮锁止)——速度+横摆角速度,前中轮阿克曼转、后轮锁止 |
图3:CaRL 的动作先验设计。FRO 模式下前后轮转角反向,实现更小的转弯半径,适合 DET 的长轴距特性。
FRO 的设计尤为巧妙:对于长轴距的 DET,阿克曼转向的转弯半径 $R_{\text{Ack}} = L / \tan\delta_f$ 会很大,但前后轮反向转向后 $R_{\text{FRO}} = L / (\tan\delta_f + \tan\delta_r)$ 显著减小,使重卡在城市窄路中也能灵活转弯。
4. 闭环仿真流程
nuTruck 的闭环仿真流程可概括为以下步骤:
- 场景初始化:从 nuPlan 训练集中读取场景状态(自车位置、周围 agent 轨迹、地图、交通灯)
- 规划器推理:基于当前观测,规划器输出轨迹 $\tau$ 或直接输出动作 $\mathbf{u}$
- 控制器跟踪(仅轨迹型):iLQR 或 iLQR+S 对 $\tau$ 进行模型预测控制,输出 $\mathbf{u}_{\text{track}}$
- DET 动力学推进:将 $\mathbf{u}$(或 $\mathbf{u}{\text{track}}$)送入 $\mathcal{F}\theta$ 推进一个时间步 $\Delta t = 0.1\text{s}$,更新状态 $\mathbf{s}_{t+1}$
- 安全监测:在每个时间步记录 LTR 序列,最终计算 NRS 和 CLS-Safe
- 场景回滚:若发生碰撞或侧翻,终止该场景并记录失败原因
与 nuPlan 原版仿真相比,nuTruck 将运动学自行车模型替换为上述非线性 DET 动力学模型,新增了 LTR/NRS 安全监测环节。
🎯 实验分析:轨迹规划器在 DET 上"集体翻车”
与现有基准的对比
首先,nuTruck 与现有数据/仿真基准的定位差异清晰可见:
| 数据集/仿真器 | 年份 | 闭环 | 场景类型 | 车辆动力学 | DET | 侧翻评估 |
|---|---|---|---|---|---|---|
| nuScenes | 2020 | 否 | 真实-复杂 | 无 | 否 | 否 |
| TruckScenes | 2024 | 否 | 真实-复杂 | 无 | 否 | 否 |
| TruckDrive | 2026 | 否 | 真实-复杂 | 无 | 否 | 否 |
| nuPlan | 2021 | 是 | 真实-复杂 | 运动学模型 | 否 | 否 |
| Waymax | 2023 | 是 | 真实-复杂 | 运动学模型 | 否 | 否 |
| CARLA | 2017 | 是 | 仿真-中等 | 动力学模型 | 否 | 否 |
| TruckSim | - | 是 | 仿真-简单 | 高保真动力学 | 是 | 否 |
| nuTruck (ours) | 2026 | 是 | 真实-复杂 | 高保真DET动力学 | 是 | LTR/NRS |
nuTruck 是唯一同时满足“真实复杂场景 + 闭环仿真 + 高保真 DET 动力学 + 侧翻风险量化"四个条件的基准。
核心实验结果
论文核心实验结果(改写自 Table V)揭示了三种规划范式在 DET 上的剧烈差异:
| 规划器 | 控制器 | EPAR $\uparrow$ | CLS $\uparrow$ | NRS $\uparrow$ | CLS-Safe $\uparrow$ |
|---|---|---|---|---|---|
| 规则型 | |||||
| IDM | iLQR | 86.34 | 72.30 | 92.02 | 85.05 |
| PDM-Closed | iLQR | 76.15 | 65.55 | 91.76 | 77.47 |
| 学习型(轨迹) | |||||
| Plan-R1 | iLQR | 88.43 | 78.49 | 9.84 | 8.76 |
| Plan-R1 | iLQR+S | 65.57 | 55.18 | 61.21 | 57.43 |
| 学习型(动作) | |||||
| CaRL-A12 | 无(直接控车) | 82.73 | 74.52 | 64.13 | 58.47 |
| CaRL-A4 | 无(直接控车) | 83.87 | 67.75 | 88.53 | 75.28 |
| CaRL-A2-FRO | 无(直接控车) | 86.48 | 76.93 | 97.67 | 77.36 |
| CaRL-A2-RWL | 无(直接控车) | 85.21 | 76.99 | 91.78 | 74.16 |
三条核心结论
结论一:轨迹型规划器在 DET 上侧翻风险极高。 Plan-R1 虽是 nuPlan SOTA,在 DET 上 EPAR(88.43)和 CLS(78.49)都不差,但 NRS 仅 9.84 / 100——几乎每跑必翻。根源在于 PDM-Closed 的横向偏移采样以及 Plan-R1 的 RL 训练阶段都基于运动学自行车模型,完全没有 DET 的动力学概念。跟踪这些轨迹时产生的大侧向加速度 $a_y$ 使 LTR 飙升,侧翻频发。
结论二:控制器补救治标不治本。 给 iLQR 添加侧翻惩罚(iLQR+S)后,Plan-R1 的 NRS 从 9.84 涨到 61.21——确实不翻那么多了。但代价是 EPAR 从 88.43 骤降到 65.57,CLS 从 78.49 降到 55.18。控制器为了避开侧翻,被迫偏离规划轨迹,在复杂场景(窄路转弯、密集车流)中频繁失败。“规划只管运动学,控制器补救动力学"的分工被彻底证伪——规划不安全,控制器背不了这个锅。
| 对比 | EPAR | CLS | NRS | CLS-Safe |
|---|---|---|---|---|
| Plan-R1 + iLQR (无防护) | 88.43 | 78.49 | 9.84 | 8.76 |
| Plan-R1 + iLQR+S (有防护) | 65.57 | 55.18 | 61.21 | 57.43 |
| 变化 | -22.86 | -23.31 | +51.37 | +48.67 |
安全的提升(NRS +51.37)是以任务完成度的断崖式下跌(EPAR -22.86)换来的——治标不治本。
结论三:动作型规划器反而最稳。 CaRL 系列直接预测低层动作,虽然没有任何显式的侧翻惩罚,但神经网络的平滑性偏置 + 奖励函数中的舒适性约束天然压制了 LTR。CaRL-A2-FRO 以 NRS=97.67 名列第一,CLS-Safe=77.36 也是全场最佳。FRO 模式通过前后轮反向转向显著减小转弯半径,使 CaRL-A2-FRO 在窄弯中既能顺利通过又不会侧翻。
扩展性分析
图4:CaRL 训练步数增大时的表现。EPAR 随训练持续提升,但后期 NRS 出现下降趋势,说明高速场景中侧翻风险增大。
随着训练步数从 100K 增加到 2500K,CaRL 的 EPAR 持续上升(路线完成度提高),但 NRS 在高训练量时出现轻微下降——原因是模型学会了更激进的驾驶策略(以更高速度过弯),侧向加速度随之增大。这组数据传递了一个关键信号:即使动作型规划器天然安全,在缺乏显式动力学安全奖励时,RL 仍会自发找到优化"效率"与牺牲"安全"的边界。 将 LTR/NRS 纳入 RL 的奖励设计,是下一步最自然的延伸。
🧠 个人思考:规划与控制的边界,该重新划了
读完 nuTruck 最大的触动是:“感知—预测—规划—控制"这条几十年没动过的流水线,在重卡这个载体上露出了致命的破绽。乘用车质心低、几乎不可能侧翻,所以"规划管运动学可行、控制管动力学稳定"的分工天经地义;但 DET 高质心 + 分布式驱动,把这两件事硬生生焊在了一起。一条运动学上完美无碰撞的轨迹,在动力学上可能根本跑不了——这不是控制器的锅,是规划就该知道。这让我想起机器人领域的一个经典讨论:在高速、高惯性的系统中,想都不用想规划和控制的分层必然会有交界处的漏洞。nuTruck 的实验数据就是这份论断在自动驾驶领域的实证。
第二个启发是 action pattern 这个设计。12 维动作空间直接学为什么会崩?因为网络根本不知道"前轮左转时后轮该往哪打”。FRO/RWL 两种先验本质上是在把人类工程师对车辆动力学的理解,编码进动作空间的结构里,让网络在低维流形上搜索。这和机器人里的动作原语(motion primitive)、Diffusion-Planner 的轨迹先验是同一个思路:别让模型从零学起,给它一个合理的搜索骨架。更值得玩味的是,CaRL-A2-FRO 只有 2 个自由度却能以 NRS=97.67 碾压 12 自由度的 A12(NRS=64.13)——动作空间设计比模型容量更重要。
第三,从评测视角看,nuTruck 做了一件学界久违的事——把"安全"从一个二值的"撞没撞"指标,扩展成了连续的"会不会翻"指标。LTR/NRS 的设计值得所有闭环基准借鉴:真正的安全不是非黑即白,而是有多远离危险边缘的渐变。乘用车时代大家不关心侧翻,是因为车太稳;一旦场景换成重卡、机器人、甚至人形,这种"动力学安全度量"就成了刚需。CLS-Safe = CLS x (NRS/100)^α 的复合形式也很有启发性——它把"碰撞安全"和"动力学安全"通过乘积融合,迫使规划器同时优化两个正交的维度。
第四,从实验方法论角度看,nuTruck 做了一件看似简单但极其重要的事:它用 Plan-R1 + iLQR 和 Plan-R1 + iLQR+S 的对比,干净利落地分离了"规划器自身动力学意识"和"控制器补救能力"两个混淆因素。NRS 从 9.84 到 61.21 说明控制器能补救一部分,但 EPAR 从 88.43 掉到 65.57 说明补救有根本性的天花板。这个"割裂"实验的设计值得所有涉及"规划+控制"的论文效仿。
最后谈几点展望。其一,nuTruck 的场景是从 nuPlan 筛选的(把 DET 跑不过去的拥挤路段剔掉),虽然保证了运动学可行,但也意味着长尾的极端重卡场景(连续发卡弯、湿滑下坡)依然缺位。其二,动力学模型虽然对标 TruckSim,但真实的胎地附着、空气动力学、挂车铰接效应仍是简化。下一步如果能引入挂车列车的高维模型,这个基准的工程价值会再上一个台阶。其三,从 LTR/NRS 到端到端的"动力学安全感知规划"还有很长的路——理想情况下,规划器应该在训练阶段就能通过可微的动力学模型获得 LTR 的梯度,而不仅仅是在评测阶段计算分值。
作为一个"基础设施级"的工作,nuTruck 不炫技,但它补上的是学习型规划走向真实重卡部署的那块最关键的拼图——让模型学会:不撞只是底线,不翻才是合格。