ISeeML
1.0
|
This class is the base class of all robotic paths in ISeeML. More...
#include <Path.hpp>
Public Member Functions | |
virtual const iSeeML::rob::OrPtConfig & | start () const =0 |
Description method, giving the path's starting configuration. More... | |
virtual const iSeeML::rob::OrPtConfig & | end () 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... | |
![]() | |
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::Object & | clone () 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 | |
![]() | |
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 - ![]() ![]() ![]() | |
static double | rad2deg (const double &theta) |
Method transforming an angle in radian, ![]() ![]() | |
static double | deg2rad (const double &theta) |
Method transforming an angle in degree, ![]() ![]() | |
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... | |
![]() | |
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... | |
![]() | |
ostream & | operator<< (ostream &O, const iSeeML::Object &o) |
Modification method, writing a description of a ISeeML object in a given output stream. More... | |
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).
|
pure virtual |
Description method, giving the path's deflection (change of orientation).
Implemented in iSeeML::rob::CompoundPath, and iSeeML::rob::LinCurvPath.
|
pure virtual |
Description method, giving the path's final configuration.
Implemented in iSeeML::rob::LinCurvPath, and iSeeML::rob::CompoundPath.
|
pure virtual |
Description method, giving the path's length.
Implemented in iSeeML::rob::CompoundPath, and iSeeML::rob::LinCurvPath.
|
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.
other | another path. |
|
pure virtual |
Description method, giving a configuration at a given arc length along the path.
s | the arc length. |
Implemented in iSeeML::rob::CompoundPath, and iSeeML::rob::LinCurvPath.
|
pure virtual |
Description method, giving the path's starting configuration.
Implemented in iSeeML::rob::LinCurvPath, and iSeeML::rob::CompoundPath.