51 maxvel(_maxvel),maxacc(_maxacc),starting(_starting) {}
101 double pos1,
double pos2,
double newduration)
104 double factor =
duration/newduration;
147 }
else if (time<
t1) {
148 return a1+time*(
a2+
a3*time);
149 }
else if (time<
t2) {
150 return b1+time*(
b2+
b3*time);
152 return c1+time*(
c2+
c3*time);
160 }
else if (time<
t1) {
162 }
else if (time<
t2) {
174 }
else if (time<
t1) {
176 }
else if (time<
t2) {
virtual double Pos(double time) const
VelocityProfile_TrapHalf(double _maxvel=0, double _maxacc=0, bool _starting=true)
virtual VelocityProfile * Clone() const
virtual ~VelocityProfile_TrapHalf()
void PlanProfile2(double v, double a)
double min(double a, double b)
INLINE Rall1d< T, V, S > sqrt(const Rall1d< T, V, S > &arg)
virtual double Acc(double time) const
virtual void Write(std::ostream &os) const
virtual void SetProfile(double pos1, double pos2)
void SetMax(double _maxvel, double _maxacc, bool _starting)
virtual void SetProfileDuration(double pos1, double pos2, double newduration)
virtual double Vel(double time) const
virtual double Duration() const
void PlanProfile1(double v, double a)