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

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

相关文章

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

Mysql中isnull,ifnull,nullif的用法及语义详解

《Mysql中isnull,ifnull,nullif的用法及语义详解》MySQL中ISNULL判断表达式是否为NULL,IFNULL替换NULL值为指定值,NULLIF在表达式相等时返回NULL,用... 目录mysql中isnull,ifnull,nullif的用法1. ISNULL(expr) → 判

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、

SpringCloud使用Nacos 配置中心实现配置自动刷新功能使用

《SpringCloud使用Nacos配置中心实现配置自动刷新功能使用》SpringCloud项目中使用Nacos作为配置中心可以方便开发及运维人员随时查看配置信息,及配置共享,并且Nacos支持配... 目录前言一、Nacos中集中配置方式?二、使用步骤1.使用$Value 注解2.使用@Configur