【论文笔记】Planning and Decision-Making for Autonomous Vehicles

在这里插入图片描述

文章目录

  • Summary
  • 1. INTRODUCTION
  • 2. MOTION PLANNING AND CONTROL
    • 2.1. Vehicle Dynamics and Control
    • 2.2. Parallel Autonomy
    • 2.3. Motion Planning for Autonomous Vehicles
  • 3. INTEGRATED PERCEPTION AND PLANNING
    • 3.1. From Classical Perception to Current Challenges in Neural Network–Based Perception Systems
    • 3.2. End-to-End Planning
  • 4. BEHAVIOR-AWARE MOTION PLANNING
    • 4.1. Cooperation and Interaction
    • 4.2. Game-Theoretic Approaches
    • 4.3. Probabilistic Approaches
    • 4.4. Partially Observable Markov Decision Processes
    • 4.5. Learning-Based Approaches
  • 5. VERIFICATION AND SYNTHESIS
  • 6. FLEET MANAGEMENT
  • 7. CONCLUSION

这是一篇MIT18年发布在《Annual Review of Control, Robotics, and Autonomous Systems》的文章。本着学习的精神对这篇文章进行阅读并记录相关笔记,可能会有纰漏,还请批评斧正。

Summary

本文主要讨论了自主驾驶车辆领域中规划和决策的最新趋势和挑战。涵盖了三种不同的方法:传统PipeLine式的规划、行为意识决策规划和端到端规划,并强调了智能感知和规划的整合以及基于机器学习的方法。同时,也讨论了验证和安全性方面的问题以及自主驾驶车队管理方面的挑战。

1. INTRODUCTION

人们在日常出行上需要花费大量的时间,同时交通事故也造成了人员的伤亡。然而,自动驾驶汽车极有潜力能够解决这些问题,自动驾驶汽车能够极大地方便人们的生活,提高生产力与效率,保证交通系统的安全性,但自动驾驶汽车的实现需要从车辆设计到控制、感知、规划、协调和人际互动等等方面的进步……

作者在这篇文章中主要关注以下问题:

  • 车辆如何决定下一步去哪里;
  • 车辆如何使用传感器提供的数据来做出短期和长期的决策;
  • 与其他车辆的交互对决策规划系统的影响;
  • 车辆如何从自身历史信息和人类驾驶信息中学习驾驶;
  • 如何确保车辆控制和规划系统的正确性和安全性;
  • 如何进行道路上的多车协同管理,以最有效的方式将人员和物资运送到目的地。

实现完全的自动驾驶还需面临技术、法律、社会等方面的挑战。作者介绍了DARPA挑战赛使得自动驾驶汽车能够在十分接近真实场景的环境中工作,但也指出无论是DARPA中的方案,还是现有(-2018)比较先进的方案,都只能在环境相对简单、低速的状况下进行。

自动驾驶汽车需要对复杂的、不可预测的动态环境进行及时的推理,即使在复杂的城市道路环境中,也需要达到人类驾驶员水平的安全性、可靠性。

在这里插入图片描述

作者将现阶段的决策规划方法分为三种类型:

  • sequential planning(传统的PipeLine式的planning)【第二章】
  • end-to-end planning(端到端)【第三章】
  • behavior-aware planning(行为意识决策规划)【第四章】

【第五章】主要是一些验证方法;【第六章】则是自动驾驶车辆编队运行的一些方法;【第七章】总结与展望。

2. MOTION PLANNING AND CONTROL

回顾一些传统的Control和Motion Planning的一些方法;还有parallel autonomy (人机共驾?);回顾现存决策规划的一些挑战。

2.1. Vehicle Dynamics and Control

对于一些低速的场景,使用运动学模型就足够,涉及到的控制方法有:PID、反馈线性化、MPC等等

对于高速或者驾驶行为比较激烈的场景,需要动力学模型的介入,涉及的方法有:非线性控制、MPC、反馈前馈控制。

作者还指出,不同的控制方法依赖于不同的车辆模型,并介绍了一些车辆模型识别的相关技术。这部分暂时还未接触过,不同的车辆应该有不同的高自由度模型以应对控制开发、仿真等需求。

2.2. Parallel Autonomy

作者首先介绍了常见自动驾驶控制系统的三种模式:

  • series autonomy:由人类驾驶员发布指令给车辆进行具体执行。
  • interleaved autonomy:人类驾驶员和控制系统交替控制。
  • parallel autonomy:我理解为人机共驾,驾驶员和控制系统并行决策,提升在遇到危险时的安全性。parallel autonomy也是作者在这一节中主要介绍的。

作者指出,一种比较直观的方式合并驾驶员的输入以及控制系统的输出是将二者进行线性组合;另一种则是基于优化的方式,将驾驶员意图和系统目标的偏差最小化。基于优化的方式有一种典型的策略能够将优化问题简化——给定车辆速度 V V V,只对转向角进行优化。

2.3. Motion Planning for Autonomous Vehicles

作者先推荐了两篇运动控制方向的经典文章:
[1] Real-time motion planning methods for autonomous on-road driving: State-of-the-art and future research directions
[2] A Survey of Motion Planning and Control Techniques for Self-driving Urban Vehicles

作者给出传统Motion Planning的三种解决方案:

  • 输入空间离散化+碰撞检测,比较经典的就是Lattice Planner和road-aligned primitives,比较适用于高速场景,这种方式简洁高效?(对计算量应该有不小要求)。空间离散化一般可以对状态空间或者控制空间进行操作。
  • 随机采样类的算法。例如RRT,PRM等等。算法计算量不小,非最优的。
  • 基于约束优化和滚动优化的方法,多应用于路径跟踪控制。考虑了车辆模型(动力学/运动学),轨迹通常比较平滑。这类方法需要考虑如何将问题转化为凸空间问题进行求解。

自动驾驶车辆还需要考虑到交通规则的约束问题,在一些情况(例如,超过非法停放的车辆)下,还需对一些规则作出违反。对此,可以将交通规则作为cost function,也可以将其作为逻辑函数。Minimum-violation routing这个问题还需面临环境、车辆模型等等诸多不确定的因素,单纯的基于规则的方法可能难以覆盖全部的场景。

作者提到的一些方法需要对交通参与者行为轨迹进行预测,但作者也指出,复杂场景以及交通参与者之间交互所产生的影响也是目前研究的一个方向与挑战。

3. INTEGRATED PERCEPTION AND PLANNING

3.1. From Classical Perception to Current Challenges in Neural Network–Based Perception Systems

感知的概述,我不是这个方向的,暂时不做深入理解。

3.2. End-to-End Planning

传统的Framework,各模块是相互解耦的,通过接口进行连接。作者在这里提到一种通过训练感知模块的部分功能去整合规划模块的任务。比如用弱监督学习的方式利用历史驾驶数据集进行轨迹预测与输出;用语义分割的方式生成路径……

更进一步的端到端,也可以称为行为映射法(behavior reflex approach),在1989年就有人用神经网络开始做了(ALVINN, Autonomous Land Vehicle in a Neural Network)。随着GPU算力的快速增长,网络层数不断加深,参数不断增多,end-to-end的效果也慢慢显露出来。NVIDIA在2006的工作中,通过建立原始前视摄像头与转向控制命令之间的映射关系,同时通过图像旋转、移动等等操作以及增加纠正样本的方法,能够使车辆适应一些更为复杂的场景。接着,作者介绍了一些关于通过观察输入图像的哪些区域对网络的输出贡献最大的研究(比如车道内的位置和方向)。

对于端到端规划到什么程度,有研究规划到决策层(直行、转向等等),也有规划到控制层(执行层,方向盘转角等等)。比如Xu et al利用LSTM去做的通过视频直接分别去学离散的决策和连续的控制的工作。

作者还介绍了DAgger,不仅仅是监督学习,强化学习等领域也是端到端应用的重点。下面是AI对DAgger (Dataset Aggregation)的介绍。

DAgger (Dataset Aggregation)是一种迭代式的强化学习方法,用于解决模型在测试时可能遇到的分布偏移问题。在DAgger中,首先通过人工指导或其他方法训练一个初始的模型,并用该模型对环境进行交互(比如在游戏中进行游戏),并收集一批“专家演示数据”。然后,使用这些数据重新训练模型,并用新模型再次与环境交互,生成新一批数据。这个过程可以重复多次,直到模型的性能足够好以满足需求。

DAgger的主要思想是将专家模型的知识与网络自己的探索相结合,以便让网络自己学习如何在新场景中进行操作。由于新模型的行动可能与专家演示数据不同,因此每次重新训练的数据集都在专家演示数据上添加了网络行为,这样新数据集就会更加接近真实场景,从而提高模型的性能。

DAgger是一种强化学习领域中效果比较好的方法,已被广泛应用于机器人控制、自动驾驶、游戏智能等领域。

机器人移动路径规划中也有经常运用端到端。机器人在需要能够现实世界中能够解决突发的各类问题以及适应未知环境,但像ensemble, bootstrap, 和Monte Carlo dropout等等用于量化神经网络不确定性的方法对于未知环境可能无法提供准确的不确定度的估计。遇到这情况时,可以将E2E的方法退回到传统的方法之中。

强化学习需要用到仿真环境,最后作者介绍了一些关于基于仿真环境训练强化学习的一些策略。

4. BEHAVIOR-AWARE MOTION PLANNING

第二章的大部分方法需要对其他交通参与者未来的行为进行预测,然而当环境拥挤时,预测每一个动态物体的运动是不现实的。

DARPA城市赛中有不少关于tactical planning(战术层规划)的方案,比如状态机、决策树等等,但这些rule-based的方案难以估计未知的、复杂变化的场景。

作者写到自动驾驶汽车和交通参与者之间能够进行交互、互相推断各自意图,基于所见进行推断但不需要明确的通信。这和V2X或者车路协同等等方式有些不太一致,没有明确的信息,可能会产生更大的不确定性,会威胁到整个交通系统的安全。

4.1. Cooperation and Interaction

多智能体之间的交互是十分重要的。一个智能体依赖于其他智能体作出决策,在遇到环境复杂、不确定的情况下,很可能会产生“不确定爆炸(exploding uncertainty)”和“机器人冻结问题”(freezing-robot problem,简单理解就是机器人面对过多的选择而无法进行决策)。对此,有以下三种主要的解决方案:

  • 更好的环境建模以及对未来预期的建模。但依然会存在Freezing-robot Problem。
  • 相当于假设所有其他机器人都是可控的:这会让策略非常激进,同时会带来潜在的风险。
  • 基于联合分布的方式:包括联合概率分布和联合代价(cost)分布。

下面是一篇关于协作式规划(cooperative planning)的综述,cooperative planning不考虑与其他车辆、基础设施通信的问题,即不考虑V2X。
Ulbrich S, Grossjohann S, Appelt C, Homeier K, Rieken J, Maurer M. 2015. Structuring cooperative behavior planning implementations for automated driving. In 2015 IEEE 18th International Conference on Intelligent Transportation Systems (ITSC), pp. 2159–65. New York: IEEE

4.2. Game-Theoretic Approaches

博弈论有一个前提:假设所有的agent都会以采取最优的策略进行决策。这类方法可以用类似于基于概率的方式去计算,比如最大似然估计和最大后验估计。

博弈论的方法和上一种方法的区别在于并非基于联合代价或分布进行的:在双方博弈中,自车首先计算一个动作,然后模拟其他车辆以最大化自身预期奖励,其结果可能是高度交互的而不是被动反应的。

但随着agent数量的增多,会使得博弈问题呈指数级增长。一种简答的解决方法是将动作空间进行离散化,然后去搜索所有的可能。比如采用决策树的方式,但决策树也会随着agent的增多,指数级增长。为了更快实现最优或近似最优,有采用Monte Carlo tree search的方式;为了减少计算复杂度,有只让车辆受到前车的影响,从而将问题的复杂简化到agent数量的二次方。

也有采用Stackelberg game的方法,考虑最坏的情况,从而使每个agent不完全依赖于其他所有agent。这种方式复杂度较低,与agent呈线性关系,但决策速度较慢,决策较为保守。

4.3. Probabilistic Approaches

这一节主要讲了概率方法在自动驾驶领域中的应用。其中提到了一些具体的方法,比如Wei等人基于高速公路并道场景,使用MDP(Markov decision process)作为决策方法,搜索出可能的策略集,再依据cost fuction,选出最优的策略;还有使用离散流形来进行轨迹采样,智能驾驶模型来描述车流中单个车辆的纵向位置和速度的动力学,以及使用粒子滤波器来估计行为参数等。此外,还介绍了如何使用概率图模型来描述观测数据之间的依赖关系。这些方法的目标是提高自动驾驶车辆在复杂交通环境中的决策能力和安全性。

4.4. Partially Observable Markov Decision Processes

这一节介绍了部分可观察马尔可夫决策过程(Partially Observable Markov Decision Processes,POMDP)的概念和应用。在概率情况下,这个问题通常被建模为一个部分可观察的马尔可夫决策过程,其中其他代理的意图和重新规划程序并不是直接可观察的。POMDP通常离线进行,不仅仅计算当前状态的最优策略,而是计算每一个可能观测状态的最优策略。

POMDP问题是PSPACE完备的,也就意味着POMDP问题的解决需要花上大量的计算时间,这与决策模块所要求的100ms是冲突的。有些研究通过在预先规划的路径上规划所有车辆的运动,降低了给定问题的状态空间维数,简化问题。

PSPACE是计算机科学中的一个概念,代表着一类计算问题的复杂度。具体来说,PSPACE表示能够在多项式空间复杂度内解决的问题,即问题的解决所需的计算空间与问题规模的多项式成正比。这类问题通常涉及到对大量状态或组合的搜索和存储,如棋类游戏的解法、自动机的行为分析等。PSPACE问题的解决通常需要使用高级算法和数据结构。

有些研究在POMDP中整合了其他车辆的意图以及道路信息。POMDP也可不考虑交通参与者之间的交互,只考虑自车能达到的状态。作者还指出规划的视野一般小于10s,在高速公路或者城市道路场景中,实际所需的驾驶动作还是相对不多的,所以规划只需要达到一定精度就行,不用达到最优的状态。同时在抽象的轨迹上进行规划而不是具体的轨迹上进行规划,能够显著降低复杂度。

为POMDP找到合适的符号表示是困难的,因为它在很大程度上取决于具体的任务和情况。通常的方法是使用连续空间的等距离散化。一方面,这样的离散化通常过于粗糙,不能代表足够的细节来找到问题的解决方案。另一方面,它对不需要高精度的信息进行冗余编码。

4.5. Learning-Based Approaches

主要介绍了基于数据驱动的学习方法,该方法被应用于自动驾驶中的行为感知和运动规划。这些方法通常会将决策和规划分离开来,通过使用监督学习方法,如支持向量机、高斯混合模型(Gaussian mixture models)和人工神经网络,来训练模型。此外,反向强化学习技术(IRL)也被广泛用于学习专家驾驶员的决策和行为模式,并用于生成自动驾驶的决策和规划。最后,该节还介绍了一些新兴的学习方法,例如最大熵深度逆强化学习和对抗生成式模型学习,这些方法可以直接从原始输入数据中学习自动驾驶的行为模式。

5. VERIFICATION AND SYNTHESIS

暂略

6. FLEET MANAGEMENT

暂略

7. CONCLUSION

  • 数据驱动的方式还是需要进一步的创新。
  • 要保证自动驾驶汽车(算法)的可验证性、安全性和可解释性。
  • 提升各类算法的泛化能力,以使自动驾驶汽车能够适应各类场景。

展望

  • 复杂环境下的安全性、系统兼容性以及交互性
  • 不确定环境下保证安全性能
  • 极端场景下的适应能力
  • 继续探索基于学习的方法
  • 算法需要验证与评估
  • 需要开发具有随机路线、在线性能和有限服务质量的大规模车队管理方法。

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

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

相关文章

APP上线为什么要提前部署安全产品呢?

一般平台刚上线或者日活跃量比较高的时候,很容易成为攻击者的目标,服务器如果遭遇黑客攻击,资源耗尽会导致平台无法访问,业务也无法正常开展,服务器一旦触发黑洞机制,就会被拉进黑洞很长一段时间&#xff0…

激活函数总结(十九):激活函数补充(ISRU、ISRLU)

激活函数总结(十九):激活函数补充 1 引言2 激活函数2.1 Inverse Square Root Unit (ISRU)激活函数2.2 Inverse Square Root Linear Unit (ISRLU)激活函数 3. 总结 1 引言 在前面的文章中已经介绍了介绍了一系列激活函…

Midjourney 完整版教程(从账号注册到设计应用)

目录 一、Midjourney 介绍 二、Midjourney 的AI出图示例 三、手把手教你上手Midjourney 1、账号&初始化 1.1 账号注册登录 1.2 账号付费 1.3 账号初始化 2、Midjourney的基础设置 3、Midjourney 出图步骤。 (一)直接描述出图 (二)垫图生图。 4、Midjourney的…

Android kotlin 跳转手机热点开关页面和判断热点是否打开

Android kotlin 跳转手机热点开关页面和判断热点是否打开 判断热点是否打开跳转手机热点开关页面顺带介绍一些其他常用的设置页面跳转 其他热点的一些相关知识Local-only hotspot 参考 判断热点是否打开 网上方法比较多,我这边使用了通过WifiManager 拿反射的getWi…

咸虾米之一些快捷方式的操作,一行方块的左右滑动,方块在一区域内的任意移动

由于本着只学习微信小程序的目的,上面的几篇博文都是跟着黑马程序的课程走的!后面的就讲解uni-app的实验呢!一个人的精力是有限的,于是换了们课程继续深造微信小程序!!! 以下是在 .wxml中的一些…

More Effective C++学习笔记(4)

目录 条款16:谨记 80 - 20 法则条款17:考虑使用lazy evaluation(缓式评估)条款18:分期摊还预期的计算成本条款19:了解临时对象来源条款20:协助完成 “ 返回值优化 ”条款21:利用重载…

【C++心愿便利店】No.2---函数重载、引用

文章目录 前言🌟一、函数重载🌏1.1.函数重载概念🌏1.2.C支持函数重载的原理 -- 名字修饰 🌟二、引用🌏2.1.引用的概念🌏2.2.引用特性🌏2.3.常引用🌏2.4.使用场景🌏2.5.传…

[当前就业]2023年8月25日-计算机视觉就业现状分析

计算机视觉就业现状分析 前言:超越YOLO:计算机视觉市场蓬勃发展 如今,YOLO(You Only Look Once)新版本的发布周期很快,每次迭代的性能都优于其前身。每 3 到 4 个月就会推出一个升级版 YOLO 变体&#xf…

腾讯云服务器价格表大全_轻量服务器_CVM云服务器报价明细

腾讯云服务器租用费用表:轻量应用服务器2核2G4M带宽112元一年,540元三年、2核4G5M带宽218元一年,2核4G5M带宽756元三年、云服务器CVM S5实例2核2G配置280.8元一年、GPU服务器GN10Xp实例145元7天,腾讯云服务器网长期更新腾讯云轻量…

【线程池】线程池拒绝策略还有这个大坑(二)

目录 踩坑代码 后果展示 原因 小结 概要 上文我们聊了聊阻塞队列,有需要的小伙伴可以去瞅瞅【线程池】换个姿势来看线程池中不一样的阻塞队列(一)_走了一些弯路的博客-CSDN博客 这波我们一起来研究下线程池的拒绝策略。 你肯定要说了&a…

【ArcGIS微课1000例】0071:普通最小二乘法 (OLS)回归分析案例

严重声明:本文来自专栏《ArcGIS微课1000例:从点滴到精通》,为CSDN博客专家刘一哥GIS原创,原文及专栏地址为:(https://blog.csdn.net/lucky51222/category_11121281.html),谢绝转载或爬取!!! 文章目录 一、空间自回归模型二、ArcGIS普通最小二乘法回归(OLS)一、空间自…

拒绝摆烂!C语言练习打卡第六天

🔥博客主页:小王又困了 📚系列专栏:每日一练 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、选择题 📝1.第一题 📝2.第二题 &#x1f4d…

SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)

一、spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基…

node_modules.cache是什么东西

一开始没明白这是啥玩意,还以为是npm的属性,网上也没说过具体的来源出处 .cache文件的产生是由webpack4的插件cache-loader生成的,node_modules里下载了cache-loader插件,很多朋友都是vuecli工具生成的项目,内置了这部…

全流程R语言Meta分析核心技术

​Meta分析是针对某一科研问题,根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法,对来源不同的研究成果进行收集、合并及定量统计分析的方法,最早出现于“循证医学”,现已广泛应用于农林生态,资源环境等方面…

掌握Six Sigma:逐步解锁业务流程优化的秘密之匙

一、Six Sigma方法简介 1. Six Sigma的起源和概念 Six Sigma起源于1980年代的摩托罗拉公司。当时的摩托罗拉在面临激烈的全球竞争和持续的质量问题时,发明了这种系统的管理方法,并通过实施,获得了显著的成绩。 所谓的“Six Sigma”&#x…

AIGC人工智能涉及三十六职业,看看有没有你的职业(一)

文章目录 一只弹吉他的熊猫 神奇的企鹅 功夫熊猫 视觉光影下的女子 闪光灯效 局部柔光 生物光 LOGO设计 制作儿童绘本故事 换脸艺术 打造专属动漫头像 包装设计之美 建筑设计 如何转高清图 生成3D质感图标 生成微信表情包 探索美食摄影的奇妙之旅 蛋糕创意设…

​LeetCode解法汇总2236. 判断根结点是否等于子结点之和

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: 给你一个 …

用Python写一个武侠游戏

前言 在本教程中,我们将使用Python写一个武侠类的游戏,大的框架全部搭好了,很多元素都可以自己添加,让游戏更丰富 📝个人主页→数据挖掘博主ZTLJQ的主页 个人推荐python学习系列: ☄️爬虫JS逆向系列专栏 -…

类与对象(下)

类与对象(下) 一、初始化列表1、构造函数与初始化2、使用初始化列表的形式3、注意点4、代码5、类需初始化列表但没使用初始化列表时报的错误6、成员变量的初始化顺序(1)顺序(2)测试代码(3&#…