nuplan(面向自动驾驶规划的数据集)简介

1. nuplan简介:

1.1 nuplan数据集内容及框架概述

        是世界第一个针对自动驾驶规划方法测试的开源数据集(发布于2021年),收集了波士顿、匹兹堡、拉斯维加斯和新加坡这 4 个城市收集了大约 1300 小时的驾驶数据。

        虽然基于 ML 的运动规划器越来越多,但缺乏既定的数据集、模拟框架和评价指标,这也限制了该领域的进展。现有数据集(ArgoverseLyftWaymo) 主要侧重与对其他代理的短期运动预测,而不是自我车辆的长期规划。这导致之前的方法大多使用基于 L2 指标的开环评估,不适用于合理评估长期规划。为了解决上述问题,nuplan除了提供大规模实车数据集,还提供了基于学习的训练框架来开发基于机器学习的规划器、轻量级闭环模拟器、运动规划评价指标和可视化工具下图为其训练框架。

nuplan训练框架

1.2 nuplan仿真器概述

        nuplan的开源仿真框架支持闭环和开环仿真。闭环意味着自我车辆和其他车辆可以偏离原始数据集中记录的状态信息。除了规划器的基准实现,nuplan还为传统的智能驾驶模型(Intelligent Driver Model, IDM)和基于学习(ML)的智能体提供基线实现。为了真实地模拟交通流,nuplan还开发了交通灯状态推理系统,从观察到的场景中的车辆运动推断出交通灯的状态。最后,nuplan还挖掘了手工制作的场景(如变道、行人与车辆的互动),并对这些场景的通用指标和特定场景指标进行评估。

2. nuplan规划框架

        nuPlan 具有一个开源工具包,用于开发基于 学习(ML )的规划器。nuplan规划框架总的来说由一下四个步骤促成,即:模型训练、模型模拟、性能评估和结果可视化

nuplan 规划框架

2.1 规划训练框架

        nuplan训练基于学习(ML)的规划器采用的是基于PyTorch框架,使用一些输入,如自车信息其他智能体信息静态/动态地图信息。在该框架的基础上,可以很容易地修改和扩展,以纳入新的研究思路。

2.2 规划仿真框架

        nuplan框架的核心部分是场景仿真。仿真器完全匹配数据集,集成了观察模型自车规划器智能体模型运动控制器评价指标可视化等模块。该仿真器还为每个模块提供了多个选项和基本示例,用户可以根据个人需求轻松插入替换项。这将使研究界能够专注于单个框架进行方法上的研究,而不是像以前那样为每个数据集和规划方法使用不同的框架。

        下图展示的为nuplan仿真器的整体框架。

nuplan仿真框架

2.3 评价标准

评价指标分为分为5类:

  • 违反交通规则的情况用来衡量对普通交通规则的遵守程度,考虑其他车辆的碰撞率、轨迹偏离道路概率、与前车的时间差距、碰撞时间以及超车时的相对速度。
  • 人类驾驶的相似性被用来量化与人类相比的操纵满意度,如纵向速度误差、纵向停止位置误差和横向位置误差。此外,由此产生的抽动/加速与人类水平的抽动/加速进行比较。
  • 车辆动力学被用来评价驾驶员的舒适性和轨迹的可行性。乘坐者的舒适度由颠簸、加速度、转向率和车辆振荡来衡量。可行性是通过违反相同标准的预定限制来衡量的。
  • 目标的实现通过L2距离来评价通往地图上目标位置的路线
  • 特定场景评价是针对特定场景的。例如,对于车辆变道,参与评估的是碰撞时间和与目标车道上的前/后方人员的时间差距。针对车辆与行人和自行车的互动,在区分他们的位置的同时对通过的相对速度进行量化。

2.4 可视化

        对于研究人员来说,要快速迭代新的 ML 规划模型,能够仔细分析模型的性能至关重要。为此,nuplan开发了带有基于散景的交互式模拟查看器的“nuBoard”,该查看器可渲染底层语义地图自我车辆信息其他车辆信息以及交通信号灯状态。除了场景模拟,nuplan还绘制了关于规划器性能的统计数据。
 

nuplan可视化示例

3. 总结nuplan特点

        1. 数据丰富,提供了四个城市丰富的自车、他车、交通状态以及传感器信息。

        2. 集成基于机器学习的自动驾驶规划框架,能够实现学术方法的快速试验与验证。

        3. 集成仿真功能,数据集中的自车与他车可以偏离真实采集的位置信息,实现闭环仿真试验

4. 参考内容

        nuPlan (nuscenes.org)

        motional/nuplan-devkit: The devkit of the nuPlan dataset. (github.com)

nuplan数据轨迹提取是指从nuplan数据集(一个用于自动驾驶研究和开发的开源数据集)中提取车辆、行人和交通标志等物体的运动轨迹。nuplan数据集包含了大量的自动驾驶场景数据,提取这些轨迹数据对于分析车辆行为、训练自动驾驶模型和验证算法性能非常重要。 以下是nuplan数据轨迹提取的一般步骤: 1. **数据准备**:下载并解压nuplan数据集,确保数据集的完整性。 2. **数据加载**:使用nuplan提供的API或工具加载数据集nuplan数据集通常包含传感器数据、车辆状态、地图信息等。 3. **数据解析**:解析加载的数据,提取出感兴趣的物体(如车辆、行人和交通标志)的位置和速度信息。 4. **轨迹生成**:根据提取的位置和速度信息生成物体的运动轨迹。通常可以使用时间戳来确保轨迹的时间顺序。 5. **数据存储**:将生成的轨迹数据存储为常用的数据格式,如CSV、JSON或数据库,以便后续分析和处理。 以下是一个简单的Python示例代码,展示了如何使用nuplan的API提取车辆轨迹: ```python import nuplan.database.nuplan_db as ndb from nuplan.database.nuplan_db import Scene, Log, EgoPose import pandas as pd # 连接到nuplan数据库 db = ndb.NuPlanDB('path_to_nuplan_db') # 选择一个场景 scene = db.scene[0] # 获取场景中的所有ego poses ego_poses = db.session.query(EgoPose).filter(EgoPose.scene_token == scene.token).all() # 提取轨迹数据 trajectory_data = [] for ego_pose in ego_poses: trajectory_data.append({ 'timestamp': ego_pose.timestamp, 'x': ego_pose.x, 'y': ego_pose.y, 'z': ego_pose.z, 'yaw': ego_pose.heading }) # 转换为DataFrame trajectory_df = pd.DataFrame(trajectory_data) # 保存为CSV文件 trajectory_df.to_csv('vehicle_trajectory.csv', index=False) ``` 通过上述步骤和代码示例,你可以从nuplan数据集中提取出车辆的运动轨迹,并将其保存为CSV文件以便后续分析。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值