hpp::manipulation::steeringMethod::CrossStateOptimization Class Reference

Optimization-based steering method. More...

#include <hpp/manipulation/steering-method/cross-state-optimization.hh>

Inheritance diagram for hpp::manipulation::steeringMethod::CrossStateOptimization:
[legend]
Collaboration diagram for hpp::manipulation::steeringMethod::CrossStateOptimization:
[legend]

Public Member Functions

core::SteeringMethodPtr_t copy () const
 
- Public Member Functions inherited from hpp::manipulation::SteeringMethod
const core::SteeringMethodPtr_tinnerSteeringMethod () const
 
void innerSteeringMethod (const core::SteeringMethodPtr_t &sm)
 
- Public Member Functions inherited from hpp::core::SteeringMethod
PathPtr_t operator() (ConfigurationIn_t q1, ConfigurationIn_t q2) const
 
PathPtr_t steer (ConfigurationIn_t q1, ConfigurationIn_t q2) const
 
virtual ~SteeringMethod ()
 
const Problemproblem () const
 
void constraints (const ConstraintSetPtr_t &constraints)
 
const ConstraintSetPtr_tconstraints () const
 
void constraints (const ConstraintSetPtr_t &constraints)
 
const ConstraintSetPtr_tconstraints () const
 

Static Public Member Functions

static CrossStateOptimizationPtr_t create (const Problem &problem)
 
static CrossStateOptimizationPtr_t create (const core::Problem &problem)
 
template<typename T >
static CrossStateOptimizationPtr_t create (const core::Problem &problem)
 

Protected Member Functions

 CrossStateOptimization (const Problem &problem)
 
 CrossStateOptimization (const CrossStateOptimization &other)
 
core::PathPtr_t impl_compute (ConfigurationIn_t q1, ConfigurationIn_t q2) const
 
void init (CrossStateOptimizationWkPtr_t weak)
 
- Protected Member Functions inherited from hpp::manipulation::SteeringMethod
 SteeringMethod (const Problem &problem)
 Constructor. More...
 
 SteeringMethod (const SteeringMethod &other)
 Copy constructor. More...
 
void init (SteeringMethodWkPtr_t weak)
 
- Protected Member Functions inherited from hpp::core::SteeringMethod
 SteeringMethod (const Problem &problem)
 
 SteeringMethod (const SteeringMethod &other)
 
void init (SteeringMethodWkPtr_t weak)
 

Additional Inherited Members

- Protected Attributes inherited from hpp::manipulation::SteeringMethod
const Problemproblem_
 A pointer to the manipulation problem. More...
 
core::SteeringMethodPtr_t steeringMethod_
 The encapsulated steering method. More...
 
- Protected Attributes inherited from hpp::core::SteeringMethod
const Problemproblem_
 

Detailed Description

Optimization-based steering method.

Methodology

Given two configuration $ (q_1,q_2) $, this class formulates and solves the problem as follows.

  • Compute the corresponding states $ (s_1, s_2) $.
  • For a each path $ (e_0, ... e_n) $ between $ (s_1, s_2) $ in the constraint graph, do:
    • define $ n-1 $ intermediate configuration $ p_i $,
    • initialize the optimization problem, as explained below,
    • solve the optimization problem, which gives $ p^*_i $,
    • in case of failure, continue the loop.
    • call the Edge::build of each $ e_j $ for each consecutive $ (p^*_i, p^*_{i+1}) $.

Problem formulation

Find $ (p_i) $ such that:

Constructor & Destructor Documentation

hpp::manipulation::steeringMethod::CrossStateOptimization::CrossStateOptimization ( const Problem problem)
inlineprotected
hpp::manipulation::steeringMethod::CrossStateOptimization::CrossStateOptimization ( const CrossStateOptimization other)
inlineprotected

References impl_compute().

Member Function Documentation

core::SteeringMethodPtr_t hpp::manipulation::steeringMethod::CrossStateOptimization::copy ( ) const
virtual
static CrossStateOptimizationPtr_t hpp::manipulation::steeringMethod::CrossStateOptimization::create ( const Problem problem)
static

Referenced by create(), and init().

static CrossStateOptimizationPtr_t hpp::manipulation::steeringMethod::CrossStateOptimization::create ( const core::Problem problem)
static
Warning
core::Problem will be casted to Problem
template<typename T >
CrossStateOptimizationPtr_t hpp::manipulation::steeringMethod::CrossStateOptimization::create ( const core::Problem problem)
static

References create(), and create().

core::PathPtr_t hpp::manipulation::steeringMethod::CrossStateOptimization::impl_compute ( ConfigurationIn_t  q1,
ConfigurationIn_t  q2 
) const
protectedvirtual
void hpp::manipulation::steeringMethod::CrossStateOptimization::init ( CrossStateOptimizationWkPtr_t  weak)
inlineprotected