自动驾驶轨迹规划之时空语义走廊(一)

2024-03-24 12:04

本文主要是介绍自动驾驶轨迹规划之时空语义走廊(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎大家关注我的B站:

偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com)

目录

1.摘要

2.系统架构

3.MPDM

4.时空语义走廊

​4.1 种子生成

4.2 具有语义边界的cube inflation

​4.3 立方体松弛


本文解析了丁文超老师的这篇论文Safe Trajectory Generation for Complex Urban Environments Using Spatio-Temporal Semantic Corridor | IEEE Journals & Magazine | IEEE Xplore

1.摘要

引入:城市道路轨迹规划的难点在于有很多语义元素。

创新点1:不同的语义元素有不同的数学表征形式,提出了一种新的统一的时空语义走廊来为不同类别的语义元素来提供abstraction,可以推广到任何语义元素组合的场景。

创新点2:SSC由一系列互相连接的无碰撞cubes组成,其中包含了动态约束,并且轨迹生成问题可以归结于一个QP问题,并且通过贝塞尔曲线来保证轨迹安全性和可行性。

2.系统架构

第一阶段:环境理解,通过语义地图管理器管理用于本地规划目的的语义要素

第二阶段:包含自车high-level的行为预期以及他车预测轨迹的预测器

第三阶段:利用多策略决策的行为规划器

第四阶段:离散未来状态作为生成走廊的种子的运动规划器

3.MPDM

行为规划问题被被表述为多智能体的POMDP问题,来对动态环境中的交互和不确定性进行建模。但是当车辆数量增加,计算负担会很重。MDPM将问题简化为有限的闭环离散策略(如向左变道,车道保持等)。自车和他车都在执行简单的策略。

自车和他车的预测都通过简化的模型前向模拟来实现,并且结合理想化的转向和速度控制器来评估最佳行为。而自车的前向模拟状态是走廊生成过程中的种子。由于粗糙的分辨率和简化的模型,这不能直接由车辆执行,这也是轨迹生成器的必要性。

MPDM同时为多个行为提供前向模拟,我们为所有潜在行为生成候选轨迹。

4.时空语义走廊

由于大多数语义元素都与车道几何结构有关,因此我们需要将笛卡尔坐标系转换到基于参考车道的frenet坐标系,并且对于时空联合规划我们将处理一个SLT三维配置空间。语义主要有obstacle-like和constraint-like两类元素。障碍物就是slt空间内不允许驶入的空间,约束就是一些速度限制等。而语义边界可以对所有constraint-like的元素进行统一的表示。

下图则是走廊生成的算法流程

4.1 种子生成

种子是由行为规划器中前向模拟状态投影到SLT空间下得到的。我们要求连续种子构建的初始立方体无碰撞,例如,对于以30m/s的纵向速度和0.15s的种子分辨率,所需的间隙约为4.5m,这比需要的紧急制动距离短得多。因此,如果有碰撞直接驳回的判断是合理的。

而在种子周围生成走廊的动机是对拓扑等效的自由空间进行建模。比如这张图显示了种子的拓扑含义是在这两个动态障碍物之间通行。由于膨胀在碰到语义边界或障碍物后停止,因此膨胀过后的走廊的同伦与种子是一样的。

4.2 具有语义边界的cube inflation

初始立方体是通过两个连续的种子生成的,立方体的膨胀是在碰到障碍物与语义边界时停止。这样处理使得不在语义边界内的立方体不用考虑约束,在语义边界的立方体直接关联约束。未来保持凸性,立方体之间没有重叠。但也可以引入时间进行优化,重叠可能是有益的。

4.3 立方体松弛

在立方体膨胀过程之后,膨胀的立方体几乎与语义边界匹配,但比如变道持续时间约束等都是软约束,我们可以通过cube relaxation来松弛边界,但要保持硬约束和无碰撞。允许松弛的最大裕度一般由两个连续立方体结合运动学去估计。

下一次将介绍轨迹生成与实验

这篇关于自动驾驶轨迹规划之时空语义走廊(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java中实现订单超时自动取消功能(最新推荐)

《Java中实现订单超时自动取消功能(最新推荐)》本文介绍了Java中实现订单超时自动取消功能的几种方法,包括定时任务、JDK延迟队列、Redis过期监听、Redisson分布式延迟队列、Rocket... 目录1、定时任务2、JDK延迟队列 DelayQueue(1)定义实现Delayed接口的实体类 (

shell脚本自动删除30天以前的文件(最新推荐)

《shell脚本自动删除30天以前的文件(最新推荐)》该文章介绍了如何使用Shell脚本自动删除指定目录下30天以前的文件,并通过crontab设置定时任务,此外,还提供了如何使用Shell脚本删除E... 目录shell脚本自动删除30天以前的文件linux按照日期定时删除elasticsearch索引s

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

IDEA如何让控制台自动换行

《IDEA如何让控制台自动换行》本文介绍了如何在IDEA中设置控制台自动换行,具体步骤为:File-Settings-Editor-General-Console,然后勾选Usesoftwrapsin... 目录IDEA如何让控制台自http://www.chinasem.cn动换行操作流http://www

vscode保存代码时自动eslint格式化图文教程

《vscode保存代码时自动eslint格式化图文教程》:本文主要介绍vscode保存代码时自动eslint格式化的相关资料,包括打开设置文件并复制特定内容,文中通过代码介绍的非常详细,需要的朋友... 目录1、点击设置2、选择远程--->点击右上角打开设置3、会弹出settings.json文件,将以下内

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

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