argos::CLightDefaultSensor Class Reference

#include <light_default_sensor.h>

Inheritance diagram for argos::CLightDefaultSensor:
Collaboration diagram for argos::CLightDefaultSensor:

Public Member Functions

 CLightDefaultSensor ()
 
virtual ~CLightDefaultSensor ()
 
virtual void SetRobot (CComposableEntity &c_entity)
 Sets the entity associated to this sensor. More...
 
virtual void Init (TConfigurationNode &t_tree)
 Initializes the sensor from the XML configuration tree. More...
 
virtual void Update ()
 Updates the state of the entity associated to this sensor. More...
 
virtual void Reset ()
 Resets the sensor to the state it had just after Init(). More...
 
virtual Real CalculateReading (Real f_distance, Real f_intensity)
 Calculates the light reading resulting from a light source at the given distance. More...
 
- Public Member Functions inherited from argos::CSimulatedSensor
virtual ~CSimulatedSensor ()
 Class destructor. More...
 
- Public Member Functions inherited from argos::CCI_LightSensor
virtual ~CCI_LightSensor ()
 
const std::vector< Real > & GetReadings () const
 
- Public Member Functions inherited from argos::CCI_Sensor
virtual ~CCI_Sensor ()
 Class destructor. More...
 
virtual void Destroy ()
 Destroys the sensor. More...
 
- Public Member Functions inherited from argos::CBaseConfigurableResource
virtual ~CBaseConfigurableResource ()
 Class destructor. More...
 

Protected Attributes

CLightSensorEquippedEntitym_pcLightEntity
 Reference to light sensor equipped entity associated to this sensor. More...
 
CControllableEntitym_pcControllableEntity
 Reference to controllable entity associated to this sensor. More...
 
bool m_bShowRays
 Flag to show rays in the simulator. More...
 
CRandom::CRNGm_pcRNG
 Random number generator. More...
 
bool m_bAddNoise
 Whether to add noise or not. More...
 
CRange< Realm_cNoiseRange
 Noise range. More...
 
CSpacem_cSpace
 Reference to the space. More...
 
- Protected Attributes inherited from argos::CCI_LightSensor
std::vector< Realm_tReadings
 

Additional Inherited Members

- Public Types inherited from argos::CCI_Sensor
typedef std::map< std::string, CCI_Sensor *, std::less< std::string > > TMap
 

Detailed Description

Definition at line 26 of file light_default_sensor.h.

Constructor & Destructor Documentation

argos::CLightDefaultSensor::CLightDefaultSensor ( )

Definition at line 25 of file light_default_sensor.cpp.

virtual argos::CLightDefaultSensor::~CLightDefaultSensor ( )
inlinevirtual

Definition at line 33 of file light_default_sensor.h.

Member Function Documentation

Real argos::CLightDefaultSensor::CalculateReading ( Real  f_distance,
Real  f_intensity 
)
virtual

Calculates the light reading resulting from a light source at the given distance.

Denoting the intensity with i and the distance x, this function calculates i = (I / x)^2. I is the reference intensity of the light, that is, the distance at which the light reading saturates. It is dependent on the light entity being considered.

Parameters
f_distanceThe distance of the considered light source.
f_intensityThe reference intensity of the considered light source.
Returns
A value in the range [0:1], where 0 means that the light is too far to be sensed, and 1 means the light is so close that it saturates the sensor.

Definition at line 159 of file light_default_sensor.cpp.

void argos::CLightDefaultSensor::Init ( TConfigurationNode t_node)
virtual

Initializes the sensor from the XML configuration tree.

The default implementation of this method does nothing.

Parameters
t_nodeThe XML configuration tree relative to this sensor.
See also
Reset()
Destroy()

Reimplemented from argos::CCI_Sensor.

Definition at line 48 of file light_default_sensor.cpp.

void argos::CLightDefaultSensor::Reset ( )
virtual

Resets the sensor to the state it had just after Init().

The default implementation of this method does nothing.

See also
Init()
Destroy()

Reimplemented from argos::CCI_Sensor.

Definition at line 150 of file light_default_sensor.cpp.

void argos::CLightDefaultSensor::SetRobot ( CComposableEntity c_entity)
virtual

Sets the entity associated to this sensor.

When a controller is created, all the sensors and actuators are created, too. This function is called right before the Init() method of the sensor is called.

Parameters
c_entityThe entity to associate to this sensor.
See also
CComposableEntity
CControllableEntity::SetController()
CCI_Sensor::Init()

Implements argos::CSimulatedSensor.

Definition at line 34 of file light_default_sensor.cpp.

void argos::CLightDefaultSensor::Update ( )
virtual

Updates the state of the entity associated to this sensor.

Implements argos::CSimulatedSensor.

Definition at line 74 of file light_default_sensor.cpp.

Member Data Documentation

bool argos::CLightDefaultSensor::m_bAddNoise
protected

Whether to add noise or not.

Definition at line 69 of file light_default_sensor.h.

bool argos::CLightDefaultSensor::m_bShowRays
protected

Flag to show rays in the simulator.

Definition at line 63 of file light_default_sensor.h.

CRange<Real> argos::CLightDefaultSensor::m_cNoiseRange
protected

Noise range.

Definition at line 72 of file light_default_sensor.h.

CSpace& argos::CLightDefaultSensor::m_cSpace
protected

Reference to the space.

Definition at line 75 of file light_default_sensor.h.

CControllableEntity* argos::CLightDefaultSensor::m_pcControllableEntity
protected

Reference to controllable entity associated to this sensor.

Definition at line 60 of file light_default_sensor.h.

CLightSensorEquippedEntity* argos::CLightDefaultSensor::m_pcLightEntity
protected

Reference to light sensor equipped entity associated to this sensor.

Definition at line 57 of file light_default_sensor.h.

CRandom::CRNG* argos::CLightDefaultSensor::m_pcRNG
protected

Random number generator.

Definition at line 66 of file light_default_sensor.h.