迈向『闭环』| PlanAgent:基于MLLM的自动驾驶闭环规划新SOTA!

news2024/11/25 14:26:51

中科院自动化所深度强化学习团队联合理想汽车等提出了一种新的基于多模态大语言模型MLLM的自动驾驶闭环规划框架—PlanAgent。该方法以场景的鸟瞰图和基于图的文本提示为输入,利用多模态大语言模型的多模态理解和常识推理能力,进行从场景理解到横向和纵向运动指令生成的层次化推理,并进一步产生规划器所需的指令。在大规模且具有挑战性的nuPlan基准上对该方法进行了测试,实验表明PlanAgent在常规场景和长尾场景上都取得了最好(SOTA)性能。与常规大语言模型(LLM)方法相比,PlanAgent所需的场景描述词符(token)量仅为1/3左右。

论文信息

  • 论文题目:PlanAgent: A Multi-modal Large Language Agent for Closed loop Vehicle Motion Planning
  • 论文发表单位:中科院自动化所,理想汽车,清华大学,北京航空航天大学
  • 论文地址:https://arxiv.org/abs/2406.01587
  • 图片

1 引言

作为自动驾驶的核心模块之一,运动规划的目标是产生一条安全舒适的最优轨迹。基于规则的算法,如PDM[1]算法,在处理常见场景时表现良好,但往往难以应对需要更复杂驾驶操作的长尾场景[2]。基于学习的算法[2,3]常常会在长尾情况下过拟合,导致其在nuPlan中的性能并不如基于规则的方法PDM。

最近,大语言模型的发展为自动驾驶规划开辟了新的可能性。最新的一些研究尝试利用大语言模型强大的推理能力增强自动驾驶算法的规划和控制能力。然而,它们遇到了一些问题:(1)实验环境未能基于真实闭环场景(2)使用过量的坐标数字表示地图细节或运动状态,大大增加了所需的词符(token)数量;(3)由大语言模型直接生成轨迹点难以确保安全。为应对上述挑战,本文提出了PlanAgent方法。

2 方法

基于MLLM的闭环规划智能体PlanAgent框架如图1所示,本文设计了三个模块来解决自动驾驶中的复杂问题:

  • 场景信息提取模块(Environment Transformation module):为了实现高效的场景信息表示,设计了一个环境信息提取模块,能够提取具有车道信息的多模态输入。
  • 推理模块(Reasoning module):为了实现场景理解和常识推理,设计了一个推理模块,该模块利用多模态大语言模型MLLM生成合理且安全的规划器代码。
  • 反思模块(Reflection module):为了保障安全规划,设计了一个反思机制,能够通过仿真对规划器进行验证,过滤掉不合理的MLLM提案。

图片

图1 PlanAgent的整体框架,包含场景信息提取/推理/反思模块

 2.1 环境信息提取模块

大语言模型中的提示词(prompt)对其生成输出的质量有着至关重要的影响。为了提高MLLM的生成质量,场景信息提取模块能够提取场景上下文信息,并将其转换为鸟瞰图(BEV)图像和文本提示,使之与MLLM的输入保持一致。首先,本文将场景信息转化成鸟瞰图(BEV)图像,以增强MLLM对全局场景的理解能力。同时,需要对道路信息进行图表征,如图 2所示,在此基础上提取关键车辆的运动信息,使MLLM能够重点关注与自身位置最相关的区域。

图片

图2 基于图表征的文本提示描述

 2.2 推理模块

如何将大语言模型的推理能力引入到自动驾驶规划过程中,实现具有常识推理能力的规划系统是一个关键问题。本文设计的方法能够以包含当前场景信息的用户消息和预定义的系统消息为输入,经过分层思维链多轮推理,生成智能驾驶员模型(IDM)的规划器代码。由此,PlanAgent能够通过上下文学习将MLLM强大的推理能力嵌入到自动驾驶规划任务中。

其中,用户消息包括BEV编码和基于图表征提取出来的周围车辆运动信息。系统消息包括任务的定义、常识知识以及思维链步骤,如图 3所示。

图片

图3 系统提示模版

在得到prompt信息后,MLLM会对当前场景从三个层次进行推理:场景理解、运动指令和代码生成,最终生成规划器的代码。在PlanAgent中,会生成跟车、中心线、速度限制、最大加速度和最大减速度参数代码,再由IDM生成某一场景下的瞬时加速度,最终由此生成轨迹。

图片

图片

 2.3 反思模块

通过以上两个模块强化了MLLM对场景的理解和推理能力。然而,MLLM的幻觉仍然对自动驾驶的安全构成了挑战。受到人类“三思而后行”决策的启发,本文在算法设计中加入了反思机制。对MLLM生成的规划器进行仿真模拟,并通过碰撞可能性、行驶距离、舒适度等指标评估该规划器的驾驶分数。当得分低于某个阈值τ时,表明MLLM生成的规划器欠妥,MLLM将被请求重新生成规划器。

3 实验与结果

本文在大规模真实场景的闭环规划平台nuPlan[4]进行闭环规划实验,以评估PlanAgent的性能,实验结果如下。

 3.1 主要实验

表1 PlanAgent与其他算法在nuPlan的val14和test-hard基准上的比较

图片

如表 1所示,本文将所提出的PlanAgent和三类最前沿的算法进行比较,并在nuPlan的两个基准val14和test-hard上进行测试。PlanAgent与其他方法相比表现出了有竞争力和可泛化的结果。

  • 有竞争力的结果:在常见场景val14基准上,PlanAgent优于其他基于规则、基于学习和基于大语言模型的方法,在NR-CLS和R-CLS中都取得了最好的评分。
  • 可泛化的结果:以PDM-Closed[1]为代表的规则类方法和以planTF[2]为代表的学习类方法都不能同时在val14和test-hard上表现良好。与这两类方法相比PlanAgent能够在克服长尾场景的同时,保证常见场景中的性能。

表2 不同方法描述场景所用token比较

图片

同时,PlanAgent相比于其他基于大模型的方法所用的token数量更少,如表 2,大概只需要GPT-Driver[5]或LLM-ASSIST[6]的1/3。这表明PlanAgent能够用较少的token更有效地对场景进行描述。这对于闭源大语言模型的使用尤为重要。

 3.2 消融实验

表3 场景提取模块中不同部分的消融实验

图片

表4 分层思维链中不同部分的消融实验

图片

如表3和表4,本文对场景信息提取模块和推理模块中不同部分进行了消融实验,实验证明了各个模块的有效性和必要性。通过BEV图像和图表征两种形式可以增强MLLM对场景的理解能力,通过分层思维链能增强MLLM对场景的推理能力。

表5 PlanAgent在不同语言模型上的实验

图片

同时,如表 5所示,本文使用了一些开源大语言模型进行测试。实验结果表明,在Test-hard的NR-CLS基准上,PlanAgent使用不同的大语言模型分别能够比PDM-Closed的驾驶分数高出4.1%、5.1%和6.7%。这证明了PlanAgent与各种多模态大语言模型的兼容性。

 3.3 可视化分析

环岛通行场景

PDM选择外侧车道作为centerline,车辆靠外侧车道行驶,在车辆汇入时卡住。PlanAgent判断有车辆汇入,输出合理的左换道指令,并生成横向动作选择环岛内侧车道为centerline,车辆靠内侧车道行驶。

图片

路口停止线停车场景

PDM选择了红绿灯类为跟车类。PlanAgent输出合理指令,选择停止线为跟车类。

4 结论

本文提出了一种新的基于MLLM的自动驾驶闭环规划框架,称为PlanAgent。该方法引入了一个场景信息提取模块,用于提取BEV图像,并基于道路的图表征提取周围车辆的运动信息。同时提出了一个具有层次结构的推理模块,用于指导MLLM理解场景信息、生成运动指令,最终生成规划器代码。此外,PlanAgent还模仿人类决策进行反思,当轨迹评分低于阈值时进行重规划,以加强决策的安全性。基于多模态大模型的自动驾驶闭环规划智能体PlanAgent在nuPlan基准上取得了闭环规划SOTA性能。  

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

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

相关文章

若依RuoYi-Vue分离版—免登录直接访问

若依RuoYi-Vue分离版—免登录直接访问 如何不登录直接访问前端:后端:方法1:在SecurityConfig.java中设置httpSecurity配置匿名访问方法2:在对应的方法或类上面使用Anonymous注解。 如何不登录直接访问 官网有说明:如何不登录直接…

pyechart 创建柱形图

Pyecharts 是一个基于 Python 的开源数据可视化库,用于创建各种交互式的图表和可视化效果。它是在 Echarts 的基础上进行封装和优化,Echarts 是一个流行的 JavaScript 数据可视化库pyecharts 中文网站 : https://pyecharts.org/# pyecharts 模块 还支持…

day35| 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球

文章目录 前言860.柠檬水找零思路方法一 406.根据身高重建队列思路方法一 452. 用最少数量的箭引爆气球思路方法一 总结 前言 860.柠檬水找零 思路 很简单,贪心只有一个,如果20优先用105找零,因为5更加万能一些 方法一 class Solution(ob…

RabbitMQ实践——配置Prometheus和Grafana报表

大纲 启用rabbitmq_prometheus插件安装启动Prometheus创建用户下载并解压修改配置启动 安装启动grafana安装启动配置数据源 在《RabbitMQ实践——在Ubuntu上安装并启用管理后台》中我们已经安装成功RabbitMQ及其管理后台。在此基础上,我们将打通它和Prometheus、Gra…

26.0 Http协议

1. http协议简介 HTTP(Hypertext Transfer Protocol, 超文本传输协议): 是万维网(WWW: World Wide Web)中用于在服务器与客户端(通常是本地浏览器)之间传输超文本的协议.作为一个应用层的协议, HTTP以其简洁, 高效的特点, 在分布式超媒体信息系统中扮演着核心角色. 自1990年提…

Python图像处理——基于Pytorch框架ResNet152特征提取的MNIST手写数字识别

1. 数据集介绍 MNIST手写数字数据集: http://yann.lecun.com/exdb/mnist/ MNIST 数据集一共有 7 万张图片,其中 6 万张是训练集, 1 万张是测试集。每张图片是 28 28 的 0−9 的手写数字图片组成。每个图片是黑底白字的形式,黑底…

【全开源】餐饮点餐小程序源码(ThinkPHP+FastAdmin+Uniapp)

🍽️餐饮点餐小程序:让美食触手可及 一款基于ThinkPHPFastAdminUniapp开发的点餐小程序,支持单人点餐,还满足多人协同点餐(高级授权),支持多门店管理,并提供先吃后付和先付后吃两种支付方式。​ &#x1…

桌面应用开发框架比较:Electron、Flutter、Tauri、React Native 与 Qt

在当今快速发展的技术环境中,对跨平台桌面应用程序的需求正在不断激增。 开发人员面临着选择正确框架之挑战,以便可以高效构建可在 Windows、macOS 和 Linux 上无缝运行的应用程序。 在本文中,我们将比较五种流行的桌面应用程序开发框架&…

C#开源项目推荐:Watt Toolkit跨平台游戏工具箱支持github网络加速

Watt Toolkit是一个开源跨平台的多功能游戏工具箱,主要专注于增强玩家在Steam平台上的游戏体验及国外网站平台加速。 主要功能 兼容性 用户数据 团队背景 github加速功能 使用方法:用户只需在Watt Toolkit中启用网络加速功能,并选择对Gi…

揭秘Netflix背后的魔法:如何用三层架构打造个性化推荐帝国

推荐系统就像一家餐厅的菜单推荐 想象一下,你走进一家餐厅,面对琳琅满目的菜单,不知道点什么好。这时候,服务员给你推荐了几道菜,这些推荐是基于你以往的口味偏好和其他顾客的选择。Netflix的推荐系统也是类似的&…

Matlab图像处理——细胞图像的分割和计数显示

一. 项目介绍 使用MATLAB编写的细胞图像分割及计数系统,实现了对图像内细胞的计数,以及对每个细胞周长和面积的测量,并分别展示了分割后的每个细胞的图像。实验步骤共分为图像预处理、图像预分割、空洞填充、黏连细胞分割、细胞个数统计、细胞…

计算机毕业设计师hadoop+spark+hive知识图谱医生推荐系统 医生数据分析可视化大屏 医生爬虫 医疗可视化 医生大数据 机器学习 大数据毕业设计

流程: 1.Python爬虫采集中华健康网约10万医生数据,最终存入mysql数据库; 2.使用pandasnumpy/hadoopmapreduce对mysql中的医生数据进行数据分析,使用高德地图解析地理位置,并将结果转入.csv文件同时上传到hdfs文件系统&…

易天全面搭建ERP和MES系统:推进数字化转型的战略布局

在数字化浪潮的推动下,企业对于提高生产效率、优化资源配置、降低运营成本的需求日益迫切。ERP管理软件像一条纽带,将采购、生产、成本、库存、分销、运输、财务、人力资源进行规划,从而达到最佳资源组合,取得最佳效益。早在2019年…

MyBatis进行模糊查询时SQL语句拼接引起的异常问题

项目场景: CRM项目,本文遇到的问题是在实现根据页面表单中输入条件,在数据库中分页模糊查询数据,并在页面分页显示的功能时,出现的“诡异”bug。 开发环境如下: 操作系统:Windows11 Java&#…

vite构建的ts项目配置src别名@

一、安装types/node npm install types/node 二、vite.config.ts 文件中配置以下内容 resolve: {alias: {: path.resolve(__dirname, ./src),},}, 三、 tsconfig.json 文件中compilerOptions下配置以下内容 /* 配置 */"baseUrl": ".","paths":…

创新共享经济:探索Web3对新商业模式的启迪

随着Web3时代的到来,我们正在见证着一场数字经济的革命。在这个革命中,区块链技术作为一种基础设施,正为创新的共享经济模式提供新的契机。本文将深入探讨Web3对新商业模式的启迪,以及如何借助区块链技术构建更加开放、公平、高效…

8.使用包、crate和模块

目录 一、简单概念二、crate和包2.1 crate规则2.2 包规则2.3 Cargo的遵循的一些约定2.4 控制模块的作用域和私有性1) 模块2)引用模块树中的项3)使用 super 起始的相对路径4) 公有结构体和枚举 三、use关键字的使用四、分割模块进入不同的文件 一、简单概…

Vue27-内置指令04:v-once指令

一、需求 二、v-once指令 获取初始值: 三、小结

HCIA6以太网基础基于MAC划分VLAN

(简写的命令可以敲Tab按键补全剩余) 1.组网需求 场景:公司的网络中,管理者将同一部门的员工划分到VLAN10。要求只有本部门员工的PC接入才能互访,其他PC接入交换机属于其他VLAN(666)。可以配置…

STM32自己从零开始实操05:接口电路原理图

一、TTL 转 USB 驱动电路设计 1.1指路 延续使用芯片 CH340E 。 实物图 原理图与封装图 1.2数据手册重要信息提炼 1.2.1概述 CH340 是一个 USB 总线的转接芯片,实现 USB 与串口之间的相互转化。 1.2.2特点 支持常用的 MODEM 联络信号 RTS(请求发送&…