All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Classes | Typedefs | Enumerations | Enumerator | Functions | Variables
Path Optimization

Namespaces

 hpp::manipulation::pathOptimization
 

Classes

class  hpp::manipulation::GraphNodeOptimizer
 Path optimizer that recompute the edge parameter of the constraints. More...
 
class  hpp::manipulation::GraphOptimizer
 Path optimizer for paths created with the constraint graph. More...
 
struct  hpp::manipulation::pathOptimization::ConfigOptimizationTraits
 Optimize the waypoints of the path and optionally add the constraint::ConfigurationConstraint to the ConfigProjector of the path. More...
 
class  hpp::manipulation::pathOptimization::Keypoints
 
class  hpp::manipulation::pathOptimization::SmallSteps
 Walking trajectory generator for paths created with the constraint graph. More...
 
class  hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >
 

Typedefs

typedef std::vector
< CollisionConstraintsResult > 
CollisionConstraintsResults_t
 
typedef Eigen::JacobiSVD
< matrix_t
Decomposition_t
 
typedef Eigen::LLT< matrix_t,
Eigen::Lower > 
LLT_t
 
typedef path::Spline
< PolynomeBasis, SplineOrder
Spline
 
typedef Spline::Ptr_t SplinePtr_t
 
typedef std::vector< SplinePtr_tSplines_t
 
typedef
SplineGradientBasedAbstract
< _PolynomeBasis, _SplineOrder > 
Base
 
typedef boost::shared_ptr
< SplineGradientBased
Ptr_t
 
typedef steeringMethod::Spline
< PolynomeBasis, SplineOrder
SSM_t
 
typedef std::vector< std::pair
< CollisionPathValidationReportPtr_t,
std::size_t > > 
Reports_t
 
typedef constraints::ExplicitSolver ExplicitSolver
 
typedef Eigen::RowBlockIndices RowBlockIndices
 
typedef std::vector< bool > Bools_t
 
typedef std::vector< size_typeIndices_t
 
typedef std::vector
< SplineOptimizationData
SplineOptimizationDatas_t
 
typedef
core::pathOptimization::SplineGradientBased
< PolynomeBasis, SplineOrder
hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::Parent_t
 
typedef boost::shared_ptr
< SplineGradientBased
hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::Ptr_t
 
typedef
hpp::core::pathOptimization::LinearConstraint 
hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::LinearConstraint
 

Enumerations

enum  {
  hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::PolynomeBasis = _PolynomeBasis,
  hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::SplineOrder = _SplineOrder
}
 

Functions

static GradientBasedPtr_t create (const Problem &problem)
 
virtual PathVectorPtr_t optimize (const PathVectorPtr_t &path)
 
 GradientBased (const Problem &problem)
 
 QuadraticProgram (size_type inputSize)
 
 QuadraticProgram (const QuadraticProgram &QP, const LinearConstraint &lc)
 
 QuadraticProgram (const QuadraticProgram &QP)
 
 ~QuadraticProgram ()
 
void addRows (const std::size_t &nbRows)
 
 SplineGradientBasedAbstract (const Problem &problem)
 
 SplineOptimizationData ()
 
 SplineOptimizationData (size_type rDof)
 
PathVectorPtr_t buildPathVector (const Splines_t &splines) const
 
 SplineGradientBased (const Problem &problem)
 
virtual ~PathOptimizer ()
 
const Problemproblem () const
 
void interrupt ()
 
 PathOptimizer (const Problem &problem)
 
PathPtr_t steer (ConfigurationIn_t q1, ConfigurationIn_t q2) const
 
void reduced (const LinearConstraint &lc, QuadraticProgram &QPr) const
 
void decompose ()
 
void solve ()
 
void computeLLT ()
 
double solve (const LinearConstraint &ce, const LinearConstraint &ci)
 
static void copy (const Splines_t &in, Splines_t &out)
 
void updateSplines (Splines_t &spline, const vector_t &param) const
 
static void interpolate (const Splines_t &a, const Splines_t &b, const value_type &alpha, Splines_t &res)
 
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, bool stopAtFirst) 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)
 
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::HybridSolver &hs, const value_type &guessThr=-1, const bool &useExplicitInput=false) const
 
static Ptr_t hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::create (const Problem &problem)
 Return shared pointer to new object. More...
 
static Ptr_t hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::createFromCore (const core::Problem &problem)
 This is only for compatibility purpose (with ProblemSolver). More...
 
 hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::SplineGradientBased (const Problem &problem)
 
virtual void hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::initializePathValidation (const Splines_t &splines)
 
virtual void hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::addProblemConstraints (const core::PathVectorPtr_t &init, const Splines_t &splines, LinearConstraint &lc, SplineOptimizationDatas_t &sods) const
 
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
 
virtual void hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::constraintDerivativesAtEndOfSpline (const size_type &idxSpline, const SplinePtr_t &spline, LinearConstraint &lc) const
 

Variables

ConstraintSetPtr_t set
 
boost::shared_ptr< ExplicitSolveres
 
RowBlockIndices activeParameters
 
DevicePtr_t robot_
 
bool checkOptimum_
 
bool interrupt_
 
matrix_t H
 
vector_t b
 
bool bIsZero
 
LLT_t llt
 
value_type trace
 
Eigen::VectorXi activeConstraint
 
int activeSetSize
 
Decomposition_t dec
 
vector_t xStar
 
SSM_t::Ptr_t steeringMethod_
 
std::vector< PathValidationPtr_tvalidations_
 

Detailed Description

Typedef Documentation

template<int _PolynomeBasis, int _SplineOrder>
typedef hpp::core::pathOptimization::LinearConstraint hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::LinearConstraint
protected
template<int _PolynomeBasis, int _SplineOrder>
typedef core::pathOptimization::SplineGradientBased<PolynomeBasis, SplineOrder> hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::Parent_t
template<int _PolynomeBasis, int _SplineOrder>
typedef boost::shared_ptr<SplineGradientBased> hpp::manipulation::pathOptimization::SplineGradientBased< _PolynomeBasis, _SplineOrder >::Ptr_t

Enumeration Type Documentation

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

Function Documentation

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
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
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
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.

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.

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