Orocos KDL
KDL::VelocityProfile_TrapHalf Class Reference

#include <velocityprofile_traphalf.hpp>

Inheritance diagram for KDL::VelocityProfile_TrapHalf:
KDL::VelocityProfile

Public Member Functions

 VelocityProfile_TrapHalf (double _maxvel=0, double _maxacc=0, bool _starting=true)
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 Duration () const
virtual double Pos (double time) const
virtual double Vel (double time) const
virtual double Acc (double time) const
virtual void Write (std::ostream &os) const
virtual VelocityProfile * Clone () const
virtual ~VelocityProfile_TrapHalf ()
Public Member Functions inherited from KDL::VelocityProfile
virtual ~VelocityProfile ()

Additional Inherited Members

Static Public Member Functions inherited from KDL::VelocityProfile
static VelocityProfile * Read (std::istream &is)

Detailed Description

A 'Half' Trapezoidal VelocityProfile. A constructor flag indicates if the calculated profile should be starting or ending.

Constructor & Destructor Documentation

◆ VelocityProfile_TrapHalf()

KDL::VelocityProfile_TrapHalf::VelocityProfile_TrapHalf ( double _maxvel = 0,
double _maxacc = 0,
bool _starting = true )
Parameters
maxvelmaximal velocity of the motion profile (positive)
maxaccmaximal acceleration of the motion profile (positive)
startingthis value is true when initial velocity is zero and ending velocity is maxvel, is false for the reverse

◆ ~VelocityProfile_TrapHalf()

virtual KDL::VelocityProfile_TrapHalf::~VelocityProfile_TrapHalf ( )
virtual

Member Function Documentation

◆ Acc()

virtual double KDL::VelocityProfile_TrapHalf::Acc ( double time) const
virtual

Implements KDL::VelocityProfile.

◆ Clone()

virtual VelocityProfile * KDL::VelocityProfile_TrapHalf::Clone ( ) const
virtual

Implements KDL::VelocityProfile.

◆ Duration()

virtual double KDL::VelocityProfile_TrapHalf::Duration ( ) const
virtual

Implements KDL::VelocityProfile.

◆ Pos()

virtual double KDL::VelocityProfile_TrapHalf::Pos ( double time) const
virtual

Implements KDL::VelocityProfile.

◆ SetMax()

void KDL::VelocityProfile_TrapHalf::SetMax ( double _maxvel,
double _maxacc,
bool _starting )

◆ SetProfile()

virtual 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 between pos1 and pos2, only the acceleration phase is set and the max velocity is not reached.

Parameters
pos1Starting position
pos2Ending position

Can throw a Error_MotionPlanning_Not_Feasible

Implements KDL::VelocityProfile.

◆ SetProfileDuration()

virtual 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.

Parameters
pos1starting position
pos2ending position
newdurationthe desired duration, if it is lower than the minimum duration, the minimum duration will be used instead of the given duration.

Implements KDL::VelocityProfile.

◆ Vel()

virtual double KDL::VelocityProfile_TrapHalf::Vel ( double time) const
virtual

Implements KDL::VelocityProfile.

◆ Write()

virtual void KDL::VelocityProfile_TrapHalf::Write ( std::ostream & os) const
virtual

Implements KDL::VelocityProfile.


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