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

#include <piecewise_jerk_trajectory1d.h>

类 apollo::planning::PiecewiseJerkTrajectory1d 继承关系图:
apollo::planning::PiecewiseJerkTrajectory1d 的协作图:

Public 成员函数

 PiecewiseJerkTrajectory1d (const double p, const double v, const double a)
 
virtual ~PiecewiseJerkTrajectory1d ()=default
 
double Evaluate (const std::uint32_t order, const double param) const
 
double ParamLength () const
 
std::string ToString () const
 
void AppendSegment (const double jerk, const double param)
 
- Public 成员函数 继承自 apollo::planning::Curve1d
 Curve1d ()=default
 
virtual ~Curve1d ()=default
 

详细描述

在文件 piecewise_jerk_trajectory1d.h 第 32 行定义.

构造及析构函数说明

◆ PiecewiseJerkTrajectory1d()

apollo::planning::PiecewiseJerkTrajectory1d::PiecewiseJerkTrajectory1d ( const double  p,
const double  v,
const double  a 
)

在文件 piecewise_jerk_trajectory1d.cc 第 31 行定义.

33 {
34 last_p_ = p;
35 last_v_ = v;
36 last_a_ = a;
37 param_.push_back(0.0);
38}

◆ ~PiecewiseJerkTrajectory1d()

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

成员函数说明

◆ AppendSegment()

void apollo::planning::PiecewiseJerkTrajectory1d::AppendSegment ( const double  jerk,
const double  param 
)

在文件 piecewise_jerk_trajectory1d.cc 第 40 行定义.

41 {
42 CHECK_GT(param, FLAGS_numerical_epsilon);
43
44 param_.push_back(param_.back() + param);
45
46 segments_.emplace_back(last_p_, last_v_, last_a_, jerk, param);
47
48 last_p_ = segments_.back().end_position();
49
50 last_v_ = segments_.back().end_velocity();
51
52 last_a_ = segments_.back().end_acceleration();
53}

◆ Evaluate()

double apollo::planning::PiecewiseJerkTrajectory1d::Evaluate ( const std::uint32_t  order,
const double  param 
) const
virtual

实现了 apollo::planning::Curve1d.

在文件 piecewise_jerk_trajectory1d.cc 第 55 行定义.

56 {
57 auto it_lower = std::lower_bound(param_.begin(), param_.end(), param);
58
59 if (it_lower == param_.begin()) {
60 return segments_[0].Evaluate(order, param);
61 }
62
63 if (it_lower == param_.end()) {
64 auto index = std::max(0, static_cast<int>(param_.size() - 2));
65 return segments_.back().Evaluate(order, param - param_[index]);
66 }
67
68 auto index = std::distance(param_.begin(), it_lower);
69 return segments_[index - 1].Evaluate(order, param - param_[index - 1]);
70}

◆ ParamLength()

double apollo::planning::PiecewiseJerkTrajectory1d::ParamLength ( ) const
virtual

实现了 apollo::planning::Curve1d.

在文件 piecewise_jerk_trajectory1d.cc 第 72 行定义.

72{ return param_.back(); }

◆ ToString()

std::string apollo::planning::PiecewiseJerkTrajectory1d::ToString ( ) const
virtual

实现了 apollo::planning::Curve1d.

在文件 piecewise_jerk_trajectory1d.cc 第 74 行定义.

74{ return ""; }

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