MarXbotLinearCameraSensorNew Class Reference

The linear camera sensor of the MarXbot (new implementation) More...

Inheritance diagram for MarXbotLinearCameraSensorNew:

Public Member Functions

 MarXbotLinearCameraSensorNew (ConfigurationParameters &params, QString prefix)
 Constructor. More...
 
virtual ~MarXbotLinearCameraSensorNew ()
 Destructor. More...
 
const LinearCameraNew::LinearCameragetLinearCamera () const
 Returns a const pointer to the inner Linear camera object. More...
 
virtual void save (ConfigurationParameters &params, QString prefix)
 Saves current parameters into the given ConfigurationParameters object. More...
 
virtual int size ()
 Returns the number of neurons required by this sensor. More...
 
virtual void update ()
 Performs the sensor update. This also modifies the activation of input neurons. More...
 
- Public Member Functions inherited from MarXbotSensor
 MarXbotSensor (ConfigurationParameters &params, QString prefix)
 Constructor. More...
 
virtual ~MarXbotSensor ()
 Destructor. More...
 
- Public Member Functions inherited from Sensor
 Sensor (ConfigurationParameters &params, QString prefix)
 Constructor and Configure. More...
 
 ~Sensor ()
 Destructor. More...
 
QString name ()
 Return the name of the Sensor. More...
 
void save (ConfigurationParameters &params, QString prefix)
 Save the parameters into the ConfigurationParameters. More...
 
void setName (QString name)
 Use this method for changing the name of the Sensor. More...
 
- Public Member Functions inherited from NoisyDevice
 NoisyDevice (ConfigurationParameters &params, QString prefix)
 Constructor and Configure. More...
 
 ~NoisyDevice ()
 Destructor. More...
 
- Public Member Functions inherited from ParameterSettableInConstructor
 ParameterSettableInConstructor (ConfigurationParameters &, QString)
 
- Public Member Functions inherited from ParameterSettable
void addObserver (RuntimeParameterObserver *obs)
 
getRuntimeParameter (QString paramName)
 
virtual ParameterSettableUIgetUIManager ()
 
virtual void postConfigureInitialization ()
 
void removeObserver (RuntimeParameterObserver *obs)
 
void setRuntimeParameter (QString paramName, T newvalue)
 
QString typeName () const
 
- Public Member Functions inherited from ConcurrentResourcesUser
void addUsableResource (QString resource)
 
void addUsableResources (QStringList resources)
 
void declareResource (QString name, T *resource, QString lockBuddy="")
 
void deleteResource (QString name)
 
T * getResource (QString name, bool *resourceExists=NULL)
 
bool hasResource (QString name) const
 
void removeAllUsableResources ()
 
void removeUsableResource (QString resource)
 
void removeUsableResources (QStringList resources)
 
virtual void shareResourcesWith (ResourcesUser *buddy)
 
void usableResources (QStringList resources)
 
bool usedResourcesExist (QStringList *nonExistingResources=NULL) const
 

Static Public Member Functions

static void describe (QString type)
 Generates a description of this class and its parameters. More...
 
- Static Public Member Functions inherited from MarXbotSensor
static void describe (QString type)
 Describes all the parameters for this sensor. More...
 
- Static Public Member Functions inherited from Sensor
static void describe (QString type)
 Describe all the parameter for configuring the Sensor. More...
 
- Static Public Member Functions inherited from NoisyDevice
static void describe (QString type)
 Describe all the parameter for configuring the Sensor. More...
 
- Static Public Member Functions inherited from ParameterSettable
static void describe (QString type)
 
static QString fullParameterDescriptionPath (QString type, QString param)
 
static QString fullSubgroupDescriptionPath (QString type, QString sub)
 

Additional Inherited Members

- Public Types inherited from ParameterSettable
enum  Property
 
- Public Types inherited from ResourcesUser
typedef Resource::ResourceChangeType ResourceChangeType
 
- Public Types inherited from Resource
enum  ResourceChangeType
 
- Public Attributes inherited from ParameterSettable
 AllowMultiple
 
 Default
 
 IsList
 
 IsMandatory
 
- Static Public Attributes inherited from ParameterSettable
static const double Infinity
 
static const int MaxInteger
 
static const int MinInteger
 
- Protected Member Functions inherited from Sensor
QString actualResourceNameForMultirobot (QString resourceName) const
 Returns the actual resource name to use. More...
 
void checkAllNeededResourcesExist ()
 Checks whether all resources we need are existing and throws an exception if they aren't. More...
 
void resetNeededResourcesCheck ()
 Resets the check on needed resources so that the next call to checkAllNeededResourcesExist() will perform the full check and not the quick one. More...
 
- Protected Member Functions inherited from NoisyDevice
double applyNoise (double v, double minValue, double maxValue) const
 Adds noise to the value. More...
 
- Protected Member Functions inherited from ParameterSettable
void notifyChangesToParam (QString paramName)
 
- Protected Member Functions inherited from ConcurrentResourcesUser
T * getResource ()
 
- Protected Member Functions inherited from ResourcesUser
 ResourcesUser (const ResourcesUser &other)
 
virtual void notifyResourceChange (ResourceHandler *resource, ResourceChangeType changeType)=0
 
ResourcesUseroperator= (const ResourcesUser &other)
 
- Static Protected Member Functions inherited from ParameterSettable
static Descriptor addTypeDescription (QString type, QString shortHelp, QString longHelp=QString(""))
 
static void setGraphicalEditor (QString type)
 
- Protected Attributes inherited from MarXbotSensor
QString m_marxbotResource
 The name of the resource associated with the MarXbot robot. More...
 
QString m_neuronsIteratorResource
 The name of th resource associated with the neural network iterator. More...
 
- Protected Attributes inherited from ResourcesUser
ResourceCollectionHolder m_resources
 

Detailed Description

The linear camera sensor of the MarXbot (new implementation)

This is a linear camera with configurable aperture (using the aperture parameter). The number of photoreceptors can be configured using the numReceptors parameter. An alternative way of specifying the number of receptors and their aperture is using the receptorsRanges parameter (see description). Note that if you set receptorsRanges you should not set the aperture or the numReceptors parameters and vice versa (an exception is thrown). Each receptor returns three values, one for each of the three colors (red, green, blue). You can decide whether to use all three colors or only part of them. This means that the size returned by this sensor is numReceptors * <num colors used>. The inputs for the controller are returned in the following order: first the values of all the red receptors, then the values for all the green receptors, finally the values for all the blue receptors. This sensor only works with objects created using the Arena instance. This sensor applies noise if requested

In addition to all parameters defined by the parent class (MarXbotSensor), this class also defines the following parameters:

  • numReceptors: the number of receptors of the sensor. Each receptor returns three values, one for each of the three colors (red, green, blue), but you can decide to ignore some colors (see the "useRedChannel", "useGreenChannel" and "useBlueChannel" parameters). This means that the size returned by this sensor is numReceptors * <num colors used> (default is 8)
  • aperture: the aperture of the camera in degrees. The real MarXbot has an omnidirectional camera, so you can use here any value up to 360°
  • maxDistance: the distance above which objects are not seen by the camera in meters
  • receptorsRanges: the range for each receptor. This parameter is a comma separated list of ranges (in the form [start, end]), each range being the aperture of a single receptor. The number of receptors is equal to the number of ranges. The start and end angles of the range are in degrees. Note that if you specify this parameter you must not specify the aperture neither the numReceptors parameters.
  • useRedChannel: whether the red component of the perceived objects should be used or not (default true)
  • useGreenChannel: whether the green component of the perceived objects should be used or not (default true)
  • useBlueChannel: whether the blue component of the perceived objects should be used or not (default true)
  • drawCamera: whether to draw the camera or not

The resources required by this Sensor are the same as those of the parent class plus:

  • arena: the instance of the Arena object where the robot lives

Definition at line 625 of file marxbotsensors.h.

Constructor & Destructor Documentation

MarXbotLinearCameraSensorNew ( ConfigurationParameters params,
QString  prefix 
)

Constructor.

Creates and configures the sensor

Parameters
paramsthe ConfigurationParameters containing the parameters
prefixthe path prefix to the paramters for this Sensor

Definition at line 512 of file marxbotsensors.cpp.

References ConfigurationParameters::getValue(), ConfigurationHelper::throwUserConfigError(), farsa::toRad(), and SimpleInterval::vectorOfSimpleIntervalsFromString().

Destructor.

Definition at line 561 of file marxbotsensors.cpp.

Member Function Documentation

void describe ( QString  type)
static

Generates a description of this class and its parameters.

Parameters
typethe string representation of this class name

Definition at line 583 of file marxbotsensors.cpp.

References ParameterSettable::addTypeDescription(), MarXbotSensor::describe(), ParameterSettable::Infinity, and ParameterSettable::MaxInteger.

const LinearCameraNew::LinearCamera* getLinearCamera ( ) const
inline

Returns a const pointer to the inner Linear camera object.

Returns
a const pointer to the inner Linear camera object

Definition at line 677 of file marxbotsensors.h.

void save ( ConfigurationParameters params,
QString  prefix 
)
virtual

Saves current parameters into the given ConfigurationParameters object.

Parameters
paramsthe ConfigurationParameters object in which parameters should be saved
prefixthe name and path of the group where to save parametrs

Reimplemented from MarXbotSensor.

Definition at line 567 of file marxbotsensors.cpp.

References ConfigurationParameters::createParameter(), MarXbotSensor::save(), and ConfigurationParameters::startObjectParameters().

int size ( )
virtual

Returns the number of neurons required by this sensor.

Returns
the number of neurons required by this sensor

Implements Sensor.

Definition at line 630 of file marxbotsensors.cpp.

void update ( )
virtual

The documentation for this class was generated from the following files: