技术文档 | 二次规划(QP)样条路径

Apollo的Planning分为参考线平滑、决策、路径规划、速度规划等部分。

从整体上来说,规划模块的架构分为两个部分:一部分负责对数据的监听、获取和预处理;另一部分负责管理各个优化模块。数据进入后,对其综合处理为规划模块的内部数据结构,由任务管理器调度合适的优化器进行各个优化任务。综合优化的结果,经过最终的验证后,输出给控制模块。

在设计上,实现了策略的可插拔,使得各个优化器可以灵活配置不同策略,提升迭代效率。

EM-Planner是具体的规划实施类,它基于高精地图、导航路径及障碍物信息作出实际的驾驶决策,包括路径、速度等方面。

首先使用DP(动态规划)方法确定初始的路径和速度,再利用QP(二次规划)方法进一步优化路径和速度,以得到一条更平滑的轨迹,既满足舒适性,又方便车辆操纵。

基于样条的车辆轨迹优化二次规划,为了寻求更优质更平滑,体感更好的路径,需要使用二次规划的方法寻找。需要的限制条件有:曲率和曲率连续性、贴近中心线、避免碰撞。

今天,就让阿波君和开发者们一起了解二次规划样条路径是如何实现的。

以下,ENJOY:

路径定义在 station-lateral坐标系中。

参数s的取值范围为车辆的当前位置到默认规划路径的长度。

将路径划分为n段,每段路径用一个多项式来表示。

每个样条段 i 都有沿着参考线的累加距离

。每段的路径默认用5阶多项式表示:

QP公式如下所示:

下面是将开销(cost)函数转换为QP公式的例子:

然后得到,

从聚合函数中提取出常量得到,

最后得到,

请注意我们最后得到一个6阶的矩阵来表示5阶样条插值的衍生开销。

应用同样的推理方法可以得到2阶,3阶样条插值的衍生开销。

假设第一个点为

,

其中

,

表示横向的偏移,并且规划路径的起始点的第一,第二个点的衍生开销可以从

计算得到。

将上述约束转换为QP约束等式,使用等式:

下面是转换的具体步骤:

其中,i 是包含

的样条段的索引值。

和起始点相同,终点

也应当按照起始点的计算方法生成约束条件

将起始点和终点组合在一起,得出约束等式为:

该约束的目的是使样条的节点更加平滑。假设两个段

互相连接,且

的累计值s为

。计算约束的等式为:

下面是计算的具体步骤:

然后,

代入等式。

同样地,可以为下述等式计算约束等式:

在路径上均匀的取样m个点,检查这些点上的障碍物边界。将这些约束转换为QP约束不等式,使用不等式:

首先基于道路宽度和周围的障碍物找到点

的下边界

,且

。计算约束的不等式为:

同样地,对上边界

,计算约束的不等式为:

(0)

相关推荐

  • 摸清自动驾驶车辆规划技术的第一步

    --后台回复"资料",领取特斯拉专利技术解析报告-- 文章转自:汽车人手记 智驾最前沿 实时,权威,专业剖析自动驾驶领域! 11篇原创内容 公众号 ↓聊聊自动驾驶数据源↓ ❤更多精 ...

  • [机器学习必知必会]凸优化

    定义 凸优化问题(OPT,convex optimization problem)指定义在凸集中的凸函数最优化的问题.尽管凸优化的条件比较苛刻,但仍然在机器学习领域有十分广泛的应用. 凸优化问题的优势 ...

  • 变分问题与约束系列(二):在 COMSOL 中设置等式约束

    在本系列的第一部分中,我们讨论了如何针对变分问题建模,并演示了如何在 COMSOL Multiphysics® 软件中使用简单的内置边界条件解决它们.今天,我们将讨论更通用的边界条件和约束,并展示如何 ...

  • 【学术论文】基于改进人工势场法的无人机在线航路规划算法

    无人机在线航路规划是综合考虑无人机机动性能.任务需求等约束条件因素应对动态变化的规划环境,进而规划出一条满足任务需求的最优或可行航路[1].传统的航路规划算法是以固定的任务目标.稳定不变的飞行环境为假 ...

  • OSPF路由控制知识详解~~

     OSPF路由控制 OSPF路由控制概述 OSPF的路由控制包括: 调整OSPF的接口开销 设置等价路由 引入外部路由 路由聚合 缺省路由通告 Filter-Policy 对发送的LSA进行过滤 对A ...

  • 梁结构分析后处理

    前面初步接触过梁结构的基本分析,对于结果没有进行较多的处理.这个小例子再在前面的基础上,更进一步学习梁结构后处理相关内容. 基本描述:角支架结构几何参数如下图所示.右侧点受到竖直向下的集中力1000N ...

  • 离家出走的扫地机器人是会“思考”的

    近日有这样一条消息"趁着门没有关好,扫地机器人竟然自己跑出去了",鉴于扫地机器人的价格还是比较昂贵,所以业主张贴了这样的寻物启事. 面对这样的消息,网友们也纷纷送来了"安 ...

  • 10份在MATLAB-EXPO-2021用户大会上自动驾驶开发的技术文档分享

    跨学科团队可以使用MATLAB和Simulink作为通用集成环境,贯穿整个自动驾驶系统开发工作流程.从系统工程到平台建模.环境仿真和自主算法设计与系统验证,基于模型的设计可以帮助我们在自动驾驶车辆上路 ...

  • FANUC PMC轴刀库调试 技术文档

    PMC轴控制简介: PMC 轴控制是指从 CNC 的管理中分离出来,由 PMC 信号直接进行控制,轴的运动方式.位移大小.速度大小不由 NC 程序编程得到,而在 PMC 中通过给 G 地址赋值进行定义 ...

  • Arm技术文档全集合

    在这里可以下载到所有Arm技术方面的文档,我们已经为大家归类好资料,方便大家学习!持续更新中,大家可点击右下角的收藏图标收藏本帖,如果大家有补充,欢迎评论~ Cortex-A系列处理器 处理器Cort ...

  • 关于Tesla内部技术文档Model3电量和配置的困惑

    最近TMC有网友发了两张Tesla内部技术文档,主要是关于Model3长续航版和标准版电量和配置,让人非常困惑,具体见下. 从图中可以看出,M3共有两种可选电池包,分别为长续航版M3的电量为74kWh ...

  • CCNP技术文档之EIGRP 默认网络传递

    CCNP技术文档之EIGRP 默认网络传递

  • CCNP技术文档之:EIGRP全解析

    思科认证是由网络领域著名的厂商-Cisco公司推出的,是互联网领域的国际权威认证.  CCNP(Cisco Certified Network Professional)是Cisco 职业认证体系中 ...

  • CCNP技术文档之OSPF全解析(上)

    思科认证是由网络领域著名的厂商-Cisco公司推出的,是互联网领域的国际权威认证.  CCNP(Cisco Certified Network Professional)是Cisco 职业认证体系中 ...

  • 这个神器可以提取你代码中的关键信息生成技术文档(附下载链接)

    一.前言 以前,我们学C语言的时候,多多少少都查过一些标准库函数吧.这里介绍查找C语言的标准库函数的两种方法:一种方法是直接到http://www.cplusplus.com这个网站上去查看: 这里覆 ...

  • 技术文档丨如何为Apollo安装低时延/实时内核

    本文档描述了在Ubuntu 18.04上安装低时延(Low-Latency) 或实时 (Realtime)内核及Nvidia驱动的步骤.   ENJOY THE FOLLOWING   仅在实车上运行 ...