通过生成一条路径来预测一个物体行为,为汽车预测新的路径
预测路径
两种基本的预测类型:
基于模型——更具分析性
基于数据驱动
直观,结合了现有的物理知识以及交通法规与人类行为多方面知识
训练数据越多,模型效果越好
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FNu3WOQT-1594991233875)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717134159150.png)]
基于车道序列的方法:将道路分为多个部分,每一部分覆盖易于描述车辆运动的区域,将车辆的行为划分为一组有限的模式组合,将模式组合描述为车道序列
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tMd3fx0C-1594991233886)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717134615941.png)]
除了朝向、位置、速度、加速度,还需要考虑车道段内物体的位置
预测模块会考虑从物体到车道线段边界的纵向和横向距离,还包含之前时间间隔的状态信息
使用车道序列框架的目标是为道路上的物体生成轨迹
预测车道线段之间的过渡,计算概率选择车辆最有可能采取的车道顺序,
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KkSYTLzN-1594991233895)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717135928682.png)]
递归神经网络(RNN)一种利用时间序列数据特征的一种预测方法
多重结构的递归神经网络(MLP单元),从数据序列中提取出高级特征,每个MLP单元将序列的一个元素作为输入,并预测序列的下一个元素作为输出
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eSgEHFPf-1594991233908)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717140548354.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sfHa75QN-1594991233917)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717140717587.png)]
如何预测最有可能的轨迹?
设置约束条件,去除车辆无法实际执行的轨迹,考虑当前速度和加速度从剩余轨迹中进行选择,利用车辆的初始状态和最终状态拟合一个多项式模型
路线导航,将地图数据作为输入,并输出可行驶路径,
轨迹规划的目的:生成免碰撞和舒适的可执行轨迹,由一系列点定义,每个点都有一个关联速度和一个指示合适应抵达那个点的时间戳
三个输入:
地图:提供公路网和实时交通信息
当前在地图上的位置
目的地
Apollo更智能的搜索方法:在开始搜索之前将地图数据重新格式化为由节点和边缘组成的“图形”的数据结构,节点代表路段,边缘代表这些路段之间的连接。
好处:轻松地将图形中的路径重新转换为地图上的路径
A*经典的路径查找处理算法
原理:
方法:计算从开始节点到候选节点的成本,然后估计从候选节点前往目的地的成本
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZmBQXIFn-1594991233925)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717180858866.png)]
到达一个新节点之后,重复此过程来选择下一候选节点
Ap4
g值是从起始点到候选节点的成本
h值是从候选节点到目的地的估计成本
g值与h值相加得到每个节点的f值
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TD4GKI71-1594991233931)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717181339867.png)]
最低f值对应的候选节点即为接下来要前往的节点
高等级地图路线—>构建沿路线前进的低等级轨迹—>处理不属于地图的物体
轨迹生成:在特定的场景需要更低级别、更高精度的规划,这一级别的规划称为轨迹生成
3D
轨迹轨迹生成的目标:生成一系列路径点所定义的轨迹
为每个路径点分配一个时间戳和速度,让一条曲线和路径点拟合,生成轨迹的几何表征,将时间戳与预测模块的输出相结合,确保通过时轨迹上的每个路径点均未被占用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ArjAiaEq-1594991233935)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717182201173.png)]
轨迹的要求:
如何选择最佳轨迹?使用成本函数
成本函数为每个轨迹分配一个“成本”,选择成本最低的轨迹,轨迹成本有各种犯规处罚组成
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hm79ep9E-1594991233938)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717182842325.png)]
成本函数需要考虑一下因素:与车道中心的偏离、与障碍物的距离、速度和曲率的变化、对车辆的压力、自己希望考虑的因素
Frenet
坐标
Frenet
坐标系描述了汽车相对于道路的位置s代表沿道路的距离—纵坐标,表示汽车在道路中的行驶距离
d表示与纵向线的位移—横坐标,表示汽车偏离中心线的距离
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bour60ut-1594991233941)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717183257972.png)]
将轨迹规划分为两步:
路径规划
速度规划
通过将路径和速度曲线相结合,构建车辆行驶轨迹
构建候选路径的步骤:
重复以上步骤,构建多条候选路径,通过成本函数选择最优路径。
ST
图"ST"图可以用于设计和选择速度曲线
s表示车辆的纵向位移
t表示时间
ST图上的曲线是对车辆运动的描述,说明了车辆在不同时间的位置,
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DMqpJGhV-1594991233946)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717184906291.png)]
斜率越大,表示在更短的时间段内有更大的移动,对应更快的速度
为构建最佳速度曲线,将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)]
可以使用优化引擎选择最佳的速度曲线
优化算法——通过复杂的数学运算来搜索,受到各种限制的低成本解决方案,如法律限制、速度限制、距离限制、与障碍物的距离、汽车的物理限制、加速度限制
“二次规划”技术—将离散解决方案转化为平滑轨迹,将平滑的非线性曲线与分段式线性段拟合
路径和速度曲线就绪后,就可以构建三维轨迹
在阻挡车辆周围生成多条候选路线
使用成本函数对候选路径进行评估,选择成本最低路径
使用ST图进行速度规划
优化引擎确定最佳速度曲线
使用二次规划让路径和速度曲线变平滑
将路径和速度曲线合并构建轨迹
Lattice
规划分离轨迹的纵向和横向分量将三维问题分解成两个单独的二维问题
二维轨迹是具有时间戳的纵向轨迹—ST轨迹
相对于纵向轨迹的横向偏移—SL轨迹、
Lattice规划的两个步骤:
分别建立ST和SL轨迹,再合并
ST
轨迹的终止状态分为三组:
SL
轨迹的终止状态假设车辆稳定地与车道中心线对齐,对横向终止位置进行采样—即对道路上相邻车道中心线周围的位置进行采样,沿着车道直行而结束,车的朝向和位置的一阶和二阶导数均应为0
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)]
控制是趋势车辆前行的策略,最基本的控制输入为专项、加速和制动
控制器使用一些列路径点来接收轨迹,控制器的任务是使用控制输入让汽车通过路径点
控制器的要求
准确—避免偏离目标轨迹
控制策略对汽车应该具备可行性
平稳度—驱动必须连续
目标:使用可行的控制输入最大限度地降低与目标轨迹的偏差,最大限度地提高乘客的舒适度
实现以上目标的三种控制策略:
控制器预计有两种输入
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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)]
控制器的输出:控制输入(转向、加速和制动)的值
优点:简单
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)]
优点:只需知道车辆与目标轨迹之间的偏差
缺点:只是一种线性算法,不能适用于非常复杂的系统
PID依赖于实时误差测量,意味着收到测量延迟限制时可能会失效
使用车辆的状态使误差最小化
进行横向控制:横向误差、横向误差的变化率、朝向误差、朝向的变化率
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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的权重集合
一种更复杂的控制器,非常依赖于数学优化
三个步骤:
预测越深入,控制器越精确,需要的时间越长,
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5P12PB1W-1594991233989)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717205330718.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ntpKZSRo-1594991233992)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200717205532617.png)]
对控制输入的调整要很小,模型、约束、成本函数合并作为优化问题
优点:考虑了车辆模型,比PID更加精确,也适用于不同的成本函数可以在不同的情况下优化不同的成本
缺点:与PID相比,MPC相对更复杂、更缓慢、更难以实现