orocos_kdl
Public Member Functions | Private Member Functions | Private Attributes | List of all members
KDL::VelocityProfile_TrapHalf Class Reference

#include <velocityprofile_traphalf.hpp>

Inheritance diagram for KDL::VelocityProfile_TrapHalf:
Inheritance graph
[legend]

Public Member Functions

virtual double Acc (double time) const
 
virtual VelocityProfileClone () 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 ()
 
- Public Member Functions inherited from KDL::VelocityProfile
virtual ~VelocityProfile ()
 

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
 

Additional Inherited Members

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

Detailed Description

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

Definition at line 103 of file velocityprofile_traphalf.hpp.

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

Definition at line 88 of file velocityprofile_traphalf.cpp.

◆ ~VelocityProfile_TrapHalf()

KDL::VelocityProfile_TrapHalf::~VelocityProfile_TrapHalf ( )
virtual

Definition at line 229 of file velocityprofile_traphalf.cpp.

Member Function Documentation

◆ Acc()

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

Implements KDL::VelocityProfile.

Definition at line 209 of file velocityprofile_traphalf.cpp.

◆ Clone()

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

Implements KDL::VelocityProfile.

Definition at line 223 of file velocityprofile_traphalf.cpp.

◆ Duration()

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

Implements KDL::VelocityProfile.

Definition at line 178 of file velocityprofile_traphalf.cpp.

◆ PlanProfile1()

void KDL::VelocityProfile_TrapHalf::PlanProfile1 ( double  v,
double  a 
)
private

Definition at line 96 of file velocityprofile_traphalf.cpp.

◆ PlanProfile2()

void KDL::VelocityProfile_TrapHalf::PlanProfile2 ( double  v,
double  a 
)
private

Definition at line 108 of file velocityprofile_traphalf.cpp.

◆ Pos()

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

Implements KDL::VelocityProfile.

Definition at line 182 of file velocityprofile_traphalf.cpp.

◆ SetMax()

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

Definition at line 91 of file velocityprofile_traphalf.cpp.

◆ SetProfile()

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.

Definition at line 120 of file velocityprofile_traphalf.cpp.

◆ SetProfileDuration()

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.

Definition at line 138 of file velocityprofile_traphalf.cpp.

◆ Vel()

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

Implements KDL::VelocityProfile.

Definition at line 195 of file velocityprofile_traphalf.cpp.

◆ Write()

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

Implements KDL::VelocityProfile.

Definition at line 232 of file velocityprofile_traphalf.cpp.

Member Data Documentation

◆ a1

double KDL::VelocityProfile_TrapHalf::a1
private

Definition at line 146 of file velocityprofile_traphalf.hpp.

◆ a2

double KDL::VelocityProfile_TrapHalf::a2
private

Definition at line 146 of file velocityprofile_traphalf.hpp.

◆ a3

double KDL::VelocityProfile_TrapHalf::a3
private

Definition at line 146 of file velocityprofile_traphalf.hpp.

◆ b1

double KDL::VelocityProfile_TrapHalf::b1
private

Definition at line 147 of file velocityprofile_traphalf.hpp.

◆ b2

double KDL::VelocityProfile_TrapHalf::b2
private

Definition at line 147 of file velocityprofile_traphalf.hpp.

◆ b3

double KDL::VelocityProfile_TrapHalf::b3
private

Definition at line 147 of file velocityprofile_traphalf.hpp.

◆ c1

double KDL::VelocityProfile_TrapHalf::c1
private

Definition at line 148 of file velocityprofile_traphalf.hpp.

◆ c2

double KDL::VelocityProfile_TrapHalf::c2
private

Definition at line 148 of file velocityprofile_traphalf.hpp.

◆ c3

double KDL::VelocityProfile_TrapHalf::c3
private

Definition at line 148 of file velocityprofile_traphalf.hpp.

◆ duration

double KDL::VelocityProfile_TrapHalf::duration
private

Definition at line 149 of file velocityprofile_traphalf.hpp.

◆ endpos

double KDL::VelocityProfile_TrapHalf::endpos
private

Definition at line 153 of file velocityprofile_traphalf.hpp.

◆ maxacc

double KDL::VelocityProfile_TrapHalf::maxacc
private

Definition at line 157 of file velocityprofile_traphalf.hpp.

◆ maxvel

double KDL::VelocityProfile_TrapHalf::maxvel
private

Definition at line 156 of file velocityprofile_traphalf.hpp.

◆ starting

bool KDL::VelocityProfile_TrapHalf::starting
private

Definition at line 158 of file velocityprofile_traphalf.hpp.

◆ startpos

double KDL::VelocityProfile_TrapHalf::startpos
private

Definition at line 152 of file velocityprofile_traphalf.hpp.

◆ t1

double KDL::VelocityProfile_TrapHalf::t1
private

Definition at line 150 of file velocityprofile_traphalf.hpp.

◆ t2

double KDL::VelocityProfile_TrapHalf::t2
private

Definition at line 150 of file velocityprofile_traphalf.hpp.


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