KDL::Path_RoundedComposite Class Reference

`#include <path_roundedcomposite.hpp>`

Inheritance diagram for KDL::Path_RoundedComposite:

## Public Member Functions | |

virtual Twist | Acc (double s, double sd, double sdd) const |

void | Add (const Frame &F_base_point) |

virtual Path * | Clone () |

void | Finish () |

virtual void | GetCurrentSegmentLocation (double s, int &segment_number, double &inner_s) |

virtual IdentifierType | getIdentifier () const |

virtual double | GetLengthToEndOfSegment (int i) |

virtual int | GetNrOfSegments () |

virtual Path * | GetSegment (int i) |

virtual double | LengthToS (double length) |

Path_RoundedComposite (double radius, double eqradius, RotationalInterpolation *orient, bool aggregate=true) | |

virtual double | PathLength () |

virtual Frame | Pos (double s) const |

virtual Twist | Vel (double s, double sd) const |

virtual void | Write (std::ostream &os) |

virtual | ~Path_RoundedComposite () |

## Private Member Functions | |

Path_RoundedComposite (Path_Composite *comp, double radius, double eqradius, RotationalInterpolation *orient, bool aggregate, int nrofpoints) | |

## Private Attributes | |

bool | aggregate |

Path_Composite * | comp |

double | eqradius |

Frame | F_base_start |

Frame | F_base_via |

int | nrofpoints |

RotationalInterpolation * | orient |

double | radius |

The specification of a path, composed of way-points with rounded corners.

Definition at line 58 of file path_roundedcomposite.hpp.

KDL::Path_RoundedComposite::Path_RoundedComposite | ( | Path_Composite * | comp, |

double | radius, |
||

double | eqradius, |
||

RotationalInterpolation * | orient, |
||

bool | aggregate, |
||

int | nrofpoints |
||

) | ` [private]` |

Definition at line 55 of file path_roundedcomposite.cpp.

KDL::Path_RoundedComposite::Path_RoundedComposite | ( | double | radius, |

double | eqradius, |
||

RotationalInterpolation * | orient, |
||

bool | aggregate = `true` |
||

) |

**Parameters:**-
radius : radius of the rounding circles eqradius : equivalent radius to compare rotations/velocities orient : method of rotational_interpolation interpolation aggregate : if true, this object will own the _orient pointer, i.e. it will delete the _orient pointer when the destructor of this object is called.

Definition at line 61 of file path_roundedcomposite.cpp.

KDL::Path_RoundedComposite::~Path_RoundedComposite | ( | ) | ` [virtual]` |

Definition at line 191 of file path_roundedcomposite.cpp.

Twist KDL::Path_RoundedComposite::Acc | ( | double | s, |

double | sd, |
||

double | sdd |
||

) | const` [virtual]` |

Returns the acceleration twist at path length s and with derivative of s == sd, and 2nd derivative of s == sdd

Implements KDL::Path.

Definition at line 164 of file path_roundedcomposite.cpp.

void KDL::Path_RoundedComposite::Add | ( | const Frame & | F_base_point | ) |

Adds a point to this rounded composite, between to adjecent points a Path_Line will be created, between two lines there will be rounding with the given radius with a Path_Circle

The Error_MotionPlanning_Not_Feasible has a type (obtained by GetType) of:

- 3101 if the eq. radius <= 0
- 3102 if the first segment in a rounding has zero length.
- 3103 if the second segment in a rounding has zero length.
- 3104 if the angle between the first and the second segment is close to M_PI. (meaning that the segments are on top of each other)
- 3105 if the distance needed for the rounding is larger then the first segment.
- 3106 if the distance needed for the rounding is larger then the second segment.

**Parameters:**-
F_base_point the pose of a new via point.

**Warning:**- Can throw Error_MotionPlanning_Not_Feasible object handle the case of error type 3105 and 3106 by skipping segments, such that the class could be applied with points that are very close to each other.

Definition at line 70 of file path_roundedcomposite.cpp.

Path * KDL::Path_RoundedComposite::Clone | ( | ) | ` [virtual]` |

virtual constructor, constructing by copying. In this case it returns the Clone() of the aggregated Path_Composite because this is all one ever will need.

Implements KDL::Path.

Definition at line 198 of file path_roundedcomposite.cpp.

void KDL::Path_RoundedComposite::Finish | ( | ) |

to be called after the last line is added to finish up the work

Definition at line 139 of file path_roundedcomposite.cpp.

void KDL::Path_RoundedComposite::GetCurrentSegmentLocation | ( | double | s, |

int & | segment_number, |
||

double & | inner_s |
||

) | ` [virtual]` |

**Parameters:**-
s [INPUT] path length variable for the composite. segment_number [OUTPUT] segments that corresponds to the path length variable s. inner_s [OUTPUT] path length to use within the segment.

Definition at line 184 of file path_roundedcomposite.cpp.

virtual IdentifierType KDL::Path_RoundedComposite::getIdentifier | ( | ) | const` [inline, virtual]` |

gets an identifier indicating the type of this Path object

Implements KDL::Path.

Definition at line 190 of file path_roundedcomposite.hpp.

double KDL::Path_RoundedComposite::GetLengthToEndOfSegment | ( | int | i | ) | ` [virtual]` |

gets the length to the end of the given segment.

**Parameters:**-
i segment number

**Returns:**- length to the end of the segment, i.e. the value for s corresponding to the end of this segment.

Definition at line 180 of file path_roundedcomposite.cpp.

int KDL::Path_RoundedComposite::GetNrOfSegments | ( | ) | ` [virtual]` |

returns the number of underlying segments.

Definition at line 172 of file path_roundedcomposite.cpp.

Path * KDL::Path_RoundedComposite::GetSegment | ( | int | i | ) | ` [virtual]` |

returns a pointer to the underlying Path of the given segment number i.

**Parameters:**-
i segment number

**Returns:**- pointer to the underlying Path

**Warning:**- The pointer is still owned by this class and is lifetime depends on the lifetime of this class.

Definition at line 176 of file path_roundedcomposite.cpp.

double KDL::Path_RoundedComposite::LengthToS | ( | double | length | ) | ` [virtual]` |

LengthToS() converts a physical length along the trajectory to the parameter s used in Pos, Vel and Acc. This is used because in cases with large rotations the parameter s does NOT correspond to the lineair length along the trajectory. User should be sure that the lineair distance travelled by this path object is NOT zero, when using this method ! (e.g. the case of only rotational change) throws Error_MotionPlanning_Not_Applicable if used on composed path objects.

Implements KDL::Path.

Definition at line 147 of file path_roundedcomposite.cpp.

double KDL::Path_RoundedComposite::PathLength | ( | ) | ` [virtual]` |

Returns the total path length of the trajectory (has dimension LENGTH) This is not always a physical length , ie when dealing with rotations that are dominant.

Implements KDL::Path.

Definition at line 152 of file path_roundedcomposite.cpp.

Frame KDL::Path_RoundedComposite::Pos | ( | double | s | ) | const` [virtual]` |

Returns the Frame at the current path length s

Implements KDL::Path.

Definition at line 156 of file path_roundedcomposite.cpp.

Twist KDL::Path_RoundedComposite::Vel | ( | double | s, |

double | sd |
||

) | const` [virtual]` |

Returns the velocity twist at path length s theta and with derivative of s == sd

Implements KDL::Path.

Definition at line 160 of file path_roundedcomposite.cpp.

void KDL::Path_RoundedComposite::Write | ( | std::ostream & | os | ) | ` [virtual]` |

Writes one of the derived objects to the stream

Implements KDL::Path.

Definition at line 168 of file path_roundedcomposite.cpp.

bool KDL::Path_RoundedComposite::aggregate` [private]` |

Definition at line 75 of file path_roundedcomposite.hpp.

Path_Composite* KDL::Path_RoundedComposite::comp` [private]` |

a Path_Composite is aggregated to hold the rounded trajectory with circles and lines

Definition at line 63 of file path_roundedcomposite.hpp.

double KDL::Path_RoundedComposite::eqradius` [private]` |

Definition at line 67 of file path_roundedcomposite.hpp.

Definition at line 70 of file path_roundedcomposite.hpp.

Frame KDL::Path_RoundedComposite::F_base_via` [private]` |

Definition at line 71 of file path_roundedcomposite.hpp.

int KDL::Path_RoundedComposite::nrofpoints` [private]` |

Definition at line 73 of file path_roundedcomposite.hpp.

Definition at line 68 of file path_roundedcomposite.hpp.

double KDL::Path_RoundedComposite::radius` [private]` |

Definition at line 66 of file path_roundedcomposite.hpp.

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