20 #ifndef GRACEFUL_CONTROLLER_HPP 21 #define GRACEFUL_CONTROLLER_HPP 43 double min_abs_velocity,
44 double max_abs_velocity,
46 double max_abs_angular_velocity,
62 bool approach(
const double x,
const double y,
const double theta,
63 double& vel_x,
double& vel_th,
bool backward_motion=
false);
72 const double max_abs_velocity,
73 const double max_abs_angular_velocity);
94 #endif // GRACEFUL_CONTROLLER_HPP
void setVelocityLimits(const double min_abs_velocity, const double max_abs_velocity, const double max_abs_angular_velocity)
Update the velocity limits.
double max_abs_angular_velocity_
std::shared_ptr< GracefulController > GracefulControllerPtr
GracefulController(double k1, double k2, double min_abs_velocity, double max_abs_velocity, double max_decel, double max_abs_angular_velocity, double beta, double lambda)
Constructor of the controller.
bool approach(const double x, const double y, const double theta, double &vel_x, double &vel_th, bool backward_motion=false)
Implements something loosely based on "A Smooth Control Law for Graceful Motion of Differential Wheel...