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

#include <hpp/core/kinodynamic-distance.hh>

Inheritance diagram for hpp::core::KinodynamicDistance:
Collaboration diagram for hpp::core::KinodynamicDistance:

Public Member Functions

virtual DistancePtr_t clone () const
 
const DevicePtr_trobot () const
 Get robot. More...
 
- Public Member Functions inherited from hpp::core::Distance
value_type operator() (ConfigurationIn_t q1, ConfigurationIn_t q2) const
 
value_type operator() (NodePtr_t n1, NodePtr_t n2) const
 
value_type compute (ConfigurationIn_t q1, ConfigurationIn_t q2) const
 
value_type compute (NodePtr_t n1, NodePtr_t n2) const
 
virtual ~Distance ()
 

Static Public Member Functions

static KinodynamicDistancePtr_t create (const DevicePtr_t &robot)
 
static KinodynamicDistancePtr_t createFromProblem (const Problem &problem)
 
static KinodynamicDistancePtr_t createCopy (const KinodynamicDistancePtr_t &distance)
 

Protected Member Functions

 KinodynamicDistance (const DevicePtr_t &robot)
 
 KinodynamicDistance (const Problem &problem)
 
 KinodynamicDistance (const KinodynamicDistance &distance)
 
void init (KinodynamicDistanceWkPtr_t self)
 
virtual value_type impl_distance (ConfigurationIn_t q1, ConfigurationIn_t q2) const
 Derived class should implement this function. More...
 
double computeMinTime (double p1, double p2, double v1, double v2) const
 
- Protected Member Functions inherited from hpp::core::Distance
 Distance ()
 
virtual value_type impl_distance (NodePtr_t n1, NodePtr_t n2) const
 

Detailed Description

This class computed the Distance between two states as the minimal time required to connect this two states with a "bang-bang" trajectory, given velocity and acceleration bounds.

This time is the same as the length() of a KinodynamicPath computed between this two states by the steeringMethod::Kinodynamic.

This class require that the dimension of the extraConfigSpace is at least 6 and store the velocity and acceleration of the root.

Constructor & Destructor Documentation

◆ KinodynamicDistance() [1/3]

hpp::core::KinodynamicDistance::KinodynamicDistance ( const DevicePtr_t robot)
protected

◆ KinodynamicDistance() [2/3]

hpp::core::KinodynamicDistance::KinodynamicDistance ( const Problem problem)
protected

◆ KinodynamicDistance() [3/3]

hpp::core::KinodynamicDistance::KinodynamicDistance ( const KinodynamicDistance distance)
protected

Member Function Documentation

◆ clone()

virtual DistancePtr_t hpp::core::KinodynamicDistance::clone ( ) const
virtual

Implements hpp::core::Distance.

◆ computeMinTime()

double hpp::core::KinodynamicDistance::computeMinTime ( double  p1,
double  p2,
double  v1,
double  v2 
) const
protected

◆ create()

static KinodynamicDistancePtr_t hpp::core::KinodynamicDistance::create ( const DevicePtr_t robot)
static

◆ createCopy()

static KinodynamicDistancePtr_t hpp::core::KinodynamicDistance::createCopy ( const KinodynamicDistancePtr_t distance)
static

◆ createFromProblem()

static KinodynamicDistancePtr_t hpp::core::KinodynamicDistance::createFromProblem ( const Problem problem)
static

◆ impl_distance()

virtual value_type hpp::core::KinodynamicDistance::impl_distance ( ConfigurationIn_t  q1,
ConfigurationIn_t  q2 
) const
protectedvirtual

Derived class should implement this function.

Implements hpp::core::Distance.

◆ init()

void hpp::core::KinodynamicDistance::init ( KinodynamicDistanceWkPtr_t  self)
protected

◆ robot()

const DevicePtr_t& hpp::core::KinodynamicDistance::robot ( ) const
inline

Get robot.


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