如何快速上手NAVSIM:7个步骤掌握数据驱动的自动驾驶模拟神器
在自动驾驶技术飞速发展的今天,评估和优化自动驾驶算法至关重要。NAVSIM 正是这样一款基于数据的非反应式自动驾驶车辆模拟器,它采用先进的技术和独特的方法,为业界提供了一种高效、透明的评估工具。无论是算法开发、性能评估还是挑战赛准备,NAVSIM都能满足您的需求,让自动驾驶模拟变得简单而强大!
🚗 什么是NAVSIM?核心功能大揭秘
NAVSIM(Data-Driven Non-Reactive Autonomous Vehicle Simulation)是一个轻量级但功能强大的自动驾驶模拟平台,源自nuPlan项目的思想和数据,并借鉴了nuScenes的易用性。它的核心优势在于通过简化的鸟瞰视图(BEV)抽象场景,对短期驾驶策略进行无回路模拟测试,计算如进步度和碰撞时间等关键指标。
图1:NAVSIM项目logo,展示了其专注于自动驾驶模拟的核心功能。
✨ NAVSIM的独特优势
- 效率与准确性:无回路仿真计算,快速获取接近真实环境的评估结果
- 标准化评价:公开排行榜,统一指标定义,消除评估混淆
- 易用性:简单的数据格式、小巧的下载包以及类似nuScenes的友好接口
- 持续更新:定期维护和更新的开发工具包(devkit),确保最佳用户体验
📊 PDM得分:全面评估驾驶性能的黄金标准
NAVSIM引入了PDM得分(Predictive Driver Model Score),这是一种综合了五个子指标的评估体系,提供对驾驶性能不同方面的全面分析。所有指标均在4秒非反应式仿真后计算,背景车辆遵循记录的未来轨迹, ego车辆基于LQR控制器移动。
PDM得分构成详情
| 指标 | 权重 | 范围 | 描述 |
|---|---|---|---|
| 无责任碰撞(NC) | 乘数 | {0, 1/2, 1} | 评估是否发生责任在ego车辆的碰撞 |
| 可驾驶区域合规性(DAC) | 乘数 | {0, 1} | 评估车辆是否保持在可驾驶区域内 |
| 碰撞时间(TTC) | 5 | {0, 1} | 评估碰撞时间是否在安全范围内 |
| Ego进度(EP) | 5 | [0, 1] | 评估车辆沿路线的前进效率 |
| 舒适性(C) | 2 | {0, 1} | 评估驾驶的平滑度和舒适性 |
PDMS计算公式:PDMS = NC * DAC * (5*TTC + 5*EP + 2*C) / 12
💡 小提示:要评估代理的PDM得分,可运行脚本:
cd scripts/ && ./run_cv_pdm_score_evaluation.sh,默认将为简单的恒速规划基线生成评估CSV。
🚀 快速开始:7步安装与配置NAVSIM
1️⃣ 克隆代码仓库
git clone https://gitcode.com/gh_mirrors/na/navsim
cd navsim
2️⃣ 下载数据集
NAVSIM提供了方便的脚本下载所需地图和数据集分割:
cd download
# 下载地图
./download_maps
# 下载迷你数据集(用于快速测试)
./download_mini
# 根据需要下载其他数据集
# ./download_trainval
# ./download_test
# ./download_private_test_e2e
3️⃣ 推荐的目录结构
下载完成后,建议组织如下目录结构:
~/navsim_workspace
├── navsim (包含devkit)
├── exp (实验结果)
└── dataset
├── maps (地图数据)
├── navsim_logs (日志数据)
│ ├── test, trainval, private_test_e2e, mini
└── sensor_blobs (传感器数据)
├── test, trainval, private_test_e2e, mini
4️⃣ 设置环境变量
将以下内容添加到您的~/.bashrc文件中:
export NUPLAN_MAP_VERSION="nuplan-maps-v1.0"
export NUPLAN_MAPS_ROOT="$HOME/navsim_workspace/dataset/maps"
export NAVSIM_EXP_ROOT="$HOME/navsim_workspace/exp"
export NAVSIM_DEVKIT_ROOT="$HOME/navsim_workspace/navsim"
export OPENSCENE_DATA_ROOT="$HOME/navsim_workspace/dataset"
应用更改:source ~/.bashrc
5️⃣ 创建并激活conda环境
conda env create --name navsim -f environment.yml
conda activate navsim
6️⃣ 安装开发工具包
pip install -e .
7️⃣ 验证安装
安装完成后,您可以运行示例脚本验证是否安装成功:
# 运行恒速代理PDM得分评估
cd scripts/evaluation/
./run_cv_pdm_score_evaluation.sh
🤖 创建自定义代理:从基础到高级
定义代理的第一步是创建一个继承自navsim.agents.abstract_agent.AbstractAgent的新类。该类必须实现以下核心方法:
__init__(): 代理的构造函数name(): 返回代理名称(用于定义评估CSV的文件名)initialize(): 在首次推断前调用,可用于加载状态字典等get_sensor_config(): 返回SensorConfig,定义每个帧应加载的传感器模态compute_trajectory(): 主函数,接收AgentInput并返回Trajectory对象
图2:NAVSIM支持的摄像头配置动画展示,帮助理解传感器布局。
🧠 基于学习的代理
对于涉及学习组件的代理,还需要实现额外功能。NAVSIM提供了轻量级且易于使用的训练接口。您可以参考navsim.agents.ego_status_mlp_agent.EgoStatusMLPAgent作为示例,实现以下方法:
get_feature_builders(): 返回特征构建器列表get_target_builders(): 返回目标构建器列表forward(): 模型的前向传播compute_loss(): 计算训练损失get_optimizers(): 定义训练使用的优化器get_training_callbacks(): 返回训练过程的回调列表
📊 可用的基线代理
NAVSIM提供了几个基线代理,作为新端到端驾驶模型的比较或起点:
- ConstantVelocityAgent:简单基线,保持恒定速度和航向角,输出直线轨迹
- EgoStatusMLPAgent:盲基线,仅使用ego状态信息(速度、加速度和驾驶命令)
- TransfuserAgent:利用摄像头和LiDAR输入的传感器代理,基于Transfuser架构
📚 官方文档与资源
要深入了解NAVSIM的更多细节,包括安装指南、代理创建、数据格式和排行榜提交方法,请查阅项目内的文档:
图3:NAVSIM排行榜界面展示,激励开发者不断优化算法性能。
🏁 总结
NAVSIM作为数据驱动的非反应式自动驾驶车辆模拟器,为自动驾驶算法的评估和优化提供了高效、透明的平台。通过本文介绍的7步安装指南,您可以快速开始使用NAVSIM,并利用其提供的PDM得分系统全面评估驾驶性能。无论您是自动驾驶领域的新手还是专业开发者,NAVSIM都能满足您的需求,帮助您构建更安全、更高效的自动驾驶系统。
立即加入NAVSIM,开启您的自动驾驶模拟之旅!
(返回顶部)
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
请把这个活动推给顶尖程序员😎本次活动专为懂行的顶尖程序员量身打造,聚焦AtomGit首发开源模型的实际应用与深度测评,拒绝大众化浅层体验,邀请具备扎实技术功底、开源经验或模型测评能力的顶尖开发者,深度参与模型体验、性能测评,通过发布技术帖子、提交测评报告、上传实践项目成果等形式,挖掘模型核心价值,共建AtomGit开源模型生态,彰显顶尖程序员的技术洞察力与实践能力。00
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
MiniMax-M2.5MiniMax-M2.5开源模型,经数十万复杂环境强化训练,在代码生成、工具调用、办公自动化等经济价值任务中表现卓越。SWE-Bench Verified得分80.2%,Multi-SWE-Bench达51.3%,BrowseComp获76.3%。推理速度比M2.1快37%,与Claude Opus 4.6相当,每小时仅需0.3-1美元,成本仅为同类模型1/10-1/20,为智能应用开发提供高效经济选择。【此简介由AI生成】Python00
Qwen3.5Qwen3.5 昇腾 vLLM 部署教程。Qwen3.5 是 Qwen 系列最新的旗舰多模态模型,采用 MoE(混合专家)架构,在保持强大模型能力的同时显著降低了推理成本。00- RRing-2.5-1TRing-2.5-1T:全球首个基于混合线性注意力架构的开源万亿参数思考模型。Python00