This class defines a standard robotic configuration, containing the position of a reference point and the orientation of a main axis.
More...
|
| OrPtConfig () |
| The default constructor should only be used for array initializations: it correspond to a default point with zero orientation. More...
|
|
| OrPtConfig (const iSeeML::geom::Point &P, const double &theta) |
| The main constructor. More...
|
|
| OrPtConfig (const double &x, const double &y, const double &theta) |
| A usefull constructor. More...
|
|
virtual | ~OrPtConfig () |
| The virtual destructor does nothing.
|
|
iSeeML::Object & | clone () const |
| Description method, giving a copy of the current configuration. More...
|
|
void | writeTo (ostream &O) const |
| Description method, writing the configuration in a given output stream: coordinate in each dimension is written, between paranthesis and separated by commas. More...
|
|
const iSeeML::geom::Point & | position () const |
| Description method, giving the position of the robot's reference point in this configuration. More...
|
|
const double & | orientation () const |
| Description method, giving the orientation of the robot's main axis in this configuration. More...
|
|
iSeeML::geom::Vector | projection (const iSeeML::geom::Point &P) const |
| Gives the projection of a point in the frame of this configuration. More...
|
|
OrPtConfig | projection (const OrPtConfig &q) const |
| Projects a configuration in the frame of
this configuration. More...
|
|
OrPtConfig & | uTurn () |
| Modification method, turning the current oriented point to its opposite: the position does not change but the orientation is replaced by its opposite ( is added to it). More...
|
|
bool | operator== (const OrPtConfig &other) const |
| Equality operator between oriented points. More...
|
|
void | operator+= (const OrPtConfig &other) |
| Adds an oriente point to the current one: gives the oriented point obtained when the added oriented point is considered in the current's frame. More...
|
|
OrPtConfig | operator+ (const OrPtConfig &other) const |
| Addition operator between oriented points: gives the oriented point obtained when the second oriented point is considered in the first's frame. More...
|
|
OrPtConfig | opposite () const |
| Various method, giving the opposite oriented point of the current one: the opposite oriented point has the same position but opposite orientation (current oriented point's orientation ). More...
|
|
double | distance2 (const OrPtConfig &other) const |
| Various method, giving the distance between two oriented points' positions. More...
|
|
bool | isParallelTo (const OrPtConfig &other) const |
| Various method, checking whether two oriented points are parallel, ie whether their orientations are equal (modulo 2 ). More...
|
|
bool | isSymmetricTo (const OrPtConfig &other) const |
| Various method, checking whether two oriented points are symmetric, ie whether their orientations are symmetric wrt the line segment connecting their position. More...
|
|
bool | isAlignedWith (const OrPtConfig &other) const |
| Various method, checking whether two oriented points are aligned: their orientations should be equal, and be the same as the orientation of the segment connecting their positions. More...
|
|
bool | hasInFront (const iSeeML::geom::Point &point) const |
| Various method, checking whether a point is in the front half-plane of the current oriented point: the vector connecting the current oriented point's position to the given point should make an angle between - / 2 and / 2 with the current oriented point's orientation. More...
|
|
virtual | ~Object () |
| This virtual class needs a virtual destructor.
|
|
virtual const string | className () const |
| Description method, giving the object's class name. 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...
|
|
|
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 - (excluded) and (included), which is equal to a given angle modulo 2 . More...
|
|
static double | rad2deg (const double &theta) |
| Method transforming an angle in radian, with 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, with 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...
|
|
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 defines a standard robotic configuration, containing the position of a reference point and the orientation of a main axis.
This configuration is sufficient to define the position of most robots, and thus is enough for collision avoidance. However, taking into account dynamic constraints (as velocity and acceleration bounds) or more precise kinematic constraints (as continuity of the directing wheels' positions) generally requires a more complex configuration, as e.g. iSeeML::rob::CurvConfig.
This class contains description methods giving position and orientation of a standard configuration as well as the writeTo method, a modification method changing a standard configuration into its opposite, the equality operator, and various methods giving the opposite of a standard configuration, the distance between two standard configurations' positions or whether two such configurations verify some properties (parallelism, symmetry, alignment) or whether a point is in front of a standard configuration.
- Author
- Alexis Scheuer.
- Version
- 1.0
- Examples
- Fwd.cpp, LengthFwd.cpp, TimeFwd.cpp, and wxGuiFwd.cpp.