自动驾驶中的决策规划技术分享--轻舟智航

文章目录

    • 0.概述:
    • 1 导航模块
    • 2 决策模块
      • 2.1 车道决策
      • 2.2 障碍物决策
    • 3 轨迹规划
      • 3.1 时空分离规划
      • 3.2 时空联合规划
    • 4 对比

0.概述:

李仁杰,轻舟智航规划算法负责人,自动驾驶决策与规划技术专家。
在自动驾驶系统中,决策规划模块用于解决车辆“怎么走”的问题。与业界惯用的时空分离算法不同,轻舟智航采用时空联合规划算法,同时在空间和时间维度求解最优行车轨迹,得到更加舒适、安全、拟人的驾驶行为。

总体介绍
image

1 导航模块

image

2 决策模块

2.1 车道决策

  • 车道保持

  • 借道

  • 变道

image

  • 基于规则与有限状态机的变道决策

image

  • 基于轨迹评价的变道决策算法

image

变道的难题

  • 静止车辆是否需要绕行

  • 拥挤场景下如何完成变道

image

2.2 障碍物决策

  • 给定车道决策下,定性地决定如何处理障碍物
    • 前有石头挡路,决定从左绕开还是从右绕开

    • 前面有车要cut in时,选择加速超过,还是选择减速让行

image

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

3 轨迹规划

给定导航路线,以及车道决策、障碍物决策后,怎么去定量地规划一条从当前位置指向目的地的轨迹。

image

时空联合规划技术

3.1 时空分离规划

  • 将三维时空下的决策和规划分解成路径规划和速度规划两个二维问题。

    • 第一步通常是仅考虑周围的静态障碍物,对静态障碍物做相应的横向决策,规划一条与静态障碍物没有碰撞的路径。

    • 第二步在上一步规划的路径上,对动态障碍物做是否让行的决策,在路径上规划出一条不与动态障碍物发生碰撞的速度曲线。

    • 最后一步将路径与速度曲线进行组合,得到最终输出的轨迹。

image

  • 优点:把一个三维的问题分解成了两个二维问题,适用于纵横向运动比较解耦的场景,比如比较简单的静态绕障和路口让行。

  • 缺点:很难实现与动态障碍物较复杂的纵横向联合交互,如超车、动态避让等等。对于前车慢行的场景,如果想去规划一条超车轨迹,是很难通过时空分离规划框架去实现的。

3.2 时空联合规划

  • Step 1 时空联合决策

    • 不区分障碍物是动态还是静态,对障碍物做决策也不会区分横向纵向,而是统一在三维时空里对障碍物做定性的决策。

    • 对障碍物做4种决策,分别是让行、超车、从左侧绕行和从右侧绕行这四种定性决策。

image

以上图右侧场景为例,前方有一辆蓝色慢车,右车道又有一辆紫色稍快一点的车,现在对这两个障碍物有两组决策方案.

  • 从蓝车后面加速向右变道,切入紫车前方。在这个决策方案下,对蓝车的决策是从右侧绕行,对紫车的决策是超车。

  • 在蓝车后面先减速等待,再向右变道,切入紫车后方。在这个决策方案中,对蓝车的决策仍然是从右侧让行,对紫车的决策就变成了让行。

Step 2 时空联合优化

image

时空联合优化算法:

  • 首先将时空联合决策的结果提炼为凸可行域,作为时空联合优化的状态安全约束集。比如上一步选择了决策方案一,就会得到不同时刻的可行区域,

  • 通过可行区域构造一个非线性的时空联合优化问题。对于这个时空联合的非线性优化问题,目标函数包含了轨迹的舒适性、效率以及对导航路线的跟踪性能等。我们用到的车辆模型一般也是非线性的,这样可以保证最后求解出的轨迹是实际可执行的

  • 非线性优化问题求解

4 对比

马路对面有公交车正从对向驶来,同时前方还有一辆低速自行车。

对于时空分离规划来说,它很难灵活地与周围的动态障碍物进行复杂绕行,所以只能规划出一条慢慢跟随自行车的轨迹。

image

时空联合规划来说,它可以更加灵活地处理障碍物,可以规划一条先从左边绕行自行车、然后在公交车驶到近处之前从公交车右边对自行车超车的轨迹。

image

image

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

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

相关文章

基于SSM的宿舍管理系统的设计与实现 (含源码+sql+视频导入教程+文档+PPT)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的宿舍管理系统9拥有两种角色:管理员和用户 管理员:宿舍管理、学生管理、水电费管理、报修管理、访客管理、各种信息统计报表 用户:个人信息管…

python mysql pymysql 数据库操作,常用脚本,个人小工具

起因, 目的: 整理 mysql 工具 启动数据库 检查服务器是否启动了: Get-Service -Name ‘mysql*’ 如果没启动的话,那么就启动: net start MySQL80 (最好是开启管理员权限) 1, 日常最常用的,创建连接 --> 查看所有数据库 —> 查看所有…

Docker 部署 sqlserver数据库,并且还原bak文件,使用MSSM 连接 sqlserver

文章目录 1 docker 安装mssql2 使用MSSM连接sqlserver3 还原bak文件 1 docker 安装mssql 拉取镜像 docker pull mcr.microsoft.com/mssql/server:2019-latest运行镜像生成容器 docker run -e "ACCEPT_EULAY" -e "MSSQL_SA_PASSWORDYourPassword123" -p 143…

CSS入门笔记

目录 概述 组成 CSS 语法 常见的使用方式 CSS 优先级 CSS 选择器 1. 基本选择器 2. 属性选择器 3. 伪类选择器 4. 组合选择器 示例 优先级 边框样式与盒子模型 单个边框 边框轮廓(Outline) 盒子模型 模型介绍 边距设置 布局示例 文…

一个基于VB的期刊信息管理系统

一个基本的期刊信息管理系统的示例,使用 Visual Basic (VB.NET) 编写。这个示例将展示如何创建一个简单的期刊信息管理系统,其中包括添加、查看、编辑和删除期刊的功能。 系统需求 添加期刊:允许用户输入期刊的信息(如标题、作者…

如何使用 maxwell 同步到 redis?

文章目录 1、MaxwellListener2、MxwObject1. 使用Maxwell捕获MySQL变更2. 将Maxwell的输出连接到消息系统3. 从消息系统读取数据并同步到Redis注意事项 1、MaxwellListener package com.atguigu.tingshu.album.listener;import com.alibaba.fastjson.JSON; import org.apache.…

文心一言 VS 讯飞星火 VS chatgpt (350)-- 算法导论24.1 1题

一、在图 24-4上运行Bellman-Ford算法,使用结点 z z z作为源结点。在每一遍松弛过程中,以图中相同的次序对每条边进行松弛,给出每遍松弛操作后的 d d d值和 π π π值。然后,把边 ( z , x ) (z,x) (z,x)的权重改为 4 4 4&#xf…

傅里叶变换的基本性质和有关定理

一、傅里叶变换的基本性质 1.1 线性性质 若 则 其中:a,b是常数 函数线性组合的傅里叶变换等于歌函数傅里叶变换的相应组合。 1.2 对称性 若 则 关于傅里叶变换的对称性还有 虚、实、奇、偶函数的傅里叶变换性质: 1.3 迭次傅里叶变换 对f(x,y)连续两次做二维傅里叶变换…

Datawhile 组队学习Tiny-universe Task01

Task01:LLama3模型讲解 仓库链接:GitHub - datawhalechina/tiny-universe: 《大模型白盒子构建指南》:一个全手搓的Tiny-Universe 参考博客:LLaMA的解读与其微调(含LLaMA 2):Alpaca-LoRA/Vicuna/BELLE/中文LLaMA/姜子…

前端框架对比和选择

​ 大家好,我是程序员小羊! 前言: 前端框架选择是前端开发中的关键决策,因为它影响项目的开发效率、维护成本和可扩展性。当前,最流行的前端框架主要包括 React、Vue 和 Angular。它们各有优劣,适用于不同…

msvcp140.dll丢失如何解决?msvcp140.dll丢失的多种解决方法

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“msvcp140.dll丢失”。这个错误通常会导致某些应用程序无法正常运行,给用户带来很大的困扰。那么,当我们遇到msvcp140.dll丢失的情况时,应该如何解决呢&a…

【HTTP】HTTP报文格式和抓包

文章目录 HTTP 是什么HTTP 报文格式抓包工具抓包工具的原理抓包结果请求响应 IP,数据链路层,DNS… 都是理论为主,TCP/UDP 虽然有一些时间,但课堂内容不多 HTTP 理论和实践同样重要,未来作为 web 开发程序猿&#xff0…

机房监控运维工作的全面优化:以监控易一体化运维软件为助力

在当今高度信息化的社会,数据中心的运维工作显得尤为重要。为了确保机房环境的稳定、服务器和存储设备的正常运行、操作系统和数据库的持续高效,以及中间件服务的可靠性,运维团队需要执行一系列精细化的管理和操作。本文将以监控易一体化运维…

扩展------SpringBoot的自动装配机制+自定义一个Starter

SpringBoot的自动装配机制 SpringBoot提供给我们只要将框架的依赖包引入pom文件中,就可以帮助我们自动配置好,我们开箱即用,非常方便,底层原理是如何的呢? 首先自动装配依赖于EnableAutoConfiguration注解。 往下走&a…

PCIe扫盲(九)

系列文章目录 PCIe扫盲(一) PCIe扫盲(二) PCIe扫盲(三) PCIe扫盲(四) PCIe扫盲(五) PCIe扫盲(六) PCIe扫盲(七&#xff09…

测试栏杆天线和金属圆管天线的差异

今天用网分测试了大约800mm的拉杆天线和800mm的金属圆管的s11的差异。 拉杆的最粗部分10mm,最细部分6mm。圆管的直径为均匀26mm。 两者的谐振频率在60Mhz左右。(这也说明了谐振频率只要由长度决定) 拉杆天线的swr 圆管的swr 注:上图因为网…

六个神级AI绘画技巧,让你的作品瞬间高级感爆棚!

大家好,我是Shelly,一个专注于输出AI工具和科技前沿内容的AI应用教练,体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具,拥抱AI时代的到来。 在艺术的世界里,AI绘画正成为一…

网络原理(4)——网络层(IP)、数据链路层

1. IP 协议 基本概念: 主机:配有 IP 地址,但是不进行路由控制的设备 路由器:即配有 IP 地址,又能进行路由控制 节点:主机和路由器的统称 IP 协议报头格式 1) 4 位版本:实际上只有两个取值&…

扣子智能体实战-快速生成公众号爆款标题的智能体

文章目录 一,创建一个智能体二,创建工作流1,开始结点增加一个theme变量2,新增一个大模型节点3,新增一个代码结点4,发布工作流5, 工作流概览 三,增加开场白 如果是做公众号&#xff0…

Linux线程基础

🌎 Linux线程 文章目录: Linux线程 线程概念       线程的理解 再谈地址空间 线程控制       线程等待       线程资源共享       线程退出       线程异常       线程分离       理解线程tid 线程切换 线程…