#include <graceful_controller.hpp>
|
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 Wheeled Mobile Robots in 2D Environments" by Park and Kuipers, ICRA 2011. More...
|
|
| 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. More...
|
|
void | setVelocityLimits (const double min_abs_velocity, const double max_abs_velocity, const double max_abs_angular_velocity) |
| Update the velocity limits. More...
|
|
Definition at line 29 of file graceful_controller.hpp.
◆ GracefulController()
graceful_controller::GracefulController::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.
- Parameters
-
k1 | Ratio of rate of change of theta to rate of change of R. |
k2 | How quickly we converge to the slow manifold. |
min_abs_velocity | The minimum absolute velocity in the linear direction. |
max_abs_velocity | The maximum absolute velocity in the linear direction. |
max_decel | The maximum deceleration in the linear direction. |
max_abs_angular_velocity | The maximum absolute velocity in the angular direction. |
Definition at line 32 of file graceful_controller.cpp.
◆ approach()
bool graceful_controller::GracefulController::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 Wheeled Mobile Robots in 2D Environments" by Park and Kuipers, ICRA 2011.
- Parameters
-
x | The x coordinate of the goal, relative to robot base link. |
y | The y coordinate of the goal, relative to robot base link. |
theta | The angular orientation of the goal, relative to robot base link. |
vel_x | The computed command velocity in the linear direction. |
vel_th | The computed command velocity in the angular direction. |
backward_motion | Flag to indicate that the robot should move backward. False by default. |
- Returns
- true if there is a solution.
Definition at line 49 of file graceful_controller.cpp.
◆ setVelocityLimits()
void graceful_controller::GracefulController::setVelocityLimits |
( |
const double |
min_abs_velocity, |
|
|
const double |
max_abs_velocity, |
|
|
const double |
max_abs_angular_velocity |
|
) |
| |
Update the velocity limits.
- Parameters
-
min_abs_velocity | The minimum absolute velocity in the linear direction. |
max_abs_velocity | The maximum absolute velocity in the linear direction. |
max_abs_angular_velocity | The maximum absolute velocity in the angular direction. |
Definition at line 93 of file graceful_controller.cpp.
◆ beta_
double graceful_controller::GracefulController::beta_ |
|
private |
◆ dist_
double graceful_controller::GracefulController::dist_ |
|
private |
◆ k1_
double graceful_controller::GracefulController::k1_ |
|
private |
◆ k2_
double graceful_controller::GracefulController::k2_ |
|
private |
◆ lambda_
double graceful_controller::GracefulController::lambda_ |
|
private |
◆ max_abs_angular_velocity_
double graceful_controller::GracefulController::max_abs_angular_velocity_ |
|
private |
◆ max_abs_velocity_
double graceful_controller::GracefulController::max_abs_velocity_ |
|
private |
◆ max_decel_
double graceful_controller::GracefulController::max_decel_ |
|
private |
◆ min_abs_velocity_
double graceful_controller::GracefulController::min_abs_velocity_ |
|
private |
The documentation for this class was generated from the following files: