ARGoS  3
A parallel, multi-engine simulator for swarm robotics
footbot_entity.h
Go to the documentation of this file.
1 
7 #ifndef FOOTBOT_ENTITY_H
8 #define FOOTBOT_ENTITY_H
9 
10 namespace argos {
11  class CControllableEntity;
12  class CFootBotDistanceScannerEquippedEntity;
13  class CEmbodiedEntity;
14  class CFootBotEntity;
15  class CFootBotTurretEntity;
16  class CGripperEquippedEntity;
17  class CGroundSensorEquippedEntity;
18  class CLEDEquippedEntity;
19  class CLightSensorEquippedEntity;
20  class COmnidirectionalCameraEquippedEntity;
21  class CPerspectiveCameraEquippedEntity;
22  class CProximitySensorEquippedEntity;
23  class CRABEquippedEntity;
24  class CWiFiEquippedEntity;
25 }
26 
27 #include <argos3/core/simulator/entity/composable_entity.h>
28 #include <argos3/plugins/simulator/entities/wheeled_entity.h>
29 
30 namespace argos {
31 
33 
34  public:
35 
36  ENABLE_VTABLE();
37 
38  public:
39 
41 
42  CFootBotEntity(const std::string& str_id,
43  const std::string& str_controller_id,
44  const CVector3& c_position = CVector3(),
45  const CQuaternion& c_orientation = CQuaternion(),
46  Real f_rab_range = 3.0f,
47  size_t un_rab_data_size = 10,
48  const CRadians& c_omnicam_aperture = ToRadians(CDegrees(70.0f)),
49  bool b_perspcam_front = true,
50  const CRadians& c_perspcam_aperture = ToRadians(CDegrees(30.0f)),
51  Real f_perspcam_focal_length = 0.035,
52  Real f_perspcam_range = 2.0);
53 
54  virtual void Init(TConfigurationNode& t_tree);
55  virtual void Reset();
56  virtual void UpdateComponents();
57 
59  return *m_pcControllableEntity;
60  }
61 
63  return *m_pcDistanceScannerEquippedEntity;
64  }
65 
67  return *m_pcTurretEntity;
68  }
69 
71  return *m_pcEmbodiedEntity;
72  }
73 
75  return *m_pcGripperEquippedEntity;
76  }
77 
79  return *m_pcGroundSensorEquippedEntity;
80  }
81 
83  return *m_pcLEDEquippedEntity;
84  }
85 
87  return *m_pcLightSensorEquippedEntity;
88  }
89 
91  return *m_pcOmnidirectionalCameraEquippedEntity;
92  }
93 
95  return *m_pcPerspectiveCameraEquippedEntity;
96  }
97 
99  return *m_pcProximitySensorEquippedEntity;
100  }
101 
103  return *m_pcRABEquippedEntity;
104  }
105 
107  return *m_pcWheeledEntity;
108  }
109 
111  return *m_pcWiFiEquippedEntity;
112  }
113 
114  virtual std::string GetTypeDescription() const {
115  return "foot-bot";
116  }
117 
118  private:
119 
120  CControllableEntity* m_pcControllableEntity;
121  CFootBotDistanceScannerEquippedEntity* m_pcDistanceScannerEquippedEntity;
122  CFootBotTurretEntity* m_pcTurretEntity;
123  CEmbodiedEntity* m_pcEmbodiedEntity;
124  CGripperEquippedEntity* m_pcGripperEquippedEntity;
125  CGroundSensorEquippedEntity* m_pcGroundSensorEquippedEntity;
126  CLEDEquippedEntity* m_pcLEDEquippedEntity;
127  CLightSensorEquippedEntity* m_pcLightSensorEquippedEntity;
128  COmnidirectionalCameraEquippedEntity* m_pcOmnidirectionalCameraEquippedEntity;
129  CPerspectiveCameraEquippedEntity* m_pcPerspectiveCameraEquippedEntity;
130  CProximitySensorEquippedEntity* m_pcProximitySensorEquippedEntity;
131  CRABEquippedEntity* m_pcRABEquippedEntity;
132  CWheeledEntity* m_pcWheeledEntity;
133  CWiFiEquippedEntity* m_pcWiFiEquippedEntity;
134  };
135 
136 }
137 
138 #endif
argos::CFootBotEntity::GetGripperEquippedEntity
CGripperEquippedEntity & GetGripperEquippedEntity()
Definition: footbot_entity.h:74
argos::CFootBotEntity::ENABLE_VTABLE
ENABLE_VTABLE()
argos::CFootBotEntity::UpdateComponents
virtual void UpdateComponents()
Calls the Update() method on all the components.
Definition: footbot_entity.cpp:451
argos
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
argos::CVector3
A 3D vector class.
Definition: vector3.h:29
argos::CFootBotEntity::GetTurretEntity
CFootBotTurretEntity & GetTurretEntity()
Definition: footbot_entity.h:66
argos::CFootBotEntity::GetLEDEquippedEntity
CLEDEquippedEntity & GetLEDEquippedEntity()
Definition: footbot_entity.h:82
argos::CPerspectiveCameraEquippedEntity
Definition: perspective_camera_equipped_entity.h:23
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::CLightSensorEquippedEntity
Definition: light_sensor_equipped_entity.h:21
argos::CWheeledEntity
Definition: wheeled_entity.h:15
argos::CEmbodiedEntity
This entity is a link to a body in the physics engine.
Definition: embodied_entity.h:48
argos::COmnidirectionalCameraEquippedEntity
Definition: omnidirectional_camera_equipped_entity.h:21
argos::CFootBotEntity::GetLightSensorEquippedEntity
CLightSensorEquippedEntity & GetLightSensorEquippedEntity()
Definition: footbot_entity.h:86
argos::TConfigurationNode
ticpp::Element TConfigurationNode
The ARGoS configuration XML node.
Definition: argos_configuration.h:27
argos::CRABEquippedEntity
Definition: rab_equipped_entity.h:25
argos::CGripperEquippedEntity
An entity that stores the state of a robot gripper.
Definition: gripper_equipped_entity.h:37
argos::CFootBotEntity
Definition: footbot_entity.h:32
argos::CFootBotEntity::CFootBotEntity
CFootBotEntity()
Definition: footbot_entity.cpp:58
argos::CLEDEquippedEntity
A container of CLEDEntity.
Definition: led_equipped_entity.h:36
argos::CQuaternion
Definition: quaternion.h:14
argos::CFootBotEntity::GetRABEquippedEntity
CRABEquippedEntity & GetRABEquippedEntity()
Definition: footbot_entity.h:102
argos::CFootBotEntity::GetProximitySensorEquippedEntity
CProximitySensorEquippedEntity & GetProximitySensorEquippedEntity()
Definition: footbot_entity.h:98
argos::CFootBotDistanceScannerEquippedEntity
Definition: footbot_distance_scanner_equipped_entity.h:19
argos::CFootBotEntity::GetOmnidirectionalCameraEquippedEntity
COmnidirectionalCameraEquippedEntity & GetOmnidirectionalCameraEquippedEntity()
Definition: footbot_entity.h:90
argos::CFootBotEntity::GetGroundSensorEquippedEntity
CGroundSensorEquippedEntity & GetGroundSensorEquippedEntity()
Definition: footbot_entity.h:78
argos::CFootBotEntity::Init
virtual void Init(TConfigurationNode &t_tree)
Initializes the state of the entity from the XML configuration tree.
Definition: footbot_entity.cpp:262
argos::CWiFiEquippedEntity
Definition: wifi_equipped_entity.h:15
argos::CFootBotTurretEntity
Definition: footbot_turret_entity.h:20
argos::CProximitySensorEquippedEntity
Definition: proximity_sensor_equipped_entity.h:21
argos::CFootBotEntity::Reset
virtual void Reset()
Resets the state of the entity to whatever it was after Init() or the standalone constructor was call...
Definition: footbot_entity.cpp:439
argos::CFootBotEntity::GetWiFiEquippedEntity
CWiFiEquippedEntity & GetWiFiEquippedEntity()
Definition: footbot_entity.h:110
argos::CFootBotEntity::GetControllableEntity
CControllableEntity & GetControllableEntity()
Definition: footbot_entity.h:58
argos::CGroundSensorEquippedEntity
Definition: ground_sensor_equipped_entity.h:21
argos::CFootBotEntity::GetEmbodiedEntity
CEmbodiedEntity & GetEmbodiedEntity()
Definition: footbot_entity.h:70
argos::CDegrees
It defines the basic type CDegrees, used to store an angle value in degrees.
Definition: angles.h:288
argos::CControllableEntity
An entity that contains a pointer to the user-defined controller.
Definition: controllable_entity.h:26
argos::CFootBotEntity::GetTypeDescription
virtual std::string GetTypeDescription() const
Returns a string label for this class.
Definition: footbot_entity.h:114
argos::CFootBotEntity::GetPerspectiveCameraEquippedEntity
CPerspectiveCameraEquippedEntity & GetPerspectiveCameraEquippedEntity()
Definition: footbot_entity.h:94
argos::ToRadians
CRadians ToRadians(const CDegrees &c_degrees)
Converts CDegrees to CRadians.
Definition: angles.h:498
Real
float Real
Collects all ARGoS code.
Definition: datatypes.h:39
argos::CFootBotEntity::GetWheeledEntity
CWheeledEntity & GetWheeledEntity()
Definition: footbot_entity.h:106
argos::CFootBotEntity::GetDistanceScannerEquippedEntity
CFootBotDistanceScannerEquippedEntity & GetDistanceScannerEquippedEntity()
Definition: footbot_entity.h:62