Apollo公开课六:规划

规划: 根据高精度地图、定位和预测来规划舒适、无碰撞的轨迹,第一步是路线导航,给定地图、出发点和目的地,生成一条可行驶路线;第二步对路线进行调整规划轨迹,以使得乘坐更舒适,避开障碍物。最终生成的轨迹由一系列点构成,每个点关联一个位置和一个到达的时间。

路径规划三个输入:
地图: 提供了公路网和实时交通信息;
在地图中的当前位置;
目的地。

Apollo通过智能搜索算法来寻找路径,首先将地图数据转化成网格化的"图形"结构数据,该图由节点+边组成,节点带边路段,边代表路段之间的连接,这个边还带有连接代价。A*算法是一个典型的基于图结构的最短路径查找算法,搜索下一个节点的时候,综合考虑了该节点到出发点的距离和该节点到目的地的距离。
A*算法

路径生成之后,需要进行低等级更高精度的轨迹生成,生成一系列由路径点定义的轨迹,每个点都关联一个到达时间和速度,综合该到达时间和预测模块的输出值,以确保通过该点时刻,位置没被占用。这个轨迹叫3D轨迹(2维空间位置+时间),速度则是为了保证能准时到达各个目标轨迹点。

轨迹要求:
1,无碰撞
2,乘坐舒适,也就是要求速度变化要平滑
3,于车辆而言可行
4,合法

利用代价函数来选择最优的轨迹,代价函数可以包括:加速度等对乘坐舒适度的影响因素,对规则的遵守度等等,不同场景下的代价函数也是不同的。

Frenet坐标系:传统的笛卡尔坐标系并不适合无人驾驶,Frenet坐标系描述了汽车相对于道路的位置,在该坐标系中s代表沿道路的,也叫纵坐标,d代表与纵线的偏移,也叫横坐标,每个点横纵坐标都是垂直的。
Frenet坐标系路径-速度解耦规划分为两步:路径规划和速度规划。路径规划就是生成可行路线,并选择代价最小的作为规划路径;速度规划则只要规划沿该路径的行驶速度,两者结合构建车辆行驶轨迹。为了生成路径,先将可行驶区域划分成单元格,每个单元格采样,连接起来就生成很多条路径,利用代价函数选择最优的一条。

ST图可以帮助进行速度规划,S代表纵向位移,T代表时间。
S-T图
Lattice规划:将三维规划问题通过将纵坐标与横坐标解耦的方式拆解为两个二维规划问题,分为两步,即建立S-T图和S-L图然后将其合并。
ST可分为三种状态:巡航,跟随和终止。
SL:尽量使得车辆沿着车道线行驶。
通过共同的S值,将ST和SL轨迹合并,再转换到笛卡尔坐标系下。
Lattice规划

原创文章 13 获赞 7 访问量 1288

猜你喜欢

转载自blog.csdn.net/weixin_43827285/article/details/105841964