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

Common base for optimization-based path optimizer with splines. More...

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

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

Classes

struct  SplineOptimizationData
 

Public Types

enum  { PolynomeBasis = _PolynomeBasis, SplineOrder = _SplineOrder }
 
typedef path::Spline< PolynomeBasis, SplineOrderSpline
 
typedef Spline::Ptr_t SplinePtr_t
 
typedef std::vector< SplinePtr_tSplines_t
 

Protected Member Functions

 SplineGradientBasedAbstract (const Problem &problem)
 
PathVectorPtr_t buildPathVector (const Splines_t &splines) const
 
- Protected Member Functions inherited from hpp::core::PathOptimizer
 PathOptimizer (const Problem &problem)
 
PathPtr_t steer (ConfigurationIn_t q1, ConfigurationIn_t q2) const
 

Protected Attributes

DevicePtr_t robot_
 
- Protected Attributes inherited from hpp::core::PathOptimizer
bool interrupt_
 

Spline convinience functions

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...
 
void updateSplines (Splines_t &spline, const vector_t &param) const
 
void updateParameters (vector_t &param, const Splines_t &spline) const
 

Spline creation

typedef steeringMethod::Spline< PolynomeBasis, SplineOrderSSM_t
 Spline steering method. More...
 
SSM_t::Ptr_t steeringMethod_
 
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
 
static PathVectorPtr_t cleanInput (const PathVectorPtr_t &input)
 Flatten path and remove path of zero length. More...
 

Path validation

typedef std::vector< std::pair< PathValidationReportPtr_t, std::size_t > > Reports_t
 
std::vector< PathValidationPtr_tvalidations_
 
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
 

Constraint creation

typedef Eigen::RowBlockIndices RowBlockIndices
 
typedef std::vector< bool > Bools_t
 
typedef std::vector< size_typeIndices_t
 
typedef std::vector< SplineOptimizationDataSplineOptimizationDatas_t
 
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...
 

Additional Inherited Members

- Public Member Functions inherited from hpp::core::PathOptimizer
virtual ~PathOptimizer ()
 
const Problemproblem () const
 Get problem. More...
 
virtual PathVectorPtr_t optimize (const PathVectorPtr_t &path)=0
 Optimize path. More...
 
void interrupt ()
 Interrupt path optimization. More...
 

Detailed Description

template<int _PolynomeBasis, int _SplineOrder>
class hpp::core::pathOptimization::SplineGradientBasedAbstract< _PolynomeBasis, _SplineOrder >

Common base for optimization-based path optimizer with splines.


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