文章目录
前言
在规划过程中,经常会遇到各种需要变道的场景。
如何判断是否可以变道,如何生成变道路径等,就显得至关重要。
而在planning中, mission_planner模块在生成主路径后,会交给路径行为规划模块——BehaviorPathPlanner。
随后,路径行为规划模块会交给其下面管理变道的LaneChangeModule。
本篇文章便会梳理autoware中变道操作的逻辑和流程。
一、BehaviorPathPlannerNode::run():路径行为规划主函数
这个是路径行为规划的主函数。
其中的功能有输入输出,更新规划器状态,重置模块等。
最核心也是最重要的,是调用了路径行为规划器(planner_manager_),这个函数用来生成路径。
void BehaviorPathPlannerNode::run()
{
takeData(); // 获取输入数据
if (!isDataReady()) { // 检查数据是否准备好
return;
}
RCLCPP_DEBUG(get_logger(), "----- BehaviorPathPlannerNode start -----