智能驾驶入门day3

文章目录

    • 第五课 预测
      • 1.简介
      • 2.不同的预测方式
        • 基于模型的预测
        • 基于数据驱动预测
      • 3.基于车道的预测
      • 4.障碍物状态
      • 5.预测目标车道
      • 6.递归神经网络
      • 7.递归神经网络在目标车道预测的应用
      • 8.轨迹生成
    • 第六课 规划
      • 1.简介
      • 2.路由
      • 3.世界到图
      • 4.网络世界
      • 5.`Ap4`
      • 6.从路由到轨迹
      • 7.`3D`轨迹
      • 8.评估一条轨迹
      • 9.`Frenet`坐标
      • 10.路径-速度解耦规划
      • 11.路径生成与选择
      • 12.`ST`图
      • 13.速度规划
      • 14.优化
      • 15.路径-速度规划的轨迹生成
      • 16.`Lattice`规划
      • 17.`ST`轨迹的终止状态
      • 18.`SL`轨迹的终止状态
      • 19.`Lattice`规划的轨迹生成
    • 第七课 控制
      • 1.简介
      • 2.控制流程
      • 3.PID控制
      • 4.PID优劣对比
      • 5.线性二次调节器(LQR)
      • 6.模型预测控制(MPC)
      • 7.时间范围与车辆模型
      • 8.MPC优化
      • 9.MPC优劣对比

第五课 预测

1.简介

通过生成一条路径来预测一个物体行为,为汽车预测新的路径

预测路径

  • 实时性——算法的延迟越短越好
  • 准确性
  • 能够学习新的行为

两种基本的预测类型:

  • 基于模型——更具分析性

  • 基于数据驱动

2.不同的预测方式

基于模型的预测

直观,结合了现有的物理知识以及交通法规与人类行为多方面知识

基于数据驱动预测

训练数据越多,模型效果越好

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FNu3WOQT-1594991233875)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717134159150.png)]

3.基于车道的预测

基于车道序列的方法:将道路分为多个部分,每一部分覆盖易于描述车辆运动的区域,将车辆的行为划分为一组有限的模式组合,将模式组合描述为车道序列

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tMd3fx0C-1594991233886)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717134615941.png)]

4.障碍物状态

除了朝向、位置、速度、加速度,还需要考虑车道段内物体的位置

预测模块会考虑从物体到车道线段边界的纵向和横向距离,还包含之前时间间隔的状态信息

5.预测目标车道

使用车道序列框架的目标是为道路上的物体生成轨迹

预测车道线段之间的过渡,计算概率选择车辆最有可能采取的车道顺序,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KkSYTLzN-1594991233895)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717135928682.png)]

6.递归神经网络

递归神经网络(RNN)一种利用时间序列数据特征的一种预测方法

多重结构的递归神经网络(MLP单元),从数据序列中提取出高级特征,每个MLP单元将序列的一个元素作为输入,并预测序列的下一个元素作为输出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eSgEHFPf-1594991233908)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717140548354.png)]

7.递归神经网络在目标车道预测的应用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sfHa75QN-1594991233917)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717140717587.png)]

8.轨迹生成

如何预测最有可能的轨迹?

设置约束条件,去除车辆无法实际执行的轨迹,考虑当前速度和加速度从剩余轨迹中进行选择,利用车辆的初始状态和最终状态拟合一个多项式模型

第六课 规划

1.简介

路线导航,将地图数据作为输入,并输出可行驶路径,

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

2.路由

三个输入:

地图:提供公路网和实时交通信息

当前在地图上的位置

目的地

3.世界到图

Apollo更智能的搜索方法:在开始搜索之前将地图数据重新格式化为由节点和边缘组成的“图形”的数据结构,节点代表路段,边缘代表这些路段之间的连接。

好处:轻松地将图形中的路径重新转换为地图上的路径

4.网络世界

A*经典的路径查找处理算法
原理:

  • 将网格中的每个单元格当做一个节点
  • 能从任何一个节点移动到其任意相邻节点
  • 特殊网格包含一些阻挡潜在路径的墙壁

方法:计算从开始节点到候选节点的成本,然后估计从候选节点前往目的地的成本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZmBQXIFn-1594991233925)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717180858866.png)]

到达一个新节点之后,重复此过程来选择下一候选节点

5.Ap4

g值是从起始点到候选节点的成本

h值是从候选节点到目的地的估计成本

g值与h值相加得到每个节点的f值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TD4GKI71-1594991233931)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717181339867.png)]

最低f值对应的候选节点即为接下来要前往的节点

6.从路由到轨迹

高等级地图路线—>构建沿路线前进的低等级轨迹—>处理不属于地图的物体

轨迹生成:在特定的场景需要更低级别、更高精度的规划,这一级别的规划称为轨迹生成

7.3D轨迹

轨迹生成的目标:生成一系列路径点所定义的轨迹

为每个路径点分配一个时间戳和速度,让一条曲线和路径点拟合,生成轨迹的几何表征,将时间戳与预测模块的输出相结合,确保通过时轨迹上的每个路径点均未被占用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ArjAiaEq-1594991233935)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717182201173.png)]

8.评估一条轨迹

轨迹的要求:

  • 无障碍物
  • 路径点之间的过渡以及速度的任何变化都必须平滑
  • 路径点对车辆应实际可行
  • 轨迹应合法、遵守法律法规

如何选择最佳轨迹?使用成本函数

成本函数为每个轨迹分配一个“成本”,选择成本最低的轨迹,轨迹成本有各种犯规处罚组成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hm79ep9E-1594991233938)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717182842325.png)]

成本函数需要考虑一下因素:与车道中心的偏离、与障碍物的距离、速度和曲率的变化、对车辆的压力、自己希望考虑的因素

9.Frenet坐标

Frenet坐标系描述了汽车相对于道路的位置

s代表沿道路的距离—纵坐标,表示汽车在道路中的行驶距离

d表示与纵向线的位移—横坐标,表示汽车偏离中心线的距离

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bour60ut-1594991233941)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717183257972.png)]

10.路径-速度解耦规划

将轨迹规划分为两步:

  • 路径规划

    • 生成候选曲线—车辆可行驶的路径
    • 使用成本函数对每条路径进行评估,选择成本最低的路径
  • 速度规划

    • 确定与路径点相关的一系列速度,得到速度曲线

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

11.路径生成与选择

构建候选路径的步骤:

  • 将路段分割成单元格
  • 对单元格中的点进行随机采样
  • 从每个单元格中取一个点并将点连接

重复以上步骤,构建多条候选路径,通过成本函数选择最优路径。

12.ST

"ST"图可以用于设计和选择速度曲线

s表示车辆的纵向位移

t表示时间

ST图上的曲线是对车辆运动的描述,说明了车辆在不同时间的位置,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DMqpJGhV-1594991233946)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717184906291.png)]

斜率越大,表示在更短的时间段内有更大的移动,对应更快的速度

13.速度规划

为构建最佳速度曲线,将ST图离散为多个单元格,每个单元格内,速度保持不变,简化速度曲线的构建并维持曲线的近似度

在ST图中,可以将障碍物绘制为在特定时间段内阻挡道路的某些部分的矩形

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NLfTWRNp-1594991233948)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717185504942.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kCE3CG6S-1594991233953)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717185454330.png)]

可以使用优化引擎选择最佳的速度曲线

优化算法——通过复杂的数学运算来搜索,受到各种限制的低成本解决方案,如法律限制、速度限制、距离限制、与障碍物的距离、汽车的物理限制、加速度限制

14.优化

“二次规划”技术—将离散解决方案转化为平滑轨迹,将平滑的非线性曲线与分段式线性段拟合

路径和速度曲线就绪后,就可以构建三维轨迹

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

在阻挡车辆周围生成多条候选路线

使用成本函数对候选路径进行评估,选择成本最低路径

使用ST图进行速度规划

优化引擎确定最佳速度曲线

使用二次规划让路径和速度曲线变平滑

将路径和速度曲线合并构建轨迹

16.Lattice规划

分离轨迹的纵向和横向分量将三维问题分解成两个单独的二维问题

二维轨迹是具有时间戳的纵向轨迹—ST轨迹

相对于纵向轨迹的横向偏移—SL轨迹、

Lattice规划的两个步骤:

分别建立ST和SL轨迹,再合并

17.ST轨迹的终止状态

分为三组:

  • 巡航 车辆将在完成规划步骤后定速行驶
  • 跟随 对位置和时间状态进行采样,尝试在t时间出现在某辆车后面
  • 停止 对汽车何时何地停止进行抽样,速度和加速度被修正为0

18.SL轨迹的终止状态

假设车辆稳定地与车道中心线对齐,对横向终止位置进行采样—即对道路上相邻车道中心线周围的位置进行采样,沿着车道直行而结束,车的朝向和位置的一阶和二阶导数均应为0

19.Lattice规划的轨迹生成

将ST和SL曲线重新转化为笛卡尔坐标系,构建由二维路径点和一位时间戳组成的三维轨迹

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ma25xeCM-1594991233956)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717191923631.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wXHTenOJ-1594991233959)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717191929011.png)]

第七课 控制

1.简介

控制是趋势车辆前行的策略,最基本的控制输入为专项、加速和制动

控制器使用一些列路径点来接收轨迹,控制器的任务是使用控制输入让汽车通过路径点

控制器的要求

  • 准确—避免偏离目标轨迹

  • 控制策略对汽车应该具备可行性

  • 平稳度—驱动必须连续

目标:使用可行的控制输入最大限度地降低与目标轨迹的偏差,最大限度地提高乘客的舒适度

实现以上目标的三种控制策略:

  • 比例积分微分控制(PID)
  • 线性二次调节器(LQR)
  • 模型预测控制(MPC)

2.控制流程

控制器预计有两种输入

  • 目标轨迹,来自规划模块

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yg4OVe72-1594991233961)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717202939888.png)]

  • 车辆状态

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JscJiHzF-1594991233967)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717203006953.png)]

控制器的输出:控制输入(转向、加速和制动)的值

3.PID控制

优点:简单

P表示比例

I表示积分

D表示微分

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T0HBj9UP-1594991233970)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717203417350.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dJi9xwVa-1594991233973)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717203521117.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dHC67nex-1594991233975)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717203614106.png)]

4.PID优劣对比

优点:只需知道车辆与目标轨迹之间的偏差

缺点:只是一种线性算法,不能适用于非常复杂的系统

PID依赖于实时误差测量,意味着收到测量延迟限制时可能会失效

5.线性二次调节器(LQR)

使用车辆的状态使误差最小化

进行横向控制:横向误差、横向误差的变化率、朝向误差、朝向的变化率

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kNaV4G79-1594991233977)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717204351504.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9qoucJOU-1594991233984)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717204402795.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bz3jwZwB-1594991233987)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717204556646.png)]

成本函数,Q和R代表x和u的权重集合

6.模型预测控制(MPC)

一种更复杂的控制器,非常依赖于数学优化

三个步骤:

  • 建立车辆模型
  • 使用优化引擎计算有限时间范围内的控制输入
  • 执行第一组控制输入

7.时间范围与车辆模型

预测越深入,控制器越精确,需要的时间越长,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5P12PB1W-1594991233989)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717205330718.png)]

8.MPC优化

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ntpKZSRo-1594991233992)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717205532617.png)]

对控制输入的调整要很小,模型、约束、成本函数合并作为优化问题

9.MPC优劣对比

优点:考虑了车辆模型,比PID更加精确,也适用于不同的成本函数可以在不同的情况下优化不同的成本

缺点:与PID相比,MPC相对更复杂、更缓慢、更难以实现

你可能感兴趣的:(智能驾驶技术)