hpp-core  4.9.0
Implement basic classes for canonical path planning for kinematic chains.
hpp::core::ReedsSheppPath Class Reference

#include <hpp/core/reeds-shepp-path.hh>

Inheritance diagram for hpp::core::ReedsSheppPath:
Collaboration diagram for hpp::core::ReedsSheppPath:

Public Types

typedef core::PathVector parent_t
 
- Public Types inherited from hpp::core::PathVector
typedef Path parent_t
 

Public Member Functions

virtual ~ReedsSheppPath ()
 Destructor. More...
 
virtual PathPtr_t copy () const
 Return a shared pointer to a copy of this object. More...
 
virtual PathPtr_t copy (const ConstraintSetPtr_t &constraints) const
 
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::PathVector
std::size_t numberPaths () const
 Get the number of sub paths. More...
 
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. More...
 
void concatenate (const PathVector &path) HPP_CORE_DEPRECATED
 
void concatenate (const PathVectorPtr_t &path)
 
void flatten (PathVectorPtr_t flattenedPath) const
 
virtual ~PathVector ()
 Destructor. More...
 
- Public Member Functions inherited from hpp::core::Path
virtual ~Path ()
 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
 
PathPtr_t extract (const value_type &tmin, const value_type &tmax) const
 
virtual PathPtr_t reverse () const
 
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
 
Configuration_t eval (const value_type &time, bool &success) const
 
bool eval (ConfigurationOut_t result, const value_type &time) const
 
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
 
void velocityBound (vectorOut_t result, const value_type &t0, const value_type &t1) const
 
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
 
void timeParameterization (const TimeParameterizationPtr_t &tp, const interval_t &tr)
 Set the time parameterization function. More...
 

Static Public Member Functions

static ReedsSheppPathPtr_t create (const pinocchio::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 ReedsSheppPathPtr_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 ReedsSheppPathPtr_t createCopy (const ReedsSheppPathPtr_t &path)
 
static ReedsSheppPathPtr_t createCopy (const ReedsSheppPathPtr_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. More...
 
static PathVectorPtr_t createCopy (const PathVectorPtr_t &original)
 Create instance and return shared pointer. More...
 
static PathVectorPtr_t createCopy (const PathVectorPtr_t &original, const ConstraintSetPtr_t &constraints)
 Create instance and return shared pointer. More...
 

Protected Member Functions

virtual std::ostream & print (std::ostream &os) const
 Print path in a stream. More...
 
 ReedsSheppPath (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. More...
 
 ReedsSheppPath (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. More...
 
 ReedsSheppPath (const ReedsSheppPath &path)
 Copy constructor. More...
 
 ReedsSheppPath (const ReedsSheppPath &path, const ConstraintSetPtr_t &constraints)
 Copy constructor with constraints. More...
 
void init (ReedsSheppPathPtr_t self)
 
virtual void impl_derivative (vectorOut_t result, const value_type &t, size_type order) const
 Virtual implementation of derivative. More...
 
- Protected Member Functions inherited from hpp::core::PathVector
 PathVector (std::size_t outputSize, std::size_t outputDerivativeSize)
 Constructor. More...
 
 PathVector (const PathVector &path)
 Copy constructor. More...
 
 PathVector (const PathVector &path, const ConstraintSetPtr_t &constraints)
 Copy constructor with constraints. More...
 
void init (PathVectorPtr_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
 
- 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. More...
 
 Path (const Path &path, const ConstraintSetPtr_t &constraints)
 Copy constructor with constraints. More...
 
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. 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
 
virtual void impl_velocityBound (vectorOut_t bound, const value_type &param0, const value_type &param1) const
 

Additional Inherited Members

- Protected Attributes inherited from hpp::core::Path
interval_t paramRange_
 Interval of parameters. More...
 

Detailed Description

Car like motion

Implement a Reeds and Shepp 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

Constructor & Destructor Documentation

◆ ~ReedsSheppPath()

virtual hpp::core::ReedsSheppPath::~ReedsSheppPath ( )
inlinevirtual

Destructor.

◆ ReedsSheppPath() [1/4]

hpp::core::ReedsSheppPath::ReedsSheppPath ( 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.

◆ ReedsSheppPath() [2/4]

hpp::core::ReedsSheppPath::ReedsSheppPath ( 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.

◆ ReedsSheppPath() [3/4]

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

Copy constructor.

◆ ReedsSheppPath() [4/4]

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

Copy constructor with constraints.

Member Function Documentation

◆ copy() [1/2]

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

◆ create() [1/2]

static ReedsSheppPathPtr_t hpp::core::ReedsSheppPath::create ( const pinocchio::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
deviceRobot corresponding to configurations
init,endStart and end configurations of the path
rhoThe radius of a turn.
extraLengththe length of the path due to the non RS DoF

◆ create() [2/2]

static ReedsSheppPathPtr_t hpp::core::ReedsSheppPath::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
deviceRobot corresponding to configurations
init,endStart and end configurations of the path
rhoThe radius of a turn.
extraLengththe length of the path due to the non RS DoF
constraintsthe path is subject to

◆ createCopy() [1/2]

static ReedsSheppPathPtr_t hpp::core::ReedsSheppPath::createCopy ( const ReedsSheppPathPtr_t path)
inlinestatic

Create copy and return shared pointer

Parameters
pathpath to copy

◆ createCopy() [2/2]

static ReedsSheppPathPtr_t hpp::core::ReedsSheppPath::createCopy ( const ReedsSheppPathPtr_t path,
const ConstraintSetPtr_t constraints 
)
inlinestatic

Create copy and return shared pointer

Parameters
pathpath to copy
constraintsthe path is subject to

◆ device()

DevicePtr_t hpp::core::ReedsSheppPath::device ( ) const
inline

Return the internal robot.

◆ end()

Configuration_t hpp::core::ReedsSheppPath::end ( ) const
inlinevirtual

Get the final configuration.

Reimplemented from hpp::core::PathVector.

◆ impl_derivative()

virtual void hpp::core::ReedsSheppPath::impl_derivative ( vectorOut_t  result,
const value_type t,
size_type  order 
) const
protectedvirtual

Virtual implementation of derivative.

Reimplemented from hpp::core::PathVector.

◆ init()

void hpp::core::ReedsSheppPath::init ( ReedsSheppPathPtr_t  self)
protected

◆ initial()

Configuration_t hpp::core::ReedsSheppPath::initial ( ) const
inlinevirtual

Get the initial configuration.

Reimplemented from hpp::core::PathVector.

◆ print()

virtual std::ostream& hpp::core::ReedsSheppPath::print ( std::ostream &  os) const
protectedvirtual

Print path in a stream.

Reimplemented from hpp::core::PathVector.


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