hpp-manipulation  4.9.0
Classes for manipulation planning.
hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder > Class Template Reference

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

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

Public Types

enum  { PolynomeBasis = _PolynomeBasis, SplineOrder = _SplineOrder }
 
typedef core::pathOptimization::SplineGradientBased< PolynomeBasis, SplineOrderParent_t
 
typedef boost::shared_ptr< SplineGradientBasedPtr_t
 
typedef path::Spline< PolynomeBasis, SplineOrderSpline
 
typedef path::Spline< PolynomeBasis, SplineOrderSpline
 
typedef Spline::Ptr_t SplinePtr_t
 
typedef Spline::Ptr_t SplinePtr_t
 
typedef std::vector< SplinePtr_tSplines_t
 
typedef std::vector< SplinePtr_tSplines_t
 
- Public Types inherited from hpp::core::pathOptimization::SplineGradientBased< _PolynomeBasis, _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
 
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 >
typedef path::Spline< PolynomeBasis, SplineOrderSpline
 
typedef Spline::Ptr_t SplinePtr_t
 
typedef std::vector< SplinePtr_tSplines_t
 
typedef path::Spline< PolynomeBasis, SplineOrderSpline
 
typedef Spline::Ptr_t SplinePtr_t
 
typedef std::vector< SplinePtr_tSplines_t
 

Static Public Member Functions

static Ptr_t create (const Problem &problem)
 Return shared pointer to new object. More...
 
static Ptr_t createFromCore (const core::Problem &problem)
 
- Static Public Member Functions inherited from hpp::core::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >
static Ptr_t create (const Problem &problem)
 
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)
 
static void interpolate (const Splines_t &a, const Splines_t &b, const value_type &alpha, Splines_t &res)
 
static void copy (const Splines_t &in, Splines_t &out)
 
static void interpolate (const Splines_t &a, const Splines_t &b, const value_type &alpha, Splines_t &res)
 

Protected Types

typedef hpp::core::pathOptimization::LinearConstraint LinearConstraint
 
typedef std::vector< SplineOptimizationDataSplineOptimizationDatas_t
 
typedef std::vector< SplineOptimizationDataSplineOptimizationDatas_t
 
- Protected Types inherited from hpp::core::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >
typedef Eigen::RowBlockIndices RowBlockIndices
 
typedef std::vector< SplineOptimizationDataSplineOptimizationDatas_t
 
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
 
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
 
typedef steeringMethod::Spline< PolynomeBasis, SplineOrderSSM_t
 
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)
 
virtual void initializePathValidation (const Splines_t &splines)
 
virtual void addProblemConstraints (const core::PathVectorPtr_t &init, const Splines_t &splines, LinearConstraint &lc, SplineOptimizationDatas_t &sods) const
 
virtual void constrainEndIntoState (const core::PathPtr_t &path, const size_type &idxSpline, const SplinePtr_t &spline, const graph::StatePtr_t state, LinearConstraint &lc) const
 
virtual void constraintDerivativesAtEndOfSpline (const size_type &idxSpline, const SplinePtr_t &spline, LinearConstraint &lc) const
 
- Protected Member Functions inherited from hpp::core::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >
 SplineGradientBased (const Problem &problem)
 
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
 
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
 
 SplineGradientBased (const Problem &problem)
 
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
 
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
 
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
 
Indices_t validateBounds (const Splines_t &splines, const LinearConstraint &lc) const
 
void addContinuityConstraints (const Splines_t &splines, const size_type maxOrder, const SplineOptimizationDatas_t &ess, LinearConstraint &continuity)
 
 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
 
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
 
Indices_t validateBounds (const Splines_t &splines, const LinearConstraint &lc) const
 
void addContinuityConstraints (const Splines_t &splines, const size_type maxOrder, const SplineOptimizationDatas_t &ess, LinearConstraint &continuity)
 
- Protected Member Functions inherited from hpp::core::PathOptimizer
 PathOptimizer (const Problem &problem)
 
PathPtr_t steer (ConfigurationIn_t q1, ConfigurationIn_t q2) const
 
 PathOptimizer (const Problem &problem)
 
PathPtr_t steer (ConfigurationIn_t q1, ConfigurationIn_t q2) const
 

Additional Inherited Members

- Public Member Functions inherited from hpp::core::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >
virtual PathVectorPtr_t optimize (const PathVectorPtr_t &path)
 
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
 
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
 
void interrupt ()
 
virtual ~PathOptimizer ()
 
const Problemproblem () const
 
void interrupt ()
 
- Public Attributes inherited from hpp::core::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >
 PolynomeBasis
 
 SplineOrder
 
- Public Attributes inherited from hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >
 PolynomeBasis
 
 SplineOrder
 
- Static Protected Member Functions inherited from hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >
static PathVectorPtr_t cleanInput (const PathVectorPtr_t &input)
 
static PathVectorPtr_t cleanInput (const PathVectorPtr_t &input)
 
- Protected Attributes inherited from hpp::core::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >
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_
 

Member Typedef Documentation

◆ LinearConstraint

template<int _PolynomeBasis, int _SplineOrder>
typedef hpp::core::pathOptimization::LinearConstraint hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::LinearConstraint
protected

◆ Parent_t

template<int _PolynomeBasis, int _SplineOrder>
typedef core::pathOptimization::SplineGradientBased<PolynomeBasis, SplineOrder> hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::Parent_t

◆ Ptr_t

template<int _PolynomeBasis, int _SplineOrder>
typedef boost::shared_ptr<SplineGradientBased> hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::Ptr_t

◆ Spline [1/2]

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

◆ Spline [2/2]

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

◆ SplineOptimizationDatas_t [1/2]

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

◆ SplineOptimizationDatas_t [2/2]

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

◆ SplinePtr_t [1/2]

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

◆ SplinePtr_t [2/2]

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

◆ Splines_t [1/2]

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

◆ Splines_t [2/2]

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

Member Enumeration Documentation

◆ anonymous enum

template<int _PolynomeBasis, int _SplineOrder>
anonymous enum
Enumerator
PolynomeBasis 
SplineOrder 

Constructor & Destructor Documentation

◆ SplineGradientBased()

template<int _PolynomeBasis, int _SplineOrder>
hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::SplineGradientBased ( const Problem problem)
protected

Member Function Documentation

◆ addProblemConstraints()

template<int _PolynomeBasis, int _SplineOrder>
virtual void hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::addProblemConstraints ( const core::PathVectorPtr_t init,
const Splines_t splines,
LinearConstraint lc,
SplineOptimizationDatas_t sods 
) const
protectedvirtual

◆ constrainEndIntoState()

template<int _PolynomeBasis, int _SplineOrder>
virtual void hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::constrainEndIntoState ( const core::PathPtr_t path,
const size_type idxSpline,
const SplinePtr_t spline,
const graph::StatePtr_t  state,
LinearConstraint lc 
) const
protectedvirtual

◆ constraintDerivativesAtEndOfSpline()

template<int _PolynomeBasis, int _SplineOrder>
virtual void hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::constraintDerivativesAtEndOfSpline ( const size_type idxSpline,
const SplinePtr_t spline,
LinearConstraint lc 
) const
protectedvirtual

◆ create()

template<int _PolynomeBasis, int _SplineOrder>
static Ptr_t hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::create ( const Problem problem)
static

Return shared pointer to new object.

◆ createFromCore()

template<int _PolynomeBasis, int _SplineOrder>
static Ptr_t hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::createFromCore ( const core::Problem problem)
static

This is only for compatibility purpose (with ProblemSolver). problem is statically casted to an object of type const manipulation::Problem& and method create(const Problem&) is called.

◆ initializePathValidation()

template<int _PolynomeBasis, int _SplineOrder>
virtual void hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::initializePathValidation ( const Splines_t splines)
protectedvirtual

Get path validation for each spline

Parameters
splines,vectorof splines

for each spline in the input vector, retrieve the path validation method of the transition the spline comes from. If no edge is found, use path validation in problem.

Note
path validation methods are stored in member hpp::core::pathOptimization::SplineGradientBasedAbstract::validations_

Reimplemented from hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >.


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