37 #include <kdl/velocityprofile.hpp>
75 void SetProfile(
double pos1,
double pos2)
override;
103 bool setProfileAllDurations(
double pos1,
double pos2,
double duration1,
double duration2,
double duration3);
158 double Pos(
double time)
const override;
164 double Vel(
double time)
const override;
170 double Acc(
double time)
const override;
175 void Write(std::ostream& os)
const override;
180 KDL::VelocityProfile*
Clone()
const override;
188 void setEmptyProfile();
192 const double max_vel_;
193 const double max_acc_;
194 const double max_dec_;
202 double a1_, a2_, a3_;
203 double b1_, b2_, b3_;
204 double c1_, c2_, c3_;
213 const VelocityProfileATrap&
p);
A PTP Trajectory Generator of Asymmetric Trapezoidal Velocity Profile. Differences to VelocityProfile...
double Vel(double time) const override
Get velocity at given time.
double Pos(double time) const override
Get position at given time.
double thirdPhaseDuration() const
get the time of third phase
VelocityProfileATrap(double max_vel=0, double max_acc=0, double max_dec=0)
Constructor.
void SetProfile(double pos1, double pos2) override
compute the fastest profile Algorithm:
bool setProfileStartVelocity(double pos1, double pos2, double vel1)
Profile with start velocity Note: This function is not general and is currently only used for live co...
double Duration() const override
Duration.
double secondPhaseDuration() const
get the time of second phase
void SetProfileDuration(double pos1, double pos2, double duration) override
Profile scaled by the total duration.
KDL::VelocityProfile * Clone() const override
returns copy of current VelocityProfile object
bool setProfileAllDurations(double pos1, double pos2, double duration1, double duration2, double duration3)
Profile with given acceleration/constant/deceleration durations. Each duration must obey the maximal ...
bool operator==(const VelocityProfileATrap &other) const
Compares two Asymmetric Trapezoidal Velocity Profiles.
friend std::ostream & operator<<(std::ostream &os, const VelocityProfileATrap &p)
void Write(std::ostream &os) const override
Write basic information.
double Acc(double time) const override
Get given acceleration/deceleration at given time.
~VelocityProfileATrap() override
double firstPhaseDuration() const
get the time of first phase
std::ostream & operator<<(std::ostream &os, const VelocityProfileATrap &p)