73 void reset(
float accel,
float vel,
float pos);
80 void updateDurations(
float vel_setpoint);
88 void updateTraj(
float dt,
float time_stretch = 1.
f);
94 void setMaxJerk(
float max_jerk) { _max_jerk = max_jerk; }
132 void updateDurationsMinimizeTotalTime();
138 void updateDurationsGivenTotalTime(
float T123);
144 int computeDirection();
150 float computeVelAtZeroAcc();
155 inline float computeT1(
float a0,
float v3,
float j_max,
float a_max);
160 inline float computeT1(
float T123,
float a0,
float v3,
float j_max,
float a_max);
165 inline float saturateT1ForAccel(
float a0,
float j_max,
float T1,
float a_max);
170 inline float computeT2(
float T1,
float T3,
float a0,
float v3,
float j_max);
175 inline float computeT2(
float T123,
float T1,
float T3);
180 inline float computeT3(
float T1,
float a0,
float j_max);
192 inline Trajectory evaluatePoly(
float j,
float a0,
float v0,
float x0,
float t,
int d);
198 float _max_jerk = 22.f;
199 float _max_accel = 8.f;
200 float _max_vel = 6.f;
214 float _local_time = 0.f;
float getCurrentVelocity() const
int reset(enum LPS22HB_BUS busid)
Reset the driver.
void setMaxJerk(float max_jerk)
float getCurrentJerk() const
float getMaxAccel() const
void setCurrentVelocity(const float vel)
TODO: document the algorithm |T1| T2 |T3| __| |____ __ Jerk |_| / \ Acceleration ___/ ___ ;" / / V...
float getCurrentAcceleration() const
Vector< float, 6 > f(float t, const Matrix< float, 6, 1 > &, const Matrix< float, 3, 1 > &)
float getTotalTime() const
void setCurrentPosition(const float pos)
float getCurrentPosition() const
float getMaxJerk() const
Getters and setters.
void setMaxVel(float max_vel)
void setMaxAccel(float max_accel)
void setCurrentAcceleration(const float accel)