![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Planning
文章平均质量分 56
规控算法
肥嘟嘟的左卫门
这个作者很懒,什么都没留下…
展开
-
SL/ST的理解
Apollo3.5 取消了SL/ST的迭代,因为车辆速度变化较为频繁,幅度较大,导致预测的轨迹变化较大,则ST变化较大.若ST影响SL,则SL变化较大,即PATH变化较大,这是我们不希望看到的,PATH必须相对稳定.因为只有障碍物速度对于EGO我们才会考虑它,若障碍物速度高于ego,一般情况下障碍物不会影响EGO.原创 2023-05-11 10:39:45 · 966 阅读 · 1 评论 -
Apollo决策技术分享
决策技术的分享转载 2022-07-27 10:22:39 · 2203 阅读 · 0 评论 -
决策规划算法四:Piecewise Jerk Path Optimizer
一,问题分析路径规划的本质目的:规划出一条安全(无碰撞),舒适(平滑),符合车辆运动学的轨迹。如下图所示,决策算法开辟凸空间后,路径规划算法用数值优化的方法搜索出一条最优路径,即将问题转化为二次规划的问题,采用二次规划的求解器进行求解。二次规划问题的求解顺序:1,确定优化变量2,确定目标函数3,确定约束条件4,将目标函数和约束条件变形为二次规划的标准形式5,用二次规划求解器进行求解,获得优化变量的序列,使得目标函数取得最小值。注:路径的最终表达式为:,..原创 2022-05-07 20:39:52 · 6423 阅读 · 4 评论 -
决策规划算法三:DP与分层状态机2种决策算法的对比
决策算法的本质目的就是开辟凸空间,便于后期使用二次规划QP搜索出一条符合约束条件的最优路径。最优路径的含义:使目标函数最小化的路径。路径规划本质就是求曲线方程:。开辟凸空间的方法有很多:1,重决策的策略:分层状态机,深度学习等。根据经验规则进行决策。2,轻决策:DP。根据代价Cost进行决策。一,DP决策算法:根据代价Cost进行决策DP的过程:在frenet坐标系中,在均匀固定的的方向均匀撒点,并用5次曲线(或者其他曲线)连接各点。每条曲线的方程为:..原创 2022-05-06 18:16:49 · 2456 阅读 · 0 评论 -
决策规划算法二:生成参考线(FEM_POS_DEVIATION_SMOOTHING)
一,为什么需要重新生成参考线导航路径存在的问题:1,导航路径过长;2,不平滑导致的结果:1,不利于主车以及障碍物寻找投影点,甚至出现多个投影点。2,原本的导航路径不平滑,车辆无法直接进行轨迹跟踪。解决方案:根据导航路径,生成参考线。二,生成参考线的具体步骤与方法...原创 2022-05-01 21:55:12 · 1921 阅读 · 0 评论 -
决策规划算法一:整体框架步骤
决策规划算法的整体框架步骤:1,根据定位以及导航路径生成参考线2,将障碍物投影到参考线上3,根据障碍物的投影,决策模块开辟凸空间(往左,往右等决策)4,规划算法在凸空间上搜索一条最优化路径5,将最优化路径点转化为笛卡尔坐标,并下发给控制模块。...原创 2022-05-01 21:27:44 · 1790 阅读 · 0 评论 -
求车辆在Frenet坐标系上投影点的坐标
Reference line一般是离散点,如下图所示,故投影点为近似投影。投影点求解步骤:1,在Reference line上找距离车辆最近的点,作为匹配点match point,坐标记为原创 2022-05-01 15:11:03 · 1106 阅读 · 0 评论 -
自动驾驶决策规划算法概述
一、级别分类L0横纵向都需要人操控,系统无法控制横向或者纵向L1系统只能操控横向或者纵向,系统能控制横向或者纵向中的一个,但横纵向无法联合控制原创 2022-01-06 17:59:48 · 6784 阅读 · 0 评论 -
局部路径规划:五次多项式
重点注意:进行曲线插值时,分2步:1,确定所用的曲线类型,即确定曲线的表达式方程,比如多项式曲线,双圆弧段曲线,正弦函数曲线,贝塞尔曲线,B样条曲线等。2,用现有点的已知条件(位置,速度,加速度等)求解曲线的未知系数,一旦未知系数确定,则曲线的表达式就唯一的确定了。横纵向解耦分别用多项式曲线进行分别规划,即横纵向分别对应着2个不同的多项式曲线,然后进行合并即可得到横纵向联合控制的曲线。...原创 2022-02-19 21:20:41 · 5818 阅读 · 0 评论 -
路径规划算法:动态规划
如上图所示的实例中,寻找点A到点E代价最小的路径,这是典型的动态规划的应用场景,逆向寻优,正向求解一般分为3步,即三层循环:第一层循环:遍历每一个阶段;第二层循环:遍历第i个阶段的每一个状态;第三层循环:遍历第i+1个阶段的每一个状态最终倒叙求得最优解。...原创 2022-02-18 21:32:49 · 3099 阅读 · 0 评论 -
Apollo代码解析:QP二次规划(凸优化)
自动驾驶算法工程师在工程实践中使用QP二次规划时的注意事项:工程实践中的求解应用过程:将实际的工程问题模型转化为二次规划模型,调用已有的二次规划求解器(matlab或者C++均有对应的成熟的求解器可调用),并将转化后的二次规划模型对应的数据结构输入求解器,求解出需要的解即可,不需要深入研究求解器是如何求解及推导的。**类比举例(易于理解):**类似于初中求解一元二次方程的解,将已知的方程转化为一元二次方程的形式,然后根据已有的解公式代入对应的系数即可求解出方程的解。而无需关心解的公式是如何推导出来的,原创 2022-03-25 16:19:57 · 2560 阅读 · 0 评论 -
Hybrid A start
一 Open Space Planner采用分层的思路:第 1 层:利用路径规划算法,输出一条无碰撞的粗略轨迹。此处采用Hybrid A start(下文用 Hybrid A *代替)。第 2 层:利用数值优化的方法,输出一条平滑,无碰撞的轨迹。此处采用QP。二 Hybrid A *的输入,即前提条件:栅格地图二 Hybrid A *的2大关键点:**1,扩展节点的方式:**考虑车辆的运动学模型**2,Cost的设计:**采用RS曲线,动态规划,考虑方向盘角度输入(可以更偏向于直行),考虑前进后原创 2022-04-17 18:35:43 · 1279 阅读 · 0 评论 -
Apollo 6.0 QP(二次规划)算法解析
这篇文章主要详细地解读一下Apollo 6.0中的piecewise jerk path optimizer这个task。上一篇文章大概阐述了Apollo中的整体框架结构,是分为多场景(scenario)调度,每个scenario又包含一个或者多个阶段(stage),每个stage包含多个具有独立功能的小模块-任务(task)。task是Apollo中的任务概念,每个阶段都会按照配置参数里的顺序,依次调用每个task,每个task都实现了一个独立的功能。在Apollo 5.0之后,task主要拆分成了两.转载 2021-12-31 12:01:18 · 5559 阅读 · 3 评论 -
路径/轨迹规划常见算法的演变和原理
PRM:输入:全局地图过程:在全局地图上随机撒点,去除与障碍物重合的点,然后进行路径搜索输出:连接采样点的路径RRT输入:局部环境地图过程:贪心算法A *Hybrid A*D *原创 2022-04-25 18:28:54 · 1028 阅读 · 0 评论 -
凸优化和非凸优化
在工程实践中,无需关心 二次规划/凸优化的细节,工程师 只需要 调相应的第三方成熟软件包计算二次规划/凸优化的结果即可。当然,更重要的是知道算法的使用条件、优缺点、使用场景。决策规划算法的输出目标:输出一条满足约束条件的最优轨迹。(用代价函数来量化最优性)最优的评价指标:1,平滑2,舒适3,耗时短约束:1,轨迹连续2,无碰撞3,遵守交通规则4,满足车辆动力学、运动学约束一、迭代法求高维复杂约束函数的最小值回顾高中数学,求连续可导函数F(x)在定区间[a,b]上的最小值。步骤:原创 2022-01-07 18:03:56 · 6343 阅读 · 1 评论 -
五次多项式进行路径规划的工程化实例应用及C++源码分析
设5次曲线的方程表达式为:其中:故上式可写为:原创 2022-02-22 17:30:19 · 3437 阅读 · 6 评论 -
机器人路径规划和轨迹优化导论
一,轨迹规划的思路,2步走:1,路径规划2,轨迹优化二, 路径规划和轨迹优化常用算法:三,基于搜索的路径规划:1,Dijkstra与A*的区别与联系:扩展的方式相同(均是周围的8个点作为备选点),但Cost不同Dijkstra : F(n) = G(n)A* : F(n) = G(n) + H(n)...原创 2022-02-17 22:05:38 · 1923 阅读 · 0 评论 -
Clothoid回旋曲线在APA路径优化中的工程应用实例及其C++源码分析与下载
回旋曲线的定义回旋曲线是缓和曲线的一种,而缓和曲线的线型多种多样,如回旋线、三次抛物线、七次四项式型、半波正弦型、一波正弦型、双纽线、多心复曲线……,公路中推荐使用的是回旋曲线,因为回旋曲线的曲率变化率是定值,故在遇到直线驶入圆弧或者圆弧驶入直线的场景下,方向盘转角匀速变化,符合人类驾驶习惯且行驶较为顺滑。回旋曲线也叫羊角螺线(clothoid),本质特点是:曲率与长度成线性关系。原创 2022-01-28 14:17:41 · 3648 阅读 · 5 评论 -
A Review of Motion Planning Techniques for Automated Vehicles论文核心提取
自动驾驶体系结构常见规划算法概述常见规划算法优缺点对比转载 2022-01-26 17:30:02 · 384 阅读 · 0 评论 -
APA轨迹规划常见算法
一、几何法1,固定几何轨迹2,不固定几何轨迹二、Hybrid_A_Startapollo采用此方法,并对原始算法进行改良优化,以提高轨迹平滑性、实时性和算法计算效率。整体思路:先用Hybrid_A_Start搜索一条粗略的可行路径,再通过轨迹优化算法得到平滑的轨迹。...原创 2022-01-21 17:45:41 · 1310 阅读 · 0 评论 -
路径优化常用的算法
全局平滑:一般用Nurbs插值或者拟合曲线的形式。**局部过渡:局部平滑一般是 小线段间转接过渡的形式。**通常是在两条直线或其他曲线的转接点处,常用贝塞尔曲线、B-Spline曲线、PH曲线、圆弧等过渡。1,圆弧/3D圆弧/圆柱螺旋线2,贝塞尔曲线:https://pomax.github.io/bezierinfo/3,b样条曲线4,ph曲线5,biarcs曲线:https://www.ryanjuckett.com/biarc-interpolation/6,dubins曲线7,原创 2022-01-21 11:24:00 · 3789 阅读 · 0 评论 -
OSQP求解凸优化问题的步骤及实例
OSQP是一种求解QP问题的数值优化软件,以下简单介绍OSQP软件的使用方法一、 概述首先是凸优化问题的定义以及两种典型的特例(线性规划与二次规划),如下图所示。这里不介绍QP问题的拓展形式如SOCP等OSQP软件的核心是ADMM算法Ø交替方向乘子法(Alternating Direction Method of Multipliers,ADMM)是一种求解优化问题的计算框架, 适用于求解分布式凸优化问题如果仅仅是简单的使用,不需要了解ADMM算法,但是如果调试OSQP软件的参数,就需要深入转载 2022-01-11 14:54:56 · 3626 阅读 · 1 评论 -
Reeds-Shepp和Dubins曲线中的关键问题解析
9大关键性问题:1,什么是Reeds-Shepp曲线?2,Reeds-Shepp曲线是什么样的曲线?3,什么是Dubins曲线?4,Reeds-Shepp曲线和Dubins曲线对任意的起止位姿都存在吗?5,当环境中存在障碍物时,Reeds-Shepp曲线和Dubins曲线对任意的起止位姿都存在吗?6,值函数7,Reeds-Shepp全部曲线8,Mathematica代码下载地址9,参考资料1,什么是Reeds-Shepp曲线? 想象你下班开车回家,到了小..转载 2021-12-22 14:28:07 · 1058 阅读 · 2 评论 -
MPC在实践中的应用及本质理解
应用场景:MPC即可以用于控制Control也可以用于规划PlanningMPC(本质就是求二次型的极值,故代价函数J必须是二次型的形式):MPC的输入:1,模型必须是线性模型,确保代价函数J是二次型,从而求极值即可获取预测时间段内的控制序列u,u是一个多维的向量,u={u(k),u(k+1),u(k+2),…,u(k+n)}。2,约束必须是线性约束,这是拉格朗日算子要求的,用于求约束对于极值的影响。3,初始状态4,参考轨迹MPC的输出:预测的未来序列...原创 2021-12-03 18:40:59 · 1846 阅读 · 0 评论 -
Biquad Filter C++ Source Code
I don’t want to get into the business of teaching people how to code—there are a huge number of free resources available on the internet to that do that. But I’ll give a small taste for those trying to get started.First, I want to be clear that biquads,转载 2021-04-29 14:11:17 · 491 阅读 · 0 评论 -
自动驾驶轨迹规划--算法综述
1. 背景概述本文立足于智能车领域的轨迹规划,根据自己的整理和理解输出,权当做一篇学习笔记。这篇只是综述,每种算法的详细过程会在别的篇幅整理出来。首先解释一下一些基本概念:规划(planning)承接环境感知,并下启车辆控制。其规划出来的轨迹是带速度信息的路径。广义上,规划(planning)可分为路由寻径(routing)、行为决策(behavioral decision)、运动规划(motion planning)。路由寻径(routing):是全局路径规划,可简单的理解为传统地图导转载 2021-04-22 09:32:33 · 9946 阅读 · 1 评论 -
四元数与欧拉角之间的转换
在3D图形学中,最常用的旋转表示方法便是四元数和欧拉角,比起矩阵来具有节省存储空间和方便插值的优点。本文主要归纳了两种表达方式的转换,计算公式采用3D笛卡尔坐标系: 图1 3D Cartesian coordinate Sys...转载 2021-04-20 20:24:38 · 3473 阅读 · 0 评论 -
常用的点到点轨迹规划——三次曲线,五次曲线,梯形曲线
一. 简介点到点的轨迹规划算法可以理解为在规定的时间T内,从已知起始点运动到末尾点的方法。这里引入中间变量s(t),它是时间的函数,定义域为[0,T],值域为[0,1],s与的关系见下面公式。这个公式不难理解,当s=0时,;当s=1时,。对t求导是速度,即:对t求二阶导是加速度,即所以由于和是已知的,所以速度和加速度随时间的变化取决于,这里的s(t)有很多种方法,比较常用的是三次函数,五次函数,梯形曲线,S曲线等。这里对这几种曲线的方法和优缺点进行一下介绍...转载 2021-04-12 16:46:22 · 3536 阅读 · 2 评论