Apollo 11.0
自动驾驶开放平台
apollo::planning::STGuideLine类 参考

#include <st_guide_line.h>

apollo::planning::STGuideLine 的协作图:

Public 成员函数

 STGuideLine ()
 
void Init (double desired_v)
 
void Init (double desired_v, const std::vector< common::TrajectoryPoint > &speed_reference)
 
virtual ~STGuideLine ()=default
 
double GetGuideSFromT (double t)
 
void UpdateBlockingInfo (const double t, const double s_block, const bool is_lower_block)
 

详细描述

在文件 st_guide_line.h 第 42 行定义.

构造及析构函数说明

◆ STGuideLine()

apollo::planning::STGuideLine::STGuideLine ( )
inline

在文件 st_guide_line.h 第 44 行定义.

44{}

◆ ~STGuideLine()

virtual apollo::planning::STGuideLine::~STGuideLine ( )
virtualdefault

成员函数说明

◆ GetGuideSFromT()

double apollo::planning::STGuideLine::GetGuideSFromT ( double  t)

在文件 st_guide_line.cc 第 52 行定义.

52 {
53 common::SpeedPoint speed_point;
54 if (t < guideline_speed_data_.TotalTime() &&
55 guideline_speed_data_.EvaluateByTime(t, &speed_point)) {
56 s0_ = speed_point.s();
57 t0_ = t;
58 return speed_point.s();
59 }
60 return s0_ + (t - t0_) * v0_;
61}
bool EvaluateByTime(const double time, common::SpeedPoint *const speed_point) const
Definition speed_data.cc:60

◆ Init() [1/2]

void apollo::planning::STGuideLine::Init ( double  desired_v)

在文件 st_guide_line.cc 第 28 行定义.

28 {
29 s0_ = 0.0;
30 t0_ = 0.0;
31 v0_ = desired_v;
32}

◆ Init() [2/2]

void apollo::planning::STGuideLine::Init ( double  desired_v,
const std::vector< common::TrajectoryPoint > &  speed_reference 
)

在文件 st_guide_line.cc 第 34 行定义.

36 {
37 s0_ = 0.0;
38 t0_ = 0.0;
39 v0_ = desired_v;
40 DiscretizedTrajectory discrete_speed_reference(speed_reference);
41 double total_time = discrete_speed_reference.GetTemporalLength();
42 guideline_speed_data_.clear();
43 for (double t = 0; t <= total_time; t += kSpeedGuideLineResolution) {
44 const common::TrajectoryPoint trajectory_point =
45 discrete_speed_reference.Evaluate(t);
46 guideline_speed_data_.AppendSpeedPoint(
47 trajectory_point.path_point().s(), trajectory_point.relative_time(),
48 trajectory_point.v(), trajectory_point.a(), trajectory_point.da());
49 }
50}
void AppendSpeedPoint(const double s, const double time, const double v, const double a, const double da)
Definition speed_data.cc:48
constexpr double kSpeedGuideLineResolution

◆ UpdateBlockingInfo()

void apollo::planning::STGuideLine::UpdateBlockingInfo ( const double  t,
const double  s_block,
const bool  is_lower_block 
)

在文件 st_guide_line.cc 第 63 行定义.

64 {
65 if (is_lower_block) {
66 if (GetGuideSFromT(t) < s_block) {
67 s0_ = s_block;
68 t0_ = t;
69 }
70 } else {
71 if (GetGuideSFromT(t) > s_block) {
72 s0_ = s_block;
73 t0_ = t;
74 }
75 }
76}

该类的文档由以下文件生成: