ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
00001 00007 #ifndef FOOTBOT_DISTANCE_SCANNER_DEFAULT_ACTUATOR_H 00008 #define FOOTBOT_DISTANCE_SCANNER_DEFAULT_ACTUATOR_H 00009 00010 #include <string> 00011 #include <map> 00012 00013 namespace argos { 00014 class CFootBotDistanceScannerDefaultActuator; 00015 } 00016 00017 #include <argos3/plugins/robots/foot-bot/control_interface/ci_footbot_distance_scanner_actuator.h> 00018 #include <argos3/plugins/robots/foot-bot/simulator/footbot_entity.h> 00019 #include <argos3/plugins/robots/foot-bot/simulator/footbot_distance_scanner_equipped_entity.h> 00020 #include <argos3/core/simulator/actuator.h> 00021 00022 namespace argos { 00023 00024 class CFootBotDistanceScannerDefaultActuator : public CSimulatedActuator, 00025 public CCI_FootBotDistanceScannerActuator { 00026 00027 public: 00028 00029 static const Real RPM_TO_RADIANS_PER_SEC; 00030 00031 CFootBotDistanceScannerDefaultActuator(); 00032 virtual ~CFootBotDistanceScannerDefaultActuator() {} 00033 00034 virtual void SetRobot(CComposableEntity& c_entity); 00035 00036 virtual void SetAngle(const CRadians& c_angle); 00037 virtual void SetRPM(Real f_rpm); 00038 00039 virtual void Enable(); 00040 virtual void Disable(); 00041 00042 virtual void Update(); 00043 virtual void Reset(); 00044 00045 private: 00046 00047 CFootBotDistanceScannerEquippedEntity* m_pcDistanceScannerEquippedEntity; 00048 00049 CRadians m_cDesiredRotation; 00050 Real m_fDesiredRotationSpeed; 00051 UInt8 m_unDesiredMode; 00052 00053 }; 00054 00055 } 00056 00057 #endif