argos::CCI_FootBotTurretActuator Class Referenceabstract

#include <ci_footbot_turret_actuator.h>

Inheritance diagram for argos::CCI_FootBotTurretActuator:
Collaboration diagram for argos::CCI_FootBotTurretActuator:

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< SInt32SPEED_RANGE
 
static const CRange< RealNORMALIZED_SPEED_RANGE
 

Detailed Description

Definition at line 55 of file ci_footbot_turret_actuator.h.

Member Enumeration Documentation

Turret modes.

Enumerator
MODE_OFF 
MODE_PASSIVE 
MODE_SPEED_CONTROL 
MODE_POSITION_CONTROL 

Definition at line 60 of file ci_footbot_turret_actuator.h.

Constructor & Destructor Documentation

virtual argos::CCI_FootBotTurretActuator::~CCI_FootBotTurretActuator ( )
inlinevirtual

Destructor.

Definition at line 77 of file ci_footbot_turret_actuator.h.

Member Function Documentation

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.

Parameters
c_angledesired turret rotation
See also
SetMode
SetRotation

Definition at line 94 of file ci_footbot_turret_actuator.cpp.

virtual void argos::CCI_FootBotTurretActuator::SetMode ( ETurretModes  e_mode)
pure virtual

Sets the turret control mode Modes are: angular position control, rotation speed control, passive mode, off.

Parameters
un_modeturret 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.

See also
SetMode

Definition at line 116 of file ci_footbot_turret_actuator.cpp.

void argos::CCI_FootBotTurretActuator::SetPositionControlMode ( )

Sets the turret control mode to position control.

See also
SetMode

Definition at line 109 of file ci_footbot_turret_actuator.cpp.

virtual void argos::CCI_FootBotTurretActuator::SetRotation ( const CRadians c_angle)
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).

Parameters
c_angledesired turret rotation

Implemented in argos::CFootBotTurretDefaultActuator.

virtual void argos::CCI_FootBotTurretActuator::SetRotationSpeed ( SInt32  n_speed_pulses)
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).

Parameters
n_speed_pulsesdesired turret rotation speed - pid pulses

Implemented in argos::CFootBotTurretDefaultActuator.

void argos::CCI_FootBotTurretActuator::SetSpeedControlMode ( )

Sets the turret control mode to speed control.

See also
SetMode

Definition at line 102 of file ci_footbot_turret_actuator.cpp.

Member Data Documentation

const CRange< Real > argos::CCI_FootBotTurretActuator::NORMALIZED_SPEED_RANGE
static

Definition at line 70 of file ci_footbot_turret_actuator.h.

const CRange< SInt32 > argos::CCI_FootBotTurretActuator::SPEED_RANGE
static

Definition at line 69 of file ci_footbot_turret_actuator.h.