Apollo  6.0
Open source self driving car software
Public Member Functions | Static Public Attributes | List of all members
apollo::planning::QuinticSpiralPath Class Reference

#include <quintic_spiral_path.h>

Inheritance diagram for apollo::planning::QuinticSpiralPath:
Inheritance graph
Collaboration diagram for apollo::planning::QuinticSpiralPath:
Collaboration graph

Public Member Functions

 QuinticSpiralPath ()=default
 
 QuinticSpiralPath (const std::array< double, 3 > &start, const std::array< double, 3 > &end, const double delta_s)
 
 QuinticSpiralPath (const double theta0, const double kappa0, const double dkappa0, const double theta1, const double kappa1, const double dkappa1, const double delta_s)
 
template<size_t N>
double ComputeCartesianDeviationX (const double s) const
 
template<size_t N>
double ComputeCartesianDeviationY (const double s) const
 
template<size_t N>
std::pair< double, double > DeriveCartesianDeviation (const size_t param_index) const
 
double DeriveKappaDerivative (const size_t param_index, const double ratio) const
 
double DeriveDKappaDerivative (const size_t param_index, const double ratio) const
 
double DeriveD2KappaDerivative (const size_t param_index, const double r) const
 
- Public Member Functions inherited from apollo::planning::QuinticPolynomialCurve1d
 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
 
- Public Member Functions inherited from apollo::planning::PolynomialCurve1d
 PolynomialCurve1d ()=default
 
virtual ~PolynomialCurve1d ()=default
 
- Public Member Functions inherited from apollo::planning::Curve1d
 Curve1d ()=default
 
virtual ~Curve1d ()=default
 

Static Public Attributes

static const size_t THETA0 = 0
 
static const size_t KAPPA0 = 1
 
static const size_t DKAPPA0 = 2
 
static const size_t THETA1 = 3
 
static const size_t KAPPA1 = 4
 
static const size_t DKAPPA1 = 5
 
static const size_t DELTA_S = 6
 

Additional Inherited Members

- Protected Member Functions inherited from apollo::planning::QuinticPolynomialCurve1d
void ComputeCoefficients (const double x0, const double dx0, const double ddx0, const double x1, const double dx1, const double ddx1, const double param)
 
- Protected Attributes inherited from apollo::planning::QuinticPolynomialCurve1d
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}}
 
- Protected Attributes inherited from apollo::planning::PolynomialCurve1d
double param_ = 0.0
 

Detailed Description

Describe a quintic spiral path Map (theta0, kappa0, dkappa0) --— delta_s --—> (theta1, kappa1, dkappa1)

Constructor & Destructor Documentation

◆ QuinticSpiralPath() [1/3]

apollo::planning::QuinticSpiralPath::QuinticSpiralPath ( )
default

◆ QuinticSpiralPath() [2/3]

apollo::planning::QuinticSpiralPath::QuinticSpiralPath ( const std::array< double, 3 > &  start,
const std::array< double, 3 > &  end,
const double  delta_s 
)

◆ QuinticSpiralPath() [3/3]

apollo::planning::QuinticSpiralPath::QuinticSpiralPath ( const double  theta0,
const double  kappa0,
const double  dkappa0,
const double  theta1,
const double  kappa1,
const double  dkappa1,
const double  delta_s 
)

Member Function Documentation

◆ ComputeCartesianDeviationX()

template<size_t N>
double apollo::planning::QuinticSpiralPath::ComputeCartesianDeviationX ( const double  s) const
inline

◆ ComputeCartesianDeviationY()

template<size_t N>
double apollo::planning::QuinticSpiralPath::ComputeCartesianDeviationY ( const double  s) const
inline

◆ DeriveCartesianDeviation()

template<size_t N>
std::pair<double, double> apollo::planning::QuinticSpiralPath::DeriveCartesianDeviation ( const size_t  param_index) const
inline

◆ DeriveD2KappaDerivative()

double apollo::planning::QuinticSpiralPath::DeriveD2KappaDerivative ( const size_t  param_index,
const double  r 
) const

◆ DeriveDKappaDerivative()

double apollo::planning::QuinticSpiralPath::DeriveDKappaDerivative ( const size_t  param_index,
const double  ratio 
) const

◆ DeriveKappaDerivative()

double apollo::planning::QuinticSpiralPath::DeriveKappaDerivative ( const size_t  param_index,
const double  ratio 
) const

Member Data Documentation

◆ DELTA_S

const size_t apollo::planning::QuinticSpiralPath::DELTA_S = 6
static

◆ DKAPPA0

const size_t apollo::planning::QuinticSpiralPath::DKAPPA0 = 2
static

◆ DKAPPA1

const size_t apollo::planning::QuinticSpiralPath::DKAPPA1 = 5
static

◆ KAPPA0

const size_t apollo::planning::QuinticSpiralPath::KAPPA0 = 1
static

◆ KAPPA1

const size_t apollo::planning::QuinticSpiralPath::KAPPA1 = 4
static

◆ THETA0

const size_t apollo::planning::QuinticSpiralPath::THETA0 = 0
static

◆ THETA1

const size_t apollo::planning::QuinticSpiralPath::THETA1 = 3
static

The documentation for this class was generated from the following file: