自动驾驶中的决策规划

参考:  【干货篇】轻舟智航:自动驾驶中的决策规划技术(附视频回放 +PPT 下载) - AIQ

如图所示, 

各模块介绍

定位模块主要负责解答的问题是“车现在在哪里”,是在道路上还是在路口,是在高架桥上还是在停车场里。

感知模块则负责解答“车周围有什么”这个问题。

预测模块,预测模块主要解答“周围的车现在想干什么”,比如前面的车要cut in,预测模块就会给出前方车辆切入本车道的意图。(所以有他车意图预测的这个任务)

预测对于高级别自动驾驶的决策规划是非常关键的,就像人开车一样,通常都会通过预测周围交通参与者的行为来灵活调整当前的动作。所以预测越智能,最后自动驾驶的行为也越智能。

 高精度地图的作用

对于感知来说,利用高精度地图的信息可以过滤掉障碍物。像马路牙子上一般不太可能停大卡车,高速公路上一般也不太可能有横穿马路的行人,所以感知通常会通过高精度地图信息来做一些预处理

预测也会利用高精度地图中的语义信息去预测车辆行为。比如路口有一辆车正停在左转车道上,那么预测模块会根据这个信息来判断,在接下来绿灯亮时它大概率会左转,而不会直行或右转。

决策规划模块

主要通过接收上游的定位、地图和预测信息,来决定车辆应该怎么走。

决策规划模块会根据自身当前位置和状态以及周围路况,输出一条轨迹下发给下游控制模块,然后控制模块将轨迹信息转译成可发送给下游执行器的命令,如油门、刹车、方向盘角度等等,控制车辆按照规划的路径去行驶。

主要包括三个子模块,分别是导航模块、决策模块和轨迹规划模块.

导航模块

首先是导航模块,我们开车出去或要远行都会首先拿出手机地图软件选定一个目的地,然后规划一条路线(此时的路线还是比较粗粒度的, 只是一个routing的信息)。对于自动驾驶来说,导航模块功能也是类似,主要在给定地图上任意两点a点和b点之后,寻找一条从a点到b点的导航路线。以上图为例,假如车辆位置是a点,然后又给定了终点b点,导航模块最终会根据路网信息来决定应该通过什么样的车道级路线到达b点。

决策--车道决策

对于自动驾驶来说,一般包含两级决策,第一级决策叫做车道决策,指在路上行驶时,我们是应该保持当前车道直行,还是借旁边车道再返回本车道,或因为某个目的而进行变道(上图分别对应这三种情况)

障碍物决策

当有了车道决策和障碍物决策后,就可以共同为下游的轨迹规划提供一个可行解空间,做进一步的轨迹优化了。

最后一个部分就是轨迹规划,主要指当我们给定导航路线,以及车道决策、障碍物决策后,怎么去定量地规划一条从当前位置指向目的地的轨迹。

通常轨迹规划所输出的轨迹需要满足一些性质,第一是一定要保证安全,不能与周围的障碍物发生碰撞;第二是需要比较舒适,加减速尽量平滑,在通过一些曲率比较大的路口时,速度也不要太快;第三是要求遵守交通规则,满足道路限速,遇到人行横道上的行人要礼貌让行。满足以上要求后,还要求轨迹能尽量快地将车辆引导到目的地。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis 集合(Set)快速指南 | Navicat

Redis 支持通过多种数据类型来存储项目集合。其中,包括列表、集合和哈希。上周的博文介绍了列表(List)数据类型并重点介绍了一些用于管理列表(List)的主要命令。在今天的文章中,我们将转向关注集合&#xf…

怒刷LeetCode的第11天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一:迭代 方法二:递归 方法三:指针转向 第二题 题目来源 题目内容 解决方法 方法一:快慢指针 方法二:Arrays类的sort方法 方法三:计数器 方法四…

Neo4j图数据库_web页面关闭登录实现免登陆访问_常用的cypher语句_删除_查询_创建关系图谱---Neo4j图数据库工作笔记0013

由于除了安装,那么真实使用的时候,就是导入数据了,有了关系和节点的csv文件以后如果用 cypher进行导入数据和创建关系图谱,还有进行查询,以及如果导入错误如何清空,大概是这些 用的最多的,单独把这些拿进来,总结一下,用的会比较方便. 1.实现免登陆访问: /data/module/neo4j-…

【动态规划刷题 16】最长等差数列 (有难度) 等差数列划分 II - 子序列

1027. 最长等差数列 https://leetcode.cn/problems/longest-arithmetic-subsequence/ 给你一个整数数组 nums&#xff0c;返回 nums 中最长等差子序列的长度。 回想一下&#xff0c;nums 的子序列是一个列表 nums[i1], nums[i2], …, nums[ik] &#xff0c;且 0 < i1 <…

Spring Cloud Alibaba Nacos 2.2.3 (2) - 单机版启动 (winodows 和 linux )

Nacos 2.2.3 (1) - 下载与数据库配置 参考下载与数据库配置 启动服务器 执行 nacos-server-2.2.3\bin 下的startup.sh或者startup.cmd &#xff08;根据不同系统&#xff09; windows 下nacos 单机启动 方式一&#xff1a; 1&#xff0c;打开cmd 2&#xff0c;cd 到nacos-s…

什么是虚拟DOM(Virtual DOM)?它在前端框架中的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是虚拟DOM&#xff08;Virtual DOM&#xff09;&#xff1f;⭐ 虚拟DOM 在前端框架中的作用⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&…

sudo apt-get update失败的原因和解决方法

ubuntu更新资源包时出现连接超时的问题&#xff1a; 无法发起与 cn.archive.ubuntu.com:80 (2403:2c80:5::6) 的连接 - connect (101: 网络不可达) 无法连接上 cn.archive.ubuntu.com:80 (45.125.0.6)&#xff0c;连接超时 正在读取软件包列表… 完成 W: 无法下载 http://cn.ar…

Vue路由和Node.js环境搭建

文章目录 一、vue路由1.1 简介1.2 SPA1.3 实例 二、Node.js环境搭建2.1 Node.js简介2.2 npm2.3 环境搭建2.3.1 下载解压2.3.2 配置环境变量2.3.3 配置npm全局模块路径和cache默认安装位置2.3.4 修改npm镜像提高下载速度 2.4 运行项目 一、vue路由 1.1 简介 Vue 路由是 Vue.js…

使用GPT训练中秋古诗写作讲解

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;CSDN博客专家&#xff0c;阿里云社区专家博主&#xff0c;2023年6月CSDN上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师…

PyTorch C++ 前端:张量

本篇文章将尝试了解 PyTorch 组件的高级概述以及它们如何配合。 PyTorch 组件的高级概述 后端 PyTorch 后端是用 C++ 编写的,它提供 API 来访问高度优化的库,例如:用于高效矩阵运算的张量库、用于执行 GPU 运算的 CUDA 库以及用于梯度计算的自动微分等。 前端 可以使用…

如何通过百度SEO优化提升网站排名(掌握基础概念,实现有效优化)

随着互联网的发展&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;成为了网站优化中不可或缺的一部分。在中国&#xff0c;百度搜索引擎占据着主导地位&#xff0c;因此掌握百度SEO概念和优化技巧对网站的排名和曝光非常重要。 百度SEO排名的6个有效方法&#xff1a; 首…

前后端分离的低代码快速开发框架

低代码开发正逐渐成为企业创新的关键工具。通过提高开发效率、降低成本、增强灵活性以及满足不同用户需求&#xff0c;低代码开发使企业能够快速响应市场需求&#xff0c;提供创新解决方案。选择合适的低代码平台&#xff0c;小成本组建一个专属于你的应用。 项目简介 这是一个…

PHP通过pem文件校验签名异常

问题描述&#xff1a; 在对接第三方支付过程中&#xff0c;支付成功异步回调时&#xff0c;校验签名&#xff0c;一直无法通过。 但是在支付成功时有一个同步返回也需要校验签名&#xff0c;用的是同样的校验方法&#xff0c;都没有问题。 当把回调时传递的参数放在postman中&a…

测试域: 流量回放-工具篇jvm-sandbox,jvm-sandbox-repeater,gs-rest-service

JVM-Sandbox Jvm-Sandbox-Repeater架构_小小平不平凡的博客-CSDN博客 https://www.cnblogs.com/hong-fithing/p/16222644.html 流量回放框架jvm-sandbox-repeater的实践_做人&#xff0c;最重要的就是开心嘛的博客-CSDN博客 [jvm-sandbox-repeater 学习笔记][入门使用篇] 2…

MYSQL存储引擎基础知识介绍

下面重点介绍几种常用的存储引擎,并对比各个存储引擎之间的区别&#xff0c;以帮助读者理解 不同存储引擎的使用方式。 MyISAM MyISAM是 MySQL的默认存储引擎。MyISAM不支持事务、也不支持外键&#xff0c;其优势是访 问的速度快&#xff0c;对事务完整性没有要求或者以 SEL…

java面向对象(八)

文章目录 一、abstract关键字的使用1.概念2. abstract修饰类:抽象类3.abstract修饰方法&#xff0c;抽象方法4.abstract使用上的注意点&#xff1a;5.抽象类的匿名子类 二、计算一段代码执行所花费的时间三、接口的使用1.接口的使用2.定义接口中的成员3.代码demo4.Java类可以实…

stm32学习-芯片系列/选型/开发方式

【03】STM32HAL库开发-初识STM32 | STM概念、芯片分类、命名规则、选型 | STM32原理图设计、看数据手册、最小系统的组成 、STM32IO分配_小浪宝宝的博客-CSDN博客  STM32&#xff1a;ST是意法半导体&#xff0c;M是MCU/MPU&#xff0c;32是32位。  ST累计推出了&#xff1a…

爬虫 — App 爬虫(一)

目录 一、介绍二、APP 爬虫常见反爬三、APP 抓包常用工具四、模拟器五、安装 APP1、下载 APP2、安装 APP 六、fiddler1、工作原理2、安装3、基本介绍 七、环境配置1、fiddler 的配置2、夜神模拟器的配置 八、案例 一、介绍 爬虫分类——数据来源 1、PC 端爬虫&#xff08;网页…

Linux 打包压缩命令

目前 linux 中打包和压缩的命令很多&#xff0c;最常用的方法有 zip、gzip、bzip2、xz、tar 1.zip 压缩包 //制作 //-r 递归 表示将指定的目录下的所有子目录以及文件一起处理 zip -r public.zip public//解压 unzip public.zip unzip public.zip -d dir//查看 unzip -l publi…

Android嵌套事务

这时候旋转设备还是会重置秒表。旋转设备时Android会重新创建活动。如果你的活动包含一个 < fragment >元素&#xff0c;每次重新创建活动时&#xff0c;它会重新插入片段的一个新版本。老片段被丢掉&#xff0c;所有实例变量会设置其初始值。在这个特定的例子中&#xf…