hpp-manipulation 9.0.2
Classes for manipulation planning.
Loading...
Searching...
No Matches
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, SplineOrder > Parent_t
typedef shared_ptr< SplineGradientBased > Ptr_t
Public Types inherited from hpp::core::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >
typedef SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder > Base
typedef shared_ptr< SplineGradientBased > Ptr_t
typedef path::Spline< PolynomeBasis, SplineOrder > Spline
typedef Spline::Ptr_t SplinePtr_t
typedef std::vector< SplinePtr_t > Splines_t
Public Types inherited from hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >
typedef path::Spline< PolynomeBasis, SplineOrder > Spline
typedef Spline::Ptr_t SplinePtr_t
typedef std::vector< SplinePtr_t > Splines_t

Static Public Member Functions

static Ptr_t create (const ProblemConstPtr_t &problem)
 Return shared pointer to new object.
static Ptr_t createFromCore (const core::ProblemConstPtr_t &problem)
Static Public Member Functions inherited from hpp::core::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >
static Ptr_t create (const ProblemConstPtr_t &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)

Protected Types

typedef hpp::core::pathOptimization::LinearConstraint LinearConstraint
Protected Types inherited from hpp::core::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >
typedef Eigen::RowBlockIndices RowBlockIndices
typedef std::vector< SplineOptimizationData > SplineOptimizationDatas_t
Protected Types inherited from hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >
typedef steeringMethod::Spline< PolynomeBasis, SplineOrder > SSM_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_type > Indices_t
typedef std::vector< SplineOptimizationData > SplineOptimizationDatas_t

Protected Member Functions

 SplineGradientBased (const ProblemConstPtr_t &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 ProblemConstPtr_t &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
Protected Member Functions inherited from hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >
 SplineGradientBasedAbstract (const ProblemConstPtr_t &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 ProblemConstPtr_t &problem)
PathPtr_t steer (ConfigurationIn_t q1, ConfigurationIn_t q2) const
void monitorExecution ()
void endIteration ()
bool shouldStop () const
void initFromParameters ()

Additional Inherited Members

Public Member Functions inherited from hpp::core::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >
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 ()
ProblemConstPtr_t problem () const
void interrupt ()
void maxIterations (const unsigned long int &n)
void timeOut (const double &timeOut)
Public Attributes inherited from hpp::core::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >
 PolynomeBasis
 SplineOrder
value_type alphaInit
bool alwaysStopAtFirst
size_type costOrder
bool usePathLengthAsWeights
bool reorderIntervals
bool linearizeAtEachStep
bool checkJointBound
bool returnOptimum
value_type costThreshold
value_type guessThreshold
value_type QPAccuracy
Public Attributes inherited from hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >
 PolynomeBasis
 SplineOrder
Public Attributes inherited from hpp::core::PathOptimizer
bool enabled
size_type iteration
boost::posix_time::ptime timeStart
Static Protected Member Functions inherited from hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >
static PathVectorPtr_t cleanInput (const PathVectorPtr_t &input)
Protected Attributes inherited from hpp::core::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >
bool checkOptimum_
DevicePtr_t robot_
Protected Attributes inherited from hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >
DevicePtr_t robot_
SSM_t::Ptr_t steeringMethod_
std::vector< PathValidationPtr_t > validations_
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 shared_ptr<SplineGradientBased> hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::Ptr_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 ProblemConstPtr_t & 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>
Ptr_t hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::create ( const ProblemConstPtr_t & problem)
static

Return shared pointer to new object.

◆ createFromCore()

template<int _PolynomeBasis, int _SplineOrder>
Ptr_t hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::createFromCore ( const core::ProblemConstPtr_t & 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: