Apollo Planning决策规划算法代码详细解析 (18):SpeedDecider 障碍物纵向决策上

一、概述

SpeedDecider 是lanefollow 场景下,Apollo Planning算法所调用的第13 个 task,属于task中的decider 类别它的作用主要是:

  • 1、对每个目标进行遍历,分别对每个目标进行决策
  • 2、或得mutable_obstacle->path_st_boundary()
  • 3、根据障碍物st_boundary的时间与位置的分布,判断是否要忽略
  • 4、对于虚拟目标 Virtual obstacle,如果不在referenceline的车道上,则跳过
  • 5、如果是行人则决策结果置为stop
  • 6、SpeedDecider::GetSTLocation() 获取障碍物在st图上与自车路径的位置关系
  • 7、根据不同的STLocation,来对障碍物进行决策
  • 8、如果没有纵向决策结果,则置位ignore_decision;

本文主要介绍Apollo Planning决策规划算法中纵向决策器SpeedDecider的运行流程。

Apollo Planning决策规划算法代码详细解析 (18):SpeedDecider 障碍物纵向决策上_第1张图片 

二、SpeedDecider的具体逻辑如下:

1、PublicRoadPlanner 的 LaneFollowStage 配置了以下几个task 来实现具体的规划逻辑,SpeedDecider 是第13个task: 

scenario_type: LANE_FOLLOW

stage_type: LANE_FOL

你可能感兴趣的:(算法)