Apollo  6.0
Open source self driving car software
Functions
apollo::prediction::math_util Namespace Reference

Functions

double Normalize (const double value, const double mean, const double std)
 Normalize the value by specified mean and standard deviation. More...
 
double Relu (const double value)
 RELU function used in neural networks as an activation function. More...
 
std::vector< double > Softmax (const std::vector< double > &value, bool use_exp=true)
 Softmax function used in neural networks as an activation function. More...
 
int SolveQuadraticEquation (const std::vector< double > &coefficients, std::pair< double, double > *roots)
 Solve quadratic equation. More...
 
double EvaluateQuinticPolynomial (const std::array< double, 6 > &coeffs, const double t, const uint32_t order, const double end_t, const double end_v)
 Evaluate quintic polynomial. More...
 
double EvaluateQuarticPolynomial (const std::array< double, 5 > &coeffs, const double t, const uint32_t order, const double end_t, const double end_v)
 Evaluate quartic polynomial. More...
 
double EvaluateCubicPolynomial (const std::array< double, 4 > &coefs, const double t, const uint32_t order, const double end_t=std::numeric_limits< double >::infinity(), const double end_v=0.0)
 Evaluate cubic polynomial. More...
 
template<std::size_t N>
std::array< double, 2 *N - 2 > ComputePolynomial (const std::array< double, N - 1 > &start_state, const std::array< double, N - 1 > &end_state, const double param)
 
template<>
std::array< double, 4 > ComputePolynomial< 3 > (const std::array< double, 2 > &start_state, const std::array< double, 2 > &end_state, const double param)
 
double GetSByConstantAcceleration (const double v0, const double acceleration, const double t)
 

Function Documentation

◆ ComputePolynomial()

template<std::size_t N>
std::array<double, 2 * N - 2> apollo::prediction::math_util::ComputePolynomial ( const std::array< double, N - 1 > &  start_state,
const std::array< double, N - 1 > &  end_state,
const double  param 
)

◆ ComputePolynomial< 3 >()

template<>
std::array<double, 4> apollo::prediction::math_util::ComputePolynomial< 3 > ( const std::array< double, 2 > &  start_state,
const std::array< double, 2 > &  end_state,
const double  param 
)
inline

◆ EvaluateCubicPolynomial()

double apollo::prediction::math_util::EvaluateCubicPolynomial ( const std::array< double, 4 > &  coefs,
const double  t,
const uint32_t  order,
const double  end_t = std::numeric_limits< double >::infinity(),
const double  end_v = 0.0 
)

Evaluate cubic polynomial.

Parameters
coefficientsof the cubic polynomial, lower to higher.
parameterof the cubic polynomial.
end_tending time for extrapolation.
end_vending velocity for extrapolation.
Returns
order of derivative to evaluate.

◆ EvaluateQuarticPolynomial()

double apollo::prediction::math_util::EvaluateQuarticPolynomial ( const std::array< double, 5 > &  coeffs,
const double  t,
const uint32_t  order,
const double  end_t,
const double  end_v 
)

Evaluate quartic polynomial.

Parameters
coefficientsof the quartic polynomial, lower to higher.
parameterof the quartic polynomial.
Returns
order of derivative to evaluate.

◆ EvaluateQuinticPolynomial()

double apollo::prediction::math_util::EvaluateQuinticPolynomial ( const std::array< double, 6 > &  coeffs,
const double  t,
const uint32_t  order,
const double  end_t,
const double  end_v 
)

Evaluate quintic polynomial.

Parameters
coefficientsof the quintic polynomial, lower to higher.
parameterof the quintic polynomial.
Returns
order of derivative to evaluate.

◆ GetSByConstantAcceleration()

double apollo::prediction::math_util::GetSByConstantAcceleration ( const double  v0,
const double  acceleration,
const double  t 
)

◆ Normalize()

double apollo::prediction::math_util::Normalize ( const double  value,
const double  mean,
const double  std 
)

Normalize the value by specified mean and standard deviation.

Parameters
valueThe value to be normalized.
meanThe mean used for normalization.
stdThe standard deviation used for normalization.
Returns
The normalized value.

◆ Relu()

double apollo::prediction::math_util::Relu ( const double  value)

RELU function used in neural networks as an activation function.

Parameters
valueThe input.
Returns
The output of RELU function.

◆ Softmax()

std::vector<double> apollo::prediction::math_util::Softmax ( const std::vector< double > &  value,
bool  use_exp = true 
)

Softmax function used in neural networks as an activation function.

Parameters
vectorThe input.
Returns
The output of Softmax function.

◆ SolveQuadraticEquation()

int apollo::prediction::math_util::SolveQuadraticEquation ( const std::vector< double > &  coefficients,
std::pair< double, double > *  roots 
)

Solve quadratic equation.

Parameters
coefficientsThe coefficients of quadratic equation.
rootsTwo roots of the equation if any.
Returns
An integer indicating the success of solving equation.