自动驾驶预测与决策规划(nuplan数据集)

news2024/11/20 20:31:34

欢迎大家关注我的B站:

偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com)

目录

1.概述

2 数据采集

3.开环与闭环仿真

4.数据注释

5.场景

6.规划框架

6.1Train

6.2Simulation

6.3Metric

6.4Visualization

7.下载


本文参考nuPlan (nuscenes.org)

1.概述

nuPlan是全球首个大规模的自动驾驶规划的benchmark。虽然基于机器学习的运动规划算法越来越多,但由于缺乏成熟的数据集、模拟框架和指标,限制了这一领域的进展。

现有的自动驾驶汽车运动预测基准(Argoverse、Lyft、Waymo)侧重于其他智能体的短期运动预测,而不是自我车辆的长期规划。这导致以前的工作使用开环评估,这不适合公平地评估长期规划。nuPlan提供了一个训练框架来开发一个learning based planner、一个轻量级的closed-loop simulator,、一个运动规划的specific metrics和一个可视化结果的interactive tool

2 数据采集

nuplan提供了一个大型数据集,其中包含来自美国和亚洲 1200 个交通模式差异很大的城市(波士顿、匹兹堡、拉斯维加斯和新加坡)的 4 小时人类驾驶数据。

我们的目标是多样化的驾驶条件,但不包括大雨和夜间数据。所有数据都是通过手动驾驶收集的,以获得适合模仿学习的地面实况。我们的车辆操作员被指示安全、自信和自信地驾驶。为了使这些数据对规划有用,他们以目标为导向。这意味着他们定义一个目标(上下车点、公交车站、停车场),然后直接驶向目标。

我们使用以下传感器:

  • 5 倍激光雷达 (20Hz)
  • 2x Pandar 20P(前/后保险杠)
  • 2x Pandar 40P(左/右 A 柱)
  • 1x Pandar 40PT(车顶)
  • 8 倍摄像头 (10Hz)
  • D3 工程 D3RCM
  • Sony IMX390,2000 x 1200 分辨率,分割像素图像传感器
  • 1 个霍尼韦尔 HG1120 IMU (100Hz)
  • 1 个 Trimble BX992 (20Hz)

所有传感器都根据其外在和内在(仅限相机)进行校准。摄像头和激光雷达相互同步。

3.开环与闭环仿真

支持闭环和开环仿真。闭环意味着自我车辆和其他代理车辆可以偏离原始日志中记录的内容。除了为规划人员提供基线实施外,我们还为传统(智能驾驶员模型,IDM)和基于ML的智能代理提供baseline

  • 为了真实地模拟交通流量,nuplan开发了一种交通信号灯状态推断系统,该系统根据场景中观察到的车辆运动来推断交通信号灯的状态。最后,我们挖掘手工制作的场景(例如变道、行人与汽车的交互),以找到有趣的场景,并评估这些场景中的常见指标和特定场景的指标。

4.数据注释

与 nuScenes 类似,我们提供详细的 2D 高清地图,这些地图由人类使用语义类别进行注释,例如道路、人行道、人行横道、车道、交通信号灯等等。

我们输出以下类。包装盒标签由不同的颜色表示:

  • 车辆(橙色):包括所有四辆或更多轮式车辆以及拖车。
  • 自行车(红色):包括自行车、摩托车和三轮车。
  • 行人(蓝色):所有类型的行人,包括婴儿车和轮椅。
  • 交通锥(黑色):临时放置的控制交通流量的锥。
  • 屏障(黄色):可以是临时或永久的固体屏障。
  • 施工区标志(未显示):指示施工区的临时标志。
  • 通用物体(绿色):动物、碎片、可推/可拉物体、永久杆。

请注意,我们仅输出可行驶路面和人行道上被认为与自动驾驶汽车相关的选定部分的感知轨迹。其他轨道使用语义映射进行过滤。

5.场景

为了公平地评估运动规划模型,考虑基础数据分布至关重要。大多数时候,车辆都是直行的,因此规划是微不足道的。正是在具有挑战性的极端情况下,规划器才能真正展示其性能。为此,我们开发了一个框架,用于在整个数据集中挖掘和注释感兴趣的场景。要了解有关此场景挖掘框架的更多信息,请参阅这篇博文。

下面我们展示了一些具有挑战性的场景示例,正如我们的系统所发现的那样:

无保护的横转弯

Unprotected cross turn

密集的车辆交互

Dense vehicle interactions

前面的乱穿马路者

Jaywalker in front

变道

Lane change

在接送区自我

Ego at pickup/dropoff area

6.规划框架

nuPlan提供了一个开源工具包,用于开发基于ML的规划器。下面我们将介绍此工作流程中的四个步骤,即:训练模型、模拟模型、测量性能和可视化结果。

aria framework steps

6.1Train

我们开发了一个基于 PyTorch 的框架,使用许多输入来训练基于机器学习的规划人员,例如自我信息、其他代理信息、静态/动态地图信息。我们的基线可以很容易地修改和扩展,以纳入新的研究思路。

6.2Simulation

我们框架的核心部分是场景模拟。它被设计为在数据集、观察模型、自我规划器、代理模型、运动控制器、指标和可视化方面完全模块化。虽然我们为这些元素中的每一个都提供了多个选项和基线,但用户可以很容易地插入替换。这将使研究界能够专注于单个框架,而不是像以前那样对每个数据集和规划方法使用不同的代码。

aria planning framework

6.3Metric

在一组方案上评估规划师后,我们计算了许多指标,这些指标分为 5 类:

  • 交通规则违规用于衡量对常见交通规则的遵守情况。我们计算与其他智能体的碰撞率、越野轨迹的发生率、与领先智能体的时间间隔、碰撞时间以及通过智能体时的相对速度作为通过距离的函数。
  • 人类驾驶相似性用于量化与人类相比的机动满意度,例如纵向速度误差、纵向停止位置误差和横向位置误差。此外,将产生的颠簸/加速度与人类水平的颠簸/加速度进行比较。
  • 车辆动力学量化了骑手的舒适度和轨迹的可行性。骑手舒适度是通过颠簸、加速度、转向率和车辆振荡来衡量的。可行性是通过违反相同标准的预定义限制来衡量的。
  • 目标实现使用 L2 距离衡量地图上目标航点的路线进度
  • 特定于方案的指标适用于特定方案。例如,对于变道,测量和评分目标车道上的碰撞时间和前方/后方代理的时间间隔。对于行人和骑自行车者的互动,我们量化了通过的相对速度,同时区分了他们的位置。

6.4Visualization

对于研究人员来说,要快速迭代新的 ML 规划模型,能够仔细分析模型的性能至关重要。为此,我们开发了带有基于散景的交互式模拟查看器的“nuBoard”仪表板,该查看器可以渲染底层语义图、自我车辆、场景中的其他智能体以及交通信号灯。除了场景模拟之外,我们还绘制了有关计划人员绩效的汇总统计量。

aria nuboard

7.下载

这里我们列出了 nuPlan 数据集的不同版本。

免费下载nuPlan数据集用于非商业用途,以便我们更好地跟踪其使用情况。

此数据集也可在 AWS 上的 Registry of Open Data 上获得。

可以在 GitHub 存储库中找到 nuPlan 数据集的 devkit。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1491470.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JasperStudio中TextField文本框组件渲染之后,出现行间距不一致的问题

目录 1.1、问题描述 1.2、解决方案 1.1、问题描述 最近在处理线上遇到的一个问题,是有关JasperReports报表相关的问题,问题背景大概是这样的:我们的项目中使用了JasperReports来渲染报表,其中使用到了Text Field文本框组件,但是问题是渲染出来的数据直接会出现一些间距…

JAVA如何利用接口实现多继承问题

hello,上文带大家学习了java中类的继承,我们可以创建一个父类,将类中的共性抽取出来,通过子类继承的方式来实现代码的复用。今天带大家学习不同类之间的另外几种关系,即多态抽象类和接口。 多态的概念 多态&#xff0c…

【Spring底层原理高级进阶】Spring Kafka:实时数据流处理,让业务风起云涌!️

🎉🎉欢迎光临🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟特别推荐给大家我的最新专栏《Spring 狂野之旅:从入门到入魔》 🚀 本…

Microsoft@ppt@快速掌握核心功能@常用功能培训

文章目录 refs动画动画的用途逐部分显示内容实现问答效果部分地修改页面内容动画效果 常用窗口对象选择窗口👺批量选择对象 如何为重叠的对象高效的命名重命名方式方案1方案2对象重命名原则重命名后如何使用tips 动画窗口👺 幻灯片管理幻灯片母版幻灯片母…

dolphinscheduler海豚调度(四)钉钉告警

在之前的博文中,我们已经介绍了DolphinScheduler海豚调度的基本概念和工作流程,以及Shell任务和SQL任务的实践。今天,让我们来学习DolphinScheduler中的另一个重要功能:钉钉告警。 钉钉群添加机器人 在钉钉群添加机器人&#xf…

使用Redis入门Golang

Golang,也被称为Go,近年来由于其简单性、效率和并发支持而获得了显著的关注。另一方面,Redis是一个强大的内存数据存储,擅长于缓存、会话存储和实时分析。将这两种技术结合起来,可以为各种用例提供可扩展和高效的解决方…

LeetCode 2673. 使二叉树所有路径值相等的最小代价【贪心】1917

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

【TEMU】凌风TEMU工具箱介绍,集合智能抢仓、TEMU选品、TEMU监控、TEMU库存管理,本地仓库管理、跨境翻译等功能....

凌风TEMU工具箱介绍 一、安装教程1、下载方式2、环境准备3、安装步骤3.1、插件安装3.2、客户端安装 4、启动软件 二、使用教程一:登录注册激活方法2.1 注册登录2.2 激活方式 (激活码激活)2.3 绑定店铺 二:使用方法:功能…

Zookeeper:常见的面试题和答案

1、什么是Zookeeper?它的作用是什么? 答: Zookeeper是一个开源的分布式协调服务,提供了一些基本的分布式服务,如配置管理、分布式锁、分布式队列等。其主要作用是帮助分布式应用程序进行协调和管理,确保分…

Crossover24版现已上线!附免费升级攻略 Crossover软件下载使用方法

好久不见啦,最近一直在忙着研究Mac玩游戏,什么幻兽帕鲁、女神异闻录之类的,有些沉迷了,实在对不住大家… 不过今天还是给大家带来了好消息!那就是让Mac玩游戏不再是笑话的神器,CodeWeavers公司正式发布了C…

动态规划|【路径问题】|931.下降路径最小和

目录 题目 题目解析 思路 1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 5.返回值 代码 题目 931. 下降路径最小和 给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径 的 最小和 。 下降路径 可以从第一行中的任何元素开…

2024年热门通达信指标合集(财富池)

2024年已经到来,随着市场的波动和变化,投资者们更加关注有效的投资工具。在这个充满机遇和挑战的时刻,了解并掌握最新的通达信指标将成为您赚取财富的关键。本文将深入介绍几款最受欢迎的指标,帮助您更好地理解市场走势&#xff0…

Python 全栈系列232 再次搭建RabbitMQ

说明 最近想重新上RabbitMQ,主要目的还是为了分布式任务调度。在Kafka和RabbitMQ两者犹豫了一下,还是觉得RabbitMQ好一些。 在20年的时候有搞过一阵子的RabbitMQ,看了下当时的几篇文章,觉得其实想法一直没变过。 Python - 装机系列24 消息…

【python】python职业人群体检数据分析(代码+数据)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

python--产品篇--游戏-坦克

文章目录 准备代码main.pycfg.py 效果 准备 下载 代码 main.py import os import cfg import pygame from modules import *主函数 def main(cfg):# 游戏初始化pygame.init()pygame.mixer.init()screen pygame.display.set_mode((cfg.WIDTH, cfg.HEIGHT))pygame.display.…

仙宫云:细节控ComfyUI AI写实摄影+视频镜像

在使用comfyui工作流时经常遇到插件安装,模型下载的问题,为了方便大家使用和体验comfyui,我在仙宫云上部署了一个云端comfyui镜像包,开放给大家使用。 细节控ComfyUI AI写实摄影视频工作流: 镜像主页:仙宫…

python之双端队列deque

普通队列只能进行队尾插入和出队头的操作,双端队列可以对队头和队尾进行操作,而且相比于list实现的队更具有优越性,list实现在删除和插入时的时间复杂度大约为O(n),而deque的时间复杂度是O(1) 队头操作:append()、pop(…

三整数排序问题的解题逻辑

【题目描述】 输入3个整数,从小到大排序后输出。 【样例输入】 20 7 33 【样例输出】 7 20 33 【解析】 本题解法大概有3种: 1、穷举条件法。 此方法先判断a、b、c大小的所有可能,再根据各种可能性输出不同的排序。 思路是先判断a、…

微信小程序开发:循环定时删除阿里云oss上传的文件

上文有说到我们开发了定时删除阿里云oss的功能,但是一次只能删除10条。 本文我们做到一次删除全部过期的文件。 实现:使用while循环,在循环里获取是否还有已过期的,没有就break掉,有就走删除逻辑。 开始代码部分&am…

云原生团队如何实现加量不加价

随着云原生技术的快速发展,越来越多的业务实现了上云,云原生团队在工作量增大的同时也随之变成了所有问题对接的入口,如何承担这个保姆的角色成为了一道难题,故障的定界和问题证据的交接更是让人头疼的问题。在这种情况下需要有工…