#include <ci_footbot_turret_actuator.h>
Public Types | |
enum | ETurretModes { MODE_OFF , MODE_PASSIVE , MODE_SPEED_CONTROL , MODE_POSITION_CONTROL } |
Turret modes. More... | |
Public Types inherited from argos::CCI_Actuator | |
typedef std::map< std::string, CCI_Actuator *, std::less< std::string > > | TMap |
Public Member Functions | |
virtual | ~CCI_FootBotTurretActuator () |
Destructor. More... | |
virtual void | SetRotation (const CRadians &c_angle)=0 |
Sets the turret rotation Turret rotation is expressed in radians, positive values rotate the turret clockwise when looking from above. More... | |
virtual void | SetRotationSpeed (SInt32 n_speed_pulses)=0 |
Sets the turret rotation speed Turret rotation speed is expressed in motor pulses, positive values rotate the turret clockwise when looking from above. More... | |
virtual void | SetMode (ETurretModes e_mode)=0 |
Sets the turret control mode Modes are: angular position control, rotation speed control, passive mode, off. More... | |
void | SetActiveWithRotation (const CRadians &c_angle) |
Sets the turret control mode to active, and sets the target rotation to the given one. More... | |
void | SetSpeedControlMode () |
Sets the turret control mode to speed control. More... | |
void | SetPositionControlMode () |
Sets the turret control mode to position control. More... | |
void | SetPassiveMode () |
Sets the turret control mode to passive. More... | |
Public Member Functions inherited from argos::CCI_Actuator | |
virtual | ~CCI_Actuator () |
Class destructor. More... | |
virtual void | Init (TConfigurationNode &t_node) |
Initializes the actuator from the XML configuration tree. More... | |
virtual void | Reset () |
Resets the actuator to the state it had just after Init(). More... | |
virtual void | Destroy () |
Destroys the actuator. More... | |
Public Member Functions inherited from argos::CBaseConfigurableResource | |
virtual | ~CBaseConfigurableResource () |
Class destructor. More... | |
Static Public Attributes | |
static const CRange< SInt32 > | SPEED_RANGE |
static const CRange< Real > | NORMALIZED_SPEED_RANGE |
Definition at line 55 of file ci_footbot_turret_actuator.h.
Turret modes.
Enumerator | |
---|---|
MODE_OFF | |
MODE_PASSIVE | |
MODE_SPEED_CONTROL | |
MODE_POSITION_CONTROL |
Definition at line 60 of file ci_footbot_turret_actuator.h.
|
inlinevirtual |
Destructor.
Definition at line 77 of file ci_footbot_turret_actuator.h.
void argos::CCI_FootBotTurretActuator::SetActiveWithRotation | ( | const CRadians & | c_angle | ) |
Sets the turret control mode to active, and sets the target rotation to the given one.
c_angle | desired turret rotation |
Definition at line 94 of file ci_footbot_turret_actuator.cpp.
|
pure virtual |
Sets the turret control mode Modes are: angular position control, rotation speed control, passive mode, off.
un_mode | turret control mode, possible values are defined in CCI_FootBotTurretActuator |
Implemented in argos::CFootBotTurretDefaultActuator.
void argos::CCI_FootBotTurretActuator::SetPassiveMode | ( | ) |
Sets the turret control mode to passive.
Definition at line 116 of file ci_footbot_turret_actuator.cpp.
void argos::CCI_FootBotTurretActuator::SetPositionControlMode | ( | ) |
Sets the turret control mode to position control.
Definition at line 109 of file ci_footbot_turret_actuator.cpp.
|
pure virtual |
Sets the turret rotation Turret rotation is expressed in radians, positive values rotate the turret clockwise when looking from above.
In the current real robot implementation, values are limited using range functions. If the turret is not in position control mode, the only effect is that the target rotation is changed but the turret will not turn: it will turn when position control mode is activated (unless another target rotation is specified meantime).
c_angle | desired turret rotation |
Implemented in argos::CFootBotTurretDefaultActuator.
|
pure virtual |
Sets the turret rotation speed Turret rotation speed is expressed in motor pulses, positive values rotate the turret clockwise when looking from above.
In the current real robot implementation, values are limited using range functions. If the turret is not in speed control mode, the only effect is that the target rotation speed is changed but the turret will not turn: it will turn when speed control mode is activated (unless another target rotation speed is specified meantime).
n_speed_pulses | desired turret rotation speed - pid pulses |
Implemented in argos::CFootBotTurretDefaultActuator.
void argos::CCI_FootBotTurretActuator::SetSpeedControlMode | ( | ) |
Sets the turret control mode to speed control.
Definition at line 102 of file ci_footbot_turret_actuator.cpp.
Definition at line 70 of file ci_footbot_turret_actuator.h.
Definition at line 69 of file ci_footbot_turret_actuator.h.