Path

KinodynamicPath store a "bang-bang" trajectory depend on time with either 2 segment of constant acceleration or 3 segments with a constant velocity segment. More...

Classes

class  hpp::core::DubinsPath
 Car like motion going only forward. More...
 
class  hpp::core::InterpolatedPath
 Piecewise linear interpolation between two configurations. More...
 
class  hpp::core::KinodynamicPath
 
class  hpp::core::path::Hermite
 
class  hpp::core::path::Spline< _PolynomeBasis, _Order >
 Base class for spline paths. More...
 
class  hpp::core::PathVector
 Concatenation of several paths. More...
 
class  hpp::core::Path
 Abstraction of paths: mapping from time to configuration space. More...
 
class  hpp::core::ReedsSheppPath
 Car like motion. More...
 
class  hpp::core::StraightPath
 Linear interpolation between two configurations. More...
 
class  hpp::core::SubchainPath
 Result of the selection of some configuration parameter of an original path. More...
 

Typedefs

typedef StraightPath hpp::core::KinodynamicPath::parent_t
 

Enumerations

enum  hpp::core::path::PolynomeBasisType {
  hpp::core::path::CanonicalPolynomeBasis,
  hpp::core::path::BernsteinBasis
}
 

Functions

virtual hpp::core::KinodynamicPath::~KinodynamicPath () throw ()
 Destructor. More...
 
static KinodynamicPathPtr_t hpp::core::KinodynamicPath::create (const DevicePtr_t &device, ConfigurationIn_t init, ConfigurationIn_t end, value_type length, ConfigurationIn_t a1, ConfigurationIn_t t0, ConfigurationIn_t t1, ConfigurationIn_t tv, ConfigurationIn_t t2, ConfigurationIn_t vLim)
 Create instance and return shared pointer. More...
 
static KinodynamicPathPtr_t hpp::core::KinodynamicPath::create (const DevicePtr_t &device, ConfigurationIn_t init, ConfigurationIn_t end, value_type length, ConfigurationIn_t a1, ConfigurationIn_t t0, ConfigurationIn_t t1, ConfigurationIn_t tv, ConfigurationIn_t t2, ConfigurationIn_t vLim, ConstraintSetPtr_t constraints)
 Create instance and return shared pointer. More...
 
static KinodynamicPathPtr_t hpp::core::KinodynamicPath::createCopy (const KinodynamicPathPtr_t &path)
 Create copy and return shared pointer. More...
 
static KinodynamicPathPtr_t hpp::core::KinodynamicPath::createCopy (const KinodynamicPathPtr_t &path, const ConstraintSetPtr_t &constraints)
 Create copy and return shared pointer. More...
 
virtual PathPtr_t hpp::core::KinodynamicPath::copy () const
 Return a shared pointer to this. More...
 
virtual PathPtr_t hpp::core::KinodynamicPath::copy (const ConstraintSetPtr_t &constraints) const
 Return a shared pointer to a copy of this and set constraints. More...
 
virtual PathPtr_t hpp::core::KinodynamicPath::impl_extract (const interval_t &paramInterval) const throw (projection_error)
 Extraction/Reversion of a sub-path. More...
 
vector_t hpp::core::KinodynamicPath::getT0 ()
 
vector_t hpp::core::KinodynamicPath::getT1 ()
 
vector_t hpp::core::KinodynamicPath::getT2 ()
 
vector_t hpp::core::KinodynamicPath::getTv ()
 
vector_t hpp::core::KinodynamicPath::getA1 ()
 
virtual std::ostream & hpp::core::KinodynamicPath::print (std::ostream &os) const
 Print path in a stream. More...
 
 hpp::core::KinodynamicPath::KinodynamicPath (const DevicePtr_t &robot, ConfigurationIn_t init, ConfigurationIn_t end, value_type length, ConfigurationIn_t a1, ConfigurationIn_t t0, ConfigurationIn_t t1, ConfigurationIn_t tv, ConfigurationIn_t t2, ConfigurationIn_t vLim)
 Constructor. More...
 
 hpp::core::KinodynamicPath::KinodynamicPath (const DevicePtr_t &robot, ConfigurationIn_t init, ConfigurationIn_t end, value_type length, ConfigurationIn_t a1, ConfigurationIn_t t0, ConfigurationIn_t t1, ConfigurationIn_t tv, ConfigurationIn_t t2, ConfigurationIn_t vLim, ConstraintSetPtr_t constraints)
 Constructor with constraints. More...
 
 hpp::core::KinodynamicPath::KinodynamicPath (const KinodynamicPath &path)
 Copy constructor. More...
 
 hpp::core::KinodynamicPath::KinodynamicPath (const KinodynamicPath &path, const ConstraintSetPtr_t &constraints)
 Copy constructor with constraints. More...
 
void hpp::core::KinodynamicPath::init (KinodynamicPathPtr_t self)
 
virtual bool hpp::core::KinodynamicPath::impl_compute (ConfigurationOut_t result, value_type t) const
 Function evaluation without applying constraints. More...
 
double hpp::core::KinodynamicPath::sgnenum (double val) const
 
int hpp::core::KinodynamicPath::sgn (double d) const
 
double hpp::core::KinodynamicPath::sgnf (double d) const
 
std::ostream & hpp::core::operator<< (std::ostream &os, const Path &path)
 

Detailed Description

KinodynamicPath store a "bang-bang" trajectory depend on time with either 2 segment of constant acceleration or 3 segments with a constant velocity segment.

Path abstraction, implementation and decorators.

In current implementation, only the translation part of the freeflyer joint is considered by this class. The value of all other joint are interpolated between the initial and end value using the interpolate() method.

The current implementation assume that :

Typedef Documentation

Enumeration Type Documentation

Enumerator
CanonicalPolynomeBasis 
BernsteinBasis 

Function Documentation

virtual PathPtr_t hpp::core::KinodynamicPath::copy ( ) const
inlinevirtual

Return a shared pointer to this.

As StaightPath are immutable, and refered to by shared pointers, they do not need to be copied.

Reimplemented from hpp::core::StraightPath.

Reimplemented in hpp::core::KinodynamicOrientedPath.

virtual PathPtr_t hpp::core::KinodynamicPath::copy ( const ConstraintSetPtr_t constraints) const
inlinevirtual

Return a shared pointer to a copy of this and set constraints.

Parameters
constraintsconstraints to apply to the copy
Precondition
*this should not have constraints.

Reimplemented from hpp::core::StraightPath.

Reimplemented in hpp::core::KinodynamicOrientedPath.

static KinodynamicPathPtr_t hpp::core::KinodynamicPath::create ( const DevicePtr_t device,
ConfigurationIn_t  init,
ConfigurationIn_t  end,
value_type  length,
ConfigurationIn_t  a1,
ConfigurationIn_t  t0,
ConfigurationIn_t  t1,
ConfigurationIn_t  tv,
ConfigurationIn_t  t2,
ConfigurationIn_t  vLim 
)
inlinestatic

Create instance and return shared pointer.

Parameters
deviceRobot corresponding to configurations
init,endStart and end configurations of the path
lengthDistance between the configurations.

References hpp::core::Path::checkPath(), and hpp::core::KinodynamicPath::init().

static KinodynamicPathPtr_t hpp::core::KinodynamicPath::create ( const DevicePtr_t device,
ConfigurationIn_t  init,
ConfigurationIn_t  end,
value_type  length,
ConfigurationIn_t  a1,
ConfigurationIn_t  t0,
ConfigurationIn_t  t1,
ConfigurationIn_t  tv,
ConfigurationIn_t  t2,
ConfigurationIn_t  vLim,
ConstraintSetPtr_t  constraints 
)
inlinestatic

Create instance and return shared pointer.

Parameters
deviceRobot corresponding to configurations
init,endStart and end configurations of the path
lengthDistance between the configurations.
constraintsthe path is subject to

References hpp::core::Path::checkPath(), and hpp::core::KinodynamicPath::init().

static KinodynamicPathPtr_t hpp::core::KinodynamicPath::createCopy ( const KinodynamicPathPtr_t path)
inlinestatic

Create copy and return shared pointer.

Parameters
pathpath to copy

References hpp::core::Path::checkPath(), and hpp::core::KinodynamicPath::init().

static KinodynamicPathPtr_t hpp::core::KinodynamicPath::createCopy ( const KinodynamicPathPtr_t path,
const ConstraintSetPtr_t constraints 
)
inlinestatic

Create copy and return shared pointer.

Parameters
pathpath to copy
constraintsthe path is subject to

References hpp::core::Path::checkPath(), and hpp::core::KinodynamicPath::init().

vector_t hpp::core::KinodynamicPath::getA1 ( )
inline
vector_t hpp::core::KinodynamicPath::getT0 ( )
inline
vector_t hpp::core::KinodynamicPath::getT1 ( )
inline
vector_t hpp::core::KinodynamicPath::getT2 ( )
inline
vector_t hpp::core::KinodynamicPath::getTv ( )
inline
virtual bool hpp::core::KinodynamicPath::impl_compute ( ConfigurationOut_t  configuration,
value_type  param 
) const
protectedvirtual

Function evaluation without applying constraints.

Returns
true if everything went good.

Reimplemented from hpp::core::StraightPath.

Reimplemented in hpp::core::KinodynamicOrientedPath.

virtual PathPtr_t hpp::core::KinodynamicPath::impl_extract ( const interval_t paramInterval) const
throw (projection_error
)
virtual

Extraction/Reversion of a sub-path.

Parameters
subIntervalinterval of definition of the extract path If upper bound of subInterval is smaller than lower bound, return an empty path

Reimplemented from hpp::core::Path.

Reimplemented in hpp::core::KinodynamicOrientedPath.

void hpp::core::KinodynamicPath::init ( KinodynamicPathPtr_t  self)
inlineprotected
hpp::core::KinodynamicPath::KinodynamicPath ( const DevicePtr_t robot,
ConfigurationIn_t  init,
ConfigurationIn_t  end,
value_type  length,
ConfigurationIn_t  a1,
ConfigurationIn_t  t0,
ConfigurationIn_t  t1,
ConfigurationIn_t  tv,
ConfigurationIn_t  t2,
ConfigurationIn_t  vLim 
)
protected

Constructor.

hpp::core::KinodynamicPath::KinodynamicPath ( const DevicePtr_t robot,
ConfigurationIn_t  init,
ConfigurationIn_t  end,
value_type  length,
ConfigurationIn_t  a1,
ConfigurationIn_t  t0,
ConfigurationIn_t  t1,
ConfigurationIn_t  tv,
ConfigurationIn_t  t2,
ConfigurationIn_t  vLim,
ConstraintSetPtr_t  constraints 
)
protected

Constructor with constraints.

hpp::core::KinodynamicPath::KinodynamicPath ( const KinodynamicPath path)
protected

Copy constructor.

hpp::core::KinodynamicPath::KinodynamicPath ( const KinodynamicPath path,
const ConstraintSetPtr_t constraints 
)
protected

Copy constructor with constraints.

std::ostream& hpp::core::operator<< ( std::ostream &  os,
const Path path 
)
inline
virtual std::ostream& hpp::core::KinodynamicPath::print ( std::ostream &  os) const
inlineprotectedvirtual

Print path in a stream.

Reimplemented from hpp::core::StraightPath.

Reimplemented in hpp::core::KinodynamicOrientedPath.

References hpp::pinocchio::displayConfig().

int hpp::core::KinodynamicPath::sgn ( double  d) const
inlineprotected
double hpp::core::KinodynamicPath::sgnenum ( double  val) const
inlineprotected
double hpp::core::KinodynamicPath::sgnf ( double  d) const
inlineprotected
virtual hpp::core::KinodynamicPath::~KinodynamicPath ( )
throw (
)
inlinevirtual

Destructor.