Signals | Public Member Functions | Private Member Functions | Private Attributes | List of all members
SmoothPathCtrl Class Reference

SmoothPathCtrl aims at reaching an oriented point with the robot, using a smooth path generator. More...

#include <smoothPath.hpp>

Inheritance diagram for SmoothPathCtrl:
Inheritance graph
[legend]

Signals

void pathChanged ()
 Update the display of the path. More...
 
- Signals inherited from Controller
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...
 
- Public Member Functions inherited from ReachingCtrl
virtual void changeGoal (const State &goal)
 Change the oriented point which is aimed. More...
 
const StategetGoal () 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...
 
- Public Member Functions inherited from Controller
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

- Protected Member Functions inherited from ReachingCtrl
void newState (const State &state)
 Handles new state of the robot. More...
 
- Protected Member Functions inherited from Controller
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...
 
- Protected Attributes inherited from ReachingCtrl
State state
 The state of the robot. More...
 
- Protected Attributes inherited from Controller
double initial_date
 The first date of the odometry. More...
 
const MotionModelmotion_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...
 

Detailed Description

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).

Since
0.3.2

Definition at line 26 of file smoothPath.hpp.

Constructor & Destructor Documentation

SmoothPathCtrl::SmoothPathCtrl ( const MotionModel model,
const double &  ts,
const State goal_aimed 
)
inline

The constructor needs a motion model, a time step and a goal state.

Parameters
modelthe motion model,
tsthe time step of the controller,
goal_aimedthe goal state.
See also
ReachingCtrl(const MotionModel&, const double&, const State&)

Definition at line 47 of file smoothPath.hpp.

virtual SmoothPathCtrl::~SmoothPathCtrl ( )
inlinevirtual

The destructor needs to be explicitely redefined.

Definition at line 53 of file smoothPath.hpp.

Member Function Documentation

void SmoothPathCtrl::chooseVelocities ( double &  trans_vel,
double &  rot_vel,
std::ostream &  log_str 
)
virtual

Computes new velocities for ROS node.

This method has to be defined by inheritors. It should use updateVelocities.

Parameters
trans_velthe translation velocity, sent by the ROS node to ROS,
rot_velthe rotation velocity, sent to ROS,
log_strthe 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.

Returns
The trajectory obtained from the planned path.

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.

Returns
The path to the aimed oriented point.

Definition at line 39 of file smoothPath.cpp.

void SmoothPathCtrl::pathChanged ( )
signal

Update the display of the path.

void SmoothPathCtrl::setGoal ( const State new_goal)
privatevirtual

Set the state which is aimed.

Parameters
new_goalthe new aimed state.

Reimplemented from ReachingCtrl.

Definition at line 14 of file smoothPath.cpp.

Member Data Documentation

double SmoothPathCtrl::distance
private

The distance already covered.

Definition at line 31 of file smoothPath.hpp.

iSeeML::rob::FscPath SmoothPathCtrl::path
private

The computed smooth path.

Definition at line 29 of file smoothPath.hpp.

double SmoothPathCtrl::total_distance
private

The distance to cover.

Definition at line 30 of file smoothPath.hpp.


The documentation for this class was generated from the following files:


qt_ctrl
Author(s): Alexis Scheuer
autogenerated on Wed Dec 16 2020 15:51:32