决策规划框架 - (解耦:路径规划和速度规划 | 耦合:行为规划和轨迹规划)

1 解耦策略

1.1 概述

核心思想:
(1)路径规划:假定环境是“静态的”,将障碍物投影到参考路径上,并规划路径避开这些障碍物
(2)速度规划:根据路径规划给出的路径,将静态/动态障碍物投射到ST图上,并在ST图上规划一条速度曲线
Path planning
在这里插入图片描述
基于当前的静态环境,生成路径边界来描述可通行区域。通常,这是一个凸集,确保优化的质量
可以在Frenet l ( s ) l(s) l(s)和笛卡尔坐标系 x ( s ) , y ( s ) x(s),y(s) x(s),y(s)下进行路径规划
Speed planning

在这里插入图片描述
投影:基于障碍物的预测信息,阻碍自车给定的路径的障碍物在图中用红色和橙色标记

s ( t ) s(t) s(t)的高阶导数信息也包含在ST图中,例如都是平行四边形,可以看出障碍物都是匀速运动

自动驾驶汽车轨迹优化的实时运动规划

在这里插入图片描述

Baidu Apollo EM Motion Planner

在这里插入图片描述

1.2 路径规划
1.2.1 SL 投影

在这里插入图片描述
SL Projection:将动态、静态障碍物投影到参考线,
(1)用上一帧规划周期的ST估计自车未来行为和低速动态障碍物是否会交互,通过路径优化器
(2)基于上面的投影过程,假设用于路径规划的“静态”环境

1.2.2 DP路径决策

在这里插入图片描述
(1)在自车前面采样多行点。点行之间的间隔取决于速度、道路结构
(2)不同行的点之间用五次多项式平滑地连接
(3)基于上述过程构造Lattice图,可以使用DP在图中找到最优路径
(4)提供一个路径的粗解,这条路径具有可行隧道和障碍物级别的决策

计算每条边的Cost:DP 路径决策

在这里插入图片描述

1.2.3 QP路径优化

在这里插入图片描述
(1)DP路径是次优的,因为Lattice图不能完全覆盖全局最优解
(2)五次样条QP路径是动态规划路径步骤的细化,构造一个凸空间

QP路径优化Cost函数设计
在这里插入图片描述
(1)这一步g(s)指的是DP路径,提供了对障碍物的距离
(2)使用线性化约束近似考虑航向的影响
在这里插入图片描述

1.3 速度规划
1.3.1 ST投影

在这里插入图片描述
(1)将静态障碍物和动态障碍物轨迹投影到路径规划SL的路径上,构建ST图
(2)速度规划的任务就是在ST图上找到最优曲线

1.3.2 DP速度决策

在这里插入图片描述
(1)和路径优化器类似,在ST图上找到最佳速度曲线是一个非凸优化问题
(2)DP结果包括分段线性速度曲线,基于DP结果构造可行凸区域和障碍物速度决策

基于离散的ST网格,高阶 导数用有限差分法近似
在这里插入图片描述
成本函数设计为:
在这里插入图片描述

1.3.3 QP速度优化

在这里插入图片描述
(1)分段线性速度曲线不能满足动力学要求,几乎不可能是全局最优解,需要用样条QP步骤优化
(2)与路径优化类似,基于五次样条的二次规划用于生成更精细的轮廓

五次样条速度优化的目标函数设计:
在这里插入图片描述
线性约束:
在这里插入图片描述

1.4 总结

DP + QP:
(1)使用DP在网格中搜索能得到一个粗解
(2)DP结果用于生成凸集并且引导QP
(3)QP用于搜索在凸区域里面的全局最优解

EM planner的缺陷:
(1)动态规划非常耗时

1 DP需要遍历图中的所有节点去获得最优解
2 与基于 A* 的方法相比,一个好的启发式函数可以快速引导算法找到最优解

(2)EM planner速度规划是次优的

例如如果速度限制依赖于位置,则对应于相同时间戳的速度约束随着优化过程速度曲线不断变化,使得问题非凸

2 耦合策略

(1)行为决策
目标是找到不同的机动行为,并找到一个最优的

(1) 变道决策:左右变道
(2) 障碍物决策:向左绕/向右绕,超车或跟车

(2)轨迹规划
轨迹规划是在相应的时空中生成局部平滑和安全的轨迹

2.1 行为规划
2.1.1 基于规则的变道决策(有限状态机)

在这里插入图片描述
基于规则的变道决策
在这里插入图片描述
优点:易于实施,强大的可解释性
缺点:可维护性差,可拓展性差

2.1.2 基于轨迹的变道决策

在这里插入图片描述
在这里插入图片描述
核心思想:
(1)不做出明确的车道决策,而是基于不同的目标车道规划轨迹,并且最终根据轨迹的最高质量做出决策
(2)确保决策和规划结果是一致的,不会突然做决定
(3)从轨迹规划的结果可以得到更详细的信息,使得决策更加合理

2.1.3 障碍物决策

在这里插入图片描述
(1)根据给定的目标车道,为静态或者动态障碍物做出决策(1 向左/向右绕 2 超车还是跟车)
(2)决策结果包括语义标签和时空安全走廊,以及粗糙的轨迹(后期需要平滑)
在这里插入图片描述
(1)行为模块将最优行为决策 b ∗ b^* b和粗解轨迹 τ ∗ \tau^* τ传递给轨迹规划阶段
(2)对采样轨迹打分,并选择成本最低的轨迹作为行为规划的结果
(3)行为和轨迹模块使用相同的学习成本权重集最小化相同的成本函数
在这里插入图片描述
轨迹采样器(两段四次多项式)

纵向轨迹 s ( t ) {s(t)} s(t)
横向轨迹 d ( s ) d(s) d(s)

统一成本函数

障碍物、行驶路径和车道边界、航行速度、让路、路线、Cost to go、速度限制,行驶距离,动力学要求

在这里插入图片描述
行为决策包括障碍侧分配和车道信息
b ∗ b^* b编码为左右车道边界、行驶路径和障碍物分配,确定障碍物在时间t时刻停留在汽车的前后左右

基于搜索/采样的障碍物决策

可以通过基于搜索(A*,DP,…)的规划算法和基于采样的方法规划粗解。
在这里插入图片描述

2.2 轨迹规划
基于时空联合的轨迹优化方法

在这里插入图片描述
输入
(1)参考路径(目标车道)
(2)粗糙的轨迹
(3)时空安全走廊(障碍物决策)
输出
轨迹:{ t → ( x , y , θ , v ) t\to (x,y,\theta,v) t(x,y,θ,v)}
目标
(1)安全:对于静态和动态障碍物无碰撞
(2)舒适:输出轨迹足够平滑
(3)动态可行:能够被控制器执行
在这里插入图片描述
目标函数设计:
在这里插入图片描述
约束设计:
在这里插入图片描述
把硬约束转换为软约束
在这里插入图片描述

对于约束函数: g ( x , u ) < 0 g(x,u)<0 g(x,u)0,使用惩罚函数来惩罚违反约束的部分
对于不同类型的约束,选择具有不同惩罚程度的惩罚函数

简要介绍ILQR算法

目标函数和离散动力学
在这里插入图片描述
最优控制的解
在这里插入图片描述
定义cost-to-go函数
在这里插入图片描述
定义Q函数
在这里插入图片描述
在这里插入图片描述
使用行为决策的输出
在这里插入图片描述
(1)约束从行为规划模块的输出生成的时空走廊轨迹
(2)凸可行区域使优化更加稳定

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

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

相关文章

使用poi将pptx文件转为图片详解

目录 项目需求 后端接口实现 1、引入poi依赖 2、代码编写 1、controller 2、service层 测试出现的bug 小结 项目需求 前端需要上传pptx文件,后端保存为图片,并将图片地址保存数据库,最后大屏展示时显示之前上传的pptx的图片。需求看上…

图文证明 泰勒公式展开

泰勒公式 泰勒公式简单来说就是,可以用一个N次多项式来表示出一个连续可导的函数 f(x) 是一个用函数在某点的信息描述其附近取值的公式 第一步 思考 这是一个sin(x)的图像 用函数在原点的信息描述其附近取值 用一阶导数贴合: 直接用切线来贴合就好 画一个点(0,sin(0)除的切…

Q-Tester:适用于开发、生产和售后的诊断测试软件

Q-Tester.Expert是一款基于ODX(ASAM MCD-2D / ISO 22901-1)国际标准的工程诊断仪。通过此诊断仪可实现与ECU控制器之间的数据交互。这一基于ODX国际标准的解决方案,其优势在于:ODX数据库不仅可在开发部门交互,而且可在…

浅谈WAF——守护网络安全的无形之盾

随着信息化时代的到来,网络已逐渐融入我们日常生活的方方面面。然而,与此同时,网络安全问题却也如影随形。为此,一种名为“Web应用防火墙”的工具应运而生,简称"WAF"。 WAF是什么? WAF&#xf…

【RDMA】rdma-core驱动源码包|ibverbs|rdmacm

目录 源码包 编译 用法 驱动包内的例子 其他 源码包 mellanox的rdma驱动源码包形式如下: MLNX_OFED_LINUX-5.8-1.1.2.1-rhel9.0-ext/src/MLNX_OFED_SRC-5.8-1.1.2.1/SRPMS rdma-core-58mlnx43-1.58112.src.rpm rpm -ivh rdma-core-58mlnx43-1.58112.src.rpm 安装完…

前端基础:Vue搞笑白话文(工作之余瞎写)

1、data:{}与data(){return{}}这两个是个什么鬼? vue实例 new Vue({el:#app,data:{name:李四}}) 组件实例 const aaa Vue.extent({data(){return {name:}} }) 为什么Vue实例可以那么写而组件实例就不行了?原因就是因为在底层原理上,组件…

VSCode团队工程实践:通过名称混淆将代码大小减少了20%

​我们最近将Visual Studio Code的JavaScript代码大小减少了20%。这相当于节省了3.9 MB多一点的空间。当然,这比我们发布说明中的一些单个gif图片的大小要少,但这仍然十分可观。这种减少不仅意味着您需要下载和存储在磁盘上的代码更少,而且还…

蓝桥杯C/C++程序设计——成绩统计

题目描述 小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。 如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。 请计算及格率和优秀率,用百分数表示&am…

Git 常用命令知识笔记

Git 仓库数据结构 Git 仓库由一个个的 commit 组成某些 commit 上会有一些 branch 指向它们,这些 branch 的本质是引用有一个特殊的引用叫做 HEAD,它始终指向当前的位置,这个位置可以是 commit,也可以是 branch staging area 暂存…

政务大数据能力平台建设方案:文件全文30页,附下载

关键词:智慧政务解决方案,智慧政务建设,智慧政务服务平台,智慧政务大数据,数字政务一体化平台。大数据,政务大数据建设 一、智慧政务建设需求 1、政务服务需求:智慧政务建设需要满足人民群众的…

单片机原理及应用:开关控制LED多种点亮模式

从这篇文章开始,我们不再只研究单一的外设工作,而是将LED、数码管、开关、按键搭配在一起研究,这篇文章主要介绍LED和开关能擦出怎样的火花,同时也介绍一些函数封装的知识。 由于开关有闭合与打开两种状态,LED有左移流…

CentOS虚拟机硬盘管理

CentOS虚拟机硬盘管理 一、创建虚拟机时分配硬盘 创建虚拟机时,在下图这个页面需要重新选择一下硬盘,可以对硬盘进行配置。 默认自动分区 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e9ce72af3d934e75be95f7f86860e92b.png 选择确认分…