经典文献阅读之--IGP2(可解释性目标的自动驾驶预测与规划)

news2025/6/2 0:28:36

0. 简介

对于自动驾驶的预测和规划而言,能够有效的对目标产生可解释性是非常有必要的,而《Interpretable Goal-based Prediction and Planning for Autonomous Driving》文中就提出了一种综合的自动驾驶预测和规划系统,它利用合理的逆规划来识别其他车辆的意图。目标识别可以通过蒙特卡罗树搜索(MCTS)算法来规划自我车辆的最佳动作。逆规划和MCTS利用一组共同定义的动作和宏观行动来构建可通过理性原则来解释的规划。对城市驾驶场景模拟的评估表明,该系统能够稳健地识别其他车辆的意图,使我们的车辆能够利用重要的机会来显著减少驾驶时间。难能可贵的是这篇文章是开源的,对应的代码在Github上。同时该文件也存在有官网供读者学习:https://www.five.ai/igp2
在这里插入图片描述

1. 文章贡献

本文提出了基于可解释目标的预测和规划(IGP2),它利用了使用有限空间意图(maneuvers)的计算优势,但扩展了该方法到意图序列(即计划)的规划和预测。**我们通过一种新颖的整合理性逆向规划[23]、[24]来识别其他车辆的目标,并通过蒙特卡罗树搜索(MCTS)[25]来为自我车辆规划最优意图。**逆向规划和MCTS利用一组已定义的操作来构建计划,这些计划可以通过合理性原则来解释,即计划相对于给定的度量是最优的。作者在不同城市驾驶场景的模拟中评估了IGP2,表明(1)即使车辆轨迹的重要部分被遮挡,该系统也能稳健地识别其他车辆的目标;(2)目标识别使我们的车辆能够利用机会提高驾驶效率(与其他预测基线相比,通过驾驶时间来衡量);(3)我们能够提取预测的直观解释,以证明系统的决策是合理的。为此本文的主要贡献有以下三点:

  1. 提出了一种基于有理逆规划的目标识别和多模态轨迹预测方法。
  2. 整合目标识别与MCTS规划,为自我车辆生成优化后的轨迹。
  3. 在模拟城市驾驶场景中进行评估,从而显示目标识别准确率,驾驶效率等表现的提高,以及解释预测和自我规划的能力。

2. 详细内容

我们的一般方法依赖于两个假设:(1)每辆车都试图从一组可能的目标中达到某个(未知)目标;(2)每辆车都遵循由有限的已定义机动库生成的计划。

下图展示了本文提出的IGP2系统中组件的概述。在较高的水平上,IGP2近似于最优自我策略 π ∗ π* π的表现:对于每个非自我载体,生成其可能的目标,并为该载体进行实现每个目标的逆向规划。每个非自我车辆的目标概率和预测轨迹为蒙特卡罗树搜索(MCTS)算法的模拟过程提供信息,为自我车辆生成朝着当前目标前进的最佳机动计划。为了在逆向规划和MCTS中保持所需的搜索深度较浅(因此有效),两者都在一组共享的宏动作上进行规划,这些宏动作使用上下文信息灵活地连接机动。
在这里插入图片描述

2.1 意图

我们假设在任何时候,每辆车都在执行下列操作之一: 车道跟随、车道变换、左/右、转左/右、让路、停车。每个意图 ω ω ω指定适用性和终止条件。 例如,只有当车辆的左侧有一条与其行驶方向相同的车道时,才适用变道左行,并在车辆到达新车道及其方向与该车道一致时终止。一些意图有自由参数,例如,跟随车道有一个参数来指定何时终止。

如果适用的话,意图就会指定车辆要遵循的局部轨迹 s ^ 1 : n i \hat{s}^i_{1:n} s^1:ni,其中包括全局坐标框架中的参考路径和沿路径的目标速度。为了论述的方便,我们假设 s ^ i \hat{s}^i s^i使用与 s i s^i si相同的表示和索引,但在一般情况下不一定是这样的(例如, s ^ \hat{s} s^ 可以用纵向位置而不是时间来索引,它可以插值为时间索引)。在我们的系统中,参考路径是通过一个贝塞尔样条函数与一组从道路拓扑结构中提取的点相拟合而产生的,目标速度是用类似于[27]的领域启发式方法设置的。

2.2 宏观行为

宏观动作指定了常见的动作序列,并根据上下文信息(如道路布局)自动设置动作中的自由参数(如果有的话)。表一列出了我们系统中使用的宏动作。宏观动作的适用性条件由宏观动作中第一个意图的适用性条件以及可选的附加条件给出。宏观行动的终止条件是由宏观行动中最后一个动作的终止条件给出的。
在这里插入图片描述

2.3 速度平滑

为了获得车辆 i i i的可行的意图的轨迹,我们定义了一个速度平滑操作,优化给定轨迹中的目标速度 s ^ 1 : n i \hat{s}^i_{1:n} s^1:ni。设 x ^ t \hat{x}_t x^t 为参考轨迹上的纵向位置,当 1 ≤ t ≤ n 1≤ t ≤ n 1tn 时, v ^ t \hat{v}_t v^t 为目标速度。我们将 κ : x → v κ: x → v κ:xv 定义为目标速度在 x ^ t \hat{x}_t x^t 点之间的分段线性插值。给定两个时间步骤之间经过的时间 Δ t \Delta t Δt; 最大速度和加速度 v m a x / a m a x v_{max}/a_{max} vmax/amax; 设置 x 1 = ^ x 1 , v 1 = v ^ 1 x_1 =\hat{ }x_1,v_1 = \hat{v}_1 x1=^x1v1=v^1,我们将速度平滑定义为

…详情请参照古月居

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

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

相关文章

php mysql娱乐场所运营管理系统

目 录 1 背景与意义 3 1.1 研究背景 3 1.2 国内外发展状况研究 3 2 系统开发环境与技术 4 2.1 PHP介绍 4 2.2 MYSQL介绍 5 2.3 APACHE介绍 6 2.4 dreameaver介绍 7 2.5 wamp介绍 7 3 系统分析 8 3.1 系统可行性分析 8 3.1.1 技术可行性 …

【编程基础之Python】1、初始Python

【编程基础之Python】1、初始Python初始Python什么是PythonPython的运行过程Python的应用领域如何学好Python初始Python Python是一种跨平台的、开源免费的、解释型的、面向对象的高级编程语言。 Python的应用领域非常广泛,包括客户端程序、服务器程序、移动端程序…

Redis未授权漏洞蜜罐模拟与捕获分析

1.概述 文章主要分析Redis未授权漏洞的原理及形成原因,使用vulhub靶场进行漏洞复现,在了解漏洞原理并复现的基础上使用golang编写蜜罐代码进行模拟,开放端口在网上捕获真实存在的恶意攻击行为,对恶意样本进行分析,总结…

C++与Lua交互实例 -- 矩阵的加减乘除(版本二)

C与Lua交互实例 – 矩阵的加减乘除(版本二) TIPS:关于使用矩阵的加减乘除测试C与Lua的交互以及下面没讲述到的知识点可以阅读第一版: https://blog.csdn.net/qq135595696/article/details/128960951 同时下面两个方式矩阵的数据都…

爬虫JS逆向思路 - - 扣JS(data解密)

网络上几千块都学不到的JS逆向思路这里全都有👏🏻👏🏻👏🏻 本系列持续更新中,三连关注不迷路👌🏻 干货满满不看后悔👍👍👍 ❌注意…

电机过流的一次bug排查记录

一、bug现象描述如下: 有一天,某员工给自己的组件换一个语音模块,其中电机和主板是通过单总线连接,据该员工回忆曾经在换语音芯片时曾将电源线不小心短路过。 电机已经DVT试产,功能和硬件测试已经通过,但是…

小白系列Vite-Vue3-TypeScript:007-配置axios并封装api

上一篇我们介绍了ViteVue3TypeScript项目中Element Plus的安装和配置,本篇我们来介绍一下如何配置axios并封装api。axios是一个基于promise的HTTP库,可以用在浏览器和node.js中,其最大的亮点就是支持了ES6里的Promise Api。废话不多说&#x…

Node =>Express学习

1.Express 能做什么 能快速构建web网站的服务器 或 Api接口的服务期 Web网站服务器,专门对外提供Web网页资源的服务器Api接口服务器:专门对外提供API接口的服务器 2.安装 在项目所处的目录中,运行以下命令,简装到项目中了 npm …

ChatGPT与马斯克 在 “ 遥感 ” 中的初探索

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少。 1前言 文章开始前&#x…

栈和队列基本原理

栈和队列基本原理1.栈1.1 栈基本原理1.2. 栈操作步骤1.2.1 插入数据流程【压栈】1.2.2 移除数据流程【出栈】1.3. 栈代码实现2.队列2.1 队列基本原理2.2 队列操作步骤2.2.1 插入数据2.2.2 移除数据2.3. 队列代码实现3.栈与队列对比1.栈 1.1 栈基本原理 栈顶【末尾】&#xff…

突破边界:“超融合+”带来的商业化精益之路

相信大家都看了《流浪地球2》,其中人类一次次超越极限,以勇气和责任完成伟大征程的情节让我们深深感动。在现实的科技发展中,我们可能不会像科幻作品那样完成惊险万分地完成突破。但超越极限,却时时刻刻发生在科技产业当中。“超融…

K_A12_002 基于STM32等单片机采集光敏电阻传感器参数串口与OLED0.96双显示

K_A12_002 基于STM32等单片机采集光敏电阻传感器参数串口与OLED0.96双显示一、资源说明二、基本参数参数引脚说明三、驱动说明IIC地址/采集通道选择/时序对应程序:四、部分代码说明1、接线引脚定义1.1、STC89C52RC光敏电阻传感器模块1.2、STM32F103C8T6光敏电阻传感器模块五、基…

星河案例 | 冲量在线助力中国电信打造数据要素融通与AI能力开放外拓新范式

2022 年大数据“星河”案例征集活动由中国信息通信研究院、中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)共同组织,旨在促进大数据技术产品及相关产业发展,加快培育数据要素市场、充分发挥数据作为生产要素的独特价值,树立行业标杆…

OnGUI Box 控件||Unity 3D OnGUI 常用控件

OnGUI Box 控件Unity 3D Box 控件用于在屏幕上绘制一个图形化的盒子。Box 控件中既可以显示文本内容,也可以绘制图片,或两者同时存在。GUIContent 和 GUIStyle 对于 Box 控件同样适用,既可以用来修饰 Box 控件的文本颜色,也可以用…

第2章 信息系统项目管理基础

项目管理基础 项目的概念 项目是为提供一项独特产品、服务或成果所做的临时性努力。 项目的特点 主要特点(PMI归纳的) 临时性,独特的产品、服务或成果,逐步完善其他特点 资源约束:资源成本是项目成功实施的约束条件之…

预测物联网设备健康状态,你可能需要这套解决方案

1. 应用场景随机振动[注1]会发生在工业物联网的各个场景中,包括产线机组设备的运行、运输设备的移动、试验仪器的运行等等。通过分析采集到的振动信号可以预估设备的疲劳年限、及时知晓设备已发生的异常以及预测未来仪器可能发生的异常等等。本篇教程会提供给有该方…

小白系列Vite-Vue3-TypeScript:008-安装配置mock

上一篇我们介绍了ViteVue3TypeScript项目中axios的安装和配置,并手动封装了api。本篇我们来在上篇基础上介绍如何引入mock,并在本地模拟后台接口请求来达到本地测试的目的。在现在前后端分离的开发模式中,前端页面很多渲染的数据都需要通过ht…

仿真及设计工具下载安装方法详细说明

标题仿真及设计工具下载安装方法详细说明 软件的下载: 物流仿真的软件下载请进入:链接: https://pan.baidu.com/s/12iP3TTkXw-D5DAMu3mQbwQ 提取码: 8888里面放置了所有版本的软件 可以根据自己的使用环境进行选择下载最新版本。软件的安装&#xff1a…

CUDA中的图内存节点

CUDA中的图内存节点 文章目录CUDA中的图内存节点1. 简介2. 支持的架构和版本3. API基础知识3.1. 图节点 APIs3.2. 流捕获3.3. 在分配图之外访问和释放图内存3.4. cudaGraphInstantiateFlagAutoFreeOnLaunch4. 优化内存复用4.1. 解决图中的重用问题4.2. 物理内存管理和共享5. 性…

C. Least Prefix Sum codeforces每日一题

🚀前言 🚀 大家好啊,这里是幸麟 🧩 一名普通的大学牲,最近在学习算法 🧩每日一题的话难度的话是根据博主水平来找的 🧩所以可能难度比较低,以后会慢慢提高难度的 🧩此题标…