ISeeML  1.0
Public Member Functions | List of all members
iSeeML::rob::Path Class Referenceabstract

This class is the base class of all robotic paths in ISeeML. More...

#include <Path.hpp>

Inheritance diagram for iSeeML::rob::Path:
Inheritance graph
[legend]
Collaboration diagram for iSeeML::rob::Path:
Collaboration graph
[legend]

Public Member Functions

virtual const iSeeML::rob::OrPtConfigstart () const =0
 Description method, giving the path's starting configuration. More...
 
virtual const iSeeML::rob::OrPtConfigend () const =0
 Description method, giving the path's final configuration. More...
 
virtual double length () const =0
 Description method, giving the path's length. More...
 
virtual double deflection () const =0
 Description method, giving the path's deflection (change of orientation). More...
 
bool operator< (const Path &other) const
 Order operator, defining an order relation on the paths' set, based on the path's length. More...
 
virtual iSeeML::rob::CurvConfig operator[] (const double &s) const =0
 Description method, giving a configuration at a given arc length along the path. More...
 
- Public Member Functions inherited from iSeeML::Object
virtual ~Object ()
 This virtual class needs a virtual destructor.
 
virtual const string className () const
 Description method, giving the object's class name. More...
 
virtual iSeeML::Objectclone () const =0
 Description method, giving a copy of the current object. More...
 
virtual void writeTo (ostream &O) const =0
 Description method, writing a description of the object into a given output stream. More...
 
bool sameClass (const iSeeML::Object &other)
 Method verifying that a given object has the same type (same class name) than the current one. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from iSeeML::Object
template<class T >
static const T & min (const T &a, const T &b)
 Method giving the minimum of two elements. More...
 
template<class T >
static const T & max (const T &a, const T &b)
 Method giving the maximum of two elements. More...
 
static double sqr (const double &x)
 Method giving the square of a double. More...
 
static double mod2pi (const double &theta)
 Method giving the angle between - $\pi$ (excluded) and $\pi$ (included), which is equal to a given angle modulo 2 $\pi$. More...
 
static double rad2deg (const double &theta)
 Method transforming an angle in radian, $x \pi$ with $x$ between -1 (excluded) and 1 (included), into its equivalent in degree, i.e. More...
 
static double deg2rad (const double &theta)
 Method transforming an angle in degree, $90 x$ with $x$ between -1 (excluded) and 1 (included), into its equivalent in radian, i.e. More...
 
static bool isPositive (const double &x)
 Method telling whether a double is strictly positive. More...
 
static bool isNegative (const double &x)
 Method telling whether a double is strictly negative. More...
 
static bool isZero (const double &x)
 Method comparing a double to zero. More...
 
static int sign (const double &x)
 Method giving the sign of a double. More...
 
- Protected Member Functions inherited from iSeeML::Object
virtual int algDimension () const
 Description method for algebraic vectors, giving the dimension of the containing space (default is zero). More...
 
virtual double algCoord (const int) const
 Description method for algebraic vectors, giving coordinate of given index for this vector. More...
 
virtual void algWriteTo (ostream &O) const
 Description method for algebraic vectors, writing this vector in a given output stream: coordinates for each dimension are written, between paranthesis and separated by commas. More...
 

Detailed Description

This class is the base class of all robotic paths in ISeeML.

A path is the geometric aspect of a robot's motion. It is therefore a continuous set of configurations, and transitions between these configurations respect the kinematic constraints of this robot as, for example, continuity of the robot's orientation, bounds on the curvature (the inverse of the turning radius), continuity of the curvature, bounds on its derivative, etc.

This class contains the virtual methods common to all robotic paths' classes, which are only description methods, an order operator<(const Path&), which uses the virtual description method length, and a description operator, operator[](const double&), returning the configuration at a given arc length.

Note that starting and final configurations are referenced as classical configurations (to which a curvature configuration's reference is automatically transformed), while configurations at a given arc length are computed when needed, and are given as curvature configuration (to which a classical configuration is automatically transformed).

Author
Alexis Scheuer.
Version
1.0

Member Function Documentation

virtual double iSeeML::rob::Path::deflection ( ) const
pure virtual

Description method, giving the path's deflection (change of orientation).

Returns
the path's deflection.

Implemented in iSeeML::rob::CompoundPath, and iSeeML::rob::LinCurvPath.

virtual const iSeeML::rob::OrPtConfig& iSeeML::rob::Path::end ( ) const
pure virtual

Description method, giving the path's final configuration.

Returns
the path's final configuration.

Implemented in iSeeML::rob::LinCurvPath, and iSeeML::rob::CompoundPath.

virtual double iSeeML::rob::Path::length ( ) const
pure virtual

Description method, giving the path's length.

Returns
the path's length.

Implemented in iSeeML::rob::CompoundPath, and iSeeML::rob::LinCurvPath.

bool iSeeML::rob::Path::operator< ( const Path other) const
inline

Order operator, defining an order relation on the paths' set, based on the path's length.

In other words, a path is smaller than a second one iff it is shorter (its length is smaller than the second one's). However, zero length paths are generally not correct: such a path is consider as shorter if and only if the second one is also a zero length path.

Parameters
otheranother path.
Returns
whether the current path is smaller (shorter) than the given one.
See also
length, iSeeML::Object::isPositive.
virtual iSeeML::rob::CurvConfig iSeeML::rob::Path::operator[] ( const double &  s) const
pure virtual

Description method, giving a configuration at a given arc length along the path.

Parameters
sthe arc length.
Precondition
the given arc length should be positive and less than the path's length.
Returns
the configuration at given arc length along the path.

Implemented in iSeeML::rob::CompoundPath, and iSeeML::rob::LinCurvPath.

virtual const iSeeML::rob::OrPtConfig& iSeeML::rob::Path::start ( ) const
pure virtual

Description method, giving the path's starting configuration.

Returns
the path's starting configuration.

Implemented in iSeeML::rob::LinCurvPath, and iSeeML::rob::CompoundPath.


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