规划基础知识

news2025/5/24 10:17:34

1 规划简介

在规划中,我们通过结合高精地图,定位和预测来构建车辆轨迹。

规划的第一步就是路线导航,侧重于如何从地图上的A前往B,在进行路径规划时,将地图数据作为输入,并输出可行驶路径。

在Apollo中,通过路线规划模块处理该任务,一旦构建了高水平的路线,就会放大至轨迹规划。通过轨迹规划,可以做出微妙的决策以避开障碍物,并为乘客创造平稳的乘车体验。

轨迹规划的目标:
生成免碰撞和舒适的可执行轨迹,该轨迹点由一系列点定义,每个点都有一个关联速度和一个指示何时应抵达那个点的时间戳

2 规划基础知识

  1. 路由
    路线规划的目标:找到从地图上A前往B的最佳路径。
    三个输入:
    (1)地图
    Apollo提供的地图数据包括公路网和实时交通信息
    (2)当前在地图上的位置
    (3)目的地
  2. 世界到图
    搜索:当人们试图在地图上找到从A到B的路线时,通常会沿着道路追踪路径,以查看是否存在通往目的地的任何路径
    Apollo也通过搜索来查找路线

在Apollo搜索之前,将地图数据重新格式化为"图形"的数据结构,该图形由"节点"和"边缘"组成,节点代表路段,边缘代表这些路段之间的连接
在这里插入图片描述
也可以对从一个节点到另一个节点所需的成本进行建模,比如拐过一个交叉路口比直行更费劲,所以1-4的成本比1-3的成本更高。

将地图转换为图形的好处:
在计算机科学领域,人们已经发现许多用于在图形中查找路径的快速算法,一旦我们在图形中找到了一条好路径,就可以轻松地将图形中的路径重新转换为地图上的路径。

  1. 网格世界
    A*是经典的路径查找处理算法
    对人类来说,通过查看图形便可以轻易找出最佳路径,但对于计算机而言,这并不明显,计算机必须检查是否存在通往目的地的任何路径。这会耗费大量的时间,尤其是地图非常大的时候
    在这里插入图片描述
  2. Ap4
    在这里插入图片描述
  3. 从路由到轨迹
    在这里插入图片描述
    高等级地图路线只是规划的一部分,需要沿这条路线前进的低等级轨迹,意味着要处理不属于地图的物体(车辆、自行车或行人)
    在这里插入图片描述
    这些场景需要更低级别、更高精确度的规划,这一级别的规划称为轨迹生成
  4. 3D轨迹
    轨迹生成的目标:生成由一系列路径点所定义的轨迹,为每个路径点分配了一个时间戳和速度,让一条曲线与这些路径点拟合,生成轨迹的几何表征
    在这里插入图片描述
    由于移动的障碍物可能会暂时阻挡部分路段,轨迹中的每一个路点都有时间戳,我们可以将时间戳与预测模块的输出相结合,确保我们计划通过时,轨迹上的每个路径点均未被占用。
    在这里插入图片描述
    这些时间戳创建了一个三维轨迹。
    3D Trajectory:2D Position + Time
    每个路径点由空间中的两个维度以及时间上的第三个维度来定义,还为每个路径点指定了速度,速度用于确保车辆按时到达每个路径点。
  5. 评估一条轨迹
    现实中的规划面临多种约束
    (1)首先,轨迹应该能免于碰撞
    (2)其次,要让乘客感觉到舒适,所以路径点之间的过渡以及速度的任何变化都必须平滑
    (3)再者,路径点对车辆应实际可行,例如高速行驶的汽车不能立即做180度转弯。不能构建这种不可行机动的轨迹。
    (4)最后,轨迹应合法,需要了解每个路径点的交通法律,并确保轨迹遵守这些法律法规。

在道路上的任何两点之间,可能会有多个不会碰撞,舒适、可行且合法的轨迹,选择最佳轨迹方法:成本函数
在这里插入图片描述
成本函数为每个轨迹分配了一个“成本”,选择成本最低的。成本由各种犯规处罚组成,例如偏离道路中心可能发生碰撞、超出速度限制、或轨迹的曲率和加速度让乘客感觉到不舒服会使成本增加,轨迹成本将所有这些缺陷聚合为单个数字。
在这里插入图片描述
车辆在不同的环境中使用不同的成本函数,例如高速公路的成本函数和停车场的成本函数不同

  1. Frenet坐标
    在这里插入图片描述

通常使用笛卡尔坐标系描述物体的位置,但是笛卡尔坐标系对于车辆来说不是最佳选择,即使给出了(x,y),但是我们不知道道路在哪里,很难知道车辆行驶了多远,难以确定是否偏离车道中心

在这里插入图片描述

笛卡尔坐标系的替代解决方案为Frenet坐标系,Frenet坐标系描述了汽车相对于道路的位置,在Frenet框架中,s代表沿道路的距离(纵坐标),d表示与纵向线的位移。在道路的每个点上,横轴和纵轴都是垂直的
在这里插入图片描述
纵坐标表示在道路中的行驶距离,横坐标表示汽车偏离中心线的距离

  1. 路径-速度解耦规划
    路径-速度解耦规划将轨迹规划分为两步:路径规划速度规划

首先,在路径规划步骤中,生成候选曲线,这是车辆可行驶的路径。我们使用成本函数对每条路径进行评估。该函数包含平滑度、安全性、与车道中心的偏离,以及我们要考虑的其他任何因素,我们按成本对路径进行排名,并选择成本最低的路径。

下一步是确定沿这条路线行进的速度,我们可能希望改变在该路径上的速度,所以我们真正需要选择的是与路径点相关的一系列速度,而不是单个速度。将该序列称作"速度曲线",我们可以使用优化功能为路径选择受到各种限制的良好速度曲线。

通过将路径和速度曲线相结合,可构建车辆行驶轨迹

  1. 路径生成与选择
    为了在路径-速度解耦规划中生成候选路径。

(1)首先将路段分割成单元格
在这里插入图片描述
(2)然后对这些单元格中的点随机采样
在这里插入图片描述
(3)通过从每个单元格中取一个点并将点连接,便创建了候选路径
在这里插入图片描述
(4)通过重复此过程,构建了多个候选路径,使用成本函数对这些路径进行评估,并选择成本最低的路径
在这里插入图片描述
成本函数考虑的因素:
(1)与车道中心的偏离
(2)与障碍物的距离
(3)速度和曲率的变化
(4)对车辆的压力等

  1. ST图
    选择路径的下一步就是选择与路径相关联的速度曲线,一个被称为"ST图"的工具可以帮助我们设计和选择速度曲线。
    在这里插入图片描述
    "S"表示车辆的纵向位移,"t"表示时间
    ST图上的曲线是对车辆运动的描述,说明了车辆在不同时间的位置。
    由于速度是位置变化的速率,可以通过查看曲线的斜率从ST图上推断速度
    在这里插入图片描述
    斜坡越陡,则表示在更短的时间内有更大的移动,对应更快的速度

  2. 速度规划
    为了构建最佳速度曲线,需要将ST图离散为多个单元格
    在这里插入图片描述

单元格之间的速度有所变化,但在每个单元格内,速度保持不变。该方法可以简化速度曲线的构建并维持曲线的近似度,在ST图中,可以将障碍物绘制为在特定时间段内阻挡道路的某些部分的矩形。
例如,假设预测模块预测车辆将在t0到t1的时间段内驶入我们的车道,由于该车将在此期间占据位置s0到s1,因此在ST图上绘制了一个矩形。它将在时间段t0到t1期间阻挡位置s0到s1,为避免碰撞,速度曲线不得与此矩形相交
在这里插入图片描述
既然有了一张各种单元格被阻挡的ST图,便可以使用优化引擎为该图选择最佳的速度曲线
在这里插入图片描述
优化算法通过复杂的数学运算来搜索受到各种限制的低成本解决方案。
限制有:
(1)法律限制,如速度限制
(2)距离限制,如与障碍物的距离
(3)汽车的物理限制,如加速度限制

  1. 优化
    路径-速度解耦规划在很大程度上取决于离散化。
    在这里插入图片描述

路径选择涉及将道路划分为单元格。速度曲线构建涉及将ST图划分为单元格。尽管离散化使这些问题更容易解决,但是生成的轨迹并不平滑。

为了将离散解决方案转化为平滑轨迹,使用"二次规划"技术,二次规划将平滑的非线性曲线与这些分段式线性段相拟合
在这里插入图片描述
一旦路径和速度曲线就绪,便可以用其构建三维轨迹

  1. 路径-速度规划的轨迹生成

感知系统观察到一辆缓慢行驶的车辆离得越来越近

首先在这辆车的周围生成多条候选路径,使用成本函数对这些候选路径进行评估,并选择成本最低的路径
在这里插入图片描述
然后使用ST图来进行速度规划,根据其他车辆随时间变化的位置阻挡了ST图的部分区域,优化引擎可以确定该图的最佳速度曲线,该曲线受制于约束和成本函数
在这里插入图片描述
在这里插入图片描述
使用二次规划让路径和速度曲线变得更加平滑。
在这里插入图片描述
最后,将路径和速度曲线合并构建轨迹。蓝色曲线慢,红色曲线快。
在这里插入图片描述

  1. Lattice规划
    Lattice轨迹规划方法:通过使用Frenet坐标,将环境投射到纵轴和横轴上,目标是生成三维轨迹-纵向维度、横向维度和时间维度。

可以将一个三维问题分为两个单独的二维问题,通过分离轨迹的纵向和横向分量来解决
在这里插入图片描述
在这里插入图片描述
其中,一个二维轨迹是具有时间戳的纵向轨迹,称为ST轨迹。另一个二维轨迹是相对于纵向轨迹的横向偏移,称为SL轨迹。

Lattice规划具有两个步骤:分别建立ST和SL轨迹,然后将他们合并

为生成纵向和横向二维轨迹
在这里插入图片描述
(1)先将初始车辆状态投射到ST坐标系和SL坐标系中
(2)通过对预选模式中的多个候选最终状态进行采样来选择最终车辆状态
在这里插入图片描述
(3)对于每个候选最终状态,构建了一组轨迹,将车辆从初始状态转换为最终状态。使用成本函数对这些轨迹进行评估并选择成本最低的轨迹

ST轨迹的最终状态
根据情况,可以将状态分为三组:巡航跟随停止

巡航:
在这里插入图片描述
巡航意味着车辆将在完成规划步骤后定速行驶,实际上对图上的点进行采样,在图中,横轴代表时间,纵轴代表速度。对于该图上的点,意味着汽车将进入巡航状态。在时间t以s点的速度巡航,对于这种模式,所有的最终状态加速度均为0
跟随车辆:
在这里插入图片描述
对位置和时间状态进行采样,并尝试在时间t出现在某辆车后面,在跟随车辆时,需要和前方的车辆保持安全距离。这时,速度和加速度将取决于要跟随的车辆。意味着在这种模式下,速度和加速度都会进行修正。
停止:
在这里插入图片描述
只需对汽车何时何地停止进行抽样,这里,速度和加速度会被修正为0。

SL轨迹的最终状态

进行SL规划做出一个假设:
无论车辆进入怎样的终止状态,车辆都应该稳定地与车道中心线对齐。
意味着只需要在一个小区域内,对横向终止位置进行采样。采样的就是道路上相邻车道中心线周围的位置
在这里插入图片描述
为了确保稳定性,汽车驶向的终止状态应该与车道中心一致,当用横向位置与纵向位置作图时,以车辆与车道对齐并直线行驶而结束。
在这里插入图片描述
达到这种终止状态,车的朝向和位置的一阶和二阶导数都应该为0,一阶导数意味着车辆既不是横向移动,二阶导数意味着不是横向加速。意味着车辆正沿车道直行。

Lattice规划的轨迹生成:
一旦同时拥有了ST和SL轨迹,需要将他们重新转化为笛卡尔坐标系,然后将他们相结合,构建由二维路径点和一维时间戳组成的三维轨迹
在这里插入图片描述

ST轨迹是随时间变化的纵向位移,SL轨迹是纵向轨迹上每个点的横向偏移。由于两个轨迹都有纵坐标S,所以可以通过将其S值进行匹配来合并轨迹

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

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

相关文章

亚马逊商品详情数据接口

亚马逊商品详情数据接口可以用于获取商品详情信息,包括但不限于商品ID、商品标题、商品描述等。这些信息可以用于多种用途,例如: 了解商品信息,帮助消费者做出购买决策。整合其他平台或网站的数据,提供全面的商品信息…

成集云 | 金蝶云星空与旺店通ERP集成(旺店通主管供应链)| 解决方案

源系统成集云目标系统 方案介绍 金蝶云星空是一款ERP企业管理软件,致力于为企业提供整体解决方案。金蝶财务软件种类功能齐全,能够全面满足企业的不同阶段、不同功能需求。帮助企业建立规范的业务流程,提升管理能力,降…

怎么设置IP白名单

IP白名单是一种网络安全机制,用于限制只允许特定的IP地址或IP地址范围通过访问控制。在本文中,我将详细解释IP白名单的概念、用途以及如何设置IP白名单。 **1. 什么是IP白名单?** IP白名单是一种访问控制列表,它允许或阻止特定的…

Django Web开发入门基础

官方有很详细的文档,但是看过几遍之后如果要翻找还是有点麻烦,本文算作是学习笔记,提取一些关键点记录下来,另附上官方教程 Writing your first Django app 注: 文中的指令使用py,是在Windows上&#xff0c…

室外配电箱防护等级总结、基础大样图

一、室外配电箱防护等级规范条文归纳: 1、《城市夜景照明设计规范》JGJ/T 163-2008,8.3.5: 照明设备所有带电部分应采用绝缘、遮拦或外护物保护,距地面2.8m以下的照明设备应使用工具才能打开外壳进行光源维护。室外安装照明配电箱…

OSCP系列靶场-Esay-Gaara保姆级

OSCP系列靶场-Esay-Gaara 目录 OSCP系列靶场-Esay-Gaara总结准备工作信息收集-端口扫描目标开放端口收集目标端口对应服务探测 信息收集-端口测试22-SSH端口的信息收集22-SSH端口版本信息与MSF利用22-SSH协议支持的登录方式22-SSH弱口令爆破(待定)22-SSH手动登录尝试(无) 80-HT…

Android 应用上线注意事项

将 Android 应用上线到 Google Play 商店需要仔细注意一系列问题,以确保应用的质量、安全性和用户体验。以下是一些在 Android 应用上线过程中需要注意的关键问题,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司&…

DBAPI安装教程

安装教程 请先下载安装包。默认账户admin/admin。 为了便于您理解安装的时候需要配置的参数,请您先学习日志监控相关的功能设计 本地部署单机版 依赖java环境,先自行在服务器安装jdk8,并配置环境变量下载安装包解压到需要安装的目录修改conf…

vue/react/node项目通过eslint检查语法规范

首先 我们打开终端 全局安装依赖 npm install -g eslint然后 以管理员身份运行项目终端 输入 eslint --init然后 这里 在初始化时会问我们想如何使用它? 分别对应 仅检查语法 检查语法并发现问题 检查语法、发现问题并强制执行代码样式 这里建议第二种 第三种肯定是不行的 …

el-date-picker改日期显示方式

效果&#xff1a; 代码&#xff1a; <template><div><el-date-picker v-model"selectedDate" type"date" input"handleDateChange"><template #default"{ date }"><span>{{ formatDate(date) }}</s…

PoE交换机出现不稳定的原因有哪些?

带有供电设备的PoE交换机给使用者带来了方便&#xff0c;因此被广泛应用。然而&#xff0c;很多使用商反映他们所使用的PoE交换机不稳定。那么&#xff0c;PoE交换机出现不稳定的原因有哪些&#xff1f; 首先需要考虑的是数据传输的距离。尽管PoE供电交换机具有方便灵活的特点&…

详解yolov1理论 代码

目标检测要解决的3大问题&#xff1a; 1、有没有&#xff1f; 图片中是否有要检测的物体&#xff1f;&#xff08;检测物体&#xff0c;判定前景背景&#xff09; 2、是什么&#xff1f; 这些物体分别是什么&#xff1f;&#xff08;检测到的物体是什么&#xff09; 3、在…

腾讯云16核服务器配置大全_CVM和轻量服务器汇总

腾讯云16核CPU服务器有哪些配置可以选择&#xff1f;可以选择标准型S6、标准型SA3、计算型C6或标准型S5等&#xff0c;目前标准型S5云服务器有优惠活动&#xff0c;性价比高&#xff0c;计算型C6云服务器16核性能更高&#xff0c;轻量16核32G28M带宽优惠价3468元15个月&#xf…

go语言 最小堆 最大堆 堆排序

建堆 调整 删除 先根据数组构建完全二叉树 从第一个非叶结点开始 调整为大跟堆&#xff0c;这里就是图里面的1结点开始调整 代码如下&#xff1a; func findKthLargest(nums []int, k int) int {heapSize : len(nums)buildMaxHeap(nums,heapSize)for i : len(nums) - 1; i &…

无涯教程-JavaScript - BINOM.DIST函数

描述 BINOM.DIST函数返回单个项二项式分布概率。 在具有固定数量的测试或试验的问题中使用BINOM.DIST。 当任何试验的输出只是成功或失败时 试验是独立的,并且 在整个实验中成功的概率不变的情况 语法 BINOM.DIST (number_s,trials,probability_s,cumulative)争论 Argu…

选择护眼台灯的标准?专家推荐台灯好物分享

自从护眼台灯成为学生书桌上最常见的照明灯具后&#xff0c;就经常能看到关于护眼台灯伤眼的信息。从根源上说&#xff0c;是各种不专业产品混杂在市场中&#xff0c;这种产品技术较差&#xff0c;而且为减少成本选择品质差的材料&#xff0c;但由于低廉的价格仍然吸引了众多消…

【FAQ】以服务方式启动安防监控系统EasyNVR程序,出现播放异常的原因排查与解决

EasyNVR安防视频监控平台的特点是基于RTSP/Onvif协议&#xff0c;将前端设备统一接入&#xff0c;在平台进行转码、直播、处理及分发&#xff0c;在智慧安防视频监控场景中&#xff0c;EasyNVR可实现实时监控、云端录像、检索与回放、云存储、告警、级联等视频能力&#xff0c;…

Redis缓存设计与性能优化最佳实践

开发规范与性能优化 一、键值设计 1. key名设计 (1)【建议】: 可读性和可管理性 以业务名(或数据库名)为前缀(防止key冲突)&#xff0c;用冒号分隔&#xff0c;比如业务名:表名:id (2)【建议】&#xff1a;简洁性 保证语义的前提下&#xff0c;控制key的长度&#xff0c;…

备考新境界:考研竞争中的超级助推器,让AIGC点亮你的学术之路!

近年来&#xff0c;各院校毕业生逐年增长、就业压力提升&#xff0c;研究生学历在就业市场上占有明显优势。加上留学、考公、二战等多赛道的涌入&#xff0c;硕士研究生报名人数呈现快速上升趋势。根据调查显示&#xff0c;2023年考研报考人数达457万人&#xff0c;报录比甚至达…

面向组织分析的内容

声明 本文是学习GB-T 42859-2023 航天产品质量问题三个面向分析方法实施要求. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件规定了航天产品质量问题三个面向分析方法实施的一般要求、程序和分析内容。 本文件适用于承担航天产品研制…