The specification of a path, composed of way-points with rounded corners. More...
#include <path_roundedcomposite.hpp>
Public Member Functions | |
virtual Twist | Acc (double s, double sd, double sdd) const |
Returns the acceleration twist at path length s and with derivative of s == sd, and 2nd derivative of s == sdd. | |
void | 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 Can throw Error_MotionPlanning_Not_Feasible object. | |
virtual Path * | Clone () |
virtual constructor, constructing by copying. | |
void | Finish () |
to be called after the last line is added to finish up the work | |
virtual double | LengthToS (double length) |
LengthToS() converts a physical length along the trajectory to the parameter s used in Pos, Vel and Acc. | |
Path_RoundedComposite (double radius, double _eqradius, RotationalInterpolation *_orient, bool _aggregate=true) | |
virtual double | PathLength () |
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. | |
virtual Frame | Pos (double s) const |
Returns the Frame at the current path length s. | |
virtual Twist | Vel (double s, double sd) const |
Returns the velocity twist at path length s theta and with derivative of s == sd. | |
virtual void | Write (std::ostream &os) |
Writes one of the derived objects to the stream. | |
virtual | ~Path_RoundedComposite () |
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 | ( | 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 | : default True |
Definition at line 52 of file path_roundedcomposite.cpp.
KDL::Path_RoundedComposite::~Path_RoundedComposite | ( | ) | [virtual] |
Definition at line 137 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 129 of file path_roundedcomposite.cpp.
References KDL::Path_Composite::Acc().
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 Can throw Error_MotionPlanning_Not_Feasible object.
Definition at line 58 of file path_roundedcomposite.cpp.
References KDL::acos(), KDL::Path_Composite::Add(), KDL::RotationalInterpolation::Clone(), KDL::dot(), KDL::Frame::M, KDL::Vector::Norm(), KDL::Vector::Normalize(), KDL::Frame::p, KDL::PI, and KDL::tan().
Referenced by Robot::Trajectory::generateTrajectory().
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 144 of file path_roundedcomposite.cpp.
References KDL::Path_Composite::Clone().
void KDL::Path_RoundedComposite::Finish | ( | ) |
to be called after the last line is added to finish up the work
Definition at line 107 of file path_roundedcomposite.cpp.
References KDL::Path_Composite::Add(), and KDL::RotationalInterpolation::Clone().
Referenced by Robot::Trajectory::generateTrajectory().
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 113 of file path_roundedcomposite.cpp.
References KDL::Path_Composite::LengthToS().
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 117 of file path_roundedcomposite.cpp.
References KDL::Path_Composite::PathLength().
Referenced by Robot::Trajectory::generateTrajectory().
Frame KDL::Path_RoundedComposite::Pos | ( | double | s | ) | const [virtual] |
Returns the Frame at the current path length s.
Implements KDL::Path.
Definition at line 121 of file path_roundedcomposite.cpp.
References KDL::Path_Composite::Pos().
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 125 of file path_roundedcomposite.cpp.
References KDL::Path_Composite::Vel().
void KDL::Path_RoundedComposite::Write | ( | std::ostream & | os | ) | [virtual] |
Writes one of the derived objects to the stream.
Implements KDL::Path.
Definition at line 133 of file path_roundedcomposite.cpp.
References KDL::Path_Composite::Write().