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
signed int SInt32
32-bit signed integer.
Definition: datatypes.h:93
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
The basic interface for all actuators.
Definition: ci_actuator.h:34
It defines the basic type CRadians, used to store an angle value in radians.
Definition: angles.h:42
void SetPassiveMode()
Sets the turret control mode to passive.
static const CRange< SInt32 > SPEED_RANGE
void SetActiveWithRotation(const CRadians &c_angle)
Sets the turret control mode to active, and sets the target rotation to the given one.
void SetSpeedControlMode()
Sets the turret control mode to speed control.
virtual void SetRotationSpeed(SInt32 n_speed_pulses)=0
Sets the turret rotation speed Turret rotation speed is expressed in motor pulses,...
virtual void SetMode(ETurretModes e_mode)=0
Sets the turret control mode Modes are: angular position control, rotation speed control,...
virtual void SetRotation(const CRadians &c_angle)=0
Sets the turret rotation Turret rotation is expressed in radians, positive values rotate the turret c...
static const CRange< Real > NORMALIZED_SPEED_RANGE
void SetPositionControlMode()
Sets the turret control mode to position control.