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

中科院自动化所深度强化学习团队联合理想汽车等提出了一种新的基于多模态大语言模型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性能。  

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

黑豹程序员 堆和栈

简单变量及作用域 main()   int x1; show ()   int x2 执行步骤: 第1步:main()函数是程序入口,JVM先执行,在栈内存中开辟一个空间,存放int类型变量x,同时附值1。 第2步:JVM执行show()函…

轻兔推荐 —— Snipaste

via:轻兔推荐 - https://app.lighttools.net/ 简介 Snipaste 是一个简单但强大的截图工具,支持Windows和Mac,允许用户快速截图并进行编辑,如添加标注、文字和马赛克。 - 它还具有贴图功能,可以将截图或剪贴板内容固定…

Flash Diffusion 加速文生图模型生成;Pixart-α加速测试

参考:https://github.com/gojasper/flash-diffusion https://huggingface.co/jasperai/flash-pixart 安装包注意: diffusers 这里是官方上面有更改,参考:https://github.com/gojasper/flash-diffusion/blob/main/requirements.txt pip install -r requirements.txt dif…

第18篇 Intel FPGA Monitor Program的使用<一>

Q:Intel FPGA Monitor Program开发工具可以支持Terasic的FPGA开发板使用吗? A:Intel FPGA Monitor Program 是Intel提供的适用于 ARM* Cortex*-A9 处理器和 Nios II 处理器的完整软件开发环境,它包括编译工具以及完整的调试功能&…

如何格式化U盘?4个正确方法,记得收藏好!

“我的u盘不知道是中病毒还是什么原因,现在没法使用了,我想将它进行格式化操作,想问问大家应该如何格式化u盘呢?请帮帮我!” U盘作为我们日常生活中不可或缺的存储设备,常常用于传输和保存各种重要数据。然…

【深度学习】Loss为Nan的可能原因

文章目录 1. 问题情境2. 原因分析3. 导致Loss为Nan的其他可能原因 1. 问题情境 在某个网络架构下,我为某个数据项引入了一个损失函数。 这个数据项是nn.Embedding类型的,我加入的损失函数是对nn.Embedding空间做约束。 因为我在没加入优化loss前&#x…

34、matlab输入命令汇总

1、ans:最近计算的答案 代码示例1 12ans 3 代码示例2 Brand(7)B 列 1 至 60.7060 0.3171 0.1869 0.6797 0.5853 0.95930.0318 0.9502 0.4898 0.6551 0.2238 0.54720.2769 0.0344 0.4456 0.1626 0.7513 0.13860.0462 0.4387…

比亚迪员工待遇公开:70万员工都是靠真本事拿钱,这里没有大锅饭

比亚迪 近日,车企巨头比亚迪的内部信被曝光。 内部信内容是关于员工待遇的,信中反复强调:比亚迪始终坚持为每一位员工提供公平合理的工作环节和回报机制,鼓励员工工作中展现努力施展自己的才华和价值,来获得更为丰厚的…

AI写作工具:提升工作效率的五大利器

不知道大家有没有发现,随着人工智能技术的快速发展,AI工具正逐渐渗透到我们日常生活的各个方面,极大地提高了我们的工作和学习效率。无论是AI写作、AI绘画、AI思维导图,还是AI幻灯片制作,这些工具已成为我们不可或缺的…

使用 Scapy 库编写 TCP 窗口大小探测攻击脚本

一、介绍 1.1 概述 TCP窗口大小探测攻击是一种信息收集攻击,攻击者通过向目标服务器发送特制的TCP数据包,探测目标服务器的TCP接收窗口大小(TCP Window Size)。了解目标服务器的TCP接收窗口大小,可以帮助攻击者优化后…

70N10-HG010N10L 高压场效应MOS管TO-252封装 散热好 抗雪崩能力强

概述 FSMOSMOSFET基于惠海半导体的器件设计,可实现低功耗RDS(ON)、低栅极电荷、快速切换和优异的雪崩特性。低Vth系列是专门为具有低驱动电压的同步整流系统而优化的。 特征 RDS(ON)和FOM低 低开关损耗 卓越的可靠…

一颗万能的PD协议芯片,能芯Type-C PD协议芯片“ECP5705”, 它是如何实现PD直流风扇应用呢?

文章目录 文章目录 前言 一、PD风扇方案介绍 二、芯片介绍 三、PD风扇-供电方式 四、能芯科技 PD 协议芯片ECP5705-应用场景 总结 前言 随着USB Type-C接口的普及和PD取电芯片的出现,使得小型家电和电动工具可以通过统一的USB Type-C接口进行充电,极大地…

【MySQL】复合查询+表的内外连接

复合查询表的内外连接 1.基本查询回顾2.多表查询3.自连接4.子查询4.1单列子查询4.2多列子查询 5.在from子句中使用子查询6.合并查询7.表的内连和外连7.1内连接7.2外连接7.2.1左外连接 7.2.2右外连接 点赞👍👍收藏🌟🌟关注&#x1…

哪个牌子的充电宝好?有必要买充电宝吗?买充电宝认准这几个牌子

在现代快节奏的生活中,智能手机等电子设备已经成为我们日常生活中不可或缺的一部分。然而,电量不足的困扰时常困扰着我们,特别是在外出时。面对这种情况,共享充电宝成为了不少人的临时解决方案,但其高昂的租赁费用和使…

littlefs性能分析提升

littlefs性能分析 分析的目的很简单:希望支持掉电安全,或者说具有奔溃一致性特性的文件系统,他的读写速度能得到提升。如果了解了瓶颈所在,也可触类旁通。 本次分析,使用了大量的对比测试: littlefs读&a…

带你学习Mybatis之SqlSession

SqlSession是mybatis的核心接口,SqlSessionFactory负责创建SqlSession对象,包含多个openSession()方法的重载。 在SqlSession中定义了常用的数据库操作以及事务操作,接口定义如下 SqlSession public interface SqlSession extends Closeable …

Axios网络请求

网页:Axios中文文档 | Axios中文网Axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.jshttps://www.axios-http.cn/ 安装命令npm install axios 上一节创建的项目终端安装,安装完成 生命周期函数 App.vue在上述位置加入代码 …

【区块链】深入解析Proof of Work (PoW): 区块链技术的核心驱动力

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 深入解析 Proof of Work (PoW): 区块链技术的核心驱动力引言一、PoW基本概念1.1…

【linux网络(二)】网络基础之套接字编程

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:Linux从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学更多操作系统知识   🔝🔝 Linux网络 1. 前言2. 端口号详…

微服务之熔断器

1、高并发带来的问题 在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络原因 或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会…