ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
00001 00007 #ifndef FOOTBOT_MOTOR_GROUND_ROTZONLY_SENSOR_H 00008 #define FOOTBOT_MOTOR_GROUND_ROTZONLY_SENSOR_H 00009 00010 #include <string> 00011 #include <map> 00012 00013 namespace argos { 00014 class CFootBotMotorGroundRotZOnlySensor; 00015 class CGroundSensorEquippedEntity; 00016 class CFloorEntity; 00017 } 00018 00019 #include <argos3/plugins/robots/foot-bot/control_interface/ci_footbot_motor_ground_sensor.h> 00020 #include <argos3/core/utility/math/range.h> 00021 #include <argos3/core/utility/math/rng.h> 00022 #include <argos3/core/simulator/space/space.h> 00023 #include <argos3/core/simulator/sensor.h> 00024 00025 namespace argos { 00026 00027 class CFootBotMotorGroundRotZOnlySensor : public CCI_FootBotMotorGroundSensor, 00028 public CSimulatedSensor { 00029 00030 public: 00031 00032 CFootBotMotorGroundRotZOnlySensor(); 00033 00034 virtual ~CFootBotMotorGroundRotZOnlySensor() {} 00035 00036 virtual void SetRobot(CComposableEntity& c_entity); 00037 00038 virtual void Init(TConfigurationNode& t_tree); 00039 00040 virtual void Update(); 00041 00042 virtual void Reset(); 00043 00044 protected: 00045 00047 CEmbodiedEntity* m_pcEmbodiedEntity; 00048 00050 CFloorEntity* m_pcFloorEntity; 00051 00053 CGroundSensorEquippedEntity* m_pcGroundSensorEntity; 00054 00056 CRandom::CRNG* m_pcRNG; 00057 00059 bool m_bAddNoise; 00060 00062 CRange<Real> m_cNoiseRange; 00063 00065 CSpace& m_cSpace; 00066 }; 00067 00068 } 00069 00070 #endif