前言
OpenPlanner是名古屋大学开发的开源自动驾驶框架Autoware中使用的运动规划算法。它是通过对全局路径进行采样生成一系列的候选路径,结合矢量地图、传感器信息以及碰撞、交通规则等约束和优化目标,选择出最优的运动轨迹。OpenPlanner通用性强,只需相应的调整参数即可与任何的移动机器人配合使用。
下图是OpenPlanner的一般体系结构,其主要三个组成部分是全局规划器、行为状态生成器和局部规划器。
OpenPlanner旨在用于移动机器人的自主导航,更确切地说是应用于自动驾驶领域。它结合了矢量地图或道路网络地图中包含的所有离散信息(例如交通信号灯,交通标志,十字路口,停车线等的位置),这相对于其他的开源的导航系统OMPL和Navigation Stack来说是主要的优势。
使用矢量地图可以更加轻松、快速地进行全局和局部规划。当然,像RRT * 和 Hybrid A *这些自由空间中全局规划器对于停车和越野情况也是很重要的。在这种情况下,我们可以切换到自由空间规划器进行全局规划,仍需要使用Open Planner的行为状态机和本地规划器。与Navigation Stack相比,OpenPlanner的另一个优势是OpenPlanner可以与非完整约束底盘一起使用。
此外,OpenPlanner还提供基本的行为状态机功能,添加新状态很容易。 另一方面,OMPL不提供状态机或离散行为计划。 关于规划器的建图需求,Navigation Stack和OMPL都是需要代价地图的,OpenPlanner只需矢量图而不需要代价地图,除非切换到自由空间计划。 总而言之,OpenPlanner更适合于遵守交通规则的自主移动机器人导航系统,它仅需要矢量地图和目标位置即可进行全局规划,而对于局部规划和行为状态生成,则仅需要当前位置和检测到的障碍即可。
一、原理
OpenPlanner包含全局规划器、行为状态生成器和局部规划器。本文只讨论其中的局部规划器op_planner模块。
op_planner包含Roll-outs Generator 和 Roll-outs Evaluator。
Roll-outs Generator
- 根据矢量地图生成的全局路径作为参考生成一系列平滑的候选路径。
Roll-outs Evaluator
- 结合障碍物信息以及其他因素来计算各个候选路径的代价,从而挑选出一条平滑、无障碍的局部路径。
1. Roll-outs Generator
Rollouts Generator是被实时执行的,因为局部规划都必须满足实时工作的基本要求。目标处理时间最多为0.1秒,以便控制器可以快速响应速度变化。候选路径生成算法的输入是当前位置、规划距离、生成候选路径的数量和全局路径。输出为n条平滑轨迹,从车辆中心一直延伸到最大规划距离。
如上图所示,将采样的过程划分为三个部分Car tip、Roll in和Roll out。
Car tip
- 从车辆中心到横向采样点的距离,其长度决定了车辆切换到不同轨迹的平滑度。
Roll in
- 水平横向采样点到平行横向采样点的距离,其长度与车辆速度成正比。车辆行驶的速度越快,此区域产生平滑变化的时间就越长。
Roll out
- 平行横向采样点到最大规划距离,通过从全局路径垂直移动固定的距离(称为Roll out密度)来执行直接横向采样。
Roll-outs Generator包括三个主要步骤
- 根据车辆的当前位置和最大规划距离从全局路径中提取所需的部分;
- 针对提取出的全局路径进行点的横向采样;
- 使用共轭梯度对每个采样轨迹进行平滑处理生成候选轨迹,共轭梯度是一种非线性迭代优化技术,可消除采样步骤导致的滚动不连续性。 这也改善了曲率,从而使转向更平稳。
2.Roll-outs Evaluator
Roll-outs Evaluator的作用是根据优先级代价、过渡代价和碰撞代价评估每一条从Roll-outs Generator生成的候选路径,从中挑选出总代价最小的一条作为最优路径输出。
2.1 优先级代价
优先级代价是对每条候选路径进行分级,中心路径的优先级是最高的,然后由中心路径向两边递减,这是为了在没有障碍物的情况下,让车辆保持在中心路径。
优先级代价使机器人保持在车道的中心。选定的轨迹位于中心,其他轨迹的渐变颜色代表代价。
2.2 过渡代价
过渡代价是为了限制车辆不会频繁在候选路径之间切换,这是为了确保车辆前进的平滑度。
2.3 碰撞代价
碰撞代价分两部分lateral_cost和longitudinal_cost来计算。
lateral_cost
- 候选路径到障碍物的横向水平距离。
longitudinal_cost
- 候选路径到障碍物的纵向水平距离。
2.4 归一化处理
避免评价函数中某一项代价占据过大的优势。
二、项目演示
参考资料
【1】Open Source Integrated Planner for Autonomous Navigation in Highly Dynamic Environments