第五课 预测
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相对更复杂、更缓慢、更难以实现