Classes | |
struct | problem_data |
struct | problem_definition |
struct | quadratic_problem |
Enumerations | |
enum | constraint_flag { INIT_POS = 0x001, INIT_VEL = 0x002, INIT_ACC = 0x004, INIT_JERK = 0x008, END_POS = 0x010, END_VEL = 0x020, END_ACC = 0x040, END_JERK = 0x080, ALL = 0x0ff, NONE = 0x100 } |
enum | integral_cost_flag { DISTANCE = 0x000, VELOCITY = 0x001, ACCELERATION = 0x002, JERK = 0x003, FOURTH = 0x004, FIFTH = 0x005 } |
Functions | |
std::size_t | num_active_constraints (const constraint_flag &flag) |
template<typename Numeric , typename LinearVar > | |
LinearVar | fill_with_zeros (const LinearVar &var, const std::size_t i, const std::size_t startVariableIndex, const std::size_t numVariables, const std::size_t Dim) |
template<typename Point , typename Numeric , typename Bezier , typename LinearVar > | |
Bezier * | compute_linear_control_points (const problem_data< Point, Numeric > &pData, const std::vector< LinearVar > &linearVars, const Numeric totalTime) |
template<typename Point , typename Numeric , bool Safe> | |
problem_data< Point, Numeric, Safe > | setup_control_points (const problem_definition< Point, Numeric > &pDef) |
template<typename Point , typename Numeric > | |
long | compute_num_ineq_control_points (const problem_definition< Point, Numeric > &pDef, const problem_data< Point, Numeric > &pData) |
template<typename Point , typename Numeric > | |
std::vector< bezier_curve< Numeric, Numeric, true, linear_variable< Numeric > > > | split (const problem_definition< Point, Numeric > &pDef, problem_data< Point, Numeric > &pData) |
template<typename Point , typename Numeric > | |
void | initInequalityMatrix (const problem_definition< Point, Numeric > &pDef, problem_data< Point, Numeric > &pData, quadratic_problem< Point, Numeric > &prob) |
template<typename Point , typename Numeric , typename In > | |
quadratic_variable< Numeric > | bezier_product (In PointsBegin1, In PointsEnd1, In PointsBegin2, In PointsEnd2, const std::size_t) |
constraint_flag | operator~ (constraint_flag a) |
constraint_flag | operator| (constraint_flag a, constraint_flag b) |
constraint_flag | operator & (constraint_flag a, constraint_flag b) |
constraint_flag | operator^ (constraint_flag a, constraint_flag b) |
constraint_flag & | operator|= (constraint_flag &a, constraint_flag b) |
constraint_flag & | operator &= (constraint_flag &a, constraint_flag b) |
constraint_flag & | operator^= (constraint_flag &a, constraint_flag b) |
template<typename Point , typename Numeric > | |
quadratic_variable< Numeric > | compute_integral_cost_internal (const problem_data< Point, Numeric > &pData, const std::size_t num_derivate) |
template<typename Point , typename Numeric > | |
quadratic_variable< Numeric > | compute_integral_cost (const problem_data< Point, Numeric > &pData, const integral_cost_flag flag) |
template<typename Point , typename Numeric , bool Safe> | |
quadratic_problem< Point, Numeric > | generate_problem (const problem_definition< Point, Numeric > &pDef, const quadratic_variable< Numeric > &cost) |
template<typename Point , typename Numeric , bool Safe> | |
quadratic_problem< Point, Numeric > | generate_problem (const problem_definition< Point, Numeric > &pDef, const integral_cost_flag costFlag) |
quadratic_variable<Numeric> curves::optimization::bezier_product | ( | In | PointsBegin1, |
In | PointsEnd1, | ||
In | PointsBegin2, | ||
In | PointsEnd2, | ||
const std::size_t | |||
) |
quadratic_variable<Numeric> curves::optimization::compute_integral_cost | ( | const problem_data< Point, Numeric > & | pData, |
const integral_cost_flag | flag | ||
) |
quadratic_variable<Numeric> curves::optimization::compute_integral_cost_internal | ( | const problem_data< Point, Numeric > & | pData, |
const std::size_t | num_derivate | ||
) |
Bezier* curves::optimization::compute_linear_control_points | ( | const problem_data< Point, Numeric > & | pData, |
const std::vector< LinearVar > & | linearVars, | ||
const Numeric | totalTime | ||
) |
long curves::optimization::compute_num_ineq_control_points | ( | const problem_definition< Point, Numeric > & | pDef, |
const problem_data< Point, Numeric > & | pData | ||
) |
LinearVar curves::optimization::fill_with_zeros | ( | const LinearVar & | var, |
const std::size_t | i, | ||
const std::size_t | startVariableIndex, | ||
const std::size_t | numVariables, | ||
const std::size_t | Dim | ||
) |
quadratic_problem<Point, Numeric> curves::optimization::generate_problem | ( | const problem_definition< Point, Numeric > & | pDef, |
const quadratic_variable< Numeric > & | cost | ||
) |
quadratic_problem<Point, Numeric> curves::optimization::generate_problem | ( | const problem_definition< Point, Numeric > & | pDef, |
const integral_cost_flag | costFlag | ||
) |
void curves::optimization::initInequalityMatrix | ( | const problem_definition< Point, Numeric > & | pDef, |
problem_data< Point, Numeric > & | pData, | ||
quadratic_problem< Point, Numeric > & | prob | ||
) |
|
inline |
References NONE.
Referenced by setup_control_points().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
problem_data<Point, Numeric, Safe> curves::optimization::setup_control_points | ( | const problem_definition< Point, Numeric > & | pDef | ) |
References curves::optimization::problem_definition< Point, Numeric >::degree, curves::optimization::problem_definition< Point, Numeric >::dim_, END_ACC, curves::curve_constraints< Point >::end_acc, END_JERK, curves::curve_constraints< Point >::end_jerk, END_POS, curves::optimization::problem_definition< Point, Numeric >::end_pos, END_VEL, curves::curve_constraints< Point >::end_vel, curves::optimization::problem_definition< Point, Numeric >::flag, INIT_ACC, curves::curve_constraints< Point >::init_acc, INIT_JERK, curves::curve_constraints< Point >::init_jerk, INIT_POS, curves::optimization::problem_definition< Point, Numeric >::init_pos, INIT_VEL, curves::curve_constraints< Point >::init_vel, num_active_constraints(), curves::optimization::problem_data< Point, Numeric, Safe >::numControlPoints, curves::optimization::problem_definition< Point, Numeric >::totalTime, curves::optimization::problem_data< Point, Numeric, Safe >::variables_, and curves::linear_variable< Numeric, Safe >::Zero().
std::vector<bezier_curve<Numeric, Numeric, true, linear_variable<Numeric> > > curves::optimization::split | ( | const problem_definition< Point, Numeric > & | pDef, |
problem_data< Point, Numeric > & | pData | ||
) |