hpp-core: hpp::core::DubinsPath 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::DubinsPath Class Reference
Path

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

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

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

## Public Member Functions
virtual | ~DubinsPath ()
| Destructor.
virtual PathPtr_t | copy () const
| Return a shared pointer to a copy of this object.
virtual PathPtr_t | copy (const ConstraintSetPtr_t &constraints) const
DevicePtr_t | device () const
| Return the internal robot.
Configuration_t | initial () const
| Get the initial configuration.
Configuration_t | end () const
| Get the final configuration.
Public Member Functions inherited from hpp::core::PathVector
std::size_t | numberPaths () const
| Get the number of sub paths.
PathPtr_t | pathAtRank (std::size_t rank) const
std::size_t | rankAtParam (const value_type &param, value_type &localParam) const
void | appendPath (const PathPtr_t &path)
| Append a path at the end of the vector.
void | concatenate (const PathVectorPtr_t &path)
void | flatten (PathVectorPtr_t flattenedPath) const
virtual | ~PathVector ()
| Destructor.
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 DubinsPathPtr_t | create (const DevicePtr_t &device, ConfigurationIn_t init, ConfigurationIn_t end, value_type extraLength, value_type rho, size_type xyId, size_type rzId, const std::vector< JointPtr_t > wheels)
static DubinsPathPtr_t | create (const DevicePtr_t &device, ConfigurationIn_t init, ConfigurationIn_t end, value_type extraLength, value_type rho, size_type xyId, size_type rzId, const std::vector< JointPtr_t > wheels, ConstraintSetPtr_t constraints)
static DubinsPathPtr_t | createCopy (const DubinsPathPtr_t &path)
static DubinsPathPtr_t | createCopy (const DubinsPathPtr_t &path, const ConstraintSetPtr_t &constraints)
Static Public Member Functions inherited from hpp::core::PathVector
static PathVectorPtr_t | create (size_type outputSize, size_type outputDerivativeSize)
| Create instance and return shared pointer.
static PathVectorPtr_t | create (size_type outputSize, size_type outputDerivativeSize, const ConstraintSetPtr_t &constraint)
| Create instance and return shared pointer.
static PathVectorPtr_t | createCopy (const PathVectorPtr_t &original)
| Create instance and return shared pointer.
static PathVectorPtr_t | createCopy (const PathVectorPtr_t &original, const ConstraintSetPtr_t &constraints)
| Create instance and return shared pointer.

## Protected Member Functions
virtual std::ostream & | print (std::ostream &os) const
| Print path in a stream.
| DubinsPath (const DevicePtr_t &robot, ConfigurationIn_t init, ConfigurationIn_t end, value_type extraLength, value_type rho, size_type xyId, size_type rzId, const std::vector< JointPtr_t > wheels)
| Constructor.
| DubinsPath (const DevicePtr_t &robot, ConfigurationIn_t init, ConfigurationIn_t end, value_type extraLength, value_type rho, size_type xyId, size_type rzId, const std::vector< JointPtr_t > wheels, ConstraintSetPtr_t constraints)
| Constructor with constraints.
| DubinsPath (const DubinsPath &path)
| Copy constructor.
| DubinsPath (const DubinsPath &path, const ConstraintSetPtr_t &constraints)
| Copy constructor with constraints.
void | init (DubinsPathPtr_t self)
| DubinsPath ()
| For serialization only.
Protected Member Functions inherited from hpp::core::PathVector
| PathVector (std::size_t outputSize, std::size_t outputDerivativeSize)
| Constructor.
| PathVector (std::size_t outputSize, std::size_t outputDerivativeSize, const ConstraintSetPtr_t &constraint)
| Constructor.
| PathVector (const PathVector &path)
| Copy constructor.
| PathVector (const PathVector &path, const ConstraintSetPtr_t &constraints)
| Copy constructor with constraints.
void | init (PathVectorPtr_t self)
virtual bool | impl_compute (ConfigurationOut_t result, value_type t) const
| Function evaluation without applying constraints.
virtual void | impl_derivative (vectorOut_t result, const value_type &t, size_type order) const
| Virtual implementation of derivative.
virtual PathPtr_t | impl_extract (const interval_t &subInterval) const
virtual void | impl_velocityBound (vectorOut_t bound, const value_type &param0, const value_type &param1) const
| Virtual implementation of velocity bound.
| PathVector ()
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::Path
interval_t | paramRange_
| Interval of parameters.

## Detailed Description

Car like motion going only forward

Implement a Dubins motion generation on the base joint. Degrees of freedom are interpolated depending on the type of joint they parameterize: The following interpolation is made:

- Reeds and Shepp interpolation for the base_joint_xy and base_joint_rz
- If the wheel joints are passed using setWheelJoints, the configuration parameter of those joints are computed so that the wheel is aligned with the velocity.
- linear interpolation for the other joints

## Member Typedef Documentation

## ◆ parent_t

typedef core::PathVector hpp::core::DubinsPath::parent_t

## Constructor & Destructor Documentation

## ◆ ~DubinsPath()

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

Destructor.

## ◆ DubinsPath() [1/5]

hpp::core::DubinsPath::DubinsPath | ( | const DevicePtr_t & | robot,
|  | ConfigurationIn_t | init,
|  | ConfigurationIn_t | end,
|  | value_type | extraLength,
|  | value_type | rho,
|  | size_type | xyId,
|  | size_type | rzId,
|  | const std::vector< JointPtr_t > | wheels
| ) |  |
| protected

Constructor.

## ◆ DubinsPath() [2/5]

hpp::core::DubinsPath::DubinsPath | ( | const DevicePtr_t & | robot,
|  | ConfigurationIn_t | init,
|  | ConfigurationIn_t | end,
|  | value_type | extraLength,
|  | value_type | rho,
|  | size_type | xyId,
|  | size_type | rzId,
|  | const std::vector< JointPtr_t > | wheels,
|  | ConstraintSetPtr_t | constraints
| ) |  |
| protected

Constructor with constraints.

## ◆ DubinsPath() [3/5]

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

Copy constructor.

## ◆ DubinsPath() [4/5]

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

Copy constructor with constraints.

## ◆ DubinsPath() [5/5]

hpp::core::DubinsPath::DubinsPath | ( |  | ) |
| inlineprotected

For serialization only.

## Member Function Documentation

## ◆ copy() [1/2]

virtual PathPtr_t hpp::core::DubinsPath::copy | ( |  | ) | const
| inlinevirtual

Return a shared pointer to a copy of this object.

Reimplemented from hpp::core::PathVector.

## ◆ copy() [2/2]

virtual PathPtr_t hpp::core::DubinsPath::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::PathVector.

## ◆ create() [1/2]

static DubinsPathPtr_t hpp::core::DubinsPath::create | ( | const DevicePtr_t & | device,
|  | ConfigurationIn_t | init,
|  | ConfigurationIn_t | end,
|  | value_type | extraLength,
|  | value_type | rho,
|  | size_type | xyId,
|  | size_type | rzId,
|  | const std::vector< JointPtr_t > | wheels
| ) |  |
| static

Create instance and return shared pointer

Parameters

  device | Robot corresponding to configurations
  init,end | Start and end configurations of the path
  extraLength | Part of path length due to non Dubins degrees of freedom,
  rho | The radius of a turn,
  xyId,rzId | indices in configuration vector of translation and rotation of the car,
  wheels | vector of joints that represent turning wheels.

## ◆ create() [2/2]

static DubinsPathPtr_t hpp::core::DubinsPath::create | ( | const DevicePtr_t & | device,
|  | ConfigurationIn_t | init,
|  | ConfigurationIn_t | end,
|  | value_type | extraLength,
|  | value_type | rho,
|  | size_type | xyId,
|  | size_type | rzId,
|  | const std::vector< JointPtr_t > | wheels,
|  | ConstraintSetPtr_t | constraints
| ) |  |
| static

Create instance and return shared pointer

Parameters

  device | Robot corresponding to configurations
  init,end | Start and end configurations of the path
  extraLength | Part of path length due to non Dubins degrees of freedom,
  rho | The radius of a turn.
  xyId,rzId | indices in configuration vector of translation and rotation of the car,
  wheels | vector of joints that represent turning wheels,
  constraints | the path is subject to

## ◆ createCopy() [1/2]

static DubinsPathPtr_t hpp::core::DubinsPath::createCopy | ( | const DubinsPathPtr_t & | path | ) |
| inlinestatic

Create copy and return shared pointer

Parameters

  path | path to copy

## ◆ createCopy() [2/2]

static DubinsPathPtr_t hpp::core::DubinsPath::createCopy | ( | const DubinsPathPtr_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()

DevicePtr_t hpp::core::DubinsPath::device | ( |  | ) | const
| inline

Return the internal robot.

## ◆ end()

Configuration_t hpp::core::DubinsPath::end | ( |  | ) | const
| inlinevirtual

Get the final configuration.

Reimplemented from hpp::core::PathVector.

## ◆ init()

void hpp::core::DubinsPath::init | ( | DubinsPathPtr_t | self | ) |
| protected

## ◆ initial()

Configuration_t hpp::core::DubinsPath::initial | ( |  | ) | const
| inlinevirtual

Get the initial configuration.

Reimplemented from hpp::core::PathVector.

## ◆ print()

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

Print path in a stream.

Reimplemented from hpp::core::PathVector.

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

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