ARGoS  3
A parallel, multi-engine simulator for swarm robotics
ci_footbot_turret_actuator.h
Go to the documentation of this file.
1 
43 #ifndef CCI_FOOTBOT_TURRET_ACTUATOR_H
44 #define CCI_FOOTBOT_TURRET_ACTUATOR_H
45 
46 namespace argos {
47  class CCI_FootBotTurretActuator;
48 }
49 
50 #include <argos3/core/control_interface/ci_actuator.h>
51 #include <argos3/core/utility/math/angles.h>
52 
53 namespace argos {
54 
55  class CCI_FootBotTurretActuator : virtual public CCI_Actuator {
56 
57  public:
58 
60  enum ETurretModes {
65  };
66 
67  public:
68 
71 
72  public:
73 
78 
89  virtual void SetRotation(const CRadians& c_angle) = 0;
90 
101  virtual void SetRotationSpeed(SInt32 n_speed_pulses) = 0;
102 
108  virtual void SetMode(ETurretModes e_mode) = 0;
109 
118  void SetActiveWithRotation(const CRadians& c_angle);
119 
124  void SetSpeedControlMode();
125 
130  void SetPositionControlMode();
131 
136  void SetPassiveMode();
137 
138 #ifdef ARGOS_WITH_LUA
139  virtual void CreateLuaState(lua_State* pt_lua_state);
140 #endif
141  };
142 
143 }
144 
145 #endif
argos::CCI_FootBotTurretActuator::ETurretModes
ETurretModes
Turret modes.
Definition: ci_footbot_turret_actuator.h:60
argos::ETurretModes
ETurretModes
Definition: dynamics2d_footbot_model.cpp:33
argos::CCI_FootBotTurretActuator::SetMode
virtual void SetMode(ETurretModes e_mode)=0
Sets the turret control mode Modes are: angular position control, rotation speed control,...
argos
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
argos::CCI_Actuator::CreateLuaState
virtual void CreateLuaState(lua_State *pt_lua_state)=0
Creates the Lua state for this actuator.
argos::CRadians
It defines the basic type CRadians, used to store an angle value in radians.
Definition: angles.h:42
argos::CCI_FootBotTurretActuator::SetSpeedControlMode
void SetSpeedControlMode()
Sets the turret control mode to speed control.
Definition: ci_footbot_turret_actuator.cpp:102
argos::CCI_FootBotTurretActuator::MODE_PASSIVE
@ MODE_PASSIVE
Definition: ci_footbot_turret_actuator.h:62
argos::CCI_FootBotTurretActuator::SPEED_RANGE
static const CRange< SInt32 > SPEED_RANGE
Definition: ci_footbot_turret_actuator.h:69
argos::CCI_FootBotTurretActuator::SetRotation
virtual void SetRotation(const CRadians &c_angle)=0
Sets the turret rotation Turret rotation is expressed in radians, positive values rotate the turret c...
argos::CCI_FootBotTurretActuator::MODE_SPEED_CONTROL
@ MODE_SPEED_CONTROL
Definition: ci_footbot_turret_actuator.h:63
argos::CCI_FootBotTurretActuator::SetRotationSpeed
virtual void SetRotationSpeed(SInt32 n_speed_pulses)=0
Sets the turret rotation speed Turret rotation speed is expressed in motor pulses,...
argos::CCI_Actuator
The basic interface for all actuators.
Definition: ci_actuator.h:34
SInt32
signed int SInt32
32-bit signed integer.
Definition: datatypes.h:93
argos::CCI_FootBotTurretActuator::NORMALIZED_SPEED_RANGE
static const CRange< Real > NORMALIZED_SPEED_RANGE
Definition: ci_footbot_turret_actuator.h:70
argos::CCI_FootBotTurretActuator
Definition: ci_footbot_turret_actuator.h:55
argos::CCI_FootBotTurretActuator::SetActiveWithRotation
void SetActiveWithRotation(const CRadians &c_angle)
Sets the turret control mode to active, and sets the target rotation to the given one.
Definition: ci_footbot_turret_actuator.cpp:94
argos::CCI_FootBotTurretActuator::MODE_OFF
@ MODE_OFF
Definition: ci_footbot_turret_actuator.h:61
argos::CCI_FootBotTurretActuator::SetPassiveMode
void SetPassiveMode()
Sets the turret control mode to passive.
Definition: ci_footbot_turret_actuator.cpp:116
argos::CCI_FootBotTurretActuator::SetPositionControlMode
void SetPositionControlMode()
Sets the turret control mode to position control.
Definition: ci_footbot_turret_actuator.cpp:109
argos::CRange< SInt32 >
argos::CCI_FootBotTurretActuator::MODE_POSITION_CONTROL
@ MODE_POSITION_CONTROL
Definition: ci_footbot_turret_actuator.h:64
argos::CCI_FootBotTurretActuator::~CCI_FootBotTurretActuator
virtual ~CCI_FootBotTurretActuator()
Destructor.
Definition: ci_footbot_turret_actuator.h:77