struct ManualVelocitySmoothingXY::@64 _state
void checkPositionLock(const Vector2f &velocity_target)
void update(float dt, const Vector2f &velocity_target)
~ManualVelocitySmoothingXY()=default
Vector2f _position_estimate
void setMaxJerk(float max_jerk)
float getMaxAccel() const
void setMaxVel(const float max_vel)
void setCurrentVelocity(const float vel)
Vector2f _velocity_setpoint_feedback
TODO: document the algorithm |T1| T2 |T3| __| |____ __ Jerk |_| / \ Acceleration ___/ ___ ;" / / V...
Vector2f _position_setpoint_locked
void setMaxAccel(const float max_accel)
float getMaxAccel() const
void setCurrentPosition(const Vector2f &pos)
void setCurrentPositionEstimate(const Vector2f &pos)
VelocitySmoothing _trajectory[2]
Trajectory in x and y directions.
Vector2f getCurrentAcceleration() const
Vector2f getCurrentPosition() const
Vector2f getCurrentVelocity() const
Vector2< float > Vector2f
void setCurrentPosition(const float pos)
bool _position_lock_active
void updateTrajDurations(const Vector2f &velocity_target)
Vector2f getCurrentJerk() const
ManualVelocitySmoothingXY()=default
float getMaxJerk() const
Getters and setters.
void setMaxVel(float max_vel)
void reset(const Vector2f &accel, const Vector2f &vel, const Vector2f &pos)
void setCurrentVelocity(const Vector2f &vel)
void updateTrajectories(float dt)
void setMaxJerk(const float max_jerk)
void setMaxAccel(float max_accel)
void setVelSpFeedback(const Vector2f &fb)