hpp::core::KinodynamicOrientedPath Class Reference

This class is similar to KinodynamicPath exept that the orientation of the robot always follow the direction of the velocity. More...

#include <hpp/core/kinodynamic-oriented-path.hh>

Inheritance diagram for hpp::core::KinodynamicOrientedPath:
[legend]
Collaboration diagram for hpp::core::KinodynamicOrientedPath:
[legend]

Public Types

typedef KinodynamicPath parent_t
 
- Public Types inherited from hpp::core::KinodynamicPath
typedef StraightPath parent_t
 
- Public Types inherited from hpp::core::StraightPath
typedef Path parent_t
 

Public Member Functions

virtual ~KinodynamicOrientedPath () throw ()
 
virtual PathPtr_t copy () const
 Return a shared pointer to this. More...
 
virtual PathPtr_t copy (const ConstraintSetPtr_t &constraints) const
 Return a shared pointer to a copy of this and set constraints. More...
 
bool ignoreZValue () const
 
void ignoreZValue (bool ignoreZValue)
 
- Public Member Functions inherited from hpp::core::KinodynamicPath
virtual ~KinodynamicPath () throw ()
 Destructor. More...
 
vector_t getT0 ()
 
vector_t getT1 ()
 
vector_t getT2 ()
 
vector_t getTv ()
 
vector_t getA1 ()
 
- Public Member Functions inherited from hpp::core::StraightPath
virtual ~StraightPath () throw ()
 Destructor. More...
 
void initialConfig (ConfigurationIn_t initial)
 Modify initial configuration. More...
 
void endConfig (ConfigurationIn_t end)
 Modify end configuration. More...
 
DevicePtr_t device () const
 Return the internal robot. More...
 
Configuration_t initial () const
 Get the initial configuration. More...
 
Configuration_t end () const
 Get the final configuration. More...
 
- Public Member Functions inherited from hpp::core::Path
virtual ~Path () throw ()
 Destructor. More...
 
template<class T >
boost::shared_ptr< T > as (void)
 Static cast into a derived type. More...
 
template<class T >
boost::shared_ptr< const T > as (void) const
 Static cast into a derived type. More...
 
PathPtr_t extract (const interval_t &subInterval) const throw (projection_error)
 
PathPtr_t extract (const value_type &tmin, const value_type &tmax) const throw (projection_error)
 
virtual PathPtr_t reverse () const
 Reversion of a path. More...
 
Configuration_t operator() (const value_type &time) const HPP_CORE_DEPRECATED
 
Configuration_t operator() (const value_type &time, bool &success) const
 
bool operator() (ConfigurationOut_t result, const value_type &time) const throw ()
 
Configuration_t eval (const value_type &time, bool &success) const
 
bool eval (ConfigurationOut_t result, const value_type &time) const throw ()
 
bool at (const value_type &time, ConfigurationOut_t result) const
 Get the configuration at a parameter without applying the constraints. More...
 
void derivative (vectorOut_t result, const value_type &time, size_type order) const
 Get derivative with respect to parameter at given parameter. More...
 
void velocityBound (vectorOut_t result, const value_type &t0, const value_type &t1) const
 Get an upper bound of the velocity on a sub-interval. More...
 
size_type outputSize () const
 Get size of configuration space. More...
 
size_type outputDerivativeSize () const
 Get size of velocity. More...
 
const interval_ttimeRange () const
 Get interval of definition. More...
 
virtual value_type length () const
 Get length of definition interval. More...
 
const ConstraintSetPtr_tconstraints () const
 Get constraints the path is subject to. More...
 
const interval_tparamRange () const
 Get interval of parameters. More...
 
void timeParameterization (const TimeParameterizationPtr_t &tp, const interval_t &tr)
 Set the time parameterization function. More...
 

Static Public Member Functions

static KinodynamicOrientedPathPtr_t 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, bool ignoreZValue=false)
 Create instance and return shared pointer. More...
 
static KinodynamicOrientedPathPtr_t 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, bool ignoreZValue=false)
 Create instance and return shared pointer. More...
 
static KinodynamicOrientedPathPtr_t createCopy (const KinodynamicOrientedPathPtr_t &path)
 Create copy and return shared pointer. More...
 
static KinodynamicOrientedPathPtr_t create (const KinodynamicPathPtr_t &path, bool ignoreZValue=false)
 
static KinodynamicOrientedPathPtr_t createCopy (const KinodynamicOrientedPathPtr_t &path, const ConstraintSetPtr_t &constraints)
 Create copy and return shared pointer. More...
 
- Static Public Member Functions inherited from hpp::core::KinodynamicPath
static KinodynamicPathPtr_t 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 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 createCopy (const KinodynamicPathPtr_t &path)
 Create copy and return shared pointer. More...
 
static KinodynamicPathPtr_t createCopy (const KinodynamicPathPtr_t &path, const ConstraintSetPtr_t &constraints)
 Create copy and return shared pointer. More...
 
- Static Public Member Functions inherited from hpp::core::StraightPath
static StraightPathPtr_t create (const DevicePtr_t &device, ConfigurationIn_t init, ConfigurationIn_t end, value_type length)
 Create instance and return shared pointer. More...
 
static StraightPathPtr_t create (const DevicePtr_t &device, ConfigurationIn_t init, ConfigurationIn_t end, interval_t interval)
 Create instance and return shared pointer. More...
 
static StraightPathPtr_t create (const DevicePtr_t &device, ConfigurationIn_t init, ConfigurationIn_t end, value_type length, ConstraintSetPtr_t constraints)
 Create instance and return shared pointer. More...
 
static StraightPathPtr_t create (const DevicePtr_t &device, ConfigurationIn_t init, ConfigurationIn_t end, interval_t interval, ConstraintSetPtr_t constraints)
 Create instance and return shared pointer. More...
 
static StraightPathPtr_t createCopy (const StraightPathPtr_t &path)
 Create copy and return shared pointer. More...
 
static StraightPathPtr_t createCopy (const StraightPathPtr_t &path, const ConstraintSetPtr_t &constraints)
 Create copy and return shared pointer. More...
 

Protected Member Functions

virtual std::ostream & print (std::ostream &os) const
 Print path in a stream. More...
 
void orienteInitAndGoal (const DevicePtr_t &device)
 
 KinodynamicOrientedPath (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, bool ignoreZValue)
 Constructor. More...
 
 KinodynamicOrientedPath (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, bool ignoreZValue)
 Constructor with constraints. More...
 
 KinodynamicOrientedPath (const KinodynamicOrientedPath &path)
 Copy constructor. More...
 
 KinodynamicOrientedPath (const KinodynamicPath &path, bool ignoreZValue)
 constructor from KinodynamicPath More...
 
 KinodynamicOrientedPath (const KinodynamicOrientedPath &path, const ConstraintSetPtr_t &constraints)
 Copy constructor with constraints. More...
 
void init (KinodynamicOrientedPathPtr_t self)
 
virtual bool impl_compute (ConfigurationOut_t result, value_type t) const
 Function evaluation without applying constraints. More...
 
virtual PathPtr_t impl_extract (const interval_t &subInterval) const throw (projection_error)
 Extraction/Reversion of a sub-path. More...
 
- Protected Member Functions inherited from 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...
 
 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...
 
 KinodynamicPath (const KinodynamicPath &path)
 Copy constructor. More...
 
 KinodynamicPath (const KinodynamicPath &path, const ConstraintSetPtr_t &constraints)
 Copy constructor with constraints. More...
 
void init (KinodynamicPathPtr_t self)
 
double sgnenum (double val) const
 
int sgn (double d) const
 
double sgnf (double d) const
 
- Protected Member Functions inherited from hpp::core::StraightPath
 StraightPath (const DevicePtr_t &robot, ConfigurationIn_t init, ConfigurationIn_t end, value_type length)
 Constructor. More...
 
 StraightPath (const DevicePtr_t &robot, ConfigurationIn_t init, ConfigurationIn_t end, interval_t interval)
 Constructor. More...
 
 StraightPath (const DevicePtr_t &robot, ConfigurationIn_t init, ConfigurationIn_t end, value_type length, ConstraintSetPtr_t constraints)
 Constructor with constraints. More...
 
 StraightPath (const DevicePtr_t &robot, ConfigurationIn_t init, ConfigurationIn_t end, interval_t interval, ConstraintSetPtr_t constraints)
 Constructor with constraints. More...
 
 StraightPath (const StraightPath &path)
 Copy constructor. More...
 
 StraightPath (const StraightPath &path, const ConstraintSetPtr_t &constraints)
 Copy constructor with constraints. More...
 
void init (StraightPathPtr_t self)
 
virtual void impl_derivative (vectorOut_t result, const value_type &t, size_type order) const
 Virtual implementation of derivative. More...
 
virtual void impl_velocityBound (vectorOut_t result, const value_type &, const value_type &) const
 Virtual implementation of velocityBound. More...
 
PathPtr_t impl_extract (const interval_t &subInterval) const throw (projection_error)
 Extraction/Reversion of a sub-path. More...
 
- Protected Member Functions inherited from hpp::core::Path
 Path (const interval_t &interval, size_type outputSize, size_type outputDerivativeSize, const ConstraintSetPtr_t &constraints)
 Constructor. More...
 
 Path (const interval_t &interval, size_type outputSize, size_type outputDerivativeSize)
 Constructor. More...
 
 Path (const Path &path)
 Copy constructor. More...
 
 Path (const Path &path, const ConstraintSetPtr_t &constraints)
 Copy constructor with constraints. More...
 
void init (const PathWkPtr_t &self)
 Store weak pointer to itself. More...
 
void constraints (const ConstraintSetPtr_t &constraint)
 Set the constraints. More...
 
virtual void checkPath () const
 Should be called by child classes after having init. More...
 
void timeRange (const interval_t &timeRange)
 
const TimeParameterizationPtr_ttimeParameterization () const
 
value_type paramLength () const
 
Configuration_t configAtParam (const value_type &param, bool &success) const
 

Additional Inherited Members

- Protected Attributes inherited from hpp::core::StraightPath
DevicePtr_t device_
 
Configuration_t initial_
 
Configuration_t end_
 
- Protected Attributes inherited from hpp::core::Path
interval_t paramRange_
 Interval of parameters. More...
 

Detailed Description

This class is similar to KinodynamicPath exept that the orientation of the robot always follow the direction of the velocity.

If the problem parameter "Kinodynamic/forceYawOrientation" have been set to True, only the orientation around the z axis is set to follow the direction of the velocity.

Member Typedef Documentation

◆ parent_t

Constructor & Destructor Documentation

◆ ~KinodynamicOrientedPath()

virtual hpp::core::KinodynamicOrientedPath::~KinodynamicOrientedPath ( )
throw (
)
inlinevirtual

◆ KinodynamicOrientedPath() [1/5]

hpp::core::KinodynamicOrientedPath::KinodynamicOrientedPath ( 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,
bool  ignoreZValue 
)
protected

Constructor.

◆ KinodynamicOrientedPath() [2/5]

hpp::core::KinodynamicOrientedPath::KinodynamicOrientedPath ( 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,
bool  ignoreZValue 
)
protected

Constructor with constraints.

◆ KinodynamicOrientedPath() [3/5]

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

Copy constructor.

◆ KinodynamicOrientedPath() [4/5]

hpp::core::KinodynamicOrientedPath::KinodynamicOrientedPath ( const KinodynamicPath path,
bool  ignoreZValue 
)
protected

constructor from KinodynamicPath

◆ KinodynamicOrientedPath() [5/5]

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

Copy constructor with constraints.

Member Function Documentation

◆ copy() [1/2]

virtual PathPtr_t hpp::core::KinodynamicOrientedPath::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::KinodynamicPath.

◆ copy() [2/2]

virtual PathPtr_t hpp::core::KinodynamicOrientedPath::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::KinodynamicPath.

◆ create() [1/3]

static KinodynamicOrientedPathPtr_t hpp::core::KinodynamicOrientedPath::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,
bool  ignoreZValue = false 
)
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 init().

◆ create() [2/3]

static KinodynamicOrientedPathPtr_t hpp::core::KinodynamicOrientedPath::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,
bool  ignoreZValue = false 
)
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 init().

◆ create() [3/3]

static KinodynamicOrientedPathPtr_t hpp::core::KinodynamicOrientedPath::create ( const KinodynamicPathPtr_t path,
bool  ignoreZValue = false 
)
inlinestatic

◆ createCopy() [1/2]

static KinodynamicOrientedPathPtr_t hpp::core::KinodynamicOrientedPath::createCopy ( const KinodynamicOrientedPathPtr_t path)
inlinestatic

Create copy and return shared pointer.

Parameters
pathpath to copy

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

◆ createCopy() [2/2]

static KinodynamicOrientedPathPtr_t hpp::core::KinodynamicOrientedPath::createCopy ( const KinodynamicOrientedPathPtr_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 init().

◆ ignoreZValue() [1/2]

bool hpp::core::KinodynamicOrientedPath::ignoreZValue ( ) const
inline

◆ ignoreZValue() [2/2]

void hpp::core::KinodynamicOrientedPath::ignoreZValue ( bool  ignoreZValue)
inline

References ignoreZValue().

Referenced by ignoreZValue().

◆ impl_compute()

virtual bool hpp::core::KinodynamicOrientedPath::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::KinodynamicPath.

◆ impl_extract()

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

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

◆ init()

void hpp::core::KinodynamicOrientedPath::init ( KinodynamicOrientedPathPtr_t  self)
inlineprotected

Referenced by create(), and createCopy().

◆ orienteInitAndGoal()

void hpp::core::KinodynamicOrientedPath::orienteInitAndGoal ( const DevicePtr_t device)
protected

◆ print()

virtual std::ostream& hpp::core::KinodynamicOrientedPath::print ( std::ostream &  os) const
inlineprotectedvirtual

Print path in a stream.

Reimplemented from hpp::core::KinodynamicPath.