nuPlan: A closed-loop ML-based planning benchmark for autonomous vehicles

news2024/12/23 9:40:14

Paper name

nuPlan: A closed-loop ML-based planning benchmark for autonomous vehicles

Paper Reading Note

URL: https://arxiv.org/pdf/2106.11810.pdf

TL;DR

  • nuPlan 比赛,提出了规控领域新数据集

Introduction

背景

  • 当前自动驾驶规划任务中使用专家系统的方法对于新场景适配较为困难,并且无法基于更多的训练数据进行扩展
  • 提供合适的数据和评价指标对于 ML-based 方法研发有重要意义
  • 当前 bmk 的问题
    • 当前真实世界场景下的 bmk 主要是 shorterm motion forecasting (prediction),而不是 planning
    • prediction 只关注其他车的行为,而 plannign 和自车行为有关
    • a:缺乏 baseline navigation route;b:L2 distance-based metrics 对于并线等 multi-modal 场景合适;c:open-loop 测试无法引入其他车辆的影响。导致很难在短期(3-8秒)之外进行评估
      在这里插入图片描述

本文方案

  • 提出了首个 closed-loop ML-based 规划 bmk
    • 大规模驾驶数据集(4 个城市 (Boston, Pittsburgh, Las Vegas and Singapore),1500 h)
    • 轻量级的 closed-loop simulator
    • 面向 motion-planning 的评价指标,与违反交通规则、人类驾驶相似性、车辆动力学、目标实现等细分方向相关

在这里插入图片描述


Dataset/Algorithm/Model/Experiment Detail

实现方式

数据集难点

  • 拉斯维加斯包括繁华的赌场接送点(PUDO),互动复杂,繁忙的十字路口,每个方向最多有8条平行车道
  • 波士顿路线包括喜欢双重停车(double park)的司机
  • 匹兹堡有自己的十字路口左转优先模式
  • 新加坡以左手交通(left hand traffic)为特色

整体

  • 提供获取地图的 API
  • 数据集包含雷达点云、图片、定位信息、转向输入

自动标注

  • 使用感知算法(PointPillars with CentePoint,a modified version multi-view fusion (MVF++) )离线处理数据,non-causal tracking 获取跟踪结果

标注场景

  • 合并、车道变更、受保护或未受保护的左转或右转、与骑车人的互动、在人行横道或其他地方与行人的互动、与近距离或高加速度的互动、双驻车、停车控制十字路口和在施工区驾驶

测试 BMK

测试整体

  • 提交包含 planner 代码的 docker 进行测试
  • 使用数据可以在以下二选一
    • 自动标注的轨迹
    • 原始的传感器数据
  • 当查询特定的时间步长时,planner 返回 ego-car 的规划位置和方向
  • 提供的控制器会根据预定义的车辆模型控制车辆

任务

  • open-loop:期望 planning 模块输出模仿 human driver;每个时间点规划的路线和 gt 路线对比计算得分,规划的路线不用于控制车辆
  • close-loop:planner 输出的规划轨迹会给控制器,每个时间点会更根据车辆的新状态给出修正的规划轨迹
    • non-reactive close-loop:其他车辆不进行交互,即按照 recorded 路径行驶
    • reactive close-loop:non-reactive close-loop 中的大部分碰撞是因为其他车辆无法交互导致,这里为其他车辆都提供一个与 ego 车一样的 planner 进行交互

评价指标

  • Traffic rule violation:碰撞率、碰撞时间、脱轨率等指标
  • Human driving similarity:纵向速度误差、纵向停车位置误差和横向位置误差等指标;jerk/加速度也会和 human driver 对比
  • Vehicle dynamics:jerk/加速度、转向率、震动等指标;并通过汽车运动学模型测试可行性
  • Goal achievement:与目标点的 L2 距离
    另外还有一些场景特定的评价指标,比如对于行人/骑车人等 interaction,会评估通过的相对速度;比较了 planner 和 human driver 对人行横道和无保护转弯(通行权)的决策之间的一致性。

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

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

相关文章

正确实践Jetpack SplashScreen API —— 在所有Android系统上使用总结,内含原理分析

1.前言 文章末尾有演示的APK链接,感兴趣的同学,可以自行下载体验一下 官方Android 12的Splash Screen文档地址 官方Splash Screen兼容库,支持所有版本系统 本篇文章主要围绕下面三个问题来介绍: 我们能从Android 12 SplashScree…

订单数据越来越多,如何优化数据库性能?

“增删改查”都是查找问题,因为你都得先找到数据才能对数据做操作。那存储系统性能问题,其实就是查找快慢问题。 存储系统一次查询所耗时间取决两个因素: 查找的时间复杂度数据总量 查找的时间复杂度取决于: 查找算法存储数据…

基于Java-SpringBoot+vue实现的前后端分离信息管理系统设计和实现

基于Java-SpringBootvue实现的前后端分离信息管理系统设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言…

后台执行限制总结

后台限制的发展历程 前台定义 针对后台Service procState < PROCESS_STATE_IMPORTANT_BACKGROUND7 针对后台启动Activity procState < PROCESS_STATE_BOUND_TOP3 针对后台启动FGS/后台启动FGS的while-in-use权限 procState < PROCESS_STATE_BOUND_FOREGROUND_SERVICE…

【Linux】文本编辑器-vim使用

目  录1 vim的基本概念2 vim的基本操作3 vim常用模式命令集3.1 vim正常模式命令集3.2 vim末行模式命令集4 vim的简单配置1 vim的基本概念 vim编辑器与vi编辑器一样都是多模式编辑器&#xff0c;不同的是vim编辑器是vi编辑器的升级版本&#xff0c;vim不仅兼容vi的所有指令&am…

Django by Example·第二章|Enhancing Your Blog with Advanced Features@笔记

Django by Example第二章|Enhancing Your Blog with Advanced Features笔记 这本书的结构确实很不错&#xff0c;如果能够坚持看下去&#xff0c;那么Django框架的各种用法也就掌握的七七八八了。之前写过一篇这本书的第一章&#xff0c;看完第一章就算是入门了&#xff0c;但…

acwing差分

题目&#xff1a;输入一个长度为 n 的整数序列。接下来输入 m 个操作&#xff0c;每个操作包含三个整数 l,r,c&#xff0c;表示将序列中 [l,r] 之间的每个数加上 c。请你输出进行完所有操作后的序列。输入格式第一行包含两个整数 n 和 m。第二行包含 n 个整数&#xff0c;表示整…

【C++高阶数据结构】跳表(skiplist)

&#x1f3c6;个人主页&#xff1a;企鹅不叫的博客 ​ &#x1f308;专栏 C语言初阶和进阶C项目Leetcode刷题初阶数据结构与算法C初阶和进阶《深入理解计算机操作系统》《高质量C/C编程》Linux ⭐️ 博主码云gitee链接&#xff1a;代码仓库地址 ⚡若有帮助可以【关注点赞收藏】…

第十一章Thymeleaf学习

文章目录什么是Thymeleaf什么是模板引擎Thymeleaf的同行Thymeleaf优势一个实例来认识大概过程导入对应的jar包配置对应的xml文件对应的ViewBaseServlet编写——对应的模板引擎写对应的Servlet类并且继承ViewBaseServlet对应index.html资源——对应的模板Thymeleaf的基础语法th名…

337. 打家劫舍 III

目录题目思路代码题目 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口&#xff0c;我们称之为 root 。 除了 root 之外&#xff0c;每栋房子有且只有一个“父“房子与之相连。一番侦察之后&#xff0c;聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”…

笔试强训(11)

第一题:二进制插入二进制插入__牛客网 给定32位整数n和m&#xff0c;同时我们指定i和j&#xff0c;将m的二进制位数插入到n的二进制位数的j到i位&#xff0c;我们保证n的j到i位均是等于0的&#xff0c;况且m的二进制位数小于等于i-j1&#xff0c;其中二进制的位数从0开始从低到…

js设计模式(八)-总体感受一下设计模式

前言 首先&#xff0c;不得不说我们是站在巨人的肩膀上写代码&#xff0c;前辈们已经很合理的帮助我们总结出来了23种设计模式&#xff0c;虽然有些已经被语言直接使用Api实现了&#xff0c;感谢走在前沿的攻城狮。 但是真真正正的看一遍所有的设计模式还是很有必要的&#x…

MyBatis查询数据库

1.MyBatis 是什么&#xff1f; MyBatis 是⼀款优秀的持久层框架&#xff0c;它⽀持⾃定义 SQL、存储过程以及⾼级映射。MyBatis 去除了⼏乎所有的 JDBC 代码以及设置参数和获取结果集的⼯作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接⼝和 Java POJO&#xf…

计算机基础——计算机分类

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 前言 本章将会讲解计算机分类应用领域以及发展趋势 一.计算机分类 计算机并非只有日常所…

并行计算 Clion配置使用OpenMP

文章目录配置CMakeList.txt文件OpenMP之HelloWorld数据共享属性shared子句private子句default子句default(shared)default(none)配置CMakeList.txt文件 文件底部加入以下内容&#xff0c;即可支持OpenMP FIND_PACKAGE(OpenMP REQUIRED) if (OPENMP_FOUND)message("OPENM…

STM32MP157驱动开发——Linux DAC驱动

STM32MP157驱动开发——Linux DAC驱动0.前言一、DAC 简介二、驱动源码分析1.设备树下的 DAC 节点2.驱动源码分析1&#xff09;stm32_dac 结构体2&#xff09;stm32_adc_probe 函数3&#xff09;stm32_dac_iio_info 结构体三、驱动开发1.修改设备树2.使能DAC驱动四、 运行测试0.…

读书笔记 -公司改造 和 紧迫感

读书笔记 -公司改造 - 三枝匡 读书笔记 -公司改造 - 三枝匡 2022 年夏天的时候在微信读书上读了这本书&#xff0c;这是我们 CSDN 的创始人蒋涛推荐的&#xff0c;当时记了一些笔记如下。 总结&#xff1a; 每个有一定的历史&#xff0c;比较成功、或者尚未非常成功的公司遇…

基于Java+SpringBoot+vue+element实现毕业就业招聘系统

基于JavaSpringBootvueelement实现毕业就业招聘系统 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码…

用最简单的案例带你掌握C++中各种指针

1、前言 指针&#xff0c;作为C/C中最神秘、功能最强大的语法&#xff0c;着实是难以理解 、难以掌握、难以运用。&#x1f625; 但是&#xff0c;能灵活的使用指针&#xff0c;对利用C/C开发程序将有很大的帮助&#xff0c;让我们一起来了解了解吧。 2、啥是指针&#xff1f…

参加《2022 中国开发者影响力盛典》我的 4 重收获!

感谢 CSDN 邀请&#xff0c;西红柿有幸参加了 2022 中国开发者影响力盛典暨 CSDN 企业生态汇&#xff0c;让我有了一个不虚此行的下午&#xff0c;也跟大家分享一下我在会上的 4 重收获吧~第一重收获&#xff1a;互联网圈大佬 会议聚焦开发者生态建设主题&#xff0c;分享了 CS…