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

2024-06-11 11:44

本文主要是介绍迈向『闭环』| 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性能。  

这篇关于迈向『闭环』| PlanAgent:基于MLLM的自动驾驶闭环规划新SOTA!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1051073

相关文章

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

python实现自动登录12306自动抢票功能

《python实现自动登录12306自动抢票功能》随着互联网技术的发展,越来越多的人选择通过网络平台购票,特别是在中国,12306作为官方火车票预订平台,承担了巨大的访问量,对于热门线路或者节假日出行... 目录一、遇到的问题?二、改进三、进阶–展望总结一、遇到的问题?1.url-正确的表头:就是首先ur

Spring使用@Retryable实现自动重试机制

《Spring使用@Retryable实现自动重试机制》在微服务架构中,服务之间的调用可能会因为一些暂时性的错误而失败,例如网络波动、数据库连接超时或第三方服务不可用等,在本文中,我们将介绍如何在Sp... 目录引言1. 什么是 @Retryable?2. 如何在 Spring 中使用 @Retryable

使用 Python 和 LabelMe 实现图片验证码的自动标注功能

《使用Python和LabelMe实现图片验证码的自动标注功能》文章介绍了如何使用Python和LabelMe自动标注图片验证码,主要步骤包括图像预处理、OCR识别和生成标注文件,通过结合Pa... 目录使用 python 和 LabelMe 实现图片验证码的自动标注环境准备必备工具安装依赖实现自动标注核心

QT实现TCP客户端自动连接

《QT实现TCP客户端自动连接》这篇文章主要为大家详细介绍了QT中一个TCP客户端自动连接的测试模型,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录版本 1:没有取消按钮 测试效果测试代码版本 2:有取消按钮测试效果测试代码版本 1:没有取消按钮 测试效果缺陷:无法手动停

动态规划---打家劫舍

题目: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 思路: 动态规划五部曲: 1.确定dp数组及含义 dp数组是一维数组,dp[i]代表

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

代码随想录冲冲冲 Day39 动态规划Part7

198. 打家劫舍 dp数组的意义是在第i位的时候偷的最大钱数是多少 如果nums的size为0 总价值当然就是0 如果nums的size为1 总价值是nums[0] 遍历顺序就是从小到大遍历 之后是递推公式 对于dp[i]的最大价值来说有两种可能 1.偷第i个 那么最大价值就是dp[i-2]+nums[i] 2.不偷第i个 那么价值就是dp[i-1] 之后取这两个的最大值就是d