Apollo自动驾驶入门课程-04

预测
预测车辆/物体的路径点
预测需要具有实时性和准确性

预测的方法分为
基于模型的预测和数据驱动预测

模型预测:基于观察和各种情况的预测轨迹,更新概率得到预测,直观且容易解释
数据驱动:数据训模型,模型预测轨迹

基于车道序列的预测方法:先将道路划分为不同的块,然后预测车辆会经过哪些块(预测车道序列)

障碍物状态:位置、速度、朝向和加速度

预测目标车道块,从而得到车辆轨迹.输入车道块和障碍物状态得到预测的下一个车道,继而预测车道序列得到预测

RNN,预测序列信息,Apollo运用RNN处理车道序列和障碍物状态,继而预测后续的车道序列

轨迹生成:得到车道序列后,计算轨迹,根据速度、加速度等计算可能的合理的轨迹

规划(ADS中最难的)
第一步:路径导航,输入起终点,根据HD地图计算可行路径
第二步:轨迹规划,小的决策避开障碍物,每一个点含有一坐标、到达时间点和速度

路线规划
输入:Map、cur pos、target pos
搜索算法以寻找路线;首先需要将世界表示为图结构,用图中的搜索算法搜索路径
A*算法搜索图中的最短路径
继而将路由结果转化成局部的轨迹,需要处理不属于地图的部分比如障碍物、自行车或行人

评估一条轨迹:避免碰撞、舒适性(轨迹平滑)、可行的轨迹(比如不能让高速车辆掉头)、合法规:使用成本函数给出评价,结合考虑以上因素

Frenet坐标:描述了车辆像对于道路的位置,s代表道路距离,d代表车辆与s中心的偏离,两者始终垂直

路径-速度解藕将路径规划分为路径规划和速度规划,先计算最好的路径,再计算合适的速度

路径规划:首先将车道分为cell,在cell中随机采样点,每个cell中的连接起来构成候选路径

ST图:根据路径规划,计算速度,s距离,t时间,速度就是曲线斜率
将ST图离散化为多个cell,障碍物会将st图中的部分矩形块挡住,对应时间与位置是被遮住的了(这块的信息由预测这一步得到),从而计算出st曲线
离散化将问题简单化,但结果都不平滑,使用二次规划将平滑的非线性曲线与分段式线段拟合

Lattice规划
预测ST图的规划和SL(S和偏)图的规划
分别建立ST和SL规划,再将它们结合

首先将车辆当前状态映射到ST图和SL图中,通过对预选模式中的多个候选最终状态进行采样,决定车辆的最终状态,对每个最终状态构建轨迹,再对轨迹进行评估,挑选代价最低的

ST的最终状态:巡航(所有最终状态的加速度都为0)、跟随(速度和加速度取决于跟随的车辆)和终止(最终状态的速度和加速度均为0)

SL的终止状态,车辆与车道线对齐,既不横向移动也不横向加速

得到ST和SL轨迹,将他们转换为笛卡尔坐标系下的坐标

控制

控制:转向、加速和制动

使用路径点接受轨迹,根据输入让车辆能够通过这些路径点,需要合理且舒适的控制既能通过路径点,也能连续且舒适

方法:PID、LQR、MPC

控制流程:
输入:目标轨迹和车辆状态
输出:转向、加速和制动

PID:
通过偏移量控制
简单且效果好,但是只是线性算法,在复杂情况下还是不够,且依赖于误差的测量,有时候可能会失效

LQR
基于模型的控制器,Apollo用LQR用于横向控制
横向误差、横向误差变化率、朝向误差和朝向误差变化率表示车辆状态:x
转向、加速和制动:u
x=Ax+Bu
x根据u的控制而更新
为了优化,用二次项,代价函数:
LQR(线性二次型调节器,Linear Quadratic Regulator)的代价函数用于衡量系统的状态和控制量的性能。它的形式为二次型函数,通常目标是通过最小化该代价函数来优化系统的控制输入。LQR的代价函数通常定义为:

J ( u ) = ∫ 0 ∞ ( x ( t ) T Q x ( t ) + u ( t ) T R u ( t ) )   d t J(u) = \int_0^\infty (x(t)^T Q x(t) + u(t)^T R u(t)) \, dt J(u)=0(x(t)TQx(t)+u(t)TRu(t))dt

其中:

  • ( J(u) ) 是代价函数,表示在时间 ( t=0 ) 到无穷远的累计代价。
  • ( x(t) ) 是系统的状态向量。
  • ( u(t) ) 是系统的控制输入。
  • ( Q ) 是正半定的状态权重矩阵,用于惩罚系统状态偏离目标值的程度,通常是对状态误差的加权。
  • ( R ) 是正定的控制权重矩阵,用于惩罚控制输入的大小,通常用于限制控制输入的幅值。

通过最小化该代价函数,LQR 设计出的控制律既能保证系统状态接近期望值,又能避免使用过大的控制输入,达到平衡控制效果和控制能量消耗的目的。

模型预测控制(MPC)
建立车辆模型(估计了车辆在进行了一组控制之后的状态);使用优化引擎计算有限时间内的控制输入(优化,评估输入);执行第一组控制输入
比PID更准,但更难更难实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值