hpp-core: hpp::core::KinodynamicPath Class Reference

hpp-core 9.0.2 Implement basic classes for canonical path planning for kinematic chains.

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
hpp::core::KinodynamicPath Class Reference
Path

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

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

## Public Types
typedef StraightPath | parent_t
Public Types inherited from hpp::core::StraightPath
typedef Path | parent_t

## Public Member Functions
virtual | ~KinodynamicPath ()
| Destructor.
virtual PathPtr_t | copy () const
virtual PathPtr_t | copy (const ConstraintSetPtr_t &constraints) const
virtual PathPtr_t | impl_extract (const interval_t &paramInterval) const
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 ()
| Destructor.
void | initialConfig (ConfigurationIn_t initial)
void | endConfig (ConfigurationIn_t end)
Configuration_t | initial () const
| Get the initial configuration.
Configuration_t | end () const
| Get the final configuration.
Public Member Functions inherited from hpp::core::Path
virtual | ~Path ()
| Destructor.
template<class T >
shared_ptr< T > | as (void)
| Static cast into a derived type.
template<class T >
shared_ptr< const T > | as (void) const
| Static cast into a derived type.
PathPtr_t | extract (const interval_t &subInterval) const
PathPtr_t | extract (const value_type &tmin, const value_type &tmax) const
virtual PathPtr_t | reverse () const
Configuration_t | eval (const value_type &time, bool &success) const
| Configuration at time.
bool | eval (ConfigurationOut_t result, const value_type &time) const
| Configuration at time.
bool | at (const value_type &time, ConfigurationOut_t result) const
| Get the configuration at a parameter without applying the constraints.
void | derivative (vectorOut_t result, const value_type &time, size_type order) const
void | velocityBound (vectorOut_t result, const value_type &t0, const value_type &t1) const
size_type | outputSize () const
| Get size of configuration space.
size_type | outputDerivativeSize () const
| Get size of velocity.
const interval_t & | timeRange () const
| Get interval of definition.
virtual value_type | length () const
| Get length of definition interval.
const ConstraintSetPtr_t & | constraints () const
| Get constraints the path is subject to.
const interval_t & | paramRange () const
const TimeParameterizationPtr_t & | timeParameterization () const
| Get the time parameterization function.
void | timeParameterization (const TimeParameterizationPtr_t &tp, const interval_t &tr)
| Set the time parameterization function.

## Static Public Member Functions
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)
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)
static KinodynamicPathPtr_t | createCopy (const KinodynamicPathPtr_t &path)
static KinodynamicPathPtr_t | createCopy (const KinodynamicPathPtr_t &path, const ConstraintSetPtr_t &constraints)
Static Public Member Functions inherited from hpp::core::StraightPath
static StraightPathPtr_t | create (LiegroupSpacePtr_t space, vectorIn_t init, vectorIn_t end, interval_t interval, ConstraintSetPtr_t constraints=ConstraintSetPtr_t())
static StraightPathPtr_t | create (LiegroupElementConstRef init, LiegroupElementConstRef end, interval_t interval, ConstraintSetPtr_t constraints=ConstraintSetPtr_t())
static StraightPathPtr_t | create (const DevicePtr_t &device, ConfigurationIn_t init, ConfigurationIn_t end, value_type length, ConstraintSetPtr_t constraints=ConstraintSetPtr_t())
static StraightPathPtr_t | create (const DevicePtr_t &device, ConfigurationIn_t init, ConfigurationIn_t end, interval_t interval, ConstraintSetPtr_t constraints=ConstraintSetPtr_t())
static StraightPathPtr_t | createCopy (const StraightPathPtr_t &path)
static StraightPathPtr_t | createCopy (const StraightPathPtr_t &path, const ConstraintSetPtr_t &constraints)

## Protected Member Functions
void | constraints (const ConstraintSetPtr_t &constr)
virtual std::ostream & | print (std::ostream &os) const
| Print path in a stream.
| 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.
| 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.
| KinodynamicPath (const KinodynamicPath &path)
| Copy constructor.
| KinodynamicPath (const KinodynamicPath &path, const ConstraintSetPtr_t &constraints)
| Copy constructor with constraints.
void | init (KinodynamicPathPtr_t self)
virtual bool | impl_compute (ConfigurationOut_t result, value_type t) const
| Function evaluation without applying constraints.
double | sgnenum (double val) const
int | sgn (double d) const
double | sgnf (double d) const
const DevicePtr_t & | device () const
Protected Member Functions inherited from hpp::core::StraightPath
| StraightPath (LiegroupSpacePtr_t space, vectorIn_t init, vectorIn_t end, interval_t interval)
| Constructor.
| StraightPath (LiegroupSpacePtr_t space, vectorIn_t init, vectorIn_t end, interval_t interval, ConstraintSetPtr_t constraints)
| Constructor.
| StraightPath (const StraightPath &path)
| Copy constructor.
| StraightPath (const StraightPath &path, const ConstraintSetPtr_t &constraints)
| Copy constructor with constraints.
void | init (StraightPathPtr_t self)
virtual void | impl_derivative (vectorOut_t result, const value_type &t, size_type order) const
| Virtual implementation of derivative.
virtual void | impl_velocityBound (vectorOut_t result, const value_type &, const value_type &) const
PathPtr_t | impl_extract (const interval_t &subInterval) const
| StraightPath ()
Protected Member Functions inherited from hpp::core::Path
| Path (const interval_t &interval, size_type outputSize, size_type outputDerivativeSize, const ConstraintSetPtr_t &constraints)
| Path (const interval_t &interval, size_type outputSize, size_type outputDerivativeSize)
| Path (const Path &path)
| Copy constructor.
| Path (const Path &path, const ConstraintSetPtr_t &constraints)
| Copy constructor with constraints.
void | init (const PathWkPtr_t &self)
void | constraints (const ConstraintSetPtr_t &constraint)
virtual void | checkPath () const
| Should be called by child classes after having init.
void | timeRange (const interval_t &timeRange)
value_type | paramLength () const
Configuration_t | configAtParam (const value_type &param, bool &success) const
| Path ()

## Additional Inherited Members
Protected Attributes inherited from hpp::core::StraightPath
LiegroupSpacePtr_t | space_
Configuration_t | initial_
Configuration_t | end_
Protected Attributes inherited from hpp::core::Path
interval_t | paramRange_
| Interval of parameters.

## Detailed Description

Kino-dynamic straight path

This Path has the same behavior as the StraightPath class except for the translation part of the free-flyer. For the translation part of the free-flyer KinodynamicPath store a "bang-bang" trajectory dependent on time with either 2 segment of constant acceleration or 3 segments with a constant velocity segment

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 :

- The first joint of the robot is a freeflyer
- The robot have an extra Config Space of dimension >= 6. The first 3 values of the extraConfig are the velocity of the root and the 3 other values are the aceleration.

## Member Typedef Documentation

## ◆ parent_t

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

## Constructor & Destructor Documentation

## ◆ ~KinodynamicPath()

virtual hpp::core::KinodynamicPath::~KinodynamicPath | ( |  | ) |
| inlinevirtual

Destructor.

## ◆ KinodynamicPath() [1/4]

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.

## ◆ KinodynamicPath() [2/4]

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.

## ◆ KinodynamicPath() [3/4]

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

Copy constructor.

## ◆ KinodynamicPath() [4/4]

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

Copy constructor with constraints.

## Member Function Documentation

## ◆ constraints()

void hpp::core::KinodynamicPath::constraints | ( | const ConstraintSetPtr_t & | constr | ) |
| inlineprotected

## ◆ copy() [1/2]

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.

## ◆ copy() [2/2]

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

  constraints | constraints to apply to the copy

Precondition
  *this should not have constraints.

Reimplemented from hpp::core::StraightPath.

Reimplemented in hpp::core::KinodynamicOrientedPath.

## ◆ create() [1/2]

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

  device | Robot corresponding to configurations
  init,end | Start and end configurations of the path
  length | Distance between the configurations.

## ◆ create() [2/2]

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

  device | Robot corresponding to configurations
  init,end | Start and end configurations of the path
  length | Distance between the configurations.
  constraints | the path is subject to

## ◆ createCopy() [1/2]

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

Create copy and return shared pointer

Parameters

  path | path to copy

## ◆ createCopy() [2/2]

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

Create copy and return shared pointer

Parameters

  path | path to copy
  constraints | the path is subject to

## ◆ device()

const DevicePtr_t & hpp::core::KinodynamicPath::device | ( |  | ) | const
| inlineprotected

## ◆ getA1()

vector_t hpp::core::KinodynamicPath::getA1 | ( |  | ) |
| inline

## ◆ getT0()

vector_t hpp::core::KinodynamicPath::getT0 | ( |  | ) |
| inline

## ◆ getT1()

vector_t hpp::core::KinodynamicPath::getT1 | ( |  | ) |
| inline

## ◆ getT2()

vector_t hpp::core::KinodynamicPath::getT2 | ( |  | ) |
| inline

## ◆ getTv()

vector_t hpp::core::KinodynamicPath::getTv | ( |  | ) |
| inline

## ◆ impl_compute()

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.

## ◆ impl_extract()

virtual PathPtr_t hpp::core::KinodynamicPath::impl_extract | ( | const interval_t & | paramInterval | ) | const
| virtual

Extraction/Reversion of a sub-path

Parameters

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

## ◆ init()

void hpp::core::KinodynamicPath::init | ( | KinodynamicPathPtr_t | self | ) |
| inlineprotected

## ◆ print()

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.

## ◆ sgn()

int hpp::core::KinodynamicPath::sgn | ( | double | d | ) | const
| inlineprotected

## ◆ sgnenum()

double hpp::core::KinodynamicPath::sgnenum | ( | double | val | ) | const
| inlineprotected

## ◆ sgnf()

double hpp::core::KinodynamicPath::sgnf | ( | double | d | ) | const
| inlineprotected

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

- include/hpp/core/kinodynamic-path.hh