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

PIDreachCtrl aims at reaching an oriented point with the robot, using a PID controller. More...

#include <goPID.hpp>

Inheritance diagram for PIDreachCtrl:
Inheritance graph
[legend]

Public Member Functions

void chooseVelocities (double &trans_vel, double &rot_vel, std::ostream &)
 Computes new velocities for ROS node. More...
 
 PIDreachCtrl (const MotionModel &model, const double &ts, const State &goal_aimed, const double coef[6])
 The constructor needs a motion model, the time step of the controller, a goal state and the PID coefficients. More...
 
virtual ~PIDreachCtrl ()
 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 Attributes

double integr_angle_diff
 Integrated angle difference. More...
 
double integr_dist
 Integrated distance. More...
 
double rot_deriv_coef
 Rotation derivative coefficient. More...
 
double rot_integ_coef
 Rotation integration coefficient. More...
 
double rot_prop_coef
 Rotation proportional coefficient. More...
 
double trans_deriv_coef
 Translation derivative coefficient. More...
 
double trans_integ_coef
 Translation integration coefficient. More...
 
double trans_prop_coef
 Translation proportional coefficient. More...
 

Additional Inherited Members

- 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...
 
- Protected Member Functions inherited from ReachingCtrl
void newState (const State &state)
 Handles new state of the robot. More...
 
virtual void setGoal (const State &new_goal)
 Set the state which is aimed. 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

PIDreachCtrl aims at reaching an oriented point with the robot, using a PID controller.

Since
0.3.2

Definition at line 21 of file goPID.hpp.

Constructor & Destructor Documentation

PIDreachCtrl::PIDreachCtrl ( const MotionModel model,
const double &  ts,
const State goal_aimed,
const double  coef[6] 
)
inline

The constructor needs a motion model, the time step of the controller, a goal state and the PID coefficients.

Parameters
modelthe motion model,
tsthe time step of the controller,
goal_aimedthe goal state,
coefthe coefficient array.
See also
ReachingCtrl(const MotionModel&, const double&, const iSeeML::rob::OrPtConfig&)

Definition at line 45 of file goPID.hpp.

virtual PIDreachCtrl::~PIDreachCtrl ( )
inlinevirtual

The destructor needs to be explicitely redefined.

Definition at line 54 of file goPID.hpp.

Member Function Documentation

void PIDreachCtrl::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 14 of file goPID.cpp.

Member Data Documentation

double PIDreachCtrl::integr_angle_diff
private

Integrated angle difference.

Definition at line 30 of file goPID.hpp.

double PIDreachCtrl::integr_dist
private

Integrated distance.

Definition at line 29 of file goPID.hpp.

double PIDreachCtrl::rot_deriv_coef
private

Rotation derivative coefficient.

Definition at line 27 of file goPID.hpp.

double PIDreachCtrl::rot_integ_coef
private

Rotation integration coefficient.

Definition at line 26 of file goPID.hpp.

double PIDreachCtrl::rot_prop_coef
private

Rotation proportional coefficient.

Definition at line 25 of file goPID.hpp.

double PIDreachCtrl::trans_deriv_coef
private

Translation derivative coefficient.

Definition at line 24 of file goPID.hpp.

double PIDreachCtrl::trans_integ_coef
private

Translation integration coefficient.

Definition at line 23 of file goPID.hpp.

double PIDreachCtrl::trans_prop_coef
private

Translation proportional coefficient.

Definition at line 22 of file goPID.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