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