hpp-core  4.9.0
Implement basic classes for canonical path planning for kinematic chains.
hpp::core::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder > Class Template Reference

#include <hpp/core/path-optimization/spline-gradient-based.hh>

Inheritance diagram for hpp::core::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >:
Collaboration diagram for hpp::core::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >:

Public Types

enum  { PolynomeBasis = _PolynomeBasis, SplineOrder = _SplineOrder }
 
typedef SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder > Base
 
typedef boost::shared_ptr< SplineGradientBasedPtr_t
 
typedef path::Spline< PolynomeBasis, SplineOrderSpline
 
typedef Spline::Ptr_t SplinePtr_t
 
typedef std::vector< SplinePtr_tSplines_t
 
- Public Types inherited from hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >
enum  { PolynomeBasis = _PolynomeBasis, SplineOrder = _SplineOrder }
 
typedef path::Spline< PolynomeBasis, SplineOrderSpline
 
typedef Spline::Ptr_t SplinePtr_t
 
typedef std::vector< SplinePtr_tSplines_t
 

Public Member Functions

virtual PathVectorPtr_t optimize (const PathVectorPtr_t &path)
 
- Public Member Functions inherited from hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >
void updateSplines (Splines_t &spline, const vector_t &param) const
 
void updateParameters (vector_t &param, const Splines_t &spline) const
 
- Public Member Functions inherited from hpp::core::PathOptimizer
virtual ~PathOptimizer ()
 
const Problemproblem () const
 Get problem. More...
 
void interrupt ()
 Interrupt path optimization. More...
 

Static Public Member Functions

static Ptr_t create (const Problem &problem)
 
- Static Public Member Functions inherited from hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >
static void copy (const Splines_t &in, Splines_t &out)
 Copy a vector of Spline. More...
 
static void interpolate (const Splines_t &a, const Splines_t &b, const value_type &alpha, Splines_t &res)
 Returns res = (1 - alpha) * a + alpha * b. More...
 

Protected Types

typedef Eigen::RowBlockIndices RowBlockIndices
 
typedef std::vector< SplineOptimizationDataSplineOptimizationDatas_t
 
- Protected Types inherited from hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >
typedef steeringMethod::Spline< PolynomeBasis, SplineOrderSSM_t
 Spline steering method. More...
 
typedef std::vector< std::pair< PathValidationReportPtr_t, std::size_t > > Reports_t
 
typedef Eigen::RowBlockIndices RowBlockIndices
 
typedef std::vector< bool > Bools_t
 
typedef std::vector< size_typeIndices_t
 
typedef std::vector< SplineOptimizationDataSplineOptimizationDatas_t
 

Protected Member Functions

 SplineGradientBased (const Problem &problem)
 
Constraint creation
virtual void addProblemConstraints (const PathVectorPtr_t &init, const Splines_t &splines, LinearConstraint &lc, SplineOptimizationDatas_t &sods) const
 
void addProblemConstraintOnPath (const PathPtr_t &path, const size_type &idxSpline, const SplinePtr_t &spline, LinearConstraint &lc, SplineOptimizationData &sod) const
 
Eigen::RowBlockIndices computeActiveParameters (const PathPtr_t &path, const constraints::solver::BySubstitution &hs, const value_type &guessThr=-1, const bool &useExplicitInput=false) const
 
- Protected Member Functions inherited from hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >
 SplineGradientBasedAbstract (const Problem &problem)
 
PathVectorPtr_t buildPathVector (const Splines_t &splines) const
 
void appendEquivalentSpline (const StraightPathPtr_t &path, Splines_t &splines) const
 
void appendEquivalentSpline (const InterpolatedPathPtr_t &path, Splines_t &splines) const
 
void appendEquivalentSpline (const PathVectorPtr_t &path, Splines_t &splines) const
 
virtual void initializePathValidation (const Splines_t &splines)
 
Reports_t validatePath (const Splines_t &splines, std::vector< std::size_t > &reordering, bool stopAtFirst, bool reorder) const
 
void jointBoundConstraint (const Splines_t &splines, LinearConstraint &lc) const
 
std::size_t addBoundConstraints (const Indices_t &bci, const LinearConstraint &bc, Bools_t &activeConstraint, LinearConstraint &constraint) const
 Unused. More...
 
Indices_t validateBounds (const Splines_t &splines, const LinearConstraint &lc) const
 Mostly for debugging purpose. More...
 
void addContinuityConstraints (const Splines_t &splines, const size_type maxOrder, const SplineOptimizationDatas_t &ess, LinearConstraint &continuity)
 Add the linear constraint to connect consecutive splines together. More...
 
- Protected Member Functions inherited from hpp::core::PathOptimizer
 PathOptimizer (const Problem &problem)
 
PathPtr_t steer (ConfigurationIn_t q1, ConfigurationIn_t q2) const
 

Protected Attributes

bool checkOptimum_
 
- Protected Attributes inherited from hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >
DevicePtr_t robot_
 
SSM_t::Ptr_t steeringMethod_
 
std::vector< PathValidationPtr_tvalidations_
 
- Protected Attributes inherited from hpp::core::PathOptimizer
bool interrupt_
 

Additional Inherited Members

- Static Protected Member Functions inherited from hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >
static PathVectorPtr_t cleanInput (const PathVectorPtr_t &input)
 Flatten path and remove path of zero length. More...
 

Member Typedef Documentation

◆ RowBlockIndices

template<int _PolynomeBasis, int _SplineOrder>
typedef Eigen::RowBlockIndices hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >::RowBlockIndices
protected

◆ Spline

template<int _PolynomeBasis, int _SplineOrder>
typedef path::Spline<PolynomeBasis, SplineOrder> hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >::Spline

◆ SplineOptimizationDatas_t

template<int _PolynomeBasis, int _SplineOrder>
typedef std::vector<SplineOptimizationData> hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >::SplineOptimizationDatas_t
protected

◆ SplinePtr_t

template<int _PolynomeBasis, int _SplineOrder>
typedef Spline::Ptr_t hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >::SplinePtr_t

◆ Splines_t

template<int _PolynomeBasis, int _SplineOrder>
typedef std::vector<SplinePtr_t> hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >::Splines_t

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