百度 Apollo 团队上一场的技术分享爆棚全场,以至于交流当天不得不临时再建一个微信群以承载大家的热情。
这次,百度 Apollo 团队又为我们带来了什么?
轨迹规划是无人驾驶系统的核心模块之一。轨迹规划模块承接上游感知、预测、决策等模块,规划无人驾驶车一段时间内的具体的驾驶行为,以轨迹的形式输出给下游控制模块执行。轨迹规划算法的优劣直接决定了无人驾驶车的安全性和舒适性,在无人驾驶系统中发挥着至关重要的作用。
在百度 Apollo 无人驾驶开源平台中,轨迹规划分为路径规划和速率规划两个顺序过程。路径规划结合道路边界线、静态障碍物的信息,产生轨迹的几何信息。速率规划在给定的路径下,考虑动态障碍物的预测轨迹、道路限速信息和决策信息,产生安全舒适的速率分配。
在这次分享中,我们将讨论:
1. 在 Frenet 坐标系下的轨迹规划的路径和速率分解
2. 基于离散分段的路径规划算法
3. 基于离散分段的速率规划算法
目前文章和交流实录都已经出炉
直接扫描下方二维码就能获取
只需 0.99 元哦
??
当晚的交流特别酣畅淋漓,
同学们都不愿意放老师休息了
不信你看同学们问的那些问题
问:每个实时规划的初始状态量,比如 s、速度、加速度等是以车体底盘实时反馈为主还是从组合导航获得,还是说通过一定方式从上帧规划结果获得参考量?交给控制去执行的连续两帧轨迹如何联系起来,才能保证控制模块在连接处速度、加速度、曲率等不发生突变?
答:这个问题非常好,在今天的分享中没有专门的介绍。我这里简要描述一下,车辆的状态是由上游的定位模块获得的,融合了多种传感器的数据,包括当前地图坐标系下的坐标、朝向、转向角度、速度、加速度等等。
轨迹规划模块以固定的频率进行,我们使用了轨迹拼接的算法(trajectory stitching)保证相邻帧的轨迹在控制器看来是平滑的。假设我们的周期时间是 dt 秒,如果我们没有上一周期的轨迹,那我们使用运动学模型, 对当前从定位模块获得的车辆状态进行外推,获得dt时间之后的状态作为规划起始点,我们称之为重新规划(replan);如果上一周期的轨迹存在,我们会根据当前系统时间 T,在上一周期的轨迹中找到相对应的轨迹点,然后,我们进行一个比较,比较这个轨迹点与定位模块获得的当前车辆状态的差异,如果这个差异在一定范围内,我们找到 T+dt 时间的上一周期轨迹点作为规划起始点;如果这个差异超过设定范围,说明控制器有了较大的误差,我们会做第一种情况的 replan。
这种机制保证了在控制误差允许的情况下,做到相邻帧轨迹的平滑拼接。在控制器看起来,规划模块发出的轨迹是一小段一小段 dt 长度的轨迹光滑拼接起来的。
问:路径规划的分段加加速度优化算法中,架设障碍物在车道中间,可通行区间被分割成了上下两个区间,约束条件不再是简单的一个[lmin,lmax],而变为或条件,请问这种情况要怎么处理?
答:对于同一个离散点,我们会有不同的区间。我们设计了一个类,称为 PathBoundsDecider,会处理不连续的区间。在实现中,我们会将不同的区间使用启发式方法加以排序,在时间允许的情况下,对每一种离散的区间都做路径规划。
还有几十个问题回答都在当晚的交流实录里
直接扫描下方二维码即可获取
关键只要 0.99 元
??