colored_blob_omnidirectional_camera_rotzonly_sensor.cpp File Reference
#include "colored_blob_omnidirectional_camera_rotzonly_sensor.h"
#include <argos3/core/simulator/simulator.h>
#include <argos3/core/simulator/space/positional_indices/positional_index.h>
#include <argos3/core/simulator/entity/composable_entity.h>
#include <argos3/core/simulator/entity/embodied_entity.h>
#include <argos3/plugins/simulator/entities/led_entity.h>
#include <argos3/plugins/simulator/entities/omnidirectional_camera_equipped_entity.h>
#include <argos3/plugins/simulator/media/led_medium.h>
Include dependency graph for colored_blob_omnidirectional_camera_rotzonly_sensor.cpp:

Go to the source code of this file.

Classes

class  argos::COmnidirectionalCameraLEDCheckOperation
 

Namespaces

 argos
 The namespace containing all the ARGoS related code.
 

Functions

 argos::REGISTER_SENSOR (CColoredBlobOmnidirectionalCameraRotZOnlySensor, "colored_blob_omnidirectional_camera", "rot_z_only", "Carlo Pinciroli [ilpincy@gmail.com]", "1.0", "A generic omnidirectional camera sensor to detect colored blobs.", "This sensor accesses an omnidirectional camera that detects colored blobs. The\n" "sensor returns a list of blobs, each defined by a color and a position with\n" "respect to the robot reference point on the ground. In controllers, you must\n" "include the ci_colored_blob_omnidirectional_camera_sensor.h header.\n\n" "This sensor is disabled by default, and must be enabled before it can be\n" "used.\n\n" "REQUIRED XML CONFIGURATION\n\n" " <controllers>\n" " ...\n" " <my_controller ...>\n" " ...\n" " <sensors>\n" " ...\n" " <colored_blob_omnidirectional_camera implementation=\"rot_z_only\"\n" " medium=\"leds\" />\n" " ...\n" " </sensors>\n" " ...\n" " </my_controller>\n" " ...\n" " </controllers>\n\n" "The 'medium' attribute must be set to the id of the leds medium declared in the\n" "<media> section.\n\n" "OPTIONAL XML CONFIGURATION\n\n" "It is possible to draw the rays shot by the camera sensor in the OpenGL\n" "visualization. This can be useful for sensor debugging but also to understand\n" "what's wrong in your controller. In OpenGL, the rays are drawn in cyan when\n" "they are not obstructed and in purple when they are. In case a ray is\n" "obstructed, a black dot is drawn where the intersection occurred.\n" "To turn this functionality on, add the attribute \"show_rays\" as in this\n" "example:\n\n" " <controllers>\n" " ...\n" " <my_controller ...>\n" " ...\n" " <sensors>\n" " ...\n" " <colored_blob_omnidirectional_camera implementation=\"rot_z_only\"\n" " medium=\"leds\" />\n" " show_rays=\"true\" />\n" " ...\n" " </sensors>\n" " ...\n" " </my_controller>\n" " ...\n" " </controllers>\n\n" "It is possible to add uniform noise to the blobs, thus matching the\n" "characteristics of a real robot better. This can be done with the attribute\n" "\"noise_std_dev\".\n\n" " <controllers>\n" " ...\n" " <my_controller ...>\n" " ...\n" " <sensors>\n" " ...\n" " <colored_blob_omnidirectional_camera implementation=\"rot_z_only\"\n" " medium=\"leds\" />\n" " noise_std_dev=\"0.1\" />\n" " ...\n" " </sensors>\n" " ...\n" " </my_controller>\n" " ...\n" " </controllers>\n\n" "OPTIMIZATION HINTS\n\n" "1. For small swarms, enabling the sensor (and therefore causing ARGoS to\n" " update its readings each timestep) unconditionally does not impact performance too\n" " much. For large swarms, it can impact performance, and selectively\n" " enabling/disabling the sensor according to when each individual robot needs it\n" " (e.g., only when it is looking for an LED equipped entity) can increase performance\n" " by only requiring ARGoS to update the readings on timesteps they will be used.\n", "Usable")