#include <quintic_polynomial_curve1d.h>
|
| | QuinticPolynomialCurve1d ()=default |
| |
| | QuinticPolynomialCurve1d (const std::array< double, 3 > &start, const std::array< double, 3 > &end, const double param) |
| |
| | QuinticPolynomialCurve1d (const double x0, const double dx0, const double ddx0, const double x1, const double dx1, const double ddx1, const double param) |
| |
| | QuinticPolynomialCurve1d (const QuinticPolynomialCurve1d &other) |
| |
| void | SetParam (const double x0, const double dx0, const double ddx0, const double x1, const double dx1, const double ddx1, const double param) |
| |
| void | IntegratedFromQuarticCurve (const PolynomialCurve1d &other, const double init_value) |
| |
| virtual | ~QuinticPolynomialCurve1d ()=default |
| |
| double | Evaluate (const std::uint32_t order, const double p) const override |
| |
| double | ParamLength () const override |
| |
| std::string | ToString () const override |
| |
| double | Coef (const size_t order) const override |
| |
| size_t | Order () const override |
| |
| | PolynomialCurve1d ()=default |
| |
| virtual | ~PolynomialCurve1d ()=default |
| |
| | Curve1d ()=default |
| |
| virtual | ~Curve1d ()=default |
| |
|
| void | ComputeCoefficients (const double x0, const double dx0, const double ddx0, const double x1, const double dx1, const double ddx1, const double param) |
| |
|
| std::array< double, 6 > | coef_ {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0}} |
| |
| std::array< double, 3 > | start_condition_ {{0.0, 0.0, 0.0}} |
| |
| std::array< double, 3 > | end_condition_ {{0.0, 0.0, 0.0}} |
| |
| double | param_ = 0.0 |
| |
◆ QuinticPolynomialCurve1d() [1/4]
| apollo::planning::QuinticPolynomialCurve1d::QuinticPolynomialCurve1d |
( |
| ) |
|
|
default |
◆ QuinticPolynomialCurve1d() [2/4]
| apollo::planning::QuinticPolynomialCurve1d::QuinticPolynomialCurve1d |
( |
const std::array< double, 3 > & |
start, |
|
|
const std::array< double, 3 > & |
end, |
|
|
const double |
param |
|
) |
| |
◆ QuinticPolynomialCurve1d() [3/4]
| apollo::planning::QuinticPolynomialCurve1d::QuinticPolynomialCurve1d |
( |
const double |
x0, |
|
|
const double |
dx0, |
|
|
const double |
ddx0, |
|
|
const double |
x1, |
|
|
const double |
dx1, |
|
|
const double |
ddx1, |
|
|
const double |
param |
|
) |
| |
在文件 quintic_polynomial_curve1d.cc 第 37 行定义.
39 {
48}
void ComputeCoefficients(const double x0, const double dx0, const double ddx0, const double x1, const double dx1, const double ddx1, const double param)
std::array< double, 3 > end_condition_
std::array< double, 3 > start_condition_
◆ QuinticPolynomialCurve1d() [4/4]
◆ ~QuinticPolynomialCurve1d()
| virtual apollo::planning::QuinticPolynomialCurve1d::~QuinticPolynomialCurve1d |
( |
| ) |
|
|
virtualdefault |
◆ Coef()
| double apollo::planning::QuinticPolynomialCurve1d::Coef |
( |
const size_t |
order | ) |
const |
|
overridevirtual |
◆ ComputeCoefficients()
| void apollo::planning::QuinticPolynomialCurve1d::ComputeCoefficients |
( |
const double |
x0, |
|
|
const double |
dx0, |
|
|
const double |
ddx0, |
|
|
const double |
x1, |
|
|
const double |
dx1, |
|
|
const double |
ddx1, |
|
|
const double |
param |
|
) |
| |
|
protected |
在文件 quintic_polynomial_curve1d.cc 第 108 行定义.
110 {
111 CHECK_GT(p, 0.0);
112
115 coef_[2] = ddx0 / 2.0;
116
117 const double p2 = p * p;
118 const double p3 = p * p2;
119
120
121
122 const double c0 = (x1 - 0.5 * p2 * ddx0 - dx0 * p - x0) / p3;
123 const double c1 = (dx1 - ddx0 * p - dx0) / p2;
124 const double c2 = (ddx1 - ddx0) / p;
125
126 coef_[3] = 0.5 * (20.0 * c0 - 8.0 * c1 + c2);
127 coef_[4] = (-15.0 * c0 + 7.0 * c1 - c2) / p;
128 coef_[5] = (6.0 * c0 - 3.0 * c1 + 0.5 * c2) / p2;
129}
◆ Evaluate()
| double apollo::planning::QuinticPolynomialCurve1d::Evaluate |
( |
const std::uint32_t |
order, |
|
|
const double |
p |
|
) |
| const |
|
overridevirtual |
◆ IntegratedFromQuarticCurve()
| void apollo::planning::QuinticPolynomialCurve1d::IntegratedFromQuarticCurve |
( |
const PolynomialCurve1d & |
other, |
|
|
const double |
init_value |
|
) |
| |
在文件 quintic_polynomial_curve1d.cc 第 98 行定义.
99 {
100 CHECK_EQ(other.Order(), 4U);
101 param_ = other.ParamLength();
102 coef_[0] = init_value;
103 for (size_t i = 0; i < 5; ++i) {
104 coef_[i + 1] = other.Coef(i) / (
static_cast<double>(i) + 1);
105 }
106}
◆ Order()
| size_t apollo::planning::QuinticPolynomialCurve1d::Order |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ ParamLength()
| double apollo::planning::QuinticPolynomialCurve1d::ParamLength |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ SetParam()
| void apollo::planning::QuinticPolynomialCurve1d::SetParam |
( |
const double |
x0, |
|
|
const double |
dx0, |
|
|
const double |
ddx0, |
|
|
const double |
x1, |
|
|
const double |
dx1, |
|
|
const double |
ddx1, |
|
|
const double |
param |
|
) |
| |
◆ ToString()
| std::string apollo::planning::QuinticPolynomialCurve1d::ToString |
( |
| ) |
const |
|
overridevirtual |
◆ coef_
| std::array<double, 6> apollo::planning::QuinticPolynomialCurve1d::coef_ {{0.0, 0.0, 0.0, 0.0, 0.0, 0.0}} |
|
protected |
◆ end_condition_
| std::array<double, 3> apollo::planning::QuinticPolynomialCurve1d::end_condition_ {{0.0, 0.0, 0.0}} |
|
protected |
◆ start_condition_
| std::array<double, 3> apollo::planning::QuinticPolynomialCurve1d::start_condition_ {{0.0, 0.0, 0.0}} |
|
protected |
该类的文档由以下文件生成: