hpp-core  4.9.0
Implement basic classes for canonical path planning for kinematic chains.
hpp::core::continuousValidation::IntervalValidation Class Referenceabstract

#include <hpp/core/continuous-validation/interval-validation.hh>

Inheritance diagram for hpp::core::continuousValidation::IntervalValidation:

Public Member Functions

virtual bool validateConfiguration (const value_type &t, interval_t &interval, ValidationReportPtr_t &report, const pinocchio::DeviceData &data)=0
 
void path (const PathPtr_t &path, bool reverse)
 
PathConstPtr_t path () const
 Get path. More...
 
value_type tolerance () const
 
virtual std::string name () const =0
 
virtual std::ostream & print (std::ostream &os) const =0
 
virtual IntervalValidationPtr_t copy () const =0
 

Protected Types

typedef boost::icl::continuous_interval< value_typecontinuous_interval
 
typedef boost::icl::interval_set< value_typeinterval_set
 

Protected Member Functions

 IntervalValidation (value_type tolerance)
 
 IntervalValidation (const IntervalValidation &other)
 

Protected Attributes

PathPtr_t path_
 
value_type tolerance_
 
bool reverse_
 
bool refine_
 
bool valid_
 
interval_set validInterval_
 

Detailed Description

Validation of a parameter interval of a path

During path planning, some criteria need to be checked to be valid over the whole interval of definition of a path. The most common criterion is the absence of collision (implemented by derived class BodyPairCollision), but some other criteria might need to be checked. For instance the tension of the cables of a parallel cable driven robot need to remain in an interval.

This class provides a common interface for continuous validation through method validateConfiguration .

A tolerance may be provided at construction. An interval will be considered as valid if the criterion is violated by less than the tolerance. This parameter interpretation is left to the specialization designers.

Member Typedef Documentation

◆ continuous_interval

◆ interval_set

Constructor & Destructor Documentation

◆ IntervalValidation() [1/2]

hpp::core::continuousValidation::IntervalValidation::IntervalValidation ( value_type  tolerance)
inlineprotected

Constructor of interval validation element

Parameters
toleranceallowed penetration should be positive

◆ IntervalValidation() [2/2]

hpp::core::continuousValidation::IntervalValidation::IntervalValidation ( const IntervalValidation other)
inlineprotected

Member Function Documentation

◆ copy()

virtual IntervalValidationPtr_t hpp::core::continuousValidation::IntervalValidation::copy ( ) const
pure virtual

◆ name()

virtual std::string hpp::core::continuousValidation::IntervalValidation::name ( ) const
pure virtual

◆ path() [1/2]

void hpp::core::continuousValidation::IntervalValidation::path ( const PathPtr_t path,
bool  reverse 
)
inline

Set path to validate

Parameters
pathpath to validate,
reversewhether path is validated from end to beginning.

◆ path() [2/2]

PathConstPtr_t hpp::core::continuousValidation::IntervalValidation::path ( ) const
inline

Get path.

◆ print()

virtual std::ostream& hpp::core::continuousValidation::IntervalValidation::print ( std::ostream &  os) const
pure virtual

◆ tolerance()

value_type hpp::core::continuousValidation::IntervalValidation::tolerance ( ) const
inline

◆ validateConfiguration()

virtual bool hpp::core::continuousValidation::IntervalValidation::validateConfiguration ( const value_type t,
interval_t interval,
ValidationReportPtr_t report,
const pinocchio::DeviceData data 
)
pure virtual

Validate an interval for a given criterion

Parameters
tcenter of the interval to validate
intervalover which the criterion should be checked,
Return values
intervalpart of the input interval that is valid,
reportreport in case of non validity of the configuration at parameter t
Parameters
datadata resulting from forward kinematics computed at parameter t.

Implemented in hpp::core::continuousValidation::BodyPairCollision.

Member Data Documentation

◆ path_

PathPtr_t hpp::core::continuousValidation::IntervalValidation::path_
protected

◆ refine_

bool hpp::core::continuousValidation::IntervalValidation::refine_
protected

◆ reverse_

bool hpp::core::continuousValidation::IntervalValidation::reverse_
protected

◆ tolerance_

value_type hpp::core::continuousValidation::IntervalValidation::tolerance_
protected

◆ valid_

bool hpp::core::continuousValidation::IntervalValidation::valid_
protected

◆ validInterval_

interval_set hpp::core::continuousValidation::IntervalValidation::validInterval_
protected

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