KDL
1.4.0
|
A circular Path with 'open ends'. More...
#include <src/path_circle.hpp>
Public Types | |
enum | IdentifierType { ID_LINE =1, ID_CIRCLE =2, ID_COMPOSITE =3, ID_ROUNDED_COMPOSITE =4, ID_POINT =5, ID_CYCLIC_CLOSED =6 } |
Public Member Functions | |
Path_Circle (const Frame &F_base_start, const Vector &V_base_center, const Vector &V_base_p, const Rotation &R_base_end, double alpha, RotationalInterpolation *otraj, double eqradius, bool _aggregate=true) | |
CAN THROW Error_MotionPlanning_Circle_ToSmall CAN THROW Error_MotionPlanning_Circle_No_Plane. More... | |
double | LengthToS (double length) |
LengthToS() converts a physical length along the trajectory to the parameter s used in Pos, Vel and Acc. More... | |
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. More... | |
virtual Frame | Pos (double s) const |
Returns the Frame at the current path length s. More... | |
virtual Twist | Vel (double s, double sd) const |
Returns the velocity twist at path length s theta and with derivative of s == sd. More... | |
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. More... | |
virtual Path * | Clone () |
Virtual constructor, constructing by copying, Returns a deep copy of this Path Object. More... | |
virtual void | Write (std::ostream &os) |
Writes one of the derived objects to the stream. More... | |
virtual IdentifierType | getIdentifier () const |
gets an identifier indicating the type of this Path object More... | |
virtual | ~Path_Circle () |
Static Public Member Functions | |
static Path * | Read (std::istream &is) |
Reads one of the derived objects from the stream and returns a pointer (factory method) More... | |
Private Attributes | |
RotationalInterpolation * | orient |
double | radius |
Frame | F_base_center |
double | eqradius |
double | pathlength |
double | scalelin |
double | scalerot |
bool | aggregate |
A circular Path with 'open ends'.
Path_Arc would have been a better name though.
|
inherited |
KDL::Path_Circle::Path_Circle | ( | const Frame & | F_base_start, |
const Vector & | V_base_center, | ||
const Vector & | V_base_p, | ||
const Rotation & | R_base_end, | ||
double | alpha, | ||
RotationalInterpolation * | otraj, | ||
double | eqradius, | ||
bool | _aggregate = true |
||
) |
CAN THROW Error_MotionPlanning_Circle_ToSmall CAN THROW Error_MotionPlanning_Circle_No_Plane.
References KDL::RotationalInterpolation::Angle(), eqradius, F_base_center, KDL::Frame::M, KDL::Vector::Normalize(), orient, KDL::Frame::p, pathlength, radius, scalelin, scalerot, and KDL::RotationalInterpolation::SetStartEnd().
Referenced by Clone().
|
virtual |
References aggregate, and orient.
Referenced by getIdentifier().
|
virtual |
Returns the acceleration twist at path length s and with derivative of s == sd, and 2nd derivative of s == sdd.
Implements KDL::Path.
References KDL::RotationalInterpolation::Acc(), F_base_center, KDL::Frame::M, orient, radius, scalelin, and scalerot.
|
virtual |
Virtual constructor, constructing by copying, Returns a deep copy of this Path Object.
Implements KDL::Path.
References aggregate, KDL::RotationalInterpolation::Clone(), eqradius, F_base_center, KDL::Frame::M, orient, KDL::Frame::p, Path_Circle(), pathlength, KDL::RotationalInterpolation::Pos(), Pos(), radius, scalelin, scalerot, and KDL::Rotation::UnitY().
|
inlinevirtual |
gets an identifier indicating the type of this Path object
Implements KDL::Path.
References KDL::Path::ID_CIRCLE, and ~Path_Circle().
|
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.
References scalelin.
|
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.
References pathlength.
|
virtual |
Returns the Frame at the current path length s.
Implements KDL::Path.
References F_base_center, orient, KDL::RotationalInterpolation::Pos(), radius, scalelin, and scalerot.
|
staticinherited |
Reads one of the derived objects from the stream and returns a pointer (factory method)
References KDL::RotationalInterpolation::Read().
Referenced by KDL::Trajectory::Read().
|
virtual |
Returns the velocity twist at path length s theta and with derivative of s == sd.
Implements KDL::Path.
References F_base_center, KDL::Frame::M, orient, radius, scalelin, scalerot, and KDL::RotationalInterpolation::Vel().
|
virtual |
Writes one of the derived objects to the stream.
Implements KDL::Path.
References eqradius, F_base_center, KDL::Frame::M, orient, KDL::Frame::p, pathlength, KDL::RotationalInterpolation::Pos(), Pos(), radius, scalelin, scalerot, KDL::Rotation::UnitY(), and KDL::RotationalInterpolation::Write().
|
private |
Referenced by Clone(), and ~Path_Circle().
|
private |
Referenced by Clone(), Path_Circle(), and Write().
|
private |
|
private |
Referenced by Acc(), Clone(), Path_Circle(), Pos(), Vel(), Write(), and ~Path_Circle().
|
private |
Referenced by Clone(), Path_Circle(), PathLength(), and Write().
|
private |
|
private |
Referenced by Acc(), Clone(), LengthToS(), Path_Circle(), Pos(), Vel(), and Write().
|
private |