【笔记】自动驾驶预测与决策规划_Part1_自动驾驶决策规划简介

news2024/9/24 1:27:35

自动驾驶决策规划简介

    • 0、前言
    • 1、自动驾驶概述
      • 1.1 预测(Prediction)
      • 1.2 决策(Decision Making)
      • 1.3 规划(Planning)
    • 2、自动驾驶历史和背景
    • 3、自动驾驶级别和分类
    • 4、预测决策规划的重要性
      • 4.1 预测的重要性
      • 4.2 被遮挡的车辆(occluded agents)的处理
        • 1. 基于感知的预测(Perception-Based Prediction)
        • 2. 基于运动的预测(Motion-Based Prediction)
        • 3. 概率图模型与多目标跟踪(Probabilistic Graph Models & Multi-Object Tracking)
        • 4. 基于仿真与训练的模型
        • 5. 相关论文:
      • 4.3 决策规划的重要性
      • 4.4 预测经典方案:
      • 4.5 决策的经典方案
      • 4.6 规划的经典方案

0、前言

本文主要记录课程《自动驾驶预测与决策技术》的学习过程,难免会有很多纰漏,感谢指正。
课程链接:https://www.shenlanxueyuan.com/my/course/700 在这里插入图片描述

1、自动驾驶概述

image.png

  • Ding W, Zhang L, Chen J, et al. Epsilon: An efficient planning system for automated vehicles in highly interactive environments[J]. IEEE Transactions on Robotics, 2021, 38(2): 1118-1138.
    image.png
    在这里插入图片描述
    image.png
    在这里插入图片描述

什么是自动驾驶的预测、决策和规划?

在自动驾驶系统中,预测、决策和规划是三个关键组件,它们共同作用以实现车辆在复杂动态环境中的自主行驶。以下是对这三个组件的详细解释:

1.1 预测(Prediction)

定义:预测模块的任务是预估周围环境中其他交通参与者(如车辆、行人、自行车等)的未来行为和轨迹。
功能

  • 行为预测:基于当前状态和历史数据,预测其他交通参与者的可能行为(如加速、减速、转弯)。
  • 轨迹预测:生成其他车辆或行人在未来一段时间内的运动轨迹。

不确定性处理:由于未来行为具有不确定性,预测模型通常会生成多个可能的轨迹,并评估其概率。

  • 基于规则的方法:使用预定义的规则和模型,如物理运动模型。
  • 机器学习方法:使用历史数据训练的机器学习模型,如神经网络,进行行为和轨迹预测。

1.2 决策(Decision Making)

定义:决策模块负责基于预测模块提供的信息,制定出车辆的高层次行为策略,以确保安全、高效的驾驶。

功能:

  • 风险评估:评估不同驾驶策略的风险,包括与其他交通参与者的潜在碰撞风险。

  • 策略选择:在多个候选策略中选择最优的一个。例如,选择是否变道、是否减速等。

  • 情景响应:根据交通法规和实时交通状况,做出合理的驾驶决策。

方法:

  • 规则基方法:基于预定义的规则和条件进行决策。
  • 基于优化的方法:使用优化算法在多个候选策略中寻找最优解。
  • 机器学习方法:训练智能体通过模拟和强化学习方法进行决策。

1.3 规划(Planning)

定义:规划模块将决策模块的高层次行为策略转化为具体的车辆运动轨迹和控制命令。

功能

  • 路径规划:生成从当前点到目标点的可行路径,确保路径的平滑性和安全性。

  • 运动规划:根据路径规划,生成具体的速度和转向控制命令,控制车辆运动。

  • 动态调整:实时调整路径和运动规划,适应动态环境和实时交通状况。

方法:

  • 几何规划:使用几何方法生成路径,如A*算法、Dijkstra算法。

  • 优化规划:使用优化算法生成平滑且符合车辆动力学约束的轨迹,如梯度下降、二次规划。

  • 行为树:使用行为树模型,根据不同场景生成对应的路径和控制策略。

示例

在实际应用中,这些模块协同工作,确保自动驾驶车辆能够安全、高效地行驶。例如,当车辆在高速公路上行驶时:

  1. 预测:预测前方车辆的轨迹,判断其是否可能减速或变道。

  2. 决策:根据预测结果,判断是否需要变道超车或减速跟随,并选择最优策略。

  3. 规划:生成平滑的变道轨迹和加速/减速命令,并实时调整以应对突发情况。

参考文献

  • [A Survey of Motion Planning and Control Techniques for Self-driving Urban Vehicles](https://ieeexplore.ieee.org/document/8302432)

  • [Deep Learning for Self-Driving Cars: Chances and Challenges](https://arxiv.org/abs/2006.06094)

  • [Autonomous Vehicles: From Perception to Decision-Making](https://arxiv.org/abs/2010.01929)

2、自动驾驶历史和背景

image.png

image.png
image.png
image.png
image.png
image.png
image.png

3、自动驾驶级别和分类

image.png自动驾驶系统组成
在这里插入图片描述

4、预测决策规划的重要性

4.1 预测的重要性

image.png

轨迹预测的重要性

  • 轨迹预测涉及对周围交通参与者(如其他车辆、行人)的未来运动路径进行预测。左图中,可以看到自动驾驶系统正在预测前方车辆的可能行驶轨迹。能够提前判断其他交通参与者的行为,例如是否可能变道、加速、或减速。

  • 通过准确的轨迹预测,自动驾驶系统可以在复杂的交通环境中做出更明智的决策,如调整自身的行驶路径、速度,或者进行紧急规避,从而避免潜在的事故。

占用预测的重要性

  • 占用预测是自动驾驶系统通过感知周围环境来预测道路区域的未来占用情况。这种预测对于理解视野外或被遮挡物体的行为尤为关键。例如,在交叉路口中,系统可能无法直接看到某些车辆,但通过占用预测,系统可以合理推测这些隐藏车辆的未来位置,进而避免碰撞或其他意外。

预测在决策中的作用

  • 预测作为输入,为系统的决策制定和运动规划提供了关键的上下文信息。结合预测结果,自动驾驶系统能够根据其他交通参与者的未来行为进行智能决策。这种决策并不仅仅是基于当前状态,而是基于未来一段时间内可能发生的变化,这使得自动驾驶系统能够提前应对复杂的交通场景,提高反应速度和安全性。

系统鲁棒性与安全性

  • 通过多模态感知和智能预测,自动驾驶系统可以处理更多复杂的情况。例如,系统可以处理被遮挡的车辆(occluded agents),预测它们的行为并做出相应的反应。这显著提高了系统的鲁棒性和安全性,特别是在复杂的城市环境或拥挤的交通场景中。

4.2 被遮挡的车辆(occluded agents)的处理

1. 基于感知的预测(Perception-Based Prediction)
  • 多传感器融合:通过融合激光雷达、摄像头和雷达等不同传感器的数据,可以提高检测和跟踪遮挡物体的能力。例如,如果摄像头视野被遮挡,雷达或激光雷达可能仍然能够探测到隐藏在障碍物后方的车辆。
  • 场景上下文推理:基于环境中的上下文信息(如地图、交通规则、其他已知的交通参与者行为模式),系统可以推测被遮挡物体的存在及其可能行为。例如在交叉路口,通过观察其他车辆的运动轨迹,可以推测出可能有隐藏车辆的存在。
  • 卷积神经网络(CNNs)与生成模型:这些模型可以用于预测被遮挡区域内可能存在的物体及其行为。生成模型(如GANs)能够帮助自动驾驶系统推测出遮挡区域内物体的潜在位置和运动轨迹。
2. 基于运动的预测(Motion-Based Prediction)
  • 基于历史运动数据的推断:系统可以基于历史的运动数据和轨迹来推断当前被遮挡车辆的位置。例如,利用贝叶斯滤波器、卡尔曼滤波器等经典方法来对被遮挡的物体进行轨迹预测。
  • 行为模型与意图预测:一些方法通过对交通参与者的行为建模,预测其未来的意图。例如,基于过去的运动轨迹,可以推测出遮挡的车辆是保持直行还是准备转向。
3. 概率图模型与多目标跟踪(Probabilistic Graph Models & Multi-Object Tracking)
  • 贝叶斯网络与马尔可夫决策过程(MDPs):这些方法能够为被遮挡的车辆建立概率模型,并通过模拟不同的场景与事件来推测出遮挡物体的行为。该方法可以计算出遮挡物体的可能分布和位置。
  • 多目标跟踪(MOT):通过联合跟踪可见和不可见的目标,系统可以保持对遮挡物体的持续跟踪。常见的技术包括联合数据关联算法、置信度传播模型等。
4. 基于仿真与训练的模型
  • 数据增强与仿真训练:自动驾驶系统通常会在模拟环境中训练对被遮挡物体的检测和推测能力。在这些模拟中,系统通过生成不同遮挡场景来学习如何处理被遮挡的物体。
  • 端到端深度学习模型:这些模型能够在训练过程中学习如何应对被遮挡的物体,通过大规模数据和仿真场景训练,增强对被遮挡物体的感知和预测能力。
5. 相关论文:
  • Occlusion-aware Object Detection and Tracking in Urban Scenes (https://ieeexplore.ieee.org/document/7963801)
  • Learning to Predict Vehicle Trajectories with Model-Based Planning (https://arxiv.org/abs/1810.04015)
  • Occupancy Flow: Joint Occupancy and Motion Learning for Autonomous Driving (https://arxiv.org/abs/2203.17272)
  • Scene Understanding for Autonomous Driving in Adverse Weather Conditions using Depth Estimation (https://ieeexplore.ieee.org/document/8917876)
  • A Probabilistic Framework for Occluded Object Reasoning in Vision-Based Autonomous Driving (https://arxiv.org/abs/2004.03044)

4.3 决策规划的重要性

image.png

4.4 预测经典方案:

image.png

image.png

image.png
image.png

  • Shi S, Jiang L, Dai D, et al. Motion transformer with global intention localization and local movement refinement[J]. Advances in Neural Information Processing Systems, 2022, 35: 6531-6543.

4.5 决策的经典方案

image.png

4.6 规划的经典方案

image.png

image.png
在这里插入图片描述

  • Hu Y, Yang J, Chen L, et al. Planning-oriented autonomous driving[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023: 17853-17862.

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

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

相关文章

环境搭建---部署rabbitmq集群

rabbitmq下载:https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.34/rabbitmq-server-generic-unix-3.8.34.tar.xz erlang下载:https://github.com/erlang/otp/releases/download/OTP-24.3.4.1/otp_src_24.3.4.1.tar.gz 配置主机名 …

MySQL原理之UUID主键分析,插入或更新语法分析

文章目录 1 MySQL不能用UUID做主键1.1 前言1.2 mysql和程序实例1.2.1 准备工作1.2.2 开始测试1.2.3 程序写入结果1.2.4 效率测试结果 1.3 使用uuid和自增id的索引结构对比1.3.1 自增id1.3.2 uuid 1.4 自增id缺点1.5 雪花算法 2 插入或更新2.1 on duplicate key2.1.1 定义2.1.2 …

git版本问题Your branch is behind ‘origin/dev‘by 2 commits,

git版本问题 一个不小心点击了版本的修改,于是就进入了翻滚中,回不来了 遇事还是不要慌,出现这个问题,如果那些你不需要,只是需要回到某一个版本,那么就是需要 git reset --hard origin/master 上面这就…

Vue3入门 - 登录功能开发(Vue3+ts+Pinia+Element Plus)

Vue3中实现登录功能,通常涉及到创建一个表单,用户输入用户名和密码,然后将信息发送到后端进行验证,得到响应结果后作出相应操作。 一、创建项目 这里他用pnpm进行项目的创建的,所以需要事先全局安装pnpm(在…

神经网络的非线性激活

文章目录 一、神经网络的非线性激活是什么二、非线性激活常用函数三、非线性激活的实际演示 一、神经网络的非线性激活是什么 神经网络的非线性激活函数的主要作用是引入非线性变换,从而使网络能够学习和逼近复杂的函数关系。在神经网络中,线性变换&…

[产品管理-4]:NPDP新产品开发 - 2 - 战略 - 制定企业经营战略目标的结构化方法与工具

目录 一、SWOT分析工具 1、SWOT分析工具概述 2、SWOT分析与企业战略目标制定的关系 3、SWOT分析在企业战略目标制定中的应用实例 4、SWOT分析的改进与应用建议 二、P E S T L E 分 析:外部环境分析 2.1 概述 1. 政治因素(Political) …

COCOS:(飞机大战08)子弹和飞机添加碰撞器和刚体

做两个物体的碰撞有2种方式:碰撞检测和触发检测 这里子弹不能和飞机使用碰撞检测,因为会影响到敌机的运动,所有选择使用触发检测 从预制体Prefabs文件中,将子弹Bullet1和Bullet2拖到Canvas下 选中子弹,添加组件&#…

多线程:java中的实现

实现1: 通过java.util.concurrent.atomic中的原子性数据实现 static class Counter {// 通过加锁实现同步public static int count 0;public static final Object obj new Object(); // 通过原子性的整型来实现同步public static AtomicInteger c…

DesignPattern设计模式

1 前言 1.1 内容概要 理解使用设计模式的目的掌握软件设计的SOLID原则理解单例的思想,并且能够设计一个单例理解工厂设计模式的思想,能够设计简单工厂,理解工厂方法了解建造者模式的思想,掌握其代码风格理解代理设计模式的思想&a…

应用层自定义协议与序列化

一、理解应用层 上一篇文章http://t.csdnimg.cn/931k6简单介绍了如何写tcp / udp 网络服务,但是其实始终是在应用层。 一个个解决我们实际问题, 满足我们日常需求的网络程序, 都是在应用层。 二、再谈协议 协议是一种 "约定"。socket api 的接口, 在读…

TiDB从0到1学习笔记(精华篇)

历时四个月,恭喜赵老师的《TiDB从0到1》 系列文章顺利完结,小编再次梳理一遍文稿,并附注解分享给大家。 整体架构 从 TiDB 1.0 到 8.0,TiDB 的体系结构一直在不断演进。接下来让我们一起看看整体架构的变化。 TiDB v1 TiDB v1&…

005——栈

目录 栈 栈的定义 栈的性质 栈的应用场景 存储结构: Ⅰ)采用顺序存储结构实现——顺序栈 Ⅱ)采用链式存储结构实现——链栈-->基于单链表(带头结点) 栈 栈的定义 之允许在一端进行插入和删除的线性表 栈的…

安卓获取apk的公钥,用于申请app备案等

要申请app的icp备案等场景,需要app的 证书MD5指纹和公钥,示例如下: 步骤1:使用keytool从APK中提取证书 1. 打开命令行,cd 到你的apk目录,如:app/release 2. 解压APK文件: unzip yo…

一维稳态与非稳态导热的详细分析

目录 引言 一维稳态导热 应用实例:单层平壁导热 数值求解: 一维非稳态导热 应用实例:单层平壁的非稳态导热 温度变化阶段 表格总结: 引言 热传导(Heat Conduction)是热量在物体内部通过微观粒子的相…

批量从word切割说话人!!对于转录后的文本进行纯数据清洗切割和区分说话人-批量从word切割说话人

battle AI的全过程 文章目录 初步切割同时基于文本中提取的动词变化类别做切割以及发言人变化路径设置 迁移模型到GPUbert输出空白debugCPU能运行的语义相似度代码GPU能用了但是没有加切分规则的代码 根据动词变化切分把发言人替换老师和学生的代码读取txt的代码先区分说话人&a…

Qt常用控件——QLCDNumber

文章目录 QLCDNumber核心属性倒计时小程序倒计时小程序相关问题 QLCDNumber核心属性 QLCDNumber是专门用来显示数字的控件,类似于这样: 属性说明intValue获取的数字值(int).value获取的数字值(double)和intValue是联动的例如value设为1.5,in…

黑马点评22——最佳实践-批处理优化

文章目录 pipeline和mset集群模式下的批处理问题 pipeline和mset pipeline就是大数据量的导入,pipeline是在单机模式下的。 redis的处理耗时相比较网络传输的耗时其实是比较低的。 所以我们最好采用批处理, 集群模式下的批处理问题 在集群环境…

生动灵活,MegActor重磅升级!旷视科技发布MegActor-Σ:首个基于DiT的人像动画方法!

文章链接:https://arxiv.org/pdf/2408.14975 项目链接:https://megactor-ops.github.io/ 亮点直击 一种新颖的混合模态扩散Transformer(DiT),能够有效整合音频和视觉控制信号。相较于之前基于UNet的方法,这…

qsort的理解--加强对指针的理解

前言:前面我们学习指针变量,数组指针变量,函数指针变量;这些实际上都是变量,实质上是在内存中开辟一块空间;而这些变量存储的都是地址。还有指针数组,函数指针数组,这指的是把多个地…

AIGC大模型扩图:Sanster/IOPaint(4)

AIGC大模型扩图:Sanster/IOPaint(4) 用大模型实现AI扩大一张图的周边区域,变得更大,当然必须契合原图,和原图浑然一体。 1、这次模型换用 Sanster/PowerPaint-V1-stable-diffusion-inpainting 启动&#xf…