ARGoS  3
A parallel, multi-engine simulator for swarm robotics
footbot_distance_scanner_default_actuator.cpp
Go to the documentation of this file.
1 
8 
9 namespace argos {
10 
12 
13  /****************************************/
14  /****************************************/
15 
17  m_fDesiredRotationSpeed(0.0f),
19 
20  /****************************************/
21  /****************************************/
22 
24  m_pcDistanceScannerEquippedEntity = &(c_entity.GetComponent<CFootBotDistanceScannerEquippedEntity>("distance_scanner"));
25  m_pcDistanceScannerEquippedEntity->Enable();
26  }
27 
28  /****************************************/
29  /****************************************/
30 
33  m_cDesiredRotation = c_angle;
34  }
35 
36  /****************************************/
37  /****************************************/
38 
41  m_fDesiredRotationSpeed = f_rpm * RPM_TO_RADIANS_PER_SEC;
42  }
43 
44  /****************************************/
45  /****************************************/
46 
49  }
50 
51  /****************************************/
52  /****************************************/
53 
56  }
57 
58  /****************************************/
59  /****************************************/
60 
62  m_pcDistanceScannerEquippedEntity->SetMode(m_unDesiredMode);
64  m_pcDistanceScannerEquippedEntity->SetRotation(m_cDesiredRotation);
65  }
67  m_pcDistanceScannerEquippedEntity->SetRotationSpeed(m_fDesiredRotationSpeed);
68  }
69  }
70 
71  /****************************************/
72  /****************************************/
73 
75  m_cDesiredRotation = CRadians::ZERO;
76  m_fDesiredRotationSpeed = 0.0f;
78  }
79 
80  /****************************************/
81  /****************************************/
82 
84  "footbot_distance_scanner", "default",
85  "Carlo Pinciroli [ilpincy@gmail.com]",
86  "1.0",
87  "The foot-bot distance scanner actuator.",
88  "This actuator controls the foot-bot distance scanner. For a complete\n"
89  "description of its usage, refer to the ci_footbot_distance_scanner_actuator\n"
90  "file.\n\n"
91  "REQUIRED XML CONFIGURATION\n\n"
92  " <controllers>\n"
93  " ...\n"
94  " <my_controller ...>\n"
95  " ...\n"
96  " <actuators>\n"
97  " ...\n"
98  " <footbot_distance_scanner implementation=\"default\" />\n"
99  " ...\n"
100  " </actuators>\n"
101  " ...\n"
102  " </my_controller>\n"
103  " ...\n"
104  " </controllers>\n\n"
105  "OPTIONAL XML CONFIGURATION\n\n"
106  "None for the time being.\n",
107  "Usable"
108  );
109 
110 }
ARGOS_PI
#define ARGOS_PI
To be used when initializing static variables.
Definition: angles.h:32
argos
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
argos::CFootBotDistanceScannerDefaultActuator
Definition: footbot_distance_scanner_default_actuator.h:24
argos::CFootBotDistanceScannerDefaultActuator::SetRPM
virtual void SetRPM(Real f_rpm)
Sets the distance scanner speed The distance scanner can be controller in position or in speed.
Definition: footbot_distance_scanner_default_actuator.cpp:39
argos::CRadians
It defines the basic type CRadians, used to store an angle value in radians.
Definition: angles.h:42
argos::CComposableEntity
Basic class for an entity that contains other entities.
Definition: composable_entity.h:32
argos::CComposableEntity::GetComponent
CEntity & GetComponent(const std::string &str_component)
Returns the component with the passed string label.
Definition: composable_entity.cpp:109
argos::CFootBotDistanceScannerDefaultActuator::SetAngle
virtual void SetAngle(const CRadians &c_angle)
Sets the distance scanner angle The distance scanner can be controller in position or in speed.
Definition: footbot_distance_scanner_default_actuator.cpp:31
argos::CFootBotDistanceScannerDefaultActuator::Enable
virtual void Enable()
Enables the distance scanner.
Definition: footbot_distance_scanner_default_actuator.cpp:47
argos::MODE_OFF
@ MODE_OFF
Definition: dynamics2d_footbot_model.cpp:34
argos::CEntity::Enable
void Enable()
Enables the entity.
Definition: entity.h:239
argos::CFootBotDistanceScannerEquippedEntity::SetMode
void SetMode(UInt32 un_mode)
Definition: footbot_distance_scanner_equipped_entity.h:46
argos::CFootBotDistanceScannerEquippedEntity::SetRotation
void SetRotation(const CRadians &c_rotation)
Definition: footbot_distance_scanner_equipped_entity.cpp:58
argos::CFootBotDistanceScannerEquippedEntity::MODE_SPEED_CONTROL
@ MODE_SPEED_CONTROL
Definition: footbot_distance_scanner_equipped_entity.h:28
argos::CFootBotDistanceScannerEquippedEntity::MODE_POSITION_CONTROL
@ MODE_POSITION_CONTROL
Definition: footbot_distance_scanner_equipped_entity.h:27
argos::REGISTER_ACTUATOR
REGISTER_ACTUATOR(CFootBotDistanceScannerDefaultActuator, "footbot_distance_scanner", "default", "Carlo Pinciroli [ilpincy@gmail.com]", "1.0", "The foot-bot distance scanner actuator.", "This actuator controls the foot-bot distance scanner. For a complete\n" "description of its usage, refer to the ci_footbot_distance_scanner_actuator\n" "file.\n\n" "REQUIRED XML CONFIGURATION\n\n" " <controllers>\n" " ...\n" " <my_controller ...>\n" " ...\n" " <actuators>\n" " ...\n" " <footbot_distance_scanner implementation=\"default\" />\n" " ...\n" " </actuators>\n" " ...\n" " </my_controller>\n" " ...\n" " </controllers>\n\n" "OPTIONAL XML CONFIGURATION\n\n" "None for the time being.\n", "Usable")
argos::CFootBotDistanceScannerEquippedEntity::SetRotationSpeed
void SetRotationSpeed(Real f_speed)
Definition: footbot_distance_scanner_equipped_entity.h:60
argos::CFootBotDistanceScannerDefaultActuator::CFootBotDistanceScannerDefaultActuator
CFootBotDistanceScannerDefaultActuator()
Definition: footbot_distance_scanner_default_actuator.cpp:16
argos::CFootBotDistanceScannerEquippedEntity::MODE_OFF
@ MODE_OFF
Definition: footbot_distance_scanner_equipped_entity.h:26
argos::CFootBotDistanceScannerEquippedEntity
Definition: footbot_distance_scanner_equipped_entity.h:19
argos::CFootBotDistanceScannerDefaultActuator::Update
virtual void Update()
Updates the state of the entity associated to this actuator.
Definition: footbot_distance_scanner_default_actuator.cpp:61
footbot_distance_scanner_default_actuator.h
argos::CFootBotDistanceScannerDefaultActuator::Disable
virtual void Disable()
Disables the distance scanner.
Definition: footbot_distance_scanner_default_actuator.cpp:54
argos::CFootBotDistanceScannerDefaultActuator::SetRobot
virtual void SetRobot(CComposableEntity &c_entity)
Sets the entity associated to this actuator.
Definition: footbot_distance_scanner_default_actuator.cpp:23
Real
float Real
Collects all ARGoS code.
Definition: datatypes.h:39
argos::CFootBotDistanceScannerDefaultActuator::Reset
virtual void Reset()
Resets the actuator to the state it had just after Init().
Definition: footbot_distance_scanner_default_actuator.cpp:74
argos::CFootBotDistanceScannerDefaultActuator::RPM_TO_RADIANS_PER_SEC
static const Real RPM_TO_RADIANS_PER_SEC
Definition: footbot_distance_scanner_default_actuator.h:29
argos::CRadians::ZERO
static const CRadians ZERO
Set to zero radians.
Definition: angles.h:79