#include <path_roundedcomposite.hpp>
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 54 of file path_roundedcomposite.cpp.
KDL::Path_RoundedComposite::Path_RoundedComposite | ( | double | radius, | |
double | eqradius, | |||
RotationalInterpolation * | orient, | |||
bool | aggregate = true | |||
) |
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 60 of file path_roundedcomposite.cpp.
KDL::Path_RoundedComposite::~Path_RoundedComposite | ( | ) | [virtual] |
Definition at line 189 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 162 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:
F_base_point | the pose of a new via point. |
Definition at line 69 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 196 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 137 of file path_roundedcomposite.cpp.
void KDL::Path_RoundedComposite::GetCurrentSegmentLocation | ( | double | s, | |
int & | segment_number, | |||
double & | inner_s | |||
) | [virtual] |
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 182 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.
i | segment number |
Definition at line 178 of file path_roundedcomposite.cpp.
int KDL::Path_RoundedComposite::GetNrOfSegments | ( | ) | [virtual] |
returns the number of underlying segments.
Definition at line 170 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.
i | segment number |
Definition at line 174 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 145 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 150 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 154 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 158 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 166 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.