项目
面向商用车的
多保真联合仿真平台
将真实场景、交通流、车辆动力学与交互传感器放进同一条状态链路,服务于商用车场景复现和闭环交互验证。
- 科研实习进行中
- 2026.04 - 至今
- 世界模拟器基座、联合仿真与候选轨迹验证
- SUMO / TruckSim / CARLA / 3DGS
- 状态同步图、架构图、真实 demo
多保真联合仿真系统架构
真实系统结构:交通语义与风险候选进入统一状态协调层;关键商用车才进入 TruckSim 高保真求解,状态再同步至 CARLA 与 3DGS。
项目总览
- 为什么需要多保真?
- 现有真实场景联合仿真多围绕乘用车开发,难以同时支持牵引车-挂车铰接动力学、可编辑交通流与真实场景链路。
- 我负责的部分
- 负责世界模拟器基座、复杂交通场景闭环仿真和自监督候选轨迹验证。构建 SUMO-TruckSim-CARLA-3DGS 多保真闭环系统,完成跨 Windows/Linux 的 Actor Identity、车辆状态与时钟同步;设计 Fidelity Scheduler;完成 CARLA-3DGS 联合仿真器及 MAN/nuPlan 场景编译链路。
- 系统如何分工?
- SUMO 负责大规模背景交通,TruckSim 只接管需要真实动力学的关键商用车;CARLA 管理交互与传感器,3DGS 提供真实重建场景的连续渲染。统一状态层负责同步各端的身份、时钟、位姿与控制权。
- 相关材料
- 状态同步图、原始系统架构、跨 SUMO、TruckSim、CARLA 与 3DGS 的真实联合仿真 demo,以及当前的受控闭环实验。
系统规模
4.82M
campus 场景的 3DGS Gaussians
4
SUMO / TruckSim / CARLA / 3DGS 表示层
0.1 s
联合仿真外层锁步与 TruckSim 更新周期
5
从场景底座到交互实验的能力阶段
多保真联合仿真的模块分工
SUMO
管理道路拓扑、交通规则、背景交通与交互语义。
调度层
统一车辆身份、时钟、状态和高保真接管决策。
TruckSim
求解关键商用车牵引车和挂车的高保真动力学状态。
CARLA
维护车辆 Actor、环境交互、传感器和状态回写。
3DGS
在真实重建场景中同步车辆资产、相机与连续渲染视角。
实现真实重建场景的实时联合渲染
3DGS 提供真实世界的视觉场景,但它本身不负责车辆、道路语义和传感器。先以 COLMAP / 3DGS 相机轨迹构造 OpenDRIVE 地图,再校准尺度、轴向、偏移和相机外参,使 CARLA hero 的位姿可以驱动 3DGS 渲染视角。这样得到的是“CARLA 控车 + 3DGS 渲染”的实时联合闭环。
实现路径
01
重建
分块训练、层次化合并,得到可实时加载的大场景。
02
成图
相机中心轨迹转为道路中心线与 OpenDRIVE 地图。
03
对齐
处理尺度、轴向、偏移与相机姿态,映射 CARLA pose。
04
加物
由数据标注生成静态车辆,并接入 LiDAR BEV。
05
联动
主车位姿与动态资产同时驱动 CARLA 和 3DGS。
CARLA 驱动的 3DGS 实景联动
CARLA 中的主车、静态车辆与 LiDAR BEV,同步映射到 3DGS 真实场景。主车的运动不再局限于游戏地图,而是成为真实重建环境中的可控视角。
资产与轨迹同步:一个 logical vehicle 分别映射到 CARLA Actor 和 3DGS Gaussian Vehicle,再由同一条带时间戳的轨迹驱动。
系统分工:3DGS 提供真实重建渲染,CARLA 提供交互与传感器,SUMO 组织交通流,TruckSim 负责关键商用车的真实动力学。
接入商用车与 TruckSim 高保真动力学
平台先将牵引车与挂车作为可控商用车资产接入 CARLA,再以 TruckSim 的专业车辆模型接管动力学求解。控制量进入 TruckSim;TruckSim 每 0.1 秒输出牵引车和挂车的完整状态,CARLA 与 3DGS 同步更新车辆姿态与位置。Windows TruckSim 与 Linux CARLA 通过主控和 UDP 保持连续通信。
状态同步链路
01
环境
CARLA 提供地图、交通参与者、天气和传感器等环境状态。
02
控制
控制器输出方向盘、油门和制动,作为 TruckSim 的输入。
03
求解
TruckSim 内部以 0.0005 s 积分步长完成每个 0.1 s 外层更新。
04
回写
牵引车与挂车状态同步回 CARLA / 3DGS,成为下一帧的显示真值。
TruckSim 驱动的铰接商用车
以 TruckSim 求解 2A 牵引车 + 3A 挂车的状态,再同步至 CARLA 和 3DGS。这里的重点是把商用车的铰接动力学带进联合仿真,而非只替换一辆车的外观。
面向关键车辆的下一层能力:为每辆需要高保真的商用车建立独立 TruckSim 实例,在统一时钟下将状态同步回 CARLA 与 NuRec/3DGS。
构建选择性高保真车辆调度
TruckSim 为一辆商用车维护独立的车辆模型、控制输入和 10 Hz 动力学求解;它适合少量关键车辆,却无法像交通引擎一样同时承载大量背景车。因此,SUMO 继续负责整张路网的交通流,而高保真动力学成为一项需要调度的算力资源:系统每 0.1 秒判断一次,哪些邻车已经足够接近 ego,值得在下一段交互中交给更真实的车辆模型。
调度流程
01
冻结同一帧
每 0.1 秒冻结一帧统一状态快照,作为筛选、打分和调度的共同起点。
02
快速找候选
TraCI 从道路拓扑中找到跟驰、换道、汇入和路口关系;未来 3 秒 AABB 再补上可能靠近的几何候选。
03
判断交互强度
SUMO SSM 的 TTC、PET、DRAC 与牵引车/挂车 OBB 精筛共同判断:这辆车只是路过,还是会影响 ego 的决策。
04
预热并接管
稳定后的交互标签和原因码同步到各端;关键商用车预热并移交 TruckSim,乘用车则进入 CarSim 链路。
一套交通状态,三端同步呈现
车辆身份、交互等级与原因码同步到 SUMO、CARLA 与 3DGS,使调度、可视化和回放使用同一份车辆状态。
第一道筛选:AABB 在未来 3 秒快速排除不可能接近 ego 的车辆,避免把高保真计算花在无关对象上。
第二道筛选:OBB 描述牵引车与挂车真实占地,用于识别斜向交互、横向冲突和挂车扫尾等简化交通模型难以表达的情况。
完成 E2E 自车与 IDM 旁车闭环交互
当场景、主车和交通流接通后,交互不能再靠预写动画。这个实验只给定自车的起终点、路线和初速度,以及旁车的目标速度与切入任务。UniAD 从 CARLA 多相机画面规划 ego 的参考轨迹,IDM 同时控制旁车的跟驰和 cut-in;两套决策基于同一帧状态推进,交互结果由双方共同产生。
交互如何推进
01
场景任务
自车获得路线与初始状态;旁车获得目标速度和切入条件。
02
两侧决策
UniAD 输出 ego 参考轨迹,IDM 计算旁车的纵向行为与换道时机。
03
同一世界推进
控制器写回 CARLA 后统一推进一帧,下一轮决策读取更新后的世界状态。
俯瞰视角:CUT-IN 从交通关系中发生
全局视角保留了自车、旁车和车道关系。可以直接看到旁车接近并切入 ego 车道,以及两车在同一交通状态下持续影响彼此。
驾驶视角:E2E 自车对切入车辆作出响应
从 ego 视角记录端到端规划面对旁车切入时的实时响应。UniAD 根据多相机观测更新自车参考轨迹,IDM 旁车同步推进交互过程。
卡车驾驶视角:TruckSim 自车响应切入车辆
TruckSim 实时求解 2A 牵引车 + 3A 挂车的铰接状态,包括双车位姿、侧倾/俯仰/横摆及 ART_H、ARTR_H;CARLA 通过 PhysicsConstraint 连接刚体并同步呈现动力学结果。
端到端自车与背景交通协同
CARLA 维护世界状态,UniAD 读取多相机观测规划自车;SUMO 镜像 ego 状态并生成旁车控制,两侧动作共同写回下一帧世界。
控制链路
CARLA 维护世界状态;UniAD 读取多相机观测规划自车,SUMO 镜像 ego 状态后让 IDM 旁车能据此决策。
风险感知自适应运动生成
面向人机协作场景的运动生成与推理调度系统。风险模型持续读取人体与机械臂的时空关系,再由策略网络为扩散生成器分配合适的采样预算:简单场景少用计算,接触风险升高时增加推理精度。
- 科研实习已完成
- 2025.10 - 2026.04
- 课题第一推进
- BlockGCN / SDF / TTC / PPO / GAE
- 架构图、训练回路、受控评测
风险感知采样调度架构
自适应采样:把风险映射成采样预算。低风险样本少走几步,高风险样本临时加码,让计算集中用在真正需要的场景。
项目总览
- 为什么它难?
- 固定的扩散采样预算无法区分常规运动与高接触风险片段:步数过少会影响生成与安全,步数过多又会占用在线推理资源。
- 我负责的部分
- 作为课题第一推进,负责从问题定义到实验评测的整体研究推进:建立多源动作处理与 SMPL-UR5 对齐链路,构建 pHRI 风险模型和 Adaptive Scheduler,完成 MDM-DiT 集成、PPO 两阶段训练、原型接入与英文论文初稿。
- 系统怎样决策?
- 风险模型持续读取人体与机械臂的时空关系,策略网络再从 20 到 50 步的离散采样预算中选择当前生成任务所需的推理精度。
- 相关材料
- 风险与采样预算架构、训练闭环和自建仿真评测结果。结果来自既定仿真设置,尚未覆盖真实物理环境。
研究范围
23
人体 21 个关键点 + UR5 基座 / 末端节点
7 档
PPO 可选择的 DDIM 去噪预算:20-50 步
1,500
自建人机交互场景,用于闭环仿真评测
从风险状态到采样步数的决策结构
- 风险状态
- 风险模型输出的连续风险特征进入策略网络,决定当前样本是否需要更多采样预算。
- 去噪状态
- 策略同时读取当前去噪状态,避免只凭风险数值决定整个生成过程。
- 采样预算选择
- PPO 从 20 到 50 步的离散候选中选择当前 DDIM 的采样预算。
构建人体-机械臂时空风险表征
我把人体与机械臂放进同一张时空图:人体上半身 21 个关键点,加上 UR5 基座和末端,共 23 个物理节点。空间边保留骨骼与机械臂连杆拓扑,时间边连接相邻帧的同一节点,让模型同时看到姿态关系和运动趋势。
BlockGCN + 多尺度时间卷积
空间分支提取跨关节关系,时间分支捕获速度、加速度和运动方向变化,输出低延迟时空特征。
SDF + TTC 风险算子
用 SDF 的最小三维距离描述当前几何接近程度,用 TTC 估计按当前运动趋势何时可能发生碰撞,融合后归一化为 [0, 1] 风险值。
风险估计链路:从连续人体-机械臂轨迹构图,经 BlockGCN 与时间建模后,融合几何距离和碰撞时间,输出逐帧风险标量。
风险模型结果
95.6%
仿真场景中的初步风险预测准确率
4.4%
对应误报率
<5 ms
单帧风险算子推理延迟
Adaptive Scheduler:策略网络读取 risk embedding、diffusion state 与条件 embedding,在离散候选步数中选择当前样本的去噪预算。
实现风险驱动的扩散采样调度
我将步数调度建模为 MDP。状态由当前风险、DiT 中间 diffusion state 和任务条件组成;动作是 7 档离散 NFE:{20, 25, 30, 35, 40, 45, 50}。策略输出候选步数的概率分布,再由 DDIM 按选中的预算完成本次生成。
Reward 设计
同时看生成轨迹与 GT 的一致性、碰撞安全和推理成本:高风险样本倾向更多步数,低风险样本主动减少无效计算。
训练稳定性
使用 PPO clipped objective、GAE、梯度裁剪与早停,限制策略更新幅度,避免步数策略和生成器互相改变导致训练震荡。
完成 DiT × PPO 两阶段训练与闭环集成
扩散步数是离散动作,直接和生成器端到端联合训练会让环境持续变化,容易出现策略震荡和动作质量退化。因此采用两阶段解耦:第一阶段训练 MDM-DiT 学会物理合理的人体动作;第二阶段冻结 DiT,只训练 PPO Scheduler,把固定生成器当作可评估的环境。
数据与物理对齐
清洗 AMASS、BABEL、KIT,并完成 263D / 272D 表征转换;将 SMPL 动作映射到 UR5 的 URDF 坐标系,在 Isaac Sim 中用胶囊几何建立碰撞标签和奖励计算基础。
闭环工程
将风险模块、Scheduler、动作生成和运动控制封装为 ROS2 节点,参与 Isaac Sim 仿真步长对齐和 MoveIt2 动态约束接口联调。
Stage I:DiT 以文本任务、扩散时间和动作状态为条件,先学习可用的长时序人体动作分布。
Stage II:冻结生成器,策略网络根据风险和生成状态选择步数,并从质量、安全和成本奖励中更新。
质量、安全与推理成本的受控比较
自建 1,500 组场景,单卡 RTX 4090;FID 越低越好,NFE 反映采样成本,碰撞率和端到端延迟分别衡量物理安全与在线响应。
| Model | FID ↓ | NFE ↓ | Collision rate ↓ | Latency |
|---|---|---|---|---|
| MDM | 12.34 | 50.0 | 8.7% | 125 ms |
| MotionDiffuse | 11.87 | 50.0 | 7.9% | 121 ms |
| MLD | 10.92 | 50.0 | 6.5% | 119 ms |
| MotionStreamer | 9.76 | 25.0 | 5.2% | 62.4 ms |
| IMG (ours) | 9.58 | 20.7 | 2.1% | 66.8 ms |
在 1,500 组自建人机交互场景中,IMG 的平均 NFE 为 20.7,碰撞率为 2.1%,FID 为 9.58;端到端延迟为 66.8 ms,对应 20 Hz 在线控制预算。
可动物体文本驱动 3D 人-物交互生成
面向门、行李箱和雨伞等可动物体,生成包含全身动作、手指接触与部件关节运动的长时序 3D 人-物交互。项目的重点是让手部握持和物体运动始终落在同一段可解释的交互过程中。
- 国家级创新项目进行中
- 2026.05 - 至今
- 核心架构与算法成员
- 3D HOI / Diffusion / Contact Geometry
- 原始 PPT、架构图、受控案例 demo
Finger-local Geometry Adapter
真实架构:先保留 MaMi-HOI 的全身粗交互,再只在接触阶段激活 Finger-local Geometry Adapter,以局部几何改善手指握持。
项目总览
- 为什么它难?
- 全身动作可以生成,并不意味着手指能稳定握住可动物体的把手、边缘或局部表面;物体关节运动还需要与接触阶段保持一致。
- 我负责的部分
- 作为核心架构与算法成员,提出人体、手部与物体三支去噪架构;主导将状态表示从 220 维扩展至 368 维并重构生成网络,设计由关节状态驱动的 part-aware 动态接触机制,参与 phase-aware 长时序建模、训练流程与定性评测。
- 方法如何介入?
- 将状态从 220 维扩展至 368 维以覆盖双手姿态、finger-part contact graph 与关节状态 q(t);只在接触阶段激活局部几何查询与残差细化。
- 相关材料
- 原始 PPT、Finger-local Geometry Adapter 架构、扩展后的训练数据结构、基线与受控案例 demo。跨物体泛化和真实物理条件仍需验证。
扩展后的训练数据结构
在原始全身 HOI 样本上追加 hand fields、局部表面几何字段与 contact-aware 字段,让模型能在接触阶段读取真正影响手部姿态的局部信息。
手部细化只在需要时介入
- 接触阶段
- 先识别接触相关阶段,避免把局部手部模型无差别施加到整段人体动作。
- 局部几何
- 手部关节在自身局部坐标系查询物体邻域表面,获得与握柄和把手有关的几何信息。
- 残差细化
- Adapter 预测局部残差,保持原有全身动作的同时改善手指接触。
阶段结果
6.0 mm
接触区域平均距离下降
9.1 mm
远端手指区域距离下降
+6.1 pp
2 cm 接触召回率提升
模型设计与数据扩展
总体架构:基于 MaMi-HOI 的粗全身交互结果,先识别接触阶段,再激活 Finger-local Geometry Adapter。
FGA 细节:每个手部关节在自身局部坐标系查询邻域表面,用共享编码器和时空注意力预测残差。
数据扩展:在原始全身 HOI 样本上追加 hand fields、局部表面几何字段与 contact-aware 字段。
实现前后对比
旧版:全身动作可用,但手部接触仍是明显短板
这段旧版视频没有引入 Finger-local Geometry Adapter。它保留了原始 MaMi-HOI 的宏观动作能力,但没有以关节局部表面几何来纠正手指的悬浮、穿透或不合理握持。
红圈图是原始 PPT 的基线对比图:它将行李箱把手和雨伞握柄附近的局部失败点直接标出,是本项目“为什么要做手部细化”的视觉起点。
原始 PPT 定性对比板:红圈显示需要进一步处理的局部接触区域。
雨伞与行李箱的手指级接触细化
两个案例用于观察全身动作保持与局部接触改善:上方视频呈现完整交互,下方图像聚焦握柄和把手附近的手指接触结果。
雨伞案例
完整交互与握柄附近的手指接触。
行李箱案例
完整交互与把手附近的手指接触。