前言:
在Apollo决策规划算法进行速度规划时,一个被称为 “ST 图 ” 的工具可以帮助设计和选择速度曲线。在 ST 图中, “s” 表示⻋辆的纵向位移、 “t” 表示时间。 ST 图上的曲线是对⻋辆运动的描述,因为它说明了⻋辆在不同时间的位置。由于速度是位置变化的速率,所以可以通过查看曲线的斜率从 ST图上推断速度。斜坡越陡则表示在更短的时间段内有更大的移动,对应更快的速度。
本文将介绍在Apollo的决策规划算法中,是如何进行ST图的构建。调试场景如下:

正文:
1、代码整体如下,主要逻辑在 GetOverlapBoundaryPoints 这个函数中
- void STBoundaryMapper::ComputeSTBoundary(Obstacle* obstacle) const {
-
- if (FLAGS_use_st_drivable_boundary) {
-
- return;
-
- }
-
- std::vector<STPoint> lower_points;
-
- std::vector<STPoint> upper_points;
-
-
- if (!GetOverlapBoundaryPoints(path_data_.discretized_path(), *obstacle,
-
- &upper_points, &