#include <velocityprofile_traphalf.hpp>
Public Member Functions | |
virtual double | Acc (double time) const |
virtual VelocityProfile * | Clone () const |
virtual double | Duration () const |
virtual double | Pos (double time) const |
void | SetMax (double _maxvel, double _maxacc, bool _starting) |
virtual void | SetProfile (double pos1, double pos2) |
virtual void | SetProfileDuration (double pos1, double pos2, double newduration) |
virtual double | Vel (double time) const |
VelocityProfile_TrapHalf (double _maxvel=0, double _maxacc=0, bool _starting=true) | |
virtual void | Write (std::ostream &os) const |
virtual | ~VelocityProfile_TrapHalf () |
Private Member Functions | |
void | PlanProfile1 (double v, double a) |
void | PlanProfile2 (double v, double a) |
Private Attributes | |
double | a1 |
double | a2 |
double | a3 |
double | b1 |
double | b2 |
double | b3 |
double | c1 |
double | c2 |
double | c3 |
double | duration |
double | endpos |
double | maxacc |
double | maxvel |
bool | starting |
double | startpos |
double | t1 |
double | t2 |
A 'Half' Trapezoidal VelocityProfile. A contructor flag indicates if the calculated profile should be starting or ending.
Definition at line 63 of file velocityprofile_traphalf.hpp.
KDL::VelocityProfile_TrapHalf::VelocityProfile_TrapHalf | ( | double | _maxvel = 0 , |
double | _maxacc = 0 , |
||
bool | _starting = true |
||
) |
maxvel | maximal velocity of the motion profile (positive) |
maxacc | maximal acceleration of the motion profile (positive) |
starting | this value is true when initial velocity is zero and ending velocity is maxvel, is false for the reverse |
Definition at line 50 of file velocityprofile_traphalf.cpp.
KDL::VelocityProfile_TrapHalf::~VelocityProfile_TrapHalf | ( | ) | [virtual] |
Definition at line 191 of file velocityprofile_traphalf.cpp.
double KDL::VelocityProfile_TrapHalf::Acc | ( | double | time | ) | const [virtual] |
Implements KDL::VelocityProfile.
Definition at line 171 of file velocityprofile_traphalf.cpp.
VelocityProfile * KDL::VelocityProfile_TrapHalf::Clone | ( | ) | const [virtual] |
Implements KDL::VelocityProfile.
Definition at line 185 of file velocityprofile_traphalf.cpp.
double KDL::VelocityProfile_TrapHalf::Duration | ( | ) | const [virtual] |
Implements KDL::VelocityProfile.
Definition at line 140 of file velocityprofile_traphalf.cpp.
void KDL::VelocityProfile_TrapHalf::PlanProfile1 | ( | double | v, |
double | a | ||
) | [private] |
Definition at line 58 of file velocityprofile_traphalf.cpp.
void KDL::VelocityProfile_TrapHalf::PlanProfile2 | ( | double | v, |
double | a | ||
) | [private] |
Definition at line 70 of file velocityprofile_traphalf.cpp.
double KDL::VelocityProfile_TrapHalf::Pos | ( | double | time | ) | const [virtual] |
Implements KDL::VelocityProfile.
Definition at line 144 of file velocityprofile_traphalf.cpp.
void KDL::VelocityProfile_TrapHalf::SetMax | ( | double | _maxvel, |
double | _maxacc, | ||
bool | _starting | ||
) |
Definition at line 53 of file velocityprofile_traphalf.cpp.
void KDL::VelocityProfile_TrapHalf::SetProfile | ( | double | pos1, |
double | pos2 | ||
) | [virtual] |
Plans a 'Half' Trapezoidal VelocityProfile between pos1 and pos2. If the distance is too short betweeen pos1 and pos2, only the acceleration phase is set and the max velocity is not reached.
pos1 | Starting position |
pos2 | Ending position |
Can throw a Error_MotionPlanning_Not_Feasible
Implements KDL::VelocityProfile.
Definition at line 82 of file velocityprofile_traphalf.cpp.
void KDL::VelocityProfile_TrapHalf::SetProfileDuration | ( | double | pos1, |
double | pos2, | ||
double | newduration | ||
) | [virtual] |
Can be used to prolong the profile, there are two possible outcomes: in a first phase the acceleration is lowered as such that the end position and maximum velocity are reached at the given duration (newduration). In this case there is an acceleration part and a constant velocity part, when this reaches a minimum acceleration value at which the constant part disappears, the motion is stalled, in this case their is a non-motion part and an acceleration part.
pos1 | starting position |
pos2 | ending position |
newduration | the desired duration, if it is lower than the minimum duration, the minimum duration will be used instead of the given duration. |
Implements KDL::VelocityProfile.
Definition at line 100 of file velocityprofile_traphalf.cpp.
double KDL::VelocityProfile_TrapHalf::Vel | ( | double | time | ) | const [virtual] |
Implements KDL::VelocityProfile.
Definition at line 157 of file velocityprofile_traphalf.cpp.
void KDL::VelocityProfile_TrapHalf::Write | ( | std::ostream & | os | ) | const [virtual] |
Implements KDL::VelocityProfile.
Definition at line 194 of file velocityprofile_traphalf.cpp.
double KDL::VelocityProfile_TrapHalf::a1 [private] |
Definition at line 66 of file velocityprofile_traphalf.hpp.
double KDL::VelocityProfile_TrapHalf::a2 [private] |
Definition at line 66 of file velocityprofile_traphalf.hpp.
double KDL::VelocityProfile_TrapHalf::a3 [private] |
Definition at line 66 of file velocityprofile_traphalf.hpp.
double KDL::VelocityProfile_TrapHalf::b1 [private] |
Definition at line 67 of file velocityprofile_traphalf.hpp.
double KDL::VelocityProfile_TrapHalf::b2 [private] |
Definition at line 67 of file velocityprofile_traphalf.hpp.
double KDL::VelocityProfile_TrapHalf::b3 [private] |
Definition at line 67 of file velocityprofile_traphalf.hpp.
double KDL::VelocityProfile_TrapHalf::c1 [private] |
Definition at line 68 of file velocityprofile_traphalf.hpp.
double KDL::VelocityProfile_TrapHalf::c2 [private] |
Definition at line 68 of file velocityprofile_traphalf.hpp.
double KDL::VelocityProfile_TrapHalf::c3 [private] |
Definition at line 68 of file velocityprofile_traphalf.hpp.
double KDL::VelocityProfile_TrapHalf::duration [private] |
Definition at line 69 of file velocityprofile_traphalf.hpp.
double KDL::VelocityProfile_TrapHalf::endpos [private] |
Definition at line 73 of file velocityprofile_traphalf.hpp.
double KDL::VelocityProfile_TrapHalf::maxacc [private] |
Definition at line 77 of file velocityprofile_traphalf.hpp.
double KDL::VelocityProfile_TrapHalf::maxvel [private] |
Definition at line 76 of file velocityprofile_traphalf.hpp.
bool KDL::VelocityProfile_TrapHalf::starting [private] |
Definition at line 78 of file velocityprofile_traphalf.hpp.
double KDL::VelocityProfile_TrapHalf::startpos [private] |
Definition at line 72 of file velocityprofile_traphalf.hpp.
double KDL::VelocityProfile_TrapHalf::t1 [private] |
Definition at line 70 of file velocityprofile_traphalf.hpp.
double KDL::VelocityProfile_TrapHalf::t2 [private] |
Definition at line 70 of file velocityprofile_traphalf.hpp.