SmoothPathCtrl aims at reaching an oriented point with the robot, using a smooth path generator. More...
#include <smoothPath.hpp>
Signals | |
void | pathChanged () |
Update the display of the path. More... | |
![]() | |
void | commandsUpdated (const double &trans_vel, const double &rot_vel) |
Update the display of the controller's commands. More... | |
void | stateUpdated (const State &state) |
Update the display of the state. More... | |
Public Member Functions | |
void | chooseVelocities (double &trans_vel, double &rot_vel, std::ostream &) |
Computes new velocities for ROS node. More... | |
const std::list< State * > & | getAimedTrajectory () const |
Transform the planned path into an aimed trajectory. More... | |
const iSeeML::rob::Path & | getPath () const |
Get the path to the aimed oriented point. More... | |
SmoothPathCtrl (const MotionModel &model, const double &ts, const State &goal_aimed) | |
The constructor needs a motion model, a time step and a goal state. More... | |
virtual | ~SmoothPathCtrl () |
The destructor needs to be explicitely redefined. More... | |
![]() | |
virtual void | changeGoal (const State &goal) |
Change the oriented point which is aimed. More... | |
const State & | getGoal () const |
Get the state which is aimed. More... | |
ReachingCtrl (const MotionModel &model, const double &ts, const State &goal_aimed) | |
The constructor needs a motion model, a time step and a goal state (in the robot's frame). More... | |
![]() | |
void | stopMotion () |
Stops the robot (i.e. sets both velocities to zero). More... | |
const double & | timeStep () const |
Stops the robot (i.e. sets both velocities to zero). More... | |
virtual | ~Controller () |
The destructor needs to be defined as virtual. More... | |
Private Member Functions | |
void | setGoal (const State &goal) |
Set the state which is aimed. More... | |
Private Attributes | |
double | distance |
The distance already covered. More... | |
iSeeML::rob::FscPath | path |
The computed smooth path. More... | |
double | total_distance |
The distance to cover. More... | |
Additional Inherited Members | |
![]() | |
void | newState (const State &state) |
Handles new state of the robot. More... | |
![]() | |
void | changeFirstOdometry () |
Change the odometry data status (first or not). More... | |
Controller (const MotionModel &model, const double &ts) | |
This constructor (for the inheriting controllers) sets the motion model to the given one. More... | |
bool | firstOdometry () |
Are the odometry data the first? More... | |
void | updateVelocities (double &trans_vel, double &rot_vel) |
Update the velocities from the fields and send the update signal. More... | |
![]() | |
State | state |
The state of the robot. More... | |
![]() | |
double | initial_date |
The first date of the odometry. More... | |
const MotionModel & | motion_model |
The model of the motion. More... | |
double | moving_velocity |
Translation velocity desired for the robot. More... | |
const double | time_step |
The time step of the controller. More... | |
double | turning_velocity |
Rotation velocity desired for the robot. More... | |
SmoothPathCtrl aims at reaching an oriented point with the robot, using a smooth path generator.
A smooth path reaching the aimed oriented point is computed, and followed blindly (without recomputation with respect to odometry).
Definition at line 26 of file smoothPath.hpp.
|
inline |
The constructor needs a motion model, a time step and a goal state.
model | the motion model, |
ts | the time step of the controller, |
goal_aimed | the goal state. |
Definition at line 47 of file smoothPath.hpp.
|
inlinevirtual |
The destructor needs to be explicitely redefined.
Definition at line 53 of file smoothPath.hpp.
|
virtual |
Computes new velocities for ROS node.
This method has to be defined by inheritors. It should use updateVelocities.
trans_vel | the translation velocity, sent by the ROS node to ROS, |
rot_vel | the rotation velocity, sent to ROS, |
log_str | the log stream, allowing to log debug data. |
Implements Controller.
Definition at line 123 of file smoothPath.cpp.
const std::list< State * > & SmoothPathCtrl::getAimedTrajectory | ( | ) | const |
Transform the planned path into an aimed trajectory.
Transform the planned path into an aimed trajectory. Return The trajectory obtained from the planned path.
Definition at line 64 of file smoothPath.cpp.
const iSeeML::rob::Path & SmoothPathCtrl::getPath | ( | ) | const |
Get the path to the aimed oriented point.
Definition at line 39 of file smoothPath.cpp.
|
signal |
Update the display of the path.
|
privatevirtual |
Set the state which is aimed.
new_goal | the new aimed state. |
Reimplemented from ReachingCtrl.
Definition at line 14 of file smoothPath.cpp.
|
private |
The distance already covered.
Definition at line 31 of file smoothPath.hpp.
|
private |
The computed smooth path.
Definition at line 29 of file smoothPath.hpp.
|
private |
The distance to cover.
Definition at line 30 of file smoothPath.hpp.