ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
The namespace containing all the ARGoS related code. More...
Classes | |
class | CCI_Actuator |
The basic interface for all actuators. More... | |
class | CCI_Controller |
The basic interface for a robot controller. More... | |
class | CCI_Sensor |
The basic interface for all sensors. More... | |
class | CSimulatedActuator |
The basic interface for a simulated actuator. More... | |
class | CARGoSCommandLineArgParser |
The command line argument parser used by the main ARGoS executable. More... | |
class | CComposableEntity |
Basic class for an entity that contains other entities. More... | |
class | CControllableEntity |
An entity that contains a pointer to the user-defined controller. More... | |
class | CEmbodiedEntity |
This entity is a link to a body in the physics engine. More... | |
class | CEmbodiedEntityGridUpdater |
struct | SEmbodiedEntityIntersectionItem |
struct | SEmbodiedEntityIntersectionData |
class | CEntity |
The basic entity type. More... | |
class | CEntityOperation |
The basic operation to be stored in the vtable. More... | |
class | CFloorColorFromImageFile |
class | CFloorColorFromLoopFunctions |
class | CSpaceOperationAddCFloorEntity |
class | CFloorEntity |
class | CPositionalEntity |
class | CLoopFunctions |
A set of hook functions to customize an experimental run. More... | |
class | CMedium |
class | CPhysicsEngine |
struct | SBoundingBox |
class | CPhysicsModel |
struct | SQueryResultItem |
class | CSimulatedSensor |
The basic interface for a simulated sensor. More... | |
class | CSimulator |
The core class of ARGOS. More... | |
class | CGrid |
class | CPositionalIndex |
A data structure that contains positional entities. More... | |
class | CAbstractSpaceHash |
The abstract definition of a space hash. More... | |
class | CSpaceHashUpdater |
Defines the basic cell updater of the space hash. More... | |
class | CSpaceHash |
Defines the basic space hash. More... | |
class | CSpaceHashNative |
A space hash implementation that does not rely on std::map or std::tr1:unordered_map. More... | |
class | RealNumberGenerator |
class | ConstantGenerator |
class | UniformGenerator |
class | GaussianGenerator |
class | GridGenerator |
class | CSpace |
class | CSpaceOperation |
class | CSpaceOperationAddEntity |
class | CSpaceOperationRemoveEntity |
struct | SCleanupThreadData |
class | CSpaceMultiThreadBalanceLength |
struct | SCleanupUpdateThreadData |
class | CSpaceMultiThreadBalanceQuantity |
class | CSpaceNoThreads |
class | CVisualization |
class | CARGoSException |
The exception that wraps all errors in ARGoS. More... | |
class | CBaseConfigurableResource |
This class is the base of all XML-configurable ARGoS interface. More... | |
class | CCommandLineArgParser |
Easy-to-use command line argument parser. More... | |
class | CMemento |
The interface inherited by all classes whose state must be saved and restored. More... | |
class | CAny |
class | CByteArray |
Byte array utility class. More... | |
class | CColor |
The basic color type. More... | |
struct | SSetElement |
The data container of CSet. More... | |
class | CSetIterator |
The CSet iterator. More... | |
class | CSet |
Defines a very simple double-linked list that stores unique elements. More... | |
struct | SLogColor |
Stream modifier to set attribute and color of the subsequent text. More... | |
class | CARGoSLog |
class | CRadians |
It defines the basic type CRadians, used to store an angle value in radians. More... | |
class | CDegrees |
It defines the basic type CDegrees, used to store an angle value in degrees. More... | |
class | CMatrix |
class | CRotationMatrix2 |
class | CRotationMatrix3 |
class | CSquareMatrix |
class | CTransformationMatrix2 |
class | CTransformationMatrix3 |
class | CPlane |
class | CQuaternion |
class | CRange |
class | CRay2 |
class | CRay3 |
class | CRandom |
The ARGoS random number generator. More... | |
class | CVector2 |
A 2D vector class. More... | |
class | CVector3 |
A 3D vector class. More... | |
class | CDynamicLoading |
Allows users to dynamically load shared libraries. More... | |
class | CFactory |
Basic factory template. More... | |
struct | STagCounter |
Holds the value of the last used tag. More... | |
struct | STagHolder |
Holds the value of the tag associated to DERIVED More... | |
struct | EnableVTableFor |
Helper to make a class hierarchy vtable-enabled. More... | |
class | CVTable |
The actual vtable. More... | |
class | CProfiler |
class | CLuaController |
class | CLuaUtility |
class | CDynamics2DEPuckModel |
class | CEPuckEntity |
class | CQTOpenGLOperationDrawEPuckNormal |
class | CQTOpenGLOperationDrawEPuckSelected |
class | CQTOpenGLEPuck |
class | CCI_FootBotAccelerometerSensor |
class | CCI_FootBotBaseGroundSensor |
class | CCI_FootBotCeilingCameraSensor |
This class provides the main interface to the ceiling camera on the FootBot. More... | |
class | CCI_FootBotDistanceScannerActuator |
class | CCI_FootBotDistanceScannerSensor |
class | CCI_FootBotEncoderSensor |
class | CCI_FootBotGripperActuator |
class | CCI_FootBotGripperSensor |
class | CCI_FootBotGyroscopicSensor |
class | CCI_FootBotLightSensor |
class | CCI_FootBotMotorGroundSensor |
class | CCI_FootBotOmnidirectionalCameraSensor |
This class provides the main interface to the omnidirectional camera on the FootBot. More... | |
class | CCI_FootBotProximitySensor |
class | CCI_FootBotRangeAndBearingActuator |
struct | SRABPacket |
This struct defines a received range and bearing packet. More... | |
class | CCI_FootBotRangeAndBearingSensor |
class | CCI_FootBotTurretActuator |
class | CCI_FootBotTurretEncoderSensor |
class | CCI_FootBotTurretTorqueSensor |
class | CCI_FootBotWheelSpeedSensor |
class | CDynamics2DFootBotModel |
class | CFootBotBaseGroundRotZOnlySensor |
class | CFootBotDistanceScannerDefaultActuator |
class | CFootBotDistanceScannerEquippedEntity |
class | CFootBotDistanceScannerRotZOnlySensor |
class | CFootBotEntity |
class | CFootBotGripperDefaultActuator |
class | CFootBotLightRotZOnlySensor |
class | CFootBotMotorGroundRotZOnlySensor |
class | CProximitySensorImpl |
class | CFootBotProximityDefaultSensor |
class | CFootBotTurretDefaultActuator |
class | CFootBotTurretEncoderDefaultSensor |
class | CFootBotTurretEntity |
class | CQTOpenGLOperationDrawFootBotNormal |
class | CQTOpenGLOperationDrawFootBotSelected |
class | CQTOpenGLFootBot |
class | CCI_ColoredBlobOmnidirectionalCameraSensor |
This class provides the most general interface to a camera. More... | |
class | CCI_DifferentialSteeringActuator |
class | CCI_DifferentialSteeringSensor |
class | CCI_GripperActuator |
class | CCI_GroundSensor |
class | CCI_LEDsActuator |
class | CCI_LightSensor |
class | CCI_PositioningSensor |
class | CCI_ProximitySensor |
class | CCI_RangeAndBearingActuator |
class | CCI_RangeAndBearingSensor |
class | CDifferentialSteeringDefaultActuator |
class | CGripperDefaultActuator |
class | CLEDsDefaultActuator |
class | CRangeAndBearingDefaultActuator |
class | CBoxEntity |
class | CCylinderEntity |
class | CGripperEquippedEntity |
An entity that stores the state of a robot gripper. More... | |
class | CGroundSensorEquippedEntity |
class | CLEDEntity |
class | CLEDEntitySpaceHashUpdater |
class | CLEDEntityGridUpdater |
class | CLEDEquippedEntity |
A container of CLEDEntity. More... | |
class | CLightEntity |
class | CLightSensorEquippedEntity |
class | COmnidirectionalCameraEquippedEntity |
class | CProximitySensorEquippedEntity |
class | CRABEquippedEntity |
class | CRABEquippedEntitySpaceHashUpdater |
class | CRABEquippedEntityGridCellUpdater |
class | CRABEquippedEntityGridEntityUpdater |
class | CWheeledEntity |
class | CWiFiEquippedEntity |
class | CLEDMedium |
class | CRABMedium |
class | CDynamics2DBoxModel |
class | CDynamics2DCylinderModel |
class | CDynamics2DDifferentialSteeringControl |
struct | SDynamics2DEngineGripperData |
class | CDynamics2DEngine |
class | CDynamics2DOperation |
class | CDynamics2DOperationAddEntity |
class | CDynamics2DOperationRemoveEntity |
class | CDynamics2DGripper |
class | CDynamics2DGrippable |
class | CDynamics2DModel |
class | CDynamics2DVelocityControl |
class | CLEDCheckOperation |
class | CColoredBlobOmnidirectionalCameraRotZOnlySensor |
class | CDifferentialSteeringDefaultSensor |
class | CGroundRotZOnlySensor |
class | CLightDefaultSensor |
class | CPositioningDefaultSensor |
class | CProximityDefaultSensor |
class | CRangeAndBearingMediumSensor |
class | CQTOpenGLOperationDrawBoxNormal |
class | CQTOpenGLOperationDrawBoxSelected |
class | CQTOpenGLBox |
class | CQTOpenGLOperationDrawCylinderNormal |
class | CQTOpenGLOperationDrawCylinderSelected |
class | CQTOpenGLCylinder |
class | CQTOpenGLOperationDrawLightNormal |
class | CQTOpenGLOperationDrawLightSelected |
class | CQTOpenGLLight |
class | CQTOpenGLApplication |
class | CQTOpenGLCamera |
class | CQTOpenGLJoystick |
class | CQTOpenGLLogStream |
class | CQTOpenGLLuaEditor |
class | CQTOpenGLLuaFindDialog |
class | CQTOpenGLLuaMainWindow |
class | CQTOpenGLLuaStateTreeItem |
class | CQTOpenGLLuaStateTreeModel |
class | CQTOpenGLLuaStateTreeVariableModel |
class | CQTOpenGLLuaStateTreeFunctionModel |
class | CQTOpenGLLuaSyntaxHighlighter |
class | CQTOpenGLLayout |
class | CQTOpenGLMainWindow |
class | CQTOpenGLRender |
class | CQTOpenGLUserFunctions |
The QTOpenGL user functions. More... | |
class | CQTOpenGLOperationDrawNormal |
class | CQTOpenGLOperationDrawSelected |
class | CQTOpenGLWidget |
Typedefs | |
typedef std::vector < CEmbodiedEntity * > | TEmbodiedEntityVector |
typedef std::map< std::string, CEmbodiedEntity * > | TEmbodiedEntityMap |
typedef CSet< CEmbodiedEntity * > | TEmbodiedEntitySet |
typedef std::vector < SQueryResultItem > | TQueryResult |
typedef ticpp::Element | TConfigurationNode |
The ARGoS configuration XML node. | |
typedef ticpp::Iterator < ticpp::Element > | TConfigurationNodeIterator |
The iterator for the ARGoS configuration XML node. | |
Enumerations | |
enum | EARGoSLogAttributes { ARGOS_LOG_ATTRIBUTE_RESET = 0, ARGOS_LOG_ATTRIBUTE_BRIGHT = 1, ARGOS_LOG_ATTRIBUTE_DIM = 2, ARGOS_LOG_ATTRIBUTE_UNDERSCORE = 3, ARGOS_LOG_ATTRIBUTE_BLINK = 5, ARGOS_LOG_ATTRIBUTE_REVERSE = 7, ARGOS_LOG_ATTRIBUTE_HIDDEN = 8 } |
The possible attributes of the logged text. More... | |
enum | EARGoSLogColors { ARGOS_LOG_COLOR_BLACK = 0, ARGOS_LOG_COLOR_RED = 1, ARGOS_LOG_COLOR_GREEN = 2, ARGOS_LOG_COLOR_YELLOW = 3, ARGOS_LOG_COLOR_BLUE = 4, ARGOS_LOG_COLOR_MAGENTA = 5, ARGOS_LOG_COLOR_CYAN = 6, ARGOS_LOG_COLOR_WHITE = 7 } |
The possible colors of the logged text. More... | |
enum | EPUCK_WHEELS { EPUCK_LEFT_WHEEL = 0, EPUCK_RIGHT_WHEEL = 1 } |
enum | FOOTBOT_WHEELS { FOOTBOT_LEFT_WHEEL = 0, FOOTBOT_RIGHT_WHEEL = 1 } |
enum | ETurretModes { MODE_OFF, MODE_PASSIVE, MODE_SPEED_CONTROL, MODE_POSITION_CONTROL } |
Functions | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_COMPOSABLE (CComposableEntity) | |
bool | GetClosestEmbodiedEntityIntersectedByRay (SEmbodiedEntityIntersectionItem &s_item, const CRay3 &c_ray) |
bool | GetClosestEmbodiedEntityIntersectedByRay (SEmbodiedEntityIntersectionItem &s_item, const CRay3 &c_ray, CEmbodiedEntity &c_entity) |
INIT_VTABLE_FOR (CEntity) | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY (CEntity) | |
template<typename LABEL , typename PLUGIN , typename RETURN_VALUE > | |
RETURN_VALUE | CallEntityOperation (PLUGIN &t_plugin, CEntity &c_entity) |
Calls the operation corresponding to the given context and operand Skips the function call if the operation is missing in the vtable. | |
REGISTER_ENTITY (CFloorEntity,"floor","Carlo Pinciroli [ilpincy@gmail.com]","1.0","It contains the properties of the arena floor.","The floor entity contains the properties of the arena floor. In the current\n""implementation, it contains only the color of the floor. The floor color is\n""detected by the robots' ground sensors.\n\n""REQUIRED XML CONFIGURATION\n\n"" <arena ...>\n"" ...\n"" <floor id=\"floor\"\n"" source=\"SOURCE\" />\n"" ...\n"" </arena>\n\n""The 'id' attribute is necessary and must be unique among the entities. If two\n""entities share the same id, initialization aborts.\n""The 'source' attribute specifies where to get the color of the floor from. Its\n""value, here denoted as SOURCE, can assume the following values:\n\n"" image The color is calculated from the passed image file\n"" loop_functions The color is calculated calling the loop functions\n\n""When 'source' is set to 'image', as showed in the following example, you have\n""to specify the image path in the additional attribute 'path':\n\n"" <arena ...>\n"" ...\n"" <floor id=\"floor\"\n"" source=\"image\"\n"" path=\"/path/to/imagefile.ext\" />\n"" ...\n"" </arena>\n\n""Many image formats are available, such as PNG, JPG, BMP, GIF and many more.\n""Refer to the FreeImage webpage for a complete list of supported image formats\n""(http://freeimage.sourceforge.net/features.html).\n\n""When 'source' is set to 'loop_functions', as showed in the following example,\n""an image is implicitly created to be used as texture for graphical\n""visualizations. The algorithm that creates the texture needs to convert from\n""meters (in the arena) to pixels (of the texture). You control how many pixels\n""per meter are used with the attribute 'pixels_per_meter'. Clearly, the higher\n""value, the higher the quality, but also the slower the algorithm and the bigger\n""the texture. The algorithm is called only once at init time, so the fact that\n""it is slow is not so important. However, the image size is limited by OpenGL.\n""Every implementation has its own limit, and you should check yours if any\n""texture-related problem arises. Now for the example:\n\n"" <arena ...>\n"" ...\n"" <floor id=\"floor\"\n"" source=\"loop_functions\"\n"" pixels_per_meter=\"100\" />\n"" ...\n"" </arena>\n\n""OPTIONAL XML CONFIGURATION\n\n""None for the time being.\n","Usable") | |
REGISTER_SPACE_OPERATION (CSpaceOperationAddEntity, CSpaceOperationAddCFloorEntity, CFloorEntity) | |
REGISTER_STANDARD_SPACE_OPERATION_REMOVE_ENTITY (CFloorEntity) | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY (CPositionalEntity) | |
void | QueryShowPluginDescription (const std::string &str_query) |
void | QueryPlugins (const std::string &str_query) |
template<class TYPE > | |
void | QuerySearchPlugins (const std::string &str_query, TQueryResult &t_result) |
template<class TYPE > | |
void | QueryShowList (const std::string &str_header) |
RealNumberGenerator * | CreateGenerator (TConfigurationNode &t_tree) |
void * | LaunchThreadBalanceLength (void *p_data) |
void * | LaunchUpdateThreadBalanceQuantity (void *p_data) |
CRange< size_t > | CalculatePluginRangeForThread (size_t un_id, size_t un_tot_plugins) |
bool | NodeExists (TConfigurationNode &t_node, const std::string &str_tag) throw () |
Given a tree root node, returns true if one of its child nodes has the wanted name. | |
TConfigurationNode & | GetNode (TConfigurationNode &t_node, const std::string &str_tag) |
Given a tree root node, returns the first of its child nodes with the wanted name. | |
void | AddChildNode (TConfigurationNode &t_parent_node, TConfigurationNode &t_child_node) |
Adds an XML node as child of another XML node. | |
template<typename T > | |
void | GetNodeText (TConfigurationNode &t_node, T &t_buffer) |
Returns the text of the passed XML node A node text is as follows: | |
template<typename T > | |
void | GetNodeTextOrDefault (TConfigurationNode &t_node, T &t_buffer, const T &t_default) |
Returns the text of the passed XML node, or the passed default value. | |
bool | NodeAttributeExists (TConfigurationNode &t_node, const std::string &str_attribute) |
Returns true if the specified attribute of a node exists. | |
template<typename T > | |
void | GetNodeAttribute (TConfigurationNode &t_node, const std::string &str_attribute, T &t_buffer) |
Returns the value of a node's attribute. | |
void | GetNodeAttribute (TConfigurationNode &t_node, const std::string &str_attribute, bool &b_buffer) |
Returns the value of a node's attribute. | |
void | GetNodeAttribute (TConfigurationNode &t_node, const std::string &str_attribute, UInt8 &un_buffer) |
Returns the value of a node's attribute. | |
void | GetNodeAttribute (TConfigurationNode &t_node, const std::string &str_attribute, SInt8 &n_buffer) |
Returns the value of a node's attribute. | |
template<typename T > | |
void | GetNodeAttributeOrDefault (TConfigurationNode &t_node, const std::string &str_attribute, T &t_buffer, const T &t_default) |
Returns the value of a node's attribute, or the passed default value. | |
void | GetNodeAttributeOrDefault (TConfigurationNode &t_node, const std::string &str_attribute, bool &b_buffer, const bool b_default) |
Returns the value of a node's attribute, or the passed default value. | |
void | GetNodeAttributeOrDefault (TConfigurationNode &t_node, const std::string &str_attribute, UInt8 &un_buffer, const UInt8 un_default) |
Returns the value of a node's attribute, or the passed default value. | |
void | GetNodeAttributeOrDefault (TConfigurationNode &t_node, const std::string &str_attribute, SInt8 &n_buffer, const SInt8 n_default) |
Returns the value of a node's attribute, or the passed default value. | |
template<typename T > | |
void | SetNodeAttribute (TConfigurationNode &t_node, const std::string &str_attribute, const T &t_value) |
Sets the value of the wanted node's attribute. | |
void | SetNodeAttribute (TConfigurationNode &t_node, const std::string &str_attribute, const bool b_value) |
Sets the value of the wanted node's attribute. | |
void | SetNodeAttribute (TConfigurationNode &t_node, const std::string &str_attribute, const SInt8 n_value) |
Sets the value of the wanted node's attribute. | |
void | SetNodeAttribute (TConfigurationNode &t_node, const std::string &str_attribute, const UInt8 un_value) |
Sets the value of the wanted node's attribute. | |
template<typename T > | |
T * | any_cast (CAny *pc_any) |
Performs a cast on the any type to the desired type, when the any type is passed by non-const pointer. | |
template<typename T > | |
const T * | any_cast (const CAny *pc_any) |
Performs a cast on the any type to the desired type, when the any type is passed by const pointer. | |
template<typename T > | |
const T & | any_cast (const CAny &c_any) |
Performs a cast on the any type to the desired type, when the any type is passed by const reference. | |
template<typename T > | |
T & | any_cast (CAny &c_any) |
Performs a cast on the any type to the desired type, when the any type is passed by non-const reference. | |
std::ostream & | operator<< (std::ostream &c_os, const CByteArray &c_byte_array) |
std::ostream & | operator<< (std::ostream &c_os, const SLogColor &s_log_color) |
Stream operator that accepts the stream modifier. | |
DEFINE_ARGOS_STREAM_COLOR_HELPER (red, RED) | |
Bright red text modifier. | |
DEFINE_ARGOS_STREAM_COLOR_HELPER (green, GREEN) | |
Bright green text modifier. | |
DEFINE_ARGOS_STREAM_COLOR_HELPER (yellow, YELLOW) | |
Bright yellow text modifier. | |
DEFINE_ARGOS_STREAM_COLOR_HELPER (blue, BLUE) | |
Bright blue text modifier. | |
DEFINE_ARGOS_STREAM_COLOR_HELPER (magenta, MAGENTA) | |
Bright magenta text modifier. | |
DEFINE_ARGOS_STREAM_COLOR_HELPER (cyan, CYAN) | |
Bright cyan text modifier. | |
DEFINE_ARGOS_STREAM_COLOR_HELPER (white, WHITE) | |
Bright white text modifier. | |
std::ostream & | reset (std::ostream &c_os) |
Resets the text to the default settings. | |
CDegrees | ToDegrees (const CRadians &c_radians) |
Converts CRadians to CDegrees. | |
CRadians | ToRadians (const CDegrees &c_degrees) |
Converts CDegrees to CRadians. | |
Real | Sin (const CRadians &c_radians) |
Computes the sine of the passed value in radians. | |
Real | Cos (const CRadians &c_radians) |
Computes the cosine of the passed value in radians. | |
Real | Tan (const CRadians &c_radians) |
Computes the tangent of the passed value in radians. | |
CRadians | ASin (Real f_value) |
Computes the arcsine of the passed value. | |
CRadians | ACos (Real f_value) |
Computes the arccosine of the passed value. | |
CRadians | ATan2 (const Real f_y, const Real f_x) |
Computes the arctangent of the passed values. | |
template<typename T > | |
T | Abs (const T &t_v) |
Returns the absolute value of the passed argument. | |
SInt32 | Abs (SInt32 t_v) |
Returns the absolute value of the passed argument. | |
Real | Abs (Real t_v) |
Returns the absolute value of the passed argument. | |
template<typename T > | |
T | Min (const T &t_v1, const T &t_v2) |
Returns the smaller of the two passed arguments. | |
template<typename T > | |
T & | Min (T &t_v1, T &t_v2) |
Returns the smaller of the two passed arguments. | |
template<typename T > | |
T | Max (const T &t_v1, const T &t_v2) |
Returns the bigger of the two passed arguments. | |
template<typename T > | |
T & | Max (T &t_v1, T &t_v2) |
Returns the bigger of the two passed arguments. | |
template<typename T > | |
SInt32 | Sign (const T &t_v) |
Returns the sign of the value of the passed argument. | |
template<typename T > | |
T | Square (const T &t_v) |
Returns the square of the value of the passed argument. | |
SInt32 | Floor (Real f_value) |
Rounds the passed floating-point value to the closest lower integer. | |
SInt32 | Ceil (Real f_value) |
Rounds the passed floating-point value to the closest higher integer. | |
SInt32 | Round (Real f_value) |
Rounds the passed floating-point value to the closest integer. | |
SInt32 | RoundClosestToZero (Real f_value) |
Rounds the passed floating-point value to the integer closest to zero. | |
bool | DoubleEqAbsolute (Real f_value1, Real f_value2, Real f_epsilon) |
Tests whether a floating-point value is lower than another. | |
bool | DoubleEq (Real f_value1, Real f_value2) |
Tests whether a floating-point value is lower than another. | |
Real | Interpolate (Real f_x, const std::vector< std::pair< Real, Real > > &c_points) |
Return the value of the linear interpolation. | |
Real | SquareDistance (const CVector2 &c_v1, const CVector2 &c_v2) |
Computes the square distance between the passed vectors. | |
Real | Distance (const CVector2 &c_v1, const CVector2 &c_v2) |
Computes the distance between the passed vectors. | |
Real | SquareDistance (const CVector3 &c_v1, const CVector3 &c_v2) |
Computes the square distance between the passed vectors. | |
Real | Distance (const CVector3 &c_v1, const CVector3 &c_v2) |
Computes the distance between the passed vectors. | |
template<typename DERIVED , typename BASE > | |
size_t | GetTag () |
Returns the value of the tag associated to DERIVED | |
template<typename CONTEXT , typename BASE , typename FUNCTION > | |
CVTable< CONTEXT, BASE, FUNCTION > & | GetVTable () |
Function that returns a reference to the static vtable. | |
void | DumpResourceUsageHumanReadable (std::ostream &c_os, const ::rusage &t_resources) |
void | DumpResourceUsageAsTableRow (std::ostream &c_os, const ::rusage &t_resources) |
::rusage | operator- (const ::rusage &t_resource1, const ::rusage &t_resource2) |
void | Tokenize (const std::string &str_string, std::vector< std::string > &vec_tokens, const std::string &str_delimiters=" ") |
Tokenizes the given string according to the wanted delimiters (by default just a " "). | |
std::string | StringToUpperCase (const std::string &str_string) |
Converts a string to upper case. | |
std::string | StringToLowerCase (const std::string &str_string) |
Converts a string to lower case. | |
void | Replace (std::string &str_buffer, const std::string &str_original, const std::string &str_new) |
Searches into str_buffer for occurrences of str_original and substitutes them with str_new. | |
bool | MatchPattern (const std::string &str_input, const std::string str_pattern) |
Returns true if str_pattern is matched by str_input. | |
std::string & | ExpandEnvVariables (std::string &str_buffer) |
Searches into str_buffer for occurrences of an environment variable of the form $VAR and substitutes them with the value of the variable. | |
template<typename T > | |
std::string | ToString (const T &t_value) |
Converts the given parameter to a std::string . | |
template<typename T > | |
T | FromString (const std::string &str_value) |
Converts the given std::string parameter to the wanted type. | |
template<typename T > | |
void | ParseValues (std::istream &str_input, UInt32 un_num_fields, T *pt_field_buffer, const char ch_delimiter= '\n') |
template<typename T > | |
void | ParseValues (const std::string &str_input, const UInt32 un_num_fields, T *pt_field_buffer, const char ch_delimiter= '\n') |
REGISTER_CONTROLLER (CLuaController,"lua_controller") | |
int | LuaRNGBernoulli (lua_State *pt_state) |
int | LuaRNGUniform (lua_State *pt_state) |
int | LuaRNGUniformInt (lua_State *pt_state) |
int | LuaRNGExponential (lua_State *pt_state) |
int | LuaRNGGaussian (lua_State *pt_state) |
void | PrintStackEntry (CARGoSLog &c_log, lua_State *pt_state, SInt32 n_index) |
void | RecursivePrintGlobals (CARGoSLog &c_log, lua_State *pt_state, size_t un_depth) |
REGISTER_STANDARD_DYNAMICS2D_OPERATIONS_ON_ENTITY (CEPuckEntity, CDynamics2DEPuckModel) | |
REGISTER_ENTITY (CEPuckEntity,"e-puck","Carlo Pinciroli [ilpincy@gmail.com]","1.0","The e-puck robot.","The e-puck is a open-hardware, extensible robot intended for education. In its\n""simplest form, it is a two-wheeled robot equipped with proximity sensors,\n""ground sensors, light sensors, a microphone, a frontal camera, and a ring of\n""red LEDs. More information is available at http://www.epuck.org\n\n""REQUIRED XML CONFIGURATION\n\n"" <arena ...>\n"" ...\n"" <e-puck id=\"fb0\">\n"" <body position=\"0.4,2.3,0.25\" orientation=\"45,90,0\" />\n"" <controller config=\"mycntrl\" />\n"" </e-puck>\n"" ...\n"" </arena>\n\n""The 'id' attribute is necessary and must be unique among the entities. If two\n""entities share the same id, initialization aborts.\n""The 'body/position' attribute specifies the position of the pucktom point of the\n""e-puck in the arena. When the robot is untranslated and unrotated, the\n""pucktom point is in the origin and it is defined as the middle point between\n""the two wheels on the XY plane and the lowest point of the robot on the Z\n""axis, that is the point where the wheels touch the floor. The attribute values\n""are in the X,Y,Z order.\n""The 'body/orientation' attribute specifies the orientation of the e-puck. All\n""rotations are performed with respect to the pucktom point. The order of the\n""angles is Z,Y,X, which means that the first number corresponds to the rotation\n""around the Z axis, the second around Y and the last around X. This reflects\n""the internal convention used in ARGoS, in which rotations are performed in\n""that order. Angles are expressed in degrees. When the robot is unrotated, it\n""is oriented along the X axis.\n""The 'controller/config' attribute is used to assign a controller to the\n""e-puck. The value of the attribute must be set to the id of a previously\n""defined controller. Controllers are defined in the <controllers> XML subtree.\n\n""OPTIONAL XML CONFIGURATION\n\n""None for the time being.\n","Under development") | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_COMPOSABLE (CEPuckEntity) | |
REGISTER_QTOPENGL_ENTITY_OPERATION (CQTOpenGLOperationDrawNormal, CQTOpenGLOperationDrawEPuckNormal, CEPuckEntity) | |
REGISTER_QTOPENGL_ENTITY_OPERATION (CQTOpenGLOperationDrawSelected, CQTOpenGLOperationDrawEPuckSelected, CEPuckEntity) | |
std::ostream & | operator<< (std::ostream &c_os, const CCI_FootBotBaseGroundSensor::SReading &s_reading) |
std::ostream & | operator<< (std::ostream &c_os, const CCI_FootBotBaseGroundSensor::TReadings &t_readings) |
std::ostream & | operator<< (std::ostream &c_os, const CCI_FootBotLightSensor::SReading &s_reading) |
std::ostream & | operator<< (std::ostream &c_os, const CCI_FootBotMotorGroundSensor::SReading &s_reading) |
std::ostream & | operator<< (std::ostream &c_os, const CCI_FootBotProximitySensor::SReading &s_reading) |
REGISTER_STANDARD_DYNAMICS2D_OPERATIONS_ON_ENTITY (CFootBotEntity, CDynamics2DFootBotModel) | |
REGISTER_SENSOR (CFootBotBaseGroundRotZOnlySensor,"footbot_base_ground","rot_z_only","Carlo Pinciroli [ilpincy@gmail.com]","1.0","The foot-bot base ground sensor.","This sensor accesses the foot-bot base ground sensor. For a complete description\n""of its usage, refer to the ci_footbot_base_ground_sensor.h interface. For the XML\n""configuration, refer to the default ground sensor.\n","Usable") | |
REGISTER_ACTUATOR (CFootBotDistanceScannerDefaultActuator,"footbot_distance_scanner","default","Carlo Pinciroli [ilpincy@gmail.com]","1.0","The foot-bot distance scanner actuator.","This actuator controls the foot-bot distance scanner. For a complete\n""description of its usage, refer to the ci_footbot_distance_scanner_actuator\n""file.\n\n""REQUIRED XML CONFIGURATION\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <actuators>\n"" ...\n"" <footbot_distance_scanner implementation=\"default\" />\n"" ...\n"" </actuators>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None for the time being.\n","Usable") | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY (CFootBotDistanceScannerEquippedEntity) | |
REGISTER_SENSOR (CFootBotDistanceScannerRotZOnlySensor,"footbot_distance_scanner","rot_z_only","Carlo Pinciroli [ilpincy@gmail.com]","1.0","The foot-bot distance scanner sensor (optimized for 2D).","This sensor accesses the foot-bot distance scanner sensor. For a complete\n""description of its usage, refer to the common interface.\n""In this implementation, the readings are calculated under the assumption that\n""the foot-bot is always parallel to the XY plane, i.e., it rotates only around\n""the Z axis. This implementation is faster than a 3D one and should be used\n""only when the assumption about the foot-bot rotation holds.\n\n""REQUIRED XML CONFIGURATION\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <footbot_distance_scanner implementation=\"rot_z_only\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to draw the rays shot by the distance scanner 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=\"true\"' in the\n""XML as in this example:\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <footbot_distance_scanner implementation=\"rot_z_only\"\n"" show_rays=\"true\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n","Usable") | |
REGISTER_ENTITY (CFootBotEntity,"foot-bot","Carlo Pinciroli [ilpincy@gmail.com]","1.0","The foot-bot robot, developed in the Swarmanoid project.","The foot-bot is a wheeled robot developed in the Swarmanoid Project. It is a\n""modular robot with a rich set of sensors and actuators. For more information,\n""refer to the dedicated web page\n""(http://www.swarmanoid.org/swarmanoid_hardware.php).\n\n""REQUIRED XML CONFIGURATION\n\n"" <arena ...>\n"" ...\n"" <foot-bot id=\"fb0\">\n"" <body position=\"0.4,2.3,0.25\" orientation=\"45,0,0\" />\n"" <controller config=\"mycntrl\" />\n"" </foot-bot>\n"" ...\n"" </arena>\n\n""The 'id' attribute is necessary and must be unique among the entities. If two\n""entities share the same id, initialization aborts.\n""The 'body/position' attribute specifies the position of the bottom point of the\n""foot-bot in the arena. When the robot is untranslated and unrotated, the\n""bottom point is in the origin and it is defined as the middle point between\n""the two wheels on the XY plane and the lowest point of the robot on the Z\n""axis, that is the point where the wheels touch the floor. The attribute values\n""are in the X,Y,Z order.\n""The 'body/orientation' attribute specifies the orientation of the foot-bot. All\n""rotations are performed with respect to the bottom point. The order of the\n""angles is Z,Y,X, which means that the first number corresponds to the rotation\n""around the Z axis, the second around Y and the last around X. This reflects\n""the internal convention used in ARGoS, in which rotations are performed in\n""that order. Angles are expressed in degrees. When the robot is unrotated, it\n""is oriented along the X axis.\n""The 'controller/config' attribute is used to assign a controller to the\n""foot-bot. The value of the attribute must be set to the id of a previously\n""defined controller. Controllers are defined in the <controllers> XML subtree.\n\n""OPTIONAL XML CONFIGURATION\n\n""You can set the emission range of the range-and-bearing system. By default, a\n""message sent by a foot-bot can be received up to 3m. By using the 'rab_range'\n""attribute, you can change it to, i.e., 4m as follows:\n\n"" <arena ...>\n"" ...\n"" <foot-bot id=\"fb0\" rab_range=\"4\">\n"" <body position=\"0.4,2.3,0.25\" orientation=\"45,0,0\" />\n"" <controller config=\"mycntrl\" />\n"" </foot-bot>\n"" ...\n"" </arena>\n\n""You can also change the aperture of the omnidirectional camera. The aperture is\n""set to 70 degrees by default. The tip of the omnidirectional camera is placed on\n""top of the robot (h=0.289), and with an aperture of 70 degrees the range on the\n""ground is r=h*tan(aperture)=0.289*tan(70)=0.794m. To change the aperture to 80\n""degrees, use the 'omnidirectional_camera_aperture' as follows:\n\n"" <arena ...>\n"" ...\n"" <foot-bot id=\"fb0\" omnidirectional_camera_aperture=\"80\">\n"" <body position=\"0.4,2.3,0.25\" orientation=\"45,0,0\" />\n"" <controller config=\"mycntrl\" />\n"" </foot-bot>\n"" ...\n"" </arena>\n\n","Under development") | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_COMPOSABLE (CFootBotEntity) | |
REGISTER_SENSOR (CFootBotLightRotZOnlySensor,"footbot_light","rot_z_only","Carlo Pinciroli [ilpincy@gmail.com]","1.0","The foot-bot light sensor (optimized for 2D).","This sensor accesses a set of light sensors. The sensors all return a value\n""between 0 and 1, where 0 means nothing within range and 1 means the perceived\n""light saturates the sensor. Values between 0 and 1 depend on the distance of\n""the perceived light. Each reading R is calculated with R=(I/x)^2, where x is the\n""distance between a sensor and the light, and I is the reference intensity of the\n""perceived light. The reference intensity corresponds to the minimum distance at\n""which the light saturates a sensor. The reference intensity depends on the\n""individual light, and it is set with the \"intensity\" attribute of the light\n""entity. In case multiple lights are present in the environment, each sensor\n""reading is calculated as the sum of the individual readings due to each light.\n""In other words, light wave interference is not taken into account. In\n""controllers, you must include the ci_light_sensor.h header.\n\n""REQUIRED XML CONFIGURATION\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <light implementation=\"rot_z_only\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to draw the rays shot by the light 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"" <light implementation=\"rot_z_only\"\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 sensors, thus matching the\n""characteristics of a real robot better. This can be done with the attribute\n""\"noise_level\", whose allowed range is in [-1,1] and is added to the calculated\n""reading. The final sensor reading is always normalized in the [0-1] range.\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <light implementation=\"rot_z_only\"\n"" noise_level=\"0.1\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None.\n","Usable") | |
REGISTER_SENSOR (CFootBotMotorGroundRotZOnlySensor,"footbot_motor_ground","rot_z_only","Carlo Pinciroli [ilpincy@gmail.com]","1.0","The foot-bot motor ground sensor.","This sensor accesses the foot-bot motor ground sensor. For a complete description\n""of its usage, refer to the ci_footbot_motor_ground_sensor.h interface. For the XML\n""configuration, refer to the default ground sensor.\n","Usable") | |
REGISTER_SENSOR (CFootBotProximityDefaultSensor,"footbot_proximity","default","Carlo Pinciroli [ilpincy@gmail.com]","1.0","The foot-bot proximity sensor.","This sensor accesses the foot-bot proximity sensor. For a complete description\n""of its usage, refer to the ci_footbot_proximity_sensor.h interface. For the XML\n""configuration, refer to the default proximity sensor.\n","Usable") | |
REGISTER_ACTUATOR (CFootBotTurretDefaultActuator,"footbot_turret","default","Carlo Pinciroli [ilpincy@gmail.com]","1.0","The foot-bot turret actuator.","This actuator controls the foot-bot turret. For a complete\n""description of its usage, refer to the ci_footbot_turret_actuator\n""file.\n\n""REQUIRED XML CONFIGURATION\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <actuators>\n"" ...\n"" <footbot_turret implementation=\"default\" />\n"" ...\n"" </actuators>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None for the time being.\n","Usable") | |
REGISTER_SENSOR (CFootBotTurretEncoderDefaultSensor,"footbot_turret_encoder","default","Carlo Pinciroli [ilpincy@gmail.com]","1.0","The foot-bot turret encoder sensor.","This sensor accesses the foot-bot turret encoder. For a complete\n""description of its usage, refer to the ci_footbot_turret_encoder_sensor\n""file.\n\n""REQUIRED XML CONFIGURATION\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <footbot_turret implementation=\"default\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None for the time being.\n","Usable") | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY (CFootBotTurretEntity) | |
REGISTER_QTOPENGL_ENTITY_OPERATION (CQTOpenGLOperationDrawNormal, CQTOpenGLOperationDrawFootBotNormal, CFootBotEntity) | |
REGISTER_QTOPENGL_ENTITY_OPERATION (CQTOpenGLOperationDrawSelected, CQTOpenGLOperationDrawFootBotSelected, CFootBotEntity) | |
REGISTER_ACTUATOR (CRangeAndBearingDefaultActuator,"range_and_bearing","default","Carlo Pinciroli [ilpincy@gmail.com]","1.0","The range and bearing actuator.","This actuator allows robots to perform situated communication, i.e., a form of\n""wireless communication whereby the receiver also knows the location of the\n""sender with respect to its own frame of reference.\n""This actuator allows a robot to send messages. To receive messages, you need\n""the range-and-bearing sensor.\n""To use this actuator, in controllers you must include the\n""ci_range_and_bearing_actuator.h header.\n\n""REQUIRED XML CONFIGURATION\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <actuators>\n"" ...\n"" <range_and_bearing implementation=\"default\" />\n"" ...\n"" </actuators>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None for the time being.\n","Usable") | |
REGISTER_ENTITY (CBoxEntity,"box","Carlo Pinciroli [ilpincy@gmail.com]","1.0","A stretchable 3D box.","The box entity can be used to model walls, obstacles or box-shaped grippable\n""objects. It can be movable or not. A movable object can be pushed and gripped.\n""An unmovable object is pretty much like a wall.\n\n""REQUIRED XML CONFIGURATION\n\n""To declare an unmovable object (i.e., a wall) you need the following:\n\n"" <arena ...>\n"" ...\n"" <box id=\"box1\" size=\"0.75,0.1,0.5\" movable=\"false\">\n"" <body position=\"0.4,2.3,0\" orientation=\"45,0,0\" />\n"" </box>\n"" ...\n"" </arena>\n\n""To declare a movable object you need the following:\n\n"" <arena ...>\n"" ...\n"" <box id=\"box1\" size=\"0.75,0.1,0.5\" movable=\"true\" mass=\"2.5\">\n"" <body position=\"0.4,2.3,0\" orientation=\"45,0,0\" />\n"" </box>\n"" ...\n"" </arena>\n\n""The 'id' attribute is necessary and must be unique among the entities. If two\n""entities share the same id, initialization aborts.\n""The 'size' attribute specifies the size of the box along the three axes, in\n""the X,Y,Z order. When you add a box, imagine it initially unrotated and\n""centered in the origin. The size, then, corresponds to the extent along the X,\n""Y and Z axes.\n""The 'movable' attribute specifies whether or not the object is movable. When\n""set to 'false', the object is unmovable: if another object pushes against it,\n""the box won't move. When the attribute is set to 'true', the box is movable\n""upon pushing or gripping. When an object is movable, the 'mass' attribute is\n""required.\n""The 'mass' attribute quantifies the mass of the box in kg.\n""The 'body/position' attribute specifies the position of the base of the box in\n""the arena. The three values are in the X,Y,Z order.\n""The 'body/orientation' attribute specifies the orientation of the 3D box. All\n""rotations are performed with respect to the center of mass. The order of the\n""angles is Z,Y,X, which means that the first number corresponds to the rotation\n""around the Z axis, the second around Y and the last around X. This reflects\n""the internal convention used in ARGoS, in which rotations are performed in\n""that order. Angles are expressed in degrees.\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to add any number of colored LEDs to the box. In this way,\n""the box is visible with a robot camera. The position and color of the\n""LEDs is specified with the following syntax:\n\n"" <arena ...>\n"" ...\n"" <box id=\"box1\" size=\"0.75,0.1,0.5\" movable=\"true\" mass=\"2.5\">\n"" <body position=\"0.4,2.3,0\" orientation=\"45,0,0\" />\n"" <leds>\n"" <led position=\" 0.15, 0.15,0.15\" color=\"white\" />\n"" <led position=\"-0.15, 0.15,0\" color=\"red\" />\n"" <led position=\" 0.15, 0.15,0\" color=\"blue\" />\n"" <led position=\" 0.15,-0.15,0\" color=\"green\" />\n"" </leds>\n"" </box>\n"" ...\n"" </arena>\n\n""In the example, four LEDs are added to the box. The LEDs have\n""different colors and are located one on the top and three\n""around the box.\n","Usable") | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_COMPOSABLE (CBoxEntity) | |
REGISTER_ENTITY (CCylinderEntity,"cylinder","Carlo Pinciroli [ilpincy@gmail.com]","1.0","A stretchable cylinder.","The cylinder entity can be used to model obstacles or cylinder-shaped\n""grippable objects. The cylinder has a red LED on the center of one\n""of the circular surfaces, that allows perception using the cameras.\n""The cylinder can be movable or not. A movable object can be pushed\n""and gripped. An unmovable object is pretty much like a column.\n\n""REQUIRED XML CONFIGURATION\n\n""To declare an unmovable object (i.e., a column) you need the following:\n\n"" <arena ...>\n"" ...\n"" <cylinder id=\"cyl1\" radius=\"0.8\" height=\"0.5\" movable=\"false\">\n"" <body position=\"0.4,2.3,0\" orientation=\"45,0,0\" />\n"" </cylinder>\n"" ...\n"" </arena>\n\n""To declare a movable object you need the following:\n\n"" <arena ...>\n"" ...\n"" <cylinder id=\"cyl1\" radius=\"0.8\" height=\"0.5\"\n"" movable=\"true\" mass=\"2.5\">\n"" <body position=\"0.4,2.3,0\" orientation=\"45,0,0\" />\n"" </cylinder>\n"" ...\n"" </arena>\n\n""The 'id' attribute is necessary and must be unique among the entities. If two\n""entities share the same id, initialization aborts.\n""The 'radius' and 'height' attributes specify the size of the cylinder. When\n""you add a cylinder, imagine it initially unrotated and centered in the origin.\n""The base of the cylinder, then, is parallel to the XY plane and its height\n""goes with the Z axis.\n""The 'movable' attribute specifies whether or not the object is movable. When\n""set to 'false', the object is unmovable: if another object pushes against it,\n""the cylinder won't move. When the attribute is set to 'true', the cylinder is\n""movable upon pushing or gripping. When an object is movable, the 'mass'\n""attribute is required.\n""The 'mass' attribute quantifies the mass of the cylinder in kg.\n""The 'body/position' attribute specifies the position of the base of the\n""cylinder in the arena. The three values are in the X,Y,Z order.\n""The 'body/orientation' attribute specifies the orientation of the cylinder. All\n""rotations are performed with respect to the center of mass. The order of the\n""angles is Z,Y,X, which means that the first number corresponds to the rotation\n""around the Z axis, the second around Y and the last around X. This reflects\n""the internal convention used in ARGoS, in which rotations are performed in\n""that order. Angles are expressed in degrees.\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to add any number of colored LEDs to the cylinder. In this way,\n""the cylinder is visible with a robot camera. The position and color of the\n""LEDs is specified with the following syntax:\n\n"" <arena ...>\n"" ...\n"" <cylinder id=\"cyl1\" radius=\"0.8\" height=\"0.5\"\n"" movable=\"true\" mass=\"2.5\">\n"" <body position=\"0.4,2.3,0\" orientation=\"45,0,0\" />\n"" <leds>\n"" <led position=\" 0.15, 0.15,0.15\" color=\"white\" />\n"" <led position=\"-0.15, 0.15,0\" color=\"red\" />\n"" <led position=\" 0.15, 0.15,0\" color=\"blue\" />\n"" <led position=\" 0.15,-0.15,0\" color=\"green\" />\n"" </leds>\n"" </cylinder>\n"" ...\n"" </arena>\n\n""In the example, four LEDs are added around the cylinder. The LEDs have\n""different colors and are located around the cylinder.\n","Usable") | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_COMPOSABLE (CCylinderEntity) | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY (CGripperEquippedEntity) | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY (CGroundSensorEquippedEntity) | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY (CLEDEntity) | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_COMPOSABLE (CLEDEquippedEntity) | |
REGISTER_ENTITY (CLightEntity,"light","Carlo Pinciroli [ilpincy@gmail.com]","1.0","A colored light.","The light entity is an entity that emits a light detectable by a robot camera\n""(as a normal LED) or by light sensors. A light is bodyless, therefore it must\n""not be added to physics engines.\n""A light is characterized by a color and an intensity. The color of the light\n""is perceived by cameras. The intensity modifies the reading of the light\n""sensors. The higher the intensity, the closer the light is perceived.\n\n""REQUIRED XML CONFIGURATION\n\n"" <arena ...>\n"" ...\n"" <light id=\"light0\"\n"" position=\"0.4,2.3,0.25\"\n"" orientation=\"0,0,0\"\n"" color=\"yellow\"\n"" intensity=\"1.0\"\n"" medium=\"leds\"/>\n"" ...\n"" </arena>\n\n""The 'id' attribute is necessary and must be unique among the entities. If two\n""entities share the same id, initialization aborts.\n""The 'position' attribute specifies the position of the center of the light.\n""The attribute values are in the X,Y,Z order.\n""The 'orientation' attribute specifies the orientation of the light. At the\n""moment this attribute is mandatory but its value is ignored. In the future,\n""it will be used to implement a directional light.\n""The 'color' attribute specifies the color of the light.\n""The 'intensity' attribute sets the intensity of the light. When the value is\n""1.0, the light emits a normal amount of light. When it is 0.5 the amount of\n""light is half, and when the value is 2.0 the emission is doubled. The\n""intensity of the light affects the readings of the light sensors but not\n""those of the cameras.\n""The 'medium' attribute is used to add the light the corresponding LED medium.\n\n""OPTIONAL XML CONFIGURATION\n\n""None.\n","Usable") | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY (CLightEntity) | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY (CLightSensorEquippedEntity) | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY (COmnidirectionalCameraEquippedEntity) | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY (CProximitySensorEquippedEntity) | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY (CRABEquippedEntity) | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY (CWheeledEntity) | |
REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY (CWiFiEquippedEntity) | |
REGISTER_MEDIUM (CLEDMedium,"led","Carlo Pinciroli [ilpincy@gmail.com]","1.0","Manages the LEDs.","This medium is required to manage the LED entities, thus allowing the\n""associated camera sensors to work properly. If you intend to use a camera\n""sensor that detects colored blobs, you must add this medium to the XML\n""configuration file.\n\n""REQUIRED XML CONFIGURATION\n\n""<led id=\"led\" />\n\n""OPTIONAL XML CONFIGURATION\n\n""None for the time being\n","Under development") | |
REGISTER_MEDIUM (CRABMedium,"range_and_bearing","Carlo Pinciroli [ilpincy@gmail.com]","1.0","It simulates the communication across range-and-bearing-equipped robots.","This medium is required to simulate communication across range-and-bearing-\n""equipped robots. You need to add it to the <media> section every time you add\n""a range-and-bearing-equipped entity whose controller has a range-and-bearing\n""device activated.\n\n""REQUIRED XML CONFIGURATION\n\n""<range_and_bearing id=\"rab\" />\n\n""OPTIONAL XML CONFIGURATION\n\n""None for the time being\n","Under development") | |
REGISTER_STANDARD_DYNAMICS2D_OPERATIONS_ON_ENTITY (CBoxEntity, CDynamics2DBoxModel) | |
REGISTER_STANDARD_DYNAMICS2D_OPERATIONS_ON_ENTITY (CCylinderEntity, CDynamics2DCylinderModel) | |
REGISTER_PHYSICS_ENGINE (CDynamics2DEngine,"dynamics2d","Carlo Pinciroli [ilpincy@gmail.com]","1.0","A 2D dynamics physics engine.","This physics engine is a 2D dynamics engine based on the Chipmunk library\n""(http://code.google.com/p/chipmunk-physics).\n\n""REQUIRED XML CONFIGURATION\n\n"" <physics_engines>\n"" ...\n"" <dynamics2d id=\"dyn2d\" />\n"" ...\n"" </physics_engines>\n\n""The 'id' attribute is necessary and must be unique among the physics engines.\n""It is used in the subsequent section <arena_physics> to assign entities to\n""physics engines. If two engines share the same id, initialization aborts.\n\n""OPTIONAL XML CONFIGURATION\n\n""The plane of the physics engine can be translated on the Z axis, to simulate\n""for example hovering objects, such as flying robots. To translate the plane\n""2m up the Z axis, use the 'elevation' attribute as follows:\n\n"" <physics_engines>\n"" ...\n"" <dynamics2d id=\"dyn2d\"\n"" elevation=\"2.0\" />\n"" ...\n"" </physics_engines>\n\n""When not specified, the elevation is zero, which means that the plane\n""corresponds to the XY plane.\n","Under development") | |
int | BeginCollisionBetweenGripperAndGrippable (cpArbiter *pt_arb, cpSpace *pt_space, void *p_data) |
int | ManageCollisionBetweenGripperAndGrippable (cpArbiter *pt_arb, cpSpace *pt_space, void *p_data) |
void | AddConstraintBetweenGripperAndGrippable (cpSpace *pt_space, void *p_obj, void *p_data) |
void | RemoveConstraintBetweenGripperAndGrippable (cpSpace *pt_space, void *p_obj, void *p_data) |
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.","TODO\n\n","Usable") | |
REGISTER_SENSOR (CDifferentialSteeringDefaultSensor,"differential_steering","default","Carlo Pinciroli [ilpincy@gmail.com]","1.0","A generic differential steering sensor.","This sensor returns the current position and orientation of a robot. This sensor\n""can be used with any robot, since it accesses only the body component. In\n""controllers, you must include the ci_differential_steering_sensor.h header.\n\n""REQUIRED XML CONFIGURATION\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <differential_steering implementation=\"default\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to add uniform noise to the sensor, thus matching the\n""characteristics of a real robot better. You can add noise through the\n""attributes 'vel_noise_range' and 'dist_noise_range'.\n""Attribute 'vel_noise_range' regulates the noise range on the velocity returned\n""by the sensor. Attribute 'dist_noise_range' sets the noise range on the\n""distance covered by the wheels.\n""value for rotation.\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <differential_steering implementation=\"default\"\n"" vel_noise_range=\"-0.1:0.2\"\n"" dist_noise_range=\"-10.5:13.7\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None.\n","Usable") | |
REGISTER_SENSOR (CGroundRotZOnlySensor,"ground","rot_z_only","Carlo Pinciroli [ilpincy@gmail.com]","1.0","A generic ground sensor (optimized for 2D).","This sensor accesses a set of ground sensors. The sensors all return a value\n""between 0 and 1, where 0 means black and 1 means white. Depending on the type\n""of ground sensor, readings can either take 0 or 1 as value (bw sensors) or a\n""value in between (grayscale sensors). In controllers, you must include the\n""ci_ground_sensor.h header.\n\n""REQUIRED XML CONFIGURATION\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <ground implementation=\"rot_z_only\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to add uniform noise to the sensors, thus matching the\n""characteristics of a real robot better. This can be done with the attribute\n""\"noise_level\", whose allowed range is in [-1,1] and is added to the calculated\n""reading. The final sensor reading is always normalized in the [0-1] range.\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <ground implementation=\"rot_z_only\"\n"" noise_level=\"0.1\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None.\n","Usable") | |
REGISTER_SENSOR (CLightDefaultSensor,"light","default","Carlo Pinciroli [ilpincy@gmail.com]","1.0","A generic light sensor.","This sensor accesses a set of light sensors. The sensors all return a value\n""between 0 and 1, where 0 means nothing within range and 1 means the perceived\n""light saturates the sensor. Values between 0 and 1 depend on the distance of\n""the perceived light. Each reading R is calculated with R=(I/x)^2, where x is the\n""distance between a sensor and the light, and I is the reference intensity of the\n""perceived light. The reference intensity corresponds to the minimum distance at\n""which the light saturates a sensor. The reference intensity depends on the\n""individual light, and it is set with the \"intensity\" attribute of the light\n""entity. In case multiple lights are present in the environment, each sensor\n""reading is calculated as the sum of the individual readings due to each light.\n""In other words, light wave interference is not taken into account. In\n""controllers, you must include the ci_light_sensor.h header.\n\n""REQUIRED XML CONFIGURATION\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <light implementation=\"default\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to draw the rays shot by the light 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"" <light implementation=\"default\"\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 sensors, thus matching the\n""characteristics of a real robot better. This can be done with the attribute\n""\"noise_level\", whose allowed range is in [-1,1] and is added to the calculated\n""reading. The final sensor reading is always normalized in the [0-1] range.\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <light implementation=\"default\"\n"" noise_level=\"0.1\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None.\n","Usable") | |
REGISTER_SENSOR (CPositioningDefaultSensor,"positioning","default","Carlo Pinciroli [ilpincy@gmail.com]","1.0","A generic positioning sensor.","This sensor returns the current position and orientation of a robot. This sensor\n""can be used with any robot, since it accesses only the body component. In\n""controllers, you must include the ci_positioning_sensor.h header.\n\n""REQUIRED XML CONFIGURATION\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <positioning implementation=\"default\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to add uniform noise to the sensor, thus matching the\n""characteristics of a real robot better. You can add noise through the\n""attributes 'pos_noise_range', 'angle_noise_range', and 'axis_noise_range'.\n""Attribute 'pos_noise_range' regulates the noise range on the position returned\n""by the sensor. Attribute 'angle_noise_range' sets the noise range on the angle\n""(values expressed in degrees). Attribute 'axis_noise_range' sets the noise for\n""the rotation axis. Angle and axis are used to calculate a quaternion, which is\n""the actual returned value for rotation.\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <positioning implementation=\"default\"\n"" pos_noise_range=\"-0.1:0.2\"\n"" angle_noise_range=\"-10.5:13.7\"\n"" axis_noise_range=\"-0.3:0.4\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None.\n","Usable") | |
REGISTER_SENSOR (CProximityDefaultSensor,"proximity","default","Carlo Pinciroli [ilpincy@gmail.com]","1.0","A generic proximity sensor.","This sensor accesses a set of proximity sensors. The sensors all return a value\n""between 0 and 1, where 0 means nothing within range and 1 means an external\n""object is touching the sensor. Values between 0 and 1 depend on the distance of\n""the occluding object, and are calculated as value=exp(-distance). In\n""controllers, you must include the ci_proximity_sensor.h header.\n\n""REQUIRED XML CONFIGURATION\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <proximity implementation=\"default\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to draw the rays shot by the proximity 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"" <proximity implementation=\"default\"\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 sensors, thus matching the\n""characteristics of a real robot better. This can be done with the attribute\n""\"noise_level\", whose allowed range is in [-1,1] and is added to the calculated\n""reading. The final sensor reading is always normalized in the [0-1] range.\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <proximity implementation=\"default\"\n"" noise_level=\"0.1\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n","Usable") | |
REGISTER_SENSOR (CRangeAndBearingMediumSensor,"range_and_bearing","medium","Carlo Pinciroli [ilpincy@gmail.com]","1.0","The range-and-bearing sensor.","This sensor allows robots to perform situated communication, i.e., a form of\n""wireless communication whereby the receiver also knows the location of the\n""sender with respect to its own frame of reference.\n""This implementation of the range-and-bearing sensor is associated to the\n""range-and-bearing medium. To be able to use this sensor, you must add a\n""range-and-bearing medium to the <media> section.\n""This sensor allows a robot to receive messages. To send messages, you need the\n""range-and-bearing actuator.\n""To use this sensor, in controllers you must include the\n""ci_range_and_bearing_sensor.h header.\n\n""REQUIRED XML CONFIGURATION\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <range_and_bearing implementation=\"medium\"\n"" medium=\"rab\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""The 'medium' attribute must be set to the id of the range-and-bearing medium\n""declared in the <media> section.\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to draw the rays shot by the range-and-bearing sensor in the\n""OpenGL visualization. This can be useful for sensor debugging but also to\n""understand what's wrong in your controller. In OpenGL, the rays are drawn in\n""cyan when two robots are communicating.\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"" <range_and_bearing implementation=\"medium\"\n"" medium=\"rab\"\n"" show_rays=\"true\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""It is possible to add noise to the readings, thus matching the characteristics\n""of a real robot better. Noise is implemented as a random vector added to the\n""vector joining two communicating robots. For the random vector, the inclination\n""and azimuth are chosen uniformly in the range [0:PI] and [0:2PI], respectively,\n""and the length is drawn from a Gaussian distribution. The standard deviation of\n""the Gaussian distribution is expressed in meters and set by the user through\n""the attribute 'noise_std_dev' as shown in this example:\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <range_and_bearing implementation=\"medium\"\n"" medium=\"rab\"\n"" noise_std_dev=\"0.1\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n","Usable") | |
REGISTER_QTOPENGL_ENTITY_OPERATION (CQTOpenGLOperationDrawNormal, CQTOpenGLOperationDrawBoxNormal, CBoxEntity) | |
REGISTER_QTOPENGL_ENTITY_OPERATION (CQTOpenGLOperationDrawSelected, CQTOpenGLOperationDrawBoxSelected, CBoxEntity) | |
REGISTER_QTOPENGL_ENTITY_OPERATION (CQTOpenGLOperationDrawNormal, CQTOpenGLOperationDrawCylinderNormal, CCylinderEntity) | |
REGISTER_QTOPENGL_ENTITY_OPERATION (CQTOpenGLOperationDrawSelected, CQTOpenGLOperationDrawCylinderSelected, CCylinderEntity) | |
REGISTER_QTOPENGL_ENTITY_OPERATION (CQTOpenGLOperationDrawNormal, CQTOpenGLOperationDrawLightNormal, CLightEntity) | |
REGISTER_QTOPENGL_ENTITY_OPERATION (CQTOpenGLOperationDrawSelected, CQTOpenGLOperationDrawLightSelected, CLightEntity) | |
bool | ItemLessThan (const CQTOpenGLLuaStateTreeItem *pc_i1, const CQTOpenGLLuaStateTreeItem *pc_i2) |
REGISTER_VISUALIZATION (CQTOpenGLRender,"qt-opengl","Carlo Pinciroli [ilpincy@gmail.com]","1.0","An interactive graphical renderer based on QT and OpenGL.","The QT-OpenGL renderer is a graphical renderer based on QT >= 4.5 and OpenGL.\n""It allows the user to watch and modify the simulation as it's running in an\n""intuitive way.\n\n""REQUIRED XML CONFIGURATION\n\n"" <visualization>\n"" <qtopengl_render />\n"" </visualization>\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to set some camera parameters. There are 10 available\n""cameras to use. You can switch from one to the other by clicking on the\n""graphical view (to give it focus) and then pressing the keys 0-9.\n""To configure position and orientation of specific cameras, say cameras 0 to 3,\n""you have to include the following XML code:\n\n"" <visualization>\n"" <qtopengl_render>\n"" <camera>\n"" <placement idx=\"0\" position=\"2,2,2\" look_at=\"1,1,1\" />\n"" <placement idx=\"1\" position=\"1,0,7\" look_at=\"1,0,0\" />\n"" <placement idx=\"2\" position=\"3,3,4\" look_at=\"1,6,0\" />\n"" <placement idx=\"3\" position=\"2,3,2\" look_at=\"0,1,0\" />\n"" </camera>\n"" </qtopengl_render>\n"" </visualization>\n\n""The 'idx' attribute specifies the camera index (and the key to press to switch\n""to that camera).\n""The 'position' attribute contains the position of the camera in the arena.\n""The 'look_at' attribute sets the point the camera is looking at.\n""It also possible to set some optical parameters of real cameras, namely the\n""focal length and the length of the frame diagonal. For example:\n\n"" <visualization>\n"" <qtopengl_render>\n"" <camera>\n"" ...\n"" <placement idx=\"4\"\n"" position=\"4,1,4\"\n"" look_at=\"2,1,0\"\n"" lens_focal_length=\"50\"\n"" frame_diagonal=\"40\" />\n"" ...\n"" </camera>\n"" </qtopengl_render>\n"" </visualization>\n\n""The 'lens_focal_length' attribute controls the focal length of the lens of the\n""simulated camera. The value is in millimeters and it defaults, if not set in\n""XML, to 20mm.\n""The 'frame_diagonal' attribute specifies the length of the frame diagonal of\n""the image film. The value is in millimeters and it defaults, if not set in\n""XML, to 35mm.\n""This visualization also allows for user customization. In a similar fashion to\n""the loop functions, you can set a plug-in that derives from the\n""CQTOpenGLUserFunctions class. To load it in the system, follow this example:\n\n"" <visualization>\n"" <qtopengl_render>\n"" <user_functions library=\"/path/to/libmyuserfunctions.so\"\n"" label=\"my_user_functions\" />\n"" </qtopengl_render>\n"" </visualization>\n\n""The 'library' attribute points to the library where the user functions are\n""stored. This library can be the same as the loop functions, or a new one.\n""There is no limitation to where the code is to be found.\n""The 'label' attribute identifies the user function class to use. In this way,\n""in a single library you can have multiple user function implementations, if\n""you wish.\n""You can also grab frames and store them into image files, for example to create\n""videos in a fast way. To do it, you just need to press the red capture button\n""and frame grabbing will be on. By default, the frames are named\n""'frame_NNNNN.png' and are stored in the current directory, i.e. the directory\n""where you run the 'argos' command. If you want to override this behavior, you\n""can add the optional 'frame_grabbing' section as follows:\n\n"" <visualization>\n"" <qtopengl_render>\n"" <frame_grabbing directory=\"frames\"\n"" base_name=\"myframe_\"\n"" format=\"png\"\n"" quality=\"100\" />\n"" </qtopengl_render>\n"" </visualization>\n\n""All the attributes in this section are optional. If you don't specify one of\n""them, the default is taken.\n""The 'directory' attribute stores the directory where the frames are saved. If\n""the directory does not exist, a fatal error occurs. The directory must exist\n""and be writable. Both absolute and relative paths are allowed. The default\n""value is '.'\n""The 'base_name' attribute is the string to prepend to the file name. After this\n""string, the frame number (padded to 5 digits) is added. The default value is\n""'frame_', so a typical resulting name is 'frame_00165'.\n""The 'format' attribute specifies the format. The default value is 'png' but you\n""can put any format supported by Qt>=4.5. Refer to the Qt documentation for the\n""complete list of supported formats.\n""The 'quality' attribute dictates the quality of the image. Its value is in the\n""range [0:100] where 0 means maximum compression and minimum quality, and 100\n""means maximum quality and no compression at all. The default value is '-1',\n""which means to use Qt's default quality. For videos, it's best to use 100 to\n""avoid artifacts due to compression. For a normal screenshot, the default is the\n""safest choice.\n","Usable") | |
Variables | |
CARGoSLog | LOG (std::cout, SLogColor(ARGOS_LOG_ATTRIBUTE_BRIGHT, ARGOS_LOG_COLOR_GREEN)) |
CARGoSLog | LOGERR (std::cerr, SLogColor(ARGOS_LOG_ATTRIBUTE_BRIGHT, ARGOS_LOG_COLOR_RED)) |
CRange< CRadians > | APERTURE_RANGE (CCI_FootBotGripperActuator::LOCKED_NEGATIVE, CCI_FootBotGripperActuator::LOCKED_POSITIVE) |
const Real | RPM_TO_RADIANS_PER_SEC = ARGOS_PI / 30.0f |
CRange< CRadians > | INCLINATION_RANGE (CRadians(0), CRadians(ARGOS_PI)) |
const GLfloat | MOVABLE_COLOR [] = { 1.0f, 0.0f, 0.0f, 1.0f } |
const GLfloat | NONMOVABLE_COLOR [] = { 0.7f, 0.7f, 0.7f, 1.0f } |
const GLfloat | SPECULAR [] = { 0.0f, 0.0f, 0.0f, 1.0f } |
const GLfloat | SHININESS [] = { 0.0f } |
const GLfloat | EMISSION [] = { 0.0f, 0.0f, 0.0f, 1.0f } |
The namespace containing all the ARGoS related code.
The namespace containing all the ARGoS-related code.
typedef ticpp::Element argos::TConfigurationNode |
The ARGoS configuration XML node.
Definition at line 27 of file argos_configuration.h.
typedef ticpp::Iterator<ticpp::Element> argos::TConfigurationNodeIterator |
The iterator for the ARGoS configuration XML node.
Definition at line 29 of file argos_configuration.h.
typedef std::map<std::string, CEmbodiedEntity*> argos::TEmbodiedEntityMap |
Definition at line 229 of file embodied_entity.h.
typedef CSet<CEmbodiedEntity*> argos::TEmbodiedEntitySet |
Definition at line 230 of file embodied_entity.h.
typedef std::vector<CEmbodiedEntity*> argos::TEmbodiedEntityVector |
Definition at line 228 of file embodied_entity.h.
typedef std::vector<SQueryResultItem> argos::TQueryResult |
Definition at line 44 of file query_plugins.h.
The possible attributes of the logged text.
ARGOS_LOG_ATTRIBUTE_RESET | |
ARGOS_LOG_ATTRIBUTE_BRIGHT | |
ARGOS_LOG_ATTRIBUTE_DIM | |
ARGOS_LOG_ATTRIBUTE_UNDERSCORE | |
ARGOS_LOG_ATTRIBUTE_BLINK | |
ARGOS_LOG_ATTRIBUTE_REVERSE | |
ARGOS_LOG_ATTRIBUTE_HIDDEN |
Definition at line 22 of file argos_colored_text.h.
The possible colors of the logged text.
ARGOS_LOG_COLOR_BLACK | |
ARGOS_LOG_COLOR_RED | |
ARGOS_LOG_COLOR_GREEN | |
ARGOS_LOG_COLOR_YELLOW | |
ARGOS_LOG_COLOR_BLUE | |
ARGOS_LOG_COLOR_MAGENTA | |
ARGOS_LOG_COLOR_CYAN | |
ARGOS_LOG_COLOR_WHITE |
Definition at line 35 of file argos_colored_text.h.
enum argos::EPUCK_WHEELS |
Definition at line 23 of file dynamics2d_epuck_model.cpp.
enum argos::ETurretModes |
Definition at line 33 of file dynamics2d_footbot_model.cpp.
Definition at line 28 of file dynamics2d_footbot_model.cpp.
T argos::Abs | ( | const T & | t_v | ) |
SInt32 argos::Abs | ( | SInt32 | t_v | ) | [inline] |
Real argos::Abs | ( | Real | t_v | ) | [inline] |
CRadians argos::ACos | ( | Real | f_value | ) | [inline] |
void argos::AddChildNode | ( | TConfigurationNode & | t_parent_node, |
TConfigurationNode & | t_child_node | ||
) | [inline] |
Adds an XML node as child of another XML node.
The node is added at the end of the children of the parent node.
t_parent_node | the parent node |
t_child_node | the child node to add to the parent |
CARGoSException | if an error occurred |
Definition at line 86 of file argos_configuration.h.
void argos::AddConstraintBetweenGripperAndGrippable | ( | cpSpace * | pt_space, |
void * | p_obj, | ||
void * | p_data | ||
) |
Definition at line 199 of file dynamics2d_gripping.cpp.
T* argos::any_cast | ( | CAny * | pc_any | ) |
const T* argos::any_cast | ( | const CAny * | pc_any | ) |
const T& argos::any_cast | ( | const CAny & | c_any | ) |
T& argos::any_cast | ( | CAny & | c_any | ) |
CRadians argos::ASin | ( | Real | f_value | ) | [inline] |
CRadians argos::ATan2 | ( | const Real | f_y, |
const Real | f_x | ||
) | [inline] |
int argos::BeginCollisionBetweenGripperAndGrippable | ( | cpArbiter * | pt_arb, |
cpSpace * | pt_space, | ||
void * | p_data | ||
) |
Definition at line 143 of file dynamics2d_gripping.cpp.
CRange<size_t> argos::CalculatePluginRangeForThread | ( | size_t | un_id, |
size_t | un_tot_plugins | ||
) |
Definition at line 225 of file space_multi_thread_balance_quantity.cpp.
RETURN_VALUE argos::CallEntityOperation | ( | PLUGIN & | t_plugin, |
CEntity & | c_entity | ||
) |
SInt32 argos::Ceil | ( | Real | f_value | ) | [inline] |
Real argos::Cos | ( | const CRadians & | c_radians | ) | [inline] |
RealNumberGenerator* argos::CreateGenerator | ( | TConfigurationNode & | t_tree | ) |
argos::DEFINE_ARGOS_STREAM_COLOR_HELPER | ( | red | , |
RED | |||
) |
Bright red text modifier.
argos::DEFINE_ARGOS_STREAM_COLOR_HELPER | ( | green | , |
GREEN | |||
) |
Bright green text modifier.
argos::DEFINE_ARGOS_STREAM_COLOR_HELPER | ( | yellow | , |
YELLOW | |||
) |
Bright yellow text modifier.
argos::DEFINE_ARGOS_STREAM_COLOR_HELPER | ( | blue | , |
BLUE | |||
) |
Bright blue text modifier.
argos::DEFINE_ARGOS_STREAM_COLOR_HELPER | ( | magenta | , |
MAGENTA | |||
) |
Bright magenta text modifier.
argos::DEFINE_ARGOS_STREAM_COLOR_HELPER | ( | cyan | , |
CYAN | |||
) |
Bright cyan text modifier.
argos::DEFINE_ARGOS_STREAM_COLOR_HELPER | ( | white | , |
WHITE | |||
) |
Bright white text modifier.
Real argos::Distance | ( | const CVector2 & | c_v1, |
const CVector2 & | c_v2 | ||
) | [inline] |
Real argos::Distance | ( | const CVector3 & | c_v1, |
const CVector3 & | c_v2 | ||
) | [inline] |
bool argos::DoubleEq | ( | Real | f_value1, |
Real | f_value2 | ||
) | [inline] |
Tests whether a floating-point value is lower than another.
This method is like DoubleEqAbsolute(), but with f_epsilon = 0.0001
.
f_value1 | the first value to test |
f_value2 | the second value to test |
true
if f_value1
< f_value2
, false otherwise. bool argos::DoubleEqAbsolute | ( | Real | f_value1, |
Real | f_value2, | ||
Real | f_epsilon | ||
) | [inline] |
Tests whether a floating-point value is lower than another.
This function perform the following test:
Abs(f_value1 - f_value2) --------------------------------------------- <= f_epsilon Max (1.0f, Max(Abs(f_value1), Abs(f_value2)))
f_value1 | the first value to test |
f_value2 | the second value to test |
f_epsilon | the tolerance of the test |
true
if f_value1
< f_value2
, false otherwise. void argos::DumpResourceUsageAsTableRow | ( | std::ostream & | c_os, |
const ::rusage & | t_resources | ||
) |
Definition at line 63 of file profiler.cpp.
void argos::DumpResourceUsageHumanReadable | ( | std::ostream & | c_os, |
const ::rusage & | t_resources | ||
) |
Definition at line 37 of file profiler.cpp.
std::string & argos::ExpandEnvVariables | ( | std::string & | str_buffer | ) |
Searches into str_buffer for occurrences of an environment variable of the form $VAR and substitutes them with the value of the variable.
str_buffer | the string to modify. |
Definition at line 128 of file string_utilities.cpp.
SInt32 argos::Floor | ( | Real | f_value | ) | [inline] |
T argos::FromString | ( | const std::string & | str_value | ) |
Converts the given std::string
parameter to the wanted type.
Example of use:
std::string strToBeConverted("36"); UInt32 unConverted = FromString(strToBeConverted);
Internally uses an std::ostringstream
. If you want to use it with a custom type, you must define its std::istream& operator>>(std::istream&, type)
.
T | the type of the target parameter. |
str_value | the string to convert. |
Definition at line 59 of file string_utilities.h.
bool argos::GetClosestEmbodiedEntityIntersectedByRay | ( | SEmbodiedEntityIntersectionItem & | s_item, |
const CRay3 & | c_ray | ||
) |
Definition at line 368 of file embodied_entity.cpp.
bool argos::GetClosestEmbodiedEntityIntersectedByRay | ( | SEmbodiedEntityIntersectionItem & | s_item, |
const CRay3 & | c_ray, | ||
CEmbodiedEntity & | c_entity | ||
) |
Definition at line 396 of file embodied_entity.cpp.
TConfigurationNode& argos::GetNode | ( | TConfigurationNode & | t_node, |
const std::string & | str_tag | ||
) | [inline] |
Given a tree root node, returns the first of its child nodes with the wanted name.
Given an XML tree, this function checks for the existence of a first-level node in this tree (i.e., a direct child of the root node) with the given name.
t_node | the root node of the XML tree |
str_tag | the name of the wanted child node |
CARGoSException | if no child node with the wanted name exists |
Definition at line 61 of file argos_configuration.h.
void argos::GetNodeAttribute | ( | TConfigurationNode & | t_node, |
const std::string & | str_attribute, | ||
T & | t_buffer | ||
) |
Returns the value of a node's attribute.
XML nodes can have attributes: <mynode attribute1="this is a string attribute" attribute2="-87" attribute3="-0.5, 12.3, 4">
This function is templetized. This means that you can pass any variable type to this function and parsing will occur automatically. For instance: std::string strValue; GetNodeAttribute(tMyNode, "attribute1", strValue); // tMyNode points to <mynode> // strValue now is "this is a string attribute" SInt32 nValue; GetNodeAttribute(tMyNode, "attribute2", nValue); // tMyNode points to <mynode> // nValue now is -87 CVector3 cValue; GetNodeAttribute(tMyNode, "attribute3", cValue); // tMyNode points to <mynode> // cValue now is CVector3(-0.5, 12.3, 4)
t_node | the node |
str_attribute | the name of the wanted attribute |
t_buffer | a buffer where the value must be stored |
CARGoSException | if an error occurred (i.e., parse error) or the attribute does not exist |
Definition at line 206 of file argos_configuration.h.
void argos::GetNodeAttribute | ( | TConfigurationNode & | t_node, |
const std::string & | str_attribute, | ||
bool & | b_buffer | ||
) | [inline] |
Returns the value of a node's attribute.
This function is an overloaded version of the templetized GetNodeAttribute() in which the buffer is a boolean.
t_node | the node |
str_attribute | the name of the wanted attribute |
b_buffer | a buffer where the value must be stored |
CARGoSException | if an error occurred (i.e., parse error) or the attribute does not exist |
Definition at line 229 of file argos_configuration.h.
void argos::GetNodeAttribute | ( | TConfigurationNode & | t_node, |
const std::string & | str_attribute, | ||
UInt8 & | un_buffer | ||
) | [inline] |
Returns the value of a node's attribute.
This function is an overloaded version of the templetized GetNodeAttribute() in which the buffer is a UInt8.
t_node | the node |
str_attribute | the name of the wanted attribute |
un_buffer | a buffer where the value must be stored |
CARGoSException | if an error occurred (i.e., parse error) or the attribute does not exist |
Definition at line 262 of file argos_configuration.h.
void argos::GetNodeAttribute | ( | TConfigurationNode & | t_node, |
const std::string & | str_attribute, | ||
SInt8 & | n_buffer | ||
) | [inline] |
Returns the value of a node's attribute.
This function is an overloaded version of the templetized GetNodeAttribute() in which the buffer is a SInt8.
t_node | the node |
str_attribute | the name of the wanted attribute |
n_buffer | a buffer where the value must be stored |
CARGoSException | if an error occurred (i.e., parse error) or the attribute does not exist |
Definition at line 287 of file argos_configuration.h.
void argos::GetNodeAttributeOrDefault | ( | TConfigurationNode & | t_node, |
const std::string & | str_attribute, | ||
T & | t_buffer, | ||
const T & | t_default | ||
) |
Returns the value of a node's attribute, or the passed default value.
This function works like GetNodeAttribute(). The only difference is that if the wanted attribute does not exist, the passed default is stored in the buffer instead. stored in the buffer variable instead.
t_node | the node |
str_attribute | the name of the wanted attribute |
t_buffer | a buffer where the value must be stored |
t_default | a default value to be used if the attribute does not exist |
CARGoSException | if an error occurred (i.e., parse error) |
Definition at line 316 of file argos_configuration.h.
void argos::GetNodeAttributeOrDefault | ( | TConfigurationNode & | t_node, |
const std::string & | str_attribute, | ||
bool & | b_buffer, | ||
const bool | b_default | ||
) | [inline] |
Returns the value of a node's attribute, or the passed default value.
This function is an overloaded version of the templetized GetNodeAttributeOrDefault() in which the buffer is a boolean. stored in the buffer variable instead.
t_node | the node |
str_attribute | the name of the wanted attribute |
b_buffer | a buffer where the value must be stored |
b_default | a default value to be used if the attribute does not exist |
CARGoSException | if an error occurred (i.e., parse error) |
Definition at line 342 of file argos_configuration.h.
void argos::GetNodeAttributeOrDefault | ( | TConfigurationNode & | t_node, |
const std::string & | str_attribute, | ||
UInt8 & | un_buffer, | ||
const UInt8 | un_default | ||
) | [inline] |
Returns the value of a node's attribute, or the passed default value.
This function is an overloaded version of the templetized GetNodeAttributeOrDefault() in which the buffer is a UInt8. stored in the buffer variable instead.
t_node | the node |
str_attribute | the name of the wanted attribute |
un_buffer | a buffer where the value must be stored |
un_default | a default value to be used if the attribute does not exist |
CARGoSException | if an error occurred (i.e., parse error) |
Definition at line 379 of file argos_configuration.h.
void argos::GetNodeAttributeOrDefault | ( | TConfigurationNode & | t_node, |
const std::string & | str_attribute, | ||
SInt8 & | n_buffer, | ||
const SInt8 | n_default | ||
) | [inline] |
Returns the value of a node's attribute, or the passed default value.
This function is an overloaded version of the templetized GetNodeAttributeOrDefault() in which the buffer is a SInt8. stored in the buffer variable instead.
t_node | the node |
str_attribute | the name of the wanted attribute |
n_buffer | a buffer where the value must be stored |
n_default | a default value to be used if the attribute does not exist |
CARGoSException | if an error occurred (i.e., parse error) |
Definition at line 407 of file argos_configuration.h.
void argos::GetNodeText | ( | TConfigurationNode & | t_node, |
T & | t_buffer | ||
) |
Returns the text of the passed XML node A node text is as follows:
<mynode1>this is the text</mynode1> <mynode2>25</mynode2> <mynode3>3.14, 5.87</mynode3>
This function is templetized. This means that you can pass any variable type to this function and parsing will occur automatically. For instance:
std::string strText; GetNodeText(tMyNode1, strText); // tMyNode1 points to <mynode1> // strText now is "this is the text" UInt32 unText; GetNodeText(tMyNode2, unText); // tMyNode2 points to <mynode2> // unText now is 25 CVector2 cText; GetNodeText(tMyNode3, cText); // tMyNode3 points to <mynode3> // cText now is CVector2(3.14, 5.87)
t_node | the node |
t_buffer | a buffer where the text must be stored |
CARGoSException | if an error occurred (i.e., parse error) or the node has no text value |
Definition at line 126 of file argos_configuration.h.
void argos::GetNodeTextOrDefault | ( | TConfigurationNode & | t_node, |
T & | t_buffer, | ||
const T & | t_default | ||
) |
Returns the text of the passed XML node, or the passed default value.
This function works like GetNodeText(). The only difference is that if no text value is found, the passed default is stored in the buffer variable instead.
t_node | the node |
t_buffer | a buffer where the text must be stored |
t_default | a default value to be used if the node has no text |
CARGoSException | if an error occurred (i.e., parse error) |
Definition at line 150 of file argos_configuration.h.
size_t argos::GetTag | ( | ) |
CVTable<CONTEXT, BASE, FUNCTION>& argos::GetVTable | ( | ) |
argos::INIT_VTABLE_FOR | ( | CEntity | ) |
Real argos::Interpolate | ( | Real | f_x, |
const std::vector< std::pair< Real, Real > > & | c_points | ||
) | [inline] |
bool argos::ItemLessThan | ( | const CQTOpenGLLuaStateTreeItem * | pc_i1, |
const CQTOpenGLLuaStateTreeItem * | pc_i2 | ||
) |
Definition at line 71 of file qtopengl_lua_statetree_item.cpp.
void* argos::LaunchThreadBalanceLength | ( | void * | p_data | ) |
Definition at line 38 of file space_multi_thread_balance_length.cpp.
void* argos::LaunchUpdateThreadBalanceQuantity | ( | void * | p_data | ) |
Definition at line 38 of file space_multi_thread_balance_quantity.cpp.
int argos::LuaRNGBernoulli | ( | lua_State * | pt_state | ) |
Definition at line 22 of file lua_utility.cpp.
int argos::LuaRNGExponential | ( | lua_State * | pt_state | ) |
Definition at line 114 of file lua_utility.cpp.
int argos::LuaRNGGaussian | ( | lua_State * | pt_state | ) |
Definition at line 129 of file lua_utility.cpp.
int argos::LuaRNGUniform | ( | lua_State * | pt_state | ) |
Definition at line 47 of file lua_utility.cpp.
int argos::LuaRNGUniformInt | ( | lua_State * | pt_state | ) |
Definition at line 83 of file lua_utility.cpp.
int argos::ManageCollisionBetweenGripperAndGrippable | ( | cpArbiter * | pt_arb, |
cpSpace * | pt_space, | ||
void * | p_data | ||
) |
Definition at line 159 of file dynamics2d_gripping.cpp.
bool argos::MatchPattern | ( | const std::string & | str_input, |
const std::string | str_pattern | ||
) |
Returns true
if str_pattern is matched by str_input.
Internally uses the C function regcomp()
.
str_input | the input string to analyze. |
str_pattern | the extended regular expression to match. |
true
if str_pattern is matched by str_input. Definition at line 106 of file string_utilities.cpp.
T argos::Max | ( | const T & | t_v1, |
const T & | t_v2 | ||
) |
T& argos::Max | ( | T & | t_v1, |
T & | t_v2 | ||
) |
T argos::Min | ( | const T & | t_v1, |
const T & | t_v2 | ||
) |
T& argos::Min | ( | T & | t_v1, |
T & | t_v2 | ||
) |
bool argos::NodeAttributeExists | ( | TConfigurationNode & | t_node, |
const std::string & | str_attribute | ||
) | [inline] |
Returns true
if the specified attribute of a node exists.
t_node | the node whose attribute we want to search for |
str_attribute | the name of the attribute to search for |
true
if the attribute exists, false
otherwise Definition at line 170 of file argos_configuration.h.
bool argos::NodeExists | ( | TConfigurationNode & | t_node, |
const std::string & | str_tag | ||
) | throw () [inline] |
Given a tree root node, returns true
if one of its child nodes has the wanted name.
Given an XML tree, this function checks for the existence of a first-level node in this tree (i.e., a direct child of the root node) with the given name.
t_node | the root node of the XML tree |
str_tag | the name of the wanted child node |
true
when the node exists, false
otherwise Definition at line 42 of file argos_configuration.h.
::rusage argos::operator- | ( | const ::rusage & | t_resource1, |
const ::rusage & | t_resource2 | ||
) |
Definition at line 89 of file profiler.cpp.
std::ostream & argos::operator<< | ( | std::ostream & | c_os, |
const CCI_FootBotMotorGroundSensor::SReading & | s_reading | ||
) |
Definition at line 31 of file ci_footbot_motor_ground_sensor.cpp.
std::ostream & argos::operator<< | ( | std::ostream & | c_os, |
const CCI_FootBotBaseGroundSensor::SReading & | s_reading | ||
) |
Definition at line 60 of file ci_footbot_base_ground_sensor.cpp.
std::ostream & argos::operator<< | ( | std::ostream & | c_os, |
const CCI_FootBotBaseGroundSensor::TReadings & | t_readings | ||
) |
Definition at line 70 of file ci_footbot_base_ground_sensor.cpp.
std::ostream & argos::operator<< | ( | std::ostream & | c_os, |
const CCI_FootBotProximitySensor::SReading & | s_reading | ||
) |
Definition at line 70 of file ci_footbot_proximity_sensor.cpp.
std::ostream& argos::operator<< | ( | std::ostream & | c_os, |
const SLogColor & | s_log_color | ||
) | [inline] |
Stream operator that accepts the stream modifier.
Definition at line 78 of file argos_colored_text.h.
std::ostream & argos::operator<< | ( | std::ostream & | c_os, |
const CCI_FootBotLightSensor::SReading & | s_reading | ||
) |
Definition at line 93 of file ci_footbot_light_sensor.cpp.
std::ostream& argos::operator<< | ( | std::ostream & | c_os, |
const CByteArray & | c_byte_array | ||
) |
It streams the byte array through the given stream. Useful for files, for instance.
c_os | the C++ output stream the byte array to. |
c_byte_array | the byte array to stream. |
Definition at line 384 of file byte_array.cpp.
void argos::ParseValues | ( | std::istream & | str_input, |
UInt32 | un_num_fields, | ||
T * | pt_field_buffer, | ||
const char | ch_delimiter = '\n' |
||
) |
Definition at line 70 of file string_utilities.h.
void argos::ParseValues | ( | const std::string & | str_input, |
const UInt32 | un_num_fields, | ||
T * | pt_field_buffer, | ||
const char | ch_delimiter = '\n' |
||
) |
Definition at line 96 of file string_utilities.h.
void argos::PrintStackEntry | ( | CARGoSLog & | c_log, |
lua_State * | pt_state, | ||
SInt32 | n_index | ||
) |
Definition at line 187 of file lua_utility.cpp.
void argos::QueryPlugins | ( | const std::string & | str_query | ) |
Definition at line 52 of file query_plugins.cpp.
void argos::QuerySearchPlugins | ( | const std::string & | str_query, |
TQueryResult & | t_result | ||
) |
Definition at line 60 of file query_plugins.h.
void argos::QueryShowList | ( | const std::string & | str_header | ) |
Definition at line 84 of file query_plugins.h.
void argos::QueryShowPluginDescription | ( | const std::string & | str_query | ) |
Definition at line 19 of file query_plugins.cpp.
void argos::RecursivePrintGlobals | ( | CARGoSLog & | c_log, |
lua_State * | pt_state, | ||
size_t | un_depth | ||
) |
Definition at line 196 of file lua_utility.cpp.
argos::REGISTER_ACTUATOR | ( | CRangeAndBearingDefaultActuator | , |
"range_and_bearing" | , | ||
"default" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"The range and bearing actuator." | , | ||
"This actuator allows robots to perform situated | communication, | ||
i. | e., | ||
a form of\n""wireless communication whereby the receiver also knows the location of the\n""sender with respect to its own frame of reference.\n""This actuator allows a robot to send messages.To receive | messages, | ||
you need\n""the range-and-bearing sensor.\n""To use this | actuator, | ||
in controllers you must include the\n""ci_range_and_bearing_actuator.h header.\n\n""REQUIRED XML CONFIGURATION\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< actuators >\n""...\n""< range_and_bearing implementation=\"default\" />\n"" ...\n"" </actuators>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None for the time being.\n" | , | ||
"Usable" | |||
) |
argos::REGISTER_ACTUATOR | ( | CFootBotTurretDefaultActuator | , |
"footbot_turret" | , | ||
"default" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"The foot-bot turret actuator." | , | ||
"This actuator controls the foot-bot turret. For a complete\n""description of its | usage, | ||
refer to the ci_footbot_turret_actuator\n""file.\n\n""REQUIRED XML CONFIGURATION\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< actuators >\n""...\n""< footbot_turret implementation=\"default\" />\n"" ...\n"" </actuators>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None for the time being.\n" | , | ||
"Usable" | |||
) |
argos::REGISTER_ACTUATOR | ( | CFootBotDistanceScannerDefaultActuator | , |
"footbot_distance_scanner" | , | ||
"default" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"The foot-bot distance scanner actuator." | , | ||
"This actuator controls the foot-bot distance scanner. For a complete\n""description of its | usage, | ||
refer to the ci_footbot_distance_scanner_actuator\n""file.\n\n""REQUIRED XML CONFIGURATION\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< actuators >\n""...\n""< footbot_distance_scanner implementation=\"default\" />\n"" ...\n"" </actuators>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None for the time being.\n" | , | ||
"Usable" | |||
) |
argos::REGISTER_CONTROLLER | ( | CLuaController | , |
"lua_controller" | |||
) |
argos::REGISTER_ENTITY | ( | CLightEntity | , |
"light" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"A colored light." | , | ||
"The light entity is an entity that emits a light detectable by a robot camera\n""(as a normal LED) or by light sensors. A light is | bodyless, | ||
therefore it must\n""not be added to physics engines.\n""A light is characterized by a color and an intensity.The color of the light\n""is perceived by cameras.The intensity modifies the reading of the light\n""sensors.The higher the | intensity, | ||
the closer the light is perceived.\n\n""REQUIRED XML CONFIGURATION\n\n""< arena...>\n""...\n""< light id=\"light0\"\n"" position=\"0.4,2.3,0.25\"\n"" orientation=\"0,0,0\"\n"" color=\"yellow\"\n"" intensity=\"1.0\"\n"" medium=\"leds\"/>\n"" ...\n"" </arena>\n\n""The 'id' attribute is necessary and must be unique among the entities. If two\n""entities share the same | id, | ||
initialization aborts.\n""The 'position'attribute specifies the position of the center of the light.\n""The attribute values are in the | X, | ||
Y | , | ||
Z order.\n""The 'orientation'attribute specifies the orientation of the light.At the\n""moment this attribute is mandatory but its value is ignored.In the | future, | ||
\n""it will be used to implement a directional light.\n""The 'color'attribute specifies the color of the light.\n""The 'intensity'attribute sets the intensity of the light.When the value is\n""1. | 0, | ||
the light emits a normal amount of light.When it is 0.5 the amount of\n""light is | half, | ||
and when the value is 2.0 the emission is doubled.The\n""intensity of the light affects the readings of the light sensors but not\n""those of the cameras.\n""The 'medium'attribute is used to add the light the corresponding LED medium.\n\n""OPTIONAL XML CONFIGURATION\n\n""None.\n" | , | ||
"Usable" | |||
) |
argos::REGISTER_ENTITY | ( | CBoxEntity | , |
"box" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"A stretchable 3D box." | , | ||
"The box entity can be used to model | walls, | ||
obstacles or box-shaped grippable\n""objects.It can be movable or not.A movable object can be pushed and gripped.\n""An unmovable object is pretty much like a wall.\n\n""REQUIRED XML CONFIGURATION\n\n""To declare an unmovable object(i.e., a wall) you need the following:\n\n""< arena...>\n""...\n""< box id=\"box1\" size=\"0.75,0.1,0.5\" movable=\"false\">\n"" <body position=\"0.4,2.3,0\" orientation=\"45,0,0\" />\n"" </box>\n"" ...\n"" </arena>\n\n""To declare a movable object you need the following:\n\n"" <arena ...>\n"" ...\n"" <box id=\"box1\" size=\"0.75,0.1,0.5\" movable=\"true\" mass=\"2.5\">\n"" <body position=\"0.4,2.3,0\" orientation=\"45,0,0\" />\n"" </box>\n"" ...\n"" </arena>\n\n""The 'id' attribute is necessary and must be unique among the entities. If two\n""entities share the same | id, | ||
initialization aborts.\n""The 'size'attribute specifies the size of the box along the three | axes, | ||
in\n""the | X, | ||
Y | , | ||
Z order.When you add a | box, | ||
imagine it initially unrotated and\n""centered in the origin.The | size, | ||
then | , | ||
corresponds to the extent along the | X, | ||
\n""Y and Z axes.\n""The 'movable'attribute specifies whether or not the object is movable.When\n""set to 'false' | , | ||
the object is unmovable:if another object pushes against | it, | ||
\n""the box won't move.When the attribute is set to 'true' | , | ||
the box is movable\n""upon pushing or gripping.When an object is | movable, | ||
the 'mass'attribute is\n""required.\n""The 'mass'attribute quantifies the mass of the box in kg.\n""The 'body/position'attribute specifies the position of the base of the box in\n""the arena.The three values are in the | X, | ||
Y | , | ||
Z order.\n""The 'body/orientation'attribute specifies the orientation of the 3D box.All\n""rotations are performed with respect to the center of mass.The order of the\n""angles is | Z, | ||
Y | , | ||
X | , | ||
which means that the first number corresponds to the rotation\n""around the Z | axis, | ||
the second around Y and the last around X.This reflects\n""the internal convention used in | ARGoS, | ||
in which rotations are performed in\n""that order.Angles are expressed in degrees.\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to add any number of colored LEDs to the box.In this | way, | ||
\n""the box is visible with a robot camera.The position and color of the\n""LEDs is specified with the following syntax:\n\n""< arena...>\n""...\n""< box id=\"box1\" size=\"0.75,0.1,0.5\" movable=\"true\" mass=\"2.5\">\n"" <body position=\"0.4,2.3,0\" orientation=\"45,0,0\" />\n"" <leds>\n"" <led position=\" 0.15, 0.15,0.15\" color=\"white\" />\n"" <led position=\"-0.15, 0.15,0\" color=\"red\" />\n"" <led position=\" 0.15, 0.15,0\" color=\"blue\" />\n"" <led position=\" 0.15,-0.15,0\" color=\"green\" />\n"" </leds>\n"" </box>\n"" ...\n"" </arena>\n\n""In the | example, | ||
four LEDs are added to the box.The LEDs have\n""different colors and are located one on the top and three\n""around the box.\n" | , | ||
"Usable" | |||
) |
argos::REGISTER_ENTITY | ( | CCylinderEntity | , |
"cylinder" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"A stretchable cylinder." | , | ||
"The cylinder entity can be used to model obstacles or cylinder-shaped\n""grippable objects. The cylinder has a red LED on the center of one\n""of the circular | surfaces, | ||
that allows perception using the cameras.\n""The cylinder can be movable or not.A movable object can be pushed\n""and gripped.An unmovable object is pretty much like a column.\n\n""REQUIRED XML CONFIGURATION\n\n""To declare an unmovable object(i.e., a column) you need the following:\n\n""< arena...>\n""...\n""< cylinder id=\"cyl1\" radius=\"0.8\" height=\"0.5\" movable=\"false\">\n"" <body position=\"0.4,2.3,0\" orientation=\"45,0,0\" />\n"" </cylinder>\n"" ...\n"" </arena>\n\n""To declare a movable object you need the following:\n\n"" <arena ...>\n"" ...\n"" <cylinder id=\"cyl1\" radius=\"0.8\" height=\"0.5\"\n"" movable=\"true\" mass=\"2.5\">\n"" <body position=\"0.4,2.3,0\" orientation=\"45,0,0\" />\n"" </cylinder>\n"" ...\n"" </arena>\n\n""The 'id' attribute is necessary and must be unique among the entities. If two\n""entities share the same | id, | ||
initialization aborts.\n""The 'radius'and 'height'attributes specify the size of the cylinder.When\n""you add a | cylinder, | ||
imagine it initially unrotated and centered in the origin.\n""The base of the | cylinder, | ||
then | , | ||
is parallel to the XY plane and its height\n""goes with the Z axis.\n""The 'movable'attribute specifies whether or not the object is movable.When\n""set to 'false' | , | ||
the object is unmovable:if another object pushes against | it, | ||
\n""the cylinder won't move.When the attribute is set to 'true' | , | ||
the cylinder is\n""movable upon pushing or gripping.When an object is | movable, | ||
the 'mass'\n""attribute is required.\n""The 'mass'attribute quantifies the mass of the cylinder in kg.\n""The 'body/position'attribute specifies the position of the base of the\n""cylinder in the arena.The three values are in the | X, | ||
Y | , | ||
Z order.\n""The 'body/orientation'attribute specifies the orientation of the cylinder.All\n""rotations are performed with respect to the center of mass.The order of the\n""angles is | Z, | ||
Y | , | ||
X | , | ||
which means that the first number corresponds to the rotation\n""around the Z | axis, | ||
the second around Y and the last around X.This reflects\n""the internal convention used in | ARGoS, | ||
in which rotations are performed in\n""that order.Angles are expressed in degrees.\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to add any number of colored LEDs to the cylinder.In this | way, | ||
\n""the cylinder is visible with a robot camera.The position and color of the\n""LEDs is specified with the following syntax:\n\n""< arena...>\n""...\n""< cylinder id=\"cyl1\" radius=\"0.8\" height=\"0.5\"\n"" movable=\"true\" mass=\"2.5\">\n"" <body position=\"0.4,2.3,0\" orientation=\"45,0,0\" />\n"" <leds>\n"" <led position=\" 0.15, 0.15,0.15\" color=\"white\" />\n"" <led position=\"-0.15, 0.15,0\" color=\"red\" />\n"" <led position=\" 0.15, 0.15,0\" color=\"blue\" />\n"" <led position=\" 0.15,-0.15,0\" color=\"green\" />\n"" </leds>\n"" </cylinder>\n"" ...\n"" </arena>\n\n""In the | example, | ||
four LEDs are added around the cylinder.The LEDs have\n""different colors and are located around the cylinder.\n" | , | ||
"Usable" | |||
) |
argos::REGISTER_ENTITY | ( | CEPuckEntity | , |
"e-puck" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"The e-puck robot." | , | ||
"The e-puck is a open- | hardware, | ||
extensible robot intended for education.In its\n""simplest | form, | ||
it is a two-wheeled robot equipped with proximity | sensors, | ||
\n""ground | sensors, | ||
light | sensors, | ||
a | microphone, | ||
a frontal | camera, | ||
and a ring of\n""red LEDs.More information is available at http://www.epuck.org\n\n""REQUIRED XML CONFIGURATION\n\n""< arena...>\n""...\n""< e-puck id=\"fb0\">\n"" <body position=\"0.4,2.3,0.25\" orientation=\"45,90,0\" />\n"" <controller config=\"mycntrl\" />\n"" </e-puck>\n"" ...\n"" </arena>\n\n""The 'id' attribute is necessary and must be unique among the entities. If two\n""entities share the same | id, | ||
initialization aborts.\n""The 'body/position'attribute specifies the position of the pucktom point of the\n""e-puck in the arena.When the robot is untranslated and | unrotated, | ||
the\n""pucktom point is in the origin and it is defined as the middle point between\n""the two wheels on the XY plane and the lowest point of the robot on the Z\n"" | axis, | ||
that is the point where the wheels touch the floor.The attribute values\n""are in the | X, | ||
Y | , | ||
Z order.\n""The 'body/orientation'attribute specifies the orientation of the e-puck.All\n""rotations are performed with respect to the pucktom point.The order of the\n""angles is | Z, | ||
Y | , | ||
X | , | ||
which means that the first number corresponds to the rotation\n""around the Z | axis, | ||
the second around Y and the last around X.This reflects\n""the internal convention used in | ARGoS, | ||
in which rotations are performed in\n""that order.Angles are expressed in degrees.When the robot is | unrotated, | ||
it\n""is oriented along the X axis.\n""The 'controller/config'attribute is used to assign a controller to the\n""e-puck.The value of the attribute must be set to the id of a previously\n""defined controller.Controllers are defined in the< controllers > XML subtree.\n\n""OPTIONAL XML CONFIGURATION\n\n""None for the time being.\n" | , | ||
"Under development" | |||
) |
argos::REGISTER_ENTITY | ( | CFloorEntity | , |
"floor" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"It contains the properties of the arena floor." | , | ||
"The floor entity contains the properties of the arena floor. In the current\n"" | implementation, | ||
it contains only the color of the floor.The floor color is\n""detected by the robots'ground sensors.\n\n""REQUIRED XML CONFIGURATION\n\n""< arena...>\n""...\n""< floor id=\"floor\"\n"" source=\"SOURCE\" />\n"" ...\n"" </arena>\n\n""The 'id' attribute is necessary and must be unique among the entities. If two\n""entities share the same | id, | ||
initialization aborts.\n""The 'source'attribute specifies where to get the color of the floor from.Its\n"" | value, | ||
here denoted as | SOURCE, | ||
can assume the following values:\n\n""image The color is calculated from the passed image file\n""loop_functions The color is calculated calling the loop functions\n\n""When 'source'is set to 'image' | , | ||
as showed in the following | example, | ||
you have\n""to specify the image path in the additional attribute 'path':\n\n""< arena...>\n""...\n""< floor id=\"floor\"\n"" source=\"image\"\n"" path=\"/path/to/imagefile.ext\" />\n"" ...\n"" </arena>\n\n""Many image formats are | available, | ||
such as | PNG, | ||
JPG | , | ||
BMP | , | ||
GIF and many more.\n""Refer to the FreeImage webpage for a complete list of supported image formats\n""(http://freeimage.sourceforge.net/features.html).\n\n""When 'source'is set to 'loop_functions' | , | ||
as showed in the following | example, | ||
\n""an image is implicitly created to be used as texture for graphical\n""visualizations.The algorithm that creates the texture needs to convert from\n""meters(in the arena) to pixels(of the texture).You control how many pixels\n""per meter are used with the attribute 'pixels_per_meter'. | Clearly, | ||
the higher\n"" | value, | ||
the higher the | quality, | ||
but also the slower the algorithm and the bigger\n""the texture.The algorithm is called only once at init | time, | ||
so the fact that\n""it is slow is not so important. | However, | ||
the image size is limited by OpenGL.\n""Every implementation has its own | limit, | ||
and you should check yours if any\n""texture-related problem arises.Now for the example:\n\n""< arena...>\n""...\n""< floor id=\"floor\"\n"" source=\"loop_functions\"\n"" pixels_per_meter=\"100\" />\n"" ...\n"" </arena>\n\n""OPTIONAL XML CONFIGURATION\n\n""None for the time being.\n" | , | ||
"Usable" | |||
) |
argos::REGISTER_ENTITY | ( | CFootBotEntity | , |
"foot-bot" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"The foot-bot | robot, | ||
developed in the Swarmanoid project." | , | ||
"The foot-bot is a wheeled robot developed in the Swarmanoid Project. It is a\n""modular robot with a rich set of sensors and actuators. For more | information, | ||
\n""refer to the dedicated web page\n""(http://www.swarmanoid.org/swarmanoid_hardware.php).\n\n""REQUIRED XML CONFIGURATION\n\n""< arena...>\n""...\n""< foot-bot id=\"fb0\">\n"" <body position=\"0.4,2.3,0.25\" orientation=\"45,0,0\" />\n"" <controller config=\"mycntrl\" />\n"" </foot-bot>\n"" ...\n"" </arena>\n\n""The 'id' attribute is necessary and must be unique among the entities. If two\n""entities share the same | id, | ||
initialization aborts.\n""The 'body/position'attribute specifies the position of the bottom point of the\n""foot-bot in the arena.When the robot is untranslated and | unrotated, | ||
the\n""bottom point is in the origin and it is defined as the middle point between\n""the two wheels on the XY plane and the lowest point of the robot on the Z\n"" | axis, | ||
that is the point where the wheels touch the floor.The attribute values\n""are in the | X, | ||
Y | , | ||
Z order.\n""The 'body/orientation'attribute specifies the orientation of the foot-bot.All\n""rotations are performed with respect to the bottom point.The order of the\n""angles is | Z, | ||
Y | , | ||
X | , | ||
which means that the first number corresponds to the rotation\n""around the Z | axis, | ||
the second around Y and the last around X.This reflects\n""the internal convention used in | ARGoS, | ||
in which rotations are performed in\n""that order.Angles are expressed in degrees.When the robot is | unrotated, | ||
it\n""is oriented along the X axis.\n""The 'controller/config'attribute is used to assign a controller to the\n""foot-bot.The value of the attribute must be set to the id of a previously\n""defined controller.Controllers are defined in the< controllers > XML subtree.\n\n""OPTIONAL XML CONFIGURATION\n\n""You can set the emission range of the range-and-bearing system.By | default, | ||
a\n""message sent by a foot-bot can be received up to 3m.By using the 'rab_range'\n"" | attribute, | ||
you can change it | to, | ||
i. | e., | ||
4m as follows:\n\n""< arena...>\n""...\n""< foot-bot id=\"fb0\" rab_range=\"4\">\n"" <body position=\"0.4,2.3,0.25\" orientation=\"45,0,0\" />\n"" <controller config=\"mycntrl\" />\n"" </foot-bot>\n"" ...\n"" </arena>\n\n""You can also change the aperture of the omnidirectional camera. The aperture is\n""set to 70 degrees by default. The tip of the omnidirectional camera is placed on\n""top of the robot | h=0.289, | ||
and with an aperture of 70 degrees the range on the\n""ground is | r = h*tan(aperture)=0.289*tan(70)=0.794m. To change the aperture to 80\n""degrees , |
||
use the 'omnidirectional_camera_aperture'as follows:\n\n""< arena...>\n""...\n""< foot-bot id=\"fb0\" omnidirectional_camera_aperture=\"80\">\n"" <body position=\"0.4,2.3,0.25\" orientation=\"45,0,0\" />\n"" <controller config=\"mycntrl\" />\n"" </foot-bot>\n"" ...\n"" </arena>\n\n" | , | ||
"Under development" | |||
) |
argos::REGISTER_MEDIUM | ( | CLEDMedium | , |
"led" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"Manages the LEDs." | , | ||
"This medium is required to manage the LED | entities, | ||
thus allowing the\n""associated camera sensors to work properly.If you intend to use a camera\n""sensor that detects colored | blobs, | ||
you must add this medium to the XML\n""configuration file.\n\n""REQUIRED XML CONFIGURATION\n\n""< led id=\"led\" />\n\n""OPTIONAL XML CONFIGURATION\n\n""None for the time being\n" | , | ||
"Under development" | |||
) |
argos::REGISTER_MEDIUM | ( | CRABMedium | , |
"range_and_bearing" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"It simulates the communication across range-and-bearing-equipped robots." | , | ||
"This medium is required to simulate communication across range-and-bearing-\n""equipped robots. You need to add it to the <media> section every time you add\n""a range-and-bearing-equipped entity whose controller has a range-and-bearing\n""device activated.\n\n""REQUIRED XML CONFIGURATION\n\n""<range_and_bearing id=\"rab\" />\n\n""OPTIONAL XML CONFIGURATION\n\n""None for the time being\n" | , | ||
"Under development" | |||
) |
argos::REGISTER_PHYSICS_ENGINE | ( | CDynamics2DEngine | , |
"dynamics2d" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"A 2D dynamics physics engine." | , | ||
"This physics engine is a 2D dynamics engine based on the Chipmunk library\n""(http://code.google.com/p/chipmunk-physics).\n\n""REQUIRED XML CONFIGURATION\n\n"" <physics_engines>\n"" ...\n"" <dynamics2d id=\"dyn2d\" />\n"" ...\n"" </physics_engines>\n\n""The 'id' attribute is necessary and must be unique among the physics engines.\n""It is used in the subsequent section <arena_physics> to assign entities to\n""physics engines. If two engines share the same | id, | ||
initialization aborts.\n\n""OPTIONAL XML CONFIGURATION\n\n""The plane of the physics engine can be translated on the Z | axis, | ||
to simulate\n""for example hovering | objects, | ||
such as flying robots.To translate the plane\n""2m up the Z | axis, | ||
use the 'elevation'attribute as follows:\n\n""< physics_engines >\n""...\n""< dynamics2d id=\"dyn2d\"\n"" elevation=\"2.0\" />\n"" ...\n"" </physics_engines>\n\n""When not | specified, | ||
the elevation is | zero, | ||
which means that the plane\n""corresponds to the XY plane.\n" | , | ||
"Under development" | |||
) |
argos::REGISTER_QTOPENGL_ENTITY_OPERATION | ( | CQTOpenGLOperationDrawNormal | , |
CQTOpenGLOperationDrawLightNormal | , | ||
CLightEntity | |||
) |
argos::REGISTER_QTOPENGL_ENTITY_OPERATION | ( | CQTOpenGLOperationDrawSelected | , |
CQTOpenGLOperationDrawLightSelected | , | ||
CLightEntity | |||
) |
argos::REGISTER_QTOPENGL_ENTITY_OPERATION | ( | CQTOpenGLOperationDrawNormal | , |
CQTOpenGLOperationDrawCylinderNormal | , | ||
CCylinderEntity | |||
) |
argos::REGISTER_QTOPENGL_ENTITY_OPERATION | ( | CQTOpenGLOperationDrawSelected | , |
CQTOpenGLOperationDrawCylinderSelected | , | ||
CCylinderEntity | |||
) |
argos::REGISTER_QTOPENGL_ENTITY_OPERATION | ( | CQTOpenGLOperationDrawNormal | , |
CQTOpenGLOperationDrawBoxNormal | , | ||
CBoxEntity | |||
) |
argos::REGISTER_QTOPENGL_ENTITY_OPERATION | ( | CQTOpenGLOperationDrawSelected | , |
CQTOpenGLOperationDrawBoxSelected | , | ||
CBoxEntity | |||
) |
argos::REGISTER_QTOPENGL_ENTITY_OPERATION | ( | CQTOpenGLOperationDrawNormal | , |
CQTOpenGLOperationDrawEPuckNormal | , | ||
CEPuckEntity | |||
) |
argos::REGISTER_QTOPENGL_ENTITY_OPERATION | ( | CQTOpenGLOperationDrawSelected | , |
CQTOpenGLOperationDrawEPuckSelected | , | ||
CEPuckEntity | |||
) |
argos::REGISTER_QTOPENGL_ENTITY_OPERATION | ( | CQTOpenGLOperationDrawNormal | , |
CQTOpenGLOperationDrawFootBotNormal | , | ||
CFootBotEntity | |||
) |
argos::REGISTER_QTOPENGL_ENTITY_OPERATION | ( | CQTOpenGLOperationDrawSelected | , |
CQTOpenGLOperationDrawFootBotSelected | , | ||
CFootBotEntity | |||
) |
argos::REGISTER_SENSOR | ( | CFootBotTurretEncoderDefaultSensor | , |
"footbot_turret_encoder" | , | ||
"default" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"The foot-bot turret encoder sensor." | , | ||
"This sensor accesses the foot-bot turret encoder. For a complete\n""description of its | usage, | ||
refer to the ci_footbot_turret_encoder_sensor\n""file.\n\n""REQUIRED XML CONFIGURATION\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< sensors >\n""...\n""< footbot_turret implementation=\"default\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None for the time being.\n" | , | ||
"Usable" | |||
) |
argos::REGISTER_SENSOR | ( | CFootBotProximityDefaultSensor | , |
"footbot_proximity" | , | ||
"default" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"The foot-bot proximity sensor." | , | ||
"This sensor accesses the foot-bot proximity sensor. For a complete description\n""of its | usage, | ||
refer to the ci_footbot_proximity_sensor.h interface.For the XML\n"" | configuration, | ||
refer to the default proximity sensor.\n" | , | ||
"Usable" | |||
) |
argos::REGISTER_SENSOR | ( | CFootBotMotorGroundRotZOnlySensor | , |
"footbot_motor_ground" | , | ||
"rot_z_only" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"The foot-bot motor ground sensor." | , | ||
"This sensor accesses the foot-bot motor ground sensor. For a complete description\n""of its | usage, | ||
refer to the ci_footbot_motor_ground_sensor.h interface.For the XML\n"" | configuration, | ||
refer to the default ground sensor.\n" | , | ||
"Usable" | |||
) |
argos::REGISTER_SENSOR | ( | CFootBotBaseGroundRotZOnlySensor | , |
"footbot_base_ground" | , | ||
"rot_z_only" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"The foot-bot base ground sensor." | , | ||
"This sensor accesses the foot-bot base ground sensor. For a complete description\n""of its | usage, | ||
refer to the ci_footbot_base_ground_sensor.h interface.For the XML\n"" | configuration, | ||
refer to the default ground sensor.\n" | , | ||
"Usable" | |||
) |
argos::REGISTER_SENSOR | ( | CPositioningDefaultSensor | , |
"positioning" | , | ||
"default" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"A generic positioning sensor." | , | ||
"This sensor returns the current position and orientation of a robot. This sensor\n""can be used with any | robot, | ||
since it accesses only the body component.In\n"" | controllers, | ||
you must include the ci_positioning_sensor.h header.\n\n""REQUIRED XML CONFIGURATION\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< sensors >\n""...\n""< positioning implementation=\"default\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to add uniform noise to the | sensor, | ||
thus matching the\n""characteristics of a real robot better.You can add noise through the\n""attributes 'pos_noise_range' | , | ||
'angle_noise_range' | , | ||
and 'axis_noise_range'.\n""Attribute 'pos_noise_range'regulates the noise range on the position returned\n""by the sensor.Attribute 'angle_noise_range'sets the noise range on the angle\n""(values expressed in degrees).Attribute 'axis_noise_range'sets the noise for\n""the rotation axis.Angle and axis are used to calculate a | quaternion, | ||
which is\n""the actual returned value for rotation.\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< sensors >\n""...\n""< positioning implementation=\"default\"\n"" pos_noise_range=\"-0.1:0.2\"\n"" angle_noise_range=\"-10.5:13.7\"\n"" axis_noise_range=\"-0.3:0.4\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None.\n" | , | ||
"Usable" | |||
) |
argos::REGISTER_SENSOR | ( | CDifferentialSteeringDefaultSensor | , |
"differential_steering" | , | ||
"default" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"A generic differential steering sensor." | , | ||
"This sensor returns the current position and orientation of a robot. This sensor\n""can be used with any | robot, | ||
since it accesses only the body component.In\n"" | controllers, | ||
you must include the ci_differential_steering_sensor.h header.\n\n""REQUIRED XML CONFIGURATION\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< sensors >\n""...\n""< differential_steering implementation=\"default\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to add uniform noise to the | sensor, | ||
thus matching the\n""characteristics of a real robot better.You can add noise through the\n""attributes 'vel_noise_range'and 'dist_noise_range'.\n""Attribute 'vel_noise_range'regulates the noise range on the velocity returned\n""by the sensor.Attribute 'dist_noise_range'sets the noise range on the\n""distance covered by the wheels.\n""value for rotation.\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< sensors >\n""...\n""< differential_steering implementation=\"default\"\n"" vel_noise_range=\"-0.1:0.2\"\n"" dist_noise_range=\"-10.5:13.7\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None.\n" | , | ||
"Usable" | |||
) |
argos::REGISTER_SENSOR | ( | CGroundRotZOnlySensor | , |
"ground" | , | ||
"rot_z_only" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"A generic ground sensor (optimized for 2D)." | , | ||
"This sensor accesses a set of ground sensors. The sensors all return a value\n""between 0 and | 1, | ||
where 0 means black and 1 means white.Depending on the type\n""of ground | sensor, | ||
readings can either take 0 or 1 as value(bw sensors) or a\n""value in between(grayscale sensors).In | controllers, | ||
you must include the\n""ci_ground_sensor.h header.\n\n""REQUIRED XML CONFIGURATION\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< sensors >\n""...\n""< ground implementation=\"rot_z_only\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to add uniform noise to the | sensors, | ||
thus matching the\n""characteristics of a real robot better.This can be done with the attribute\n""\"noise_level\" | , | ||
whose allowed range is inand is added to the calculated\n""reading.The final sensor reading is always normalized in therange.\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< sensors >\n""...\n""< ground implementation=\"rot_z_only\"\n"" noise_level=\"0.1\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None.\n" | [-1, 1][0-1], | ||
"Usable" | |||
) |
argos::REGISTER_SENSOR | ( | CProximityDefaultSensor | , |
"proximity" | , | ||
"default" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"A generic proximity sensor." | , | ||
"This sensor accesses a set of proximity sensors. The sensors all return a value\n""between 0 and | 1, | ||
where 0 means nothing within range and 1 means an external\n""object is touching the sensor.Values between 0 and 1 depend on the distance of\n""the occluding | object, | ||
and are calculated as | value = exp(-distance). In\n""controllers , |
||
you must include the ci_proximity_sensor.h header.\n\n""REQUIRED XML CONFIGURATION\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< sensors >\n""...\n""< proximity implementation=\"default\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to draw the rays shot by the proximity 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"" <proximity implementation=\"default\"\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 | sensors, | ||
thus matching the\n""characteristics of a real robot better.This can be done with the attribute\n""\"noise_level\" | , | ||
whose allowed range is inand is added to the calculated\n""reading.The final sensor reading is always normalized in therange.\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< sensors >\n""...\n""< proximity implementation=\"default\"\n"" noise_level=\"0.1\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n" | [-1, 1][0-1], | ||
"Usable" | |||
) |
argos::REGISTER_SENSOR | ( | CLightDefaultSensor | , |
"light" | , | ||
"default" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"A generic light sensor." | , | ||
"This sensor accesses a set of light sensors. The sensors all return a value\n""between 0 and | 1, | ||
where 0 means nothing within range and 1 means the perceived\n""light saturates the sensor.Values between 0 and 1 depend on the distance of\n""the perceived light.Each reading R is calculated with | R = (I/x)^2 , |
||
where x is the\n""distance between a sensor and the | light, | ||
and I is the reference intensity of the\n""perceived light.The reference intensity corresponds to the minimum distance at\n""which the light saturates a sensor.The reference intensity depends on the\n""individual | light, | ||
and it is set with the\"intensity\" attribute of the light\n""entity. In case multiple lights are present in the | environment, | ||
each sensor\n""reading is calculated as the sum of the individual readings due to each light.\n""In other | words, | ||
light wave interference is not taken into account.In\n"" | controllers, | ||
you must include the ci_light_sensor.h header.\n\n""REQUIRED XML CONFIGURATION\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< sensors >\n""...\n""< light implementation=\"default\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to draw the rays shot by the light 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"" <light implementation=\"default\"\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 | sensors, | ||
thus matching the\n""characteristics of a real robot better.This can be done with the attribute\n""\"noise_level\" | , | ||
whose allowed range is inand is added to the calculated\n""reading.The final sensor reading is always normalized in therange.\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< sensors >\n""...\n""< light implementation=\"default\"\n"" noise_level=\"0.1\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None.\n" | [-1, 1][0-1], | ||
"Usable" | |||
) |
argos::REGISTER_SENSOR | ( | CRangeAndBearingMediumSensor | , |
"range_and_bearing" | , | ||
"medium" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"The range-and-bearing sensor." | , | ||
"This sensor allows robots to perform situated | communication, | ||
i. | e., | ||
a form of\n""wireless communication whereby the receiver also knows the location of the\n""sender with respect to its own frame of reference.\n""This implementation of the range-and-bearing sensor is associated to the\n""range-and-bearing medium.To be able to use this | sensor, | ||
you must add a\n""range-and-bearing medium to the< media > section.\n""This sensor allows a robot to receive messages.To send | messages, | ||
you need the\n""range-and-bearing actuator.\n""To use this | sensor, | ||
in controllers you must include the\n""ci_range_and_bearing_sensor.h header.\n\n""REQUIRED XML CONFIGURATION\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< sensors >\n""...\n""< range_and_bearing implementation=\"medium\"\n"" medium=\"rab\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""The 'medium' attribute must be set to the id of the range-and-bearing medium\n""declared in the <media> section.\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to draw the rays shot by the range-and-bearing sensor in the\n""OpenGL visualization. This can be useful for sensor debugging but also to\n""understand what's wrong in your controller. In | OpenGL, | ||
the rays are drawn in\n""cyan when two robots are communicating.\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"" <range_and_bearing implementation=\"medium\"\n"" medium=\"rab\"\n"" show_rays=\"true\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""It is possible to add noise to the | readings, | ||
thus matching the characteristics\n""of a real robot better.Noise is implemented as a random vector added to the\n""vector joining two communicating robots.For the random | vector, | ||
the inclination\n""and azimuth are chosen uniformly in the | rangeand[0:PI][0:2PI], | ||
respectively | , | ||
\n""and the length is drawn from a Gaussian distribution.The standard deviation of\n""the Gaussian distribution is expressed in meters and set by the user through\n""the attribute 'noise_std_dev'as shown in this example:\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< sensors >\n""...\n""< range_and_bearing implementation=\"medium\"\n"" medium=\"rab\"\n"" noise_std_dev=\"0.1\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n" | , | ||
"Usable" | |||
) |
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." | , | ||
"TODO\n\n" | , | ||
"Usable" | |||
) |
argos::REGISTER_SENSOR | ( | CFootBotLightRotZOnlySensor | , |
"footbot_light" | , | ||
"rot_z_only" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"The foot-bot light sensor (optimized for 2D)." | , | ||
"This sensor accesses a set of light sensors. The sensors all return a value\n""between 0 and | 1, | ||
where 0 means nothing within range and 1 means the perceived\n""light saturates the sensor.Values between 0 and 1 depend on the distance of\n""the perceived light.Each reading R is calculated with | R = (I/x)^2 , |
||
where x is the\n""distance between a sensor and the | light, | ||
and I is the reference intensity of the\n""perceived light.The reference intensity corresponds to the minimum distance at\n""which the light saturates a sensor.The reference intensity depends on the\n""individual | light, | ||
and it is set with the\"intensity\" attribute of the light\n""entity. In case multiple lights are present in the | environment, | ||
each sensor\n""reading is calculated as the sum of the individual readings due to each light.\n""In other | words, | ||
light wave interference is not taken into account.In\n"" | controllers, | ||
you must include the ci_light_sensor.h header.\n\n""REQUIRED XML CONFIGURATION\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< sensors >\n""...\n""< light implementation=\"rot_z_only\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to draw the rays shot by the light 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"" <light implementation=\"rot_z_only\"\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 | sensors, | ||
thus matching the\n""characteristics of a real robot better.This can be done with the attribute\n""\"noise_level\" | , | ||
whose allowed range is inand is added to the calculated\n""reading.The final sensor reading is always normalized in therange.\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< sensors >\n""...\n""< light implementation=\"rot_z_only\"\n"" noise_level=\"0.1\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None.\n" | [-1, 1][0-1], | ||
"Usable" | |||
) |
argos::REGISTER_SENSOR | ( | CFootBotDistanceScannerRotZOnlySensor | , |
"footbot_distance_scanner" | , | ||
"rot_z_only" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"The foot-bot distance scanner sensor (optimized for 2D)." | , | ||
"This sensor accesses the foot-bot distance scanner sensor. For a complete\n""description of its | usage, | ||
refer to the common interface.\n""In this | implementation, | ||
the readings are calculated under the assumption that\n""the foot-bot is always parallel to the XY | plane, | ||
i. | e., | ||
it rotates only around\n""the Z axis.This implementation is faster than a 3D one and should be used\n""only when the assumption about the foot-bot rotation holds.\n\n""REQUIRED XML CONFIGURATION\n\n""< controllers >\n""...\n""< my_controller...>\n""...\n""< sensors >\n""...\n""< footbot_distance_scanner implementation=\"rot_z_only\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to draw the rays shot by the distance scanner 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 = \"true\"' in the\n""XML as in this example:\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <sensors>\n"" ...\n"" <footbot_distance_scanner implementation=\"rot_z_only\"\n"" show_rays=\"true\" />\n"" ...\n"" </sensors>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n" , |
||
"Usable" | |||
) |
argos::REGISTER_SPACE_OPERATION | ( | CSpaceOperationAddEntity | , |
CSpaceOperationAddCFloorEntity | , | ||
CFloorEntity | |||
) |
argos::REGISTER_STANDARD_DYNAMICS2D_OPERATIONS_ON_ENTITY | ( | CCylinderEntity | , |
CDynamics2DCylinderModel | |||
) |
argos::REGISTER_STANDARD_DYNAMICS2D_OPERATIONS_ON_ENTITY | ( | CEPuckEntity | , |
CDynamics2DEPuckModel | |||
) |
argos::REGISTER_STANDARD_DYNAMICS2D_OPERATIONS_ON_ENTITY | ( | CBoxEntity | , |
CDynamics2DBoxModel | |||
) |
argos::REGISTER_STANDARD_DYNAMICS2D_OPERATIONS_ON_ENTITY | ( | CFootBotEntity | , |
CDynamics2DFootBotModel | |||
) |
argos::REGISTER_STANDARD_SPACE_OPERATION_REMOVE_ENTITY | ( | CFloorEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_COMPOSABLE | ( | CBoxEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_COMPOSABLE | ( | CCylinderEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_COMPOSABLE | ( | CEPuckEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_COMPOSABLE | ( | CLEDEquippedEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_COMPOSABLE | ( | CComposableEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_COMPOSABLE | ( | CFootBotEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY | ( | CWiFiEquippedEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY | ( | COmnidirectionalCameraEquippedEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY | ( | CFootBotTurretEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY | ( | CFootBotDistanceScannerEquippedEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY | ( | CPositionalEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY | ( | CLightEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY | ( | CGripperEquippedEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY | ( | CLEDEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY | ( | CWheeledEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY | ( | CLightSensorEquippedEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY | ( | CProximitySensorEquippedEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY | ( | CGroundSensorEquippedEntity | ) |
argos::REGISTER_STANDARD_SPACE_OPERATIONS_ON_ENTITY | ( | CRABEquippedEntity | ) |
argos::REGISTER_VISUALIZATION | ( | CQTOpenGLRender | , |
"qt-opengl" | , | ||
"Carlo Pinciroli " | [ilpincy @gmail.com], | ||
"1.0" | , | ||
"An interactive graphical renderer based on QT and OpenGL." | , | ||
"The QT-OpenGL renderer is a graphical renderer based on QT >= 4.5 and OpenGL.\n""It allows the user to watch and modify the simulation as it's running in an\n""intuitive way.\n\n""REQUIRED XML CONFIGURATION\n\n"" <visualization>\n"" <qtopengl_render />\n"" </visualization>\n\n""OPTIONAL XML CONFIGURATION\n\n""It is possible to set some camera parameters. There are 10 available\n""cameras to use. You can switch from one to the other by clicking on the\n""graphical view (to give it focus) and then pressing the keys 0-9.\n""To configure position and orientation of specific | cameras, | ||
say cameras 0 to | 3, | ||
\n""you have to include the following XML code:\n\n""< visualization >\n""< qtopengl_render >\n""< camera >\n""< placement idx=\"0\" position=\"2,2,2\" look_at=\"1,1,1\" />\n"" <placement idx=\"1\" position=\"1,0,7\" look_at=\"1,0,0\" />\n"" <placement idx=\"2\" position=\"3,3,4\" look_at=\"1,6,0\" />\n"" <placement idx=\"3\" position=\"2,3,2\" look_at=\"0,1,0\" />\n"" </camera>\n"" </qtopengl_render>\n"" </visualization>\n\n""The 'idx' attribute specifies the camera index (and the key to press to switch\n""to that camera).\n""The 'position' attribute contains the position of the camera in the arena.\n""The 'look_at' attribute sets the point the camera is looking at.\n""It also possible to set some optical parameters of real | cameras, | ||
namely the\n""focal length and the length of the frame diagonal.For example:\n\n""< visualization >\n""< qtopengl_render >\n""< camera >\n""...\n""< placement idx=\"4\"\n"" position=\"4,1,4\"\n"" look_at=\"2,1,0\"\n"" lens_focal_length=\"50\"\n"" frame_diagonal=\"40\" />\n"" ...\n"" </camera>\n"" </qtopengl_render>\n"" </visualization>\n\n""The 'lens_focal_length' attribute controls the focal length of the lens of the\n""simulated camera. The value is in millimeters and it | defaults, | ||
if not set in\n"" | XML, | ||
to 20mm.\n""The 'frame_diagonal'attribute specifies the length of the frame diagonal of\n""the image film.The value is in millimeters and it | defaults, | ||
if not set in\n"" | XML, | ||
to 35mm.\n""This visualization also allows for user customization.In a similar fashion to\n""the loop | functions, | ||
you can set a plug-in that derives from the\n""CQTOpenGLUserFunctions class.To load it in the | system, | ||
follow this example:\n\n""< visualization >\n""< qtopengl_render >\n""< user_functions library=\"/path/to/libmyuserfunctions.so\"\n"" label=\"my_user_functions\" />\n"" </qtopengl_render>\n"" </visualization>\n\n""The 'library' attribute points to the library where the user functions are\n""stored. This library can be the same as the loop | functions, | ||
or a new one.\n""There is no limitation to where the code is to be found.\n""The 'label'attribute identifies the user function class to use.In this | way, | ||
\n""in a single library you can have multiple user function | implementations, | ||
if\n""you wish.\n""You can also grab frames and store them into image | files, | ||
for example to create\n""videos in a fast way.To do | it, | ||
you just need to press the red capture button\n""and frame grabbing will be on.By | default, | ||
the frames are named\n""'frame_NNNNN.png'and are stored in the current | directory, | ||
i.e.the directory\n""where you run the 'argos'command.If you want to override this | behavior, | ||
you\n""can add the optional 'frame_grabbing'section as follows:\n\n""< visualization >\n""< qtopengl_render >\n""< frame_grabbing directory=\"frames\"\n"" base_name=\"myframe_\"\n"" format=\"png\"\n"" quality=\"100\" />\n"" </qtopengl_render>\n"" </visualization>\n\n""All the attributes in this section are optional. If you don't specify one of\n"" | them, | ||
the default is taken.\n""The 'directory'attribute stores the directory where the frames are saved.If\n""the directory does not | exist, | ||
a fatal error occurs.The directory must exist\n""and be writable.Both absolute and relative paths are allowed.The default\n""value is '.'\n""The 'base_name'attribute is the string to prepend to the file name.After this\n"" | string, | ||
the frame number(padded to 5 digits) is added.The default value is\n""'frame_' | , | ||
so a typical resulting name is 'frame_00165'.\n""The 'format'attribute specifies the format.The default value is 'png'but you\n""can put any format supported by Qt >=4.5.Refer to the Qt documentation for the\n""complete list of supported formats.\n""The 'quality'attribute dictates the quality of the image.Its value is in the\n""rangewhere 0 means maximum compression and minimum | quality[0:100], | ||
and 100\n""means maximum quality and no compression at all.The default value is '-1' | , | ||
\n""which means to use Qt's default quality.For | videos, | ||
it's best to use 100 to\n""avoid artifacts due to compression.For a normal | screenshot, | ||
the default is the\n""safest choice.\n" | , | ||
"Usable" | |||
) |
void argos::RemoveConstraintBetweenGripperAndGrippable | ( | cpSpace * | pt_space, |
void * | p_obj, | ||
void * | p_data | ||
) |
Definition at line 212 of file dynamics2d_gripping.cpp.
void argos::Replace | ( | std::string & | str_buffer, |
const std::string & | str_original, | ||
const std::string & | str_new | ||
) |
Searches into str_buffer for occurrences of str_original and substitutes them with str_new.
str_buffer | the string to modify. |
str_original | the string to search for. |
str_new | the substitute string. |
Definition at line 79 of file string_utilities.cpp.
std::ostream& argos::reset | ( | std::ostream & | c_os | ) | [inline] |
Resets the text to the default settings.
The default settings are white text on black background.
Definition at line 128 of file argos_colored_text.h.
SInt32 argos::Round | ( | Real | f_value | ) | [inline] |
SInt32 argos::RoundClosestToZero | ( | Real | f_value | ) | [inline] |
void argos::SetNodeAttribute | ( | TConfigurationNode & | t_node, |
const std::string & | str_attribute, | ||
const T & | t_value | ||
) |
Sets the value of the wanted node's attribute.
If the attribute does not exist, it is created.
t_node | the node |
str_attribute | the name of the wanted attribute |
t_value | the value to set |
Definition at line 432 of file argos_configuration.h.
void argos::SetNodeAttribute | ( | TConfigurationNode & | t_node, |
const std::string & | str_attribute, | ||
const bool | b_value | ||
) | [inline] |
Sets the value of the wanted node's attribute.
This function is an overloaded version of the templetized SetNodeAttribute() for boolean values.
t_node | the node |
str_attribute | the name of the wanted attribute |
b_value | the value to set |
Definition at line 449 of file argos_configuration.h.
void argos::SetNodeAttribute | ( | TConfigurationNode & | t_node, |
const std::string & | str_attribute, | ||
const SInt8 | n_value | ||
) | [inline] |
Sets the value of the wanted node's attribute.
This function is an overloaded version of the templetized SetNodeAttribute() for SInt8 values.
t_node | the node |
str_attribute | the name of the wanted attribute |
n_value | the value to set |
Definition at line 471 of file argos_configuration.h.
void argos::SetNodeAttribute | ( | TConfigurationNode & | t_node, |
const std::string & | str_attribute, | ||
const UInt8 | un_value | ||
) | [inline] |
Sets the value of the wanted node's attribute.
This function is an overloaded version of the templetized SetNodeAttribute() for UInt8 values.
t_node | the node |
str_attribute | the name of the wanted attribute |
un_value | the value to set |
Definition at line 488 of file argos_configuration.h.
SInt32 argos::Sign | ( | const T & | t_v | ) |
Real argos::Sin | ( | const CRadians & | c_radians | ) | [inline] |
T argos::Square | ( | const T & | t_v | ) |
Real argos::SquareDistance | ( | const CVector2 & | c_v1, |
const CVector2 & | c_v2 | ||
) | [inline] |
Real argos::SquareDistance | ( | const CVector3 & | c_v1, |
const CVector3 & | c_v2 | ||
) | [inline] |
std::string argos::StringToLowerCase | ( | const std::string & | str_string | ) |
Converts a string to lower case.
str_string | the string to convert. |
Definition at line 62 of file string_utilities.cpp.
std::string argos::StringToUpperCase | ( | const std::string & | str_string | ) |
Converts a string to upper case.
str_string | the string to convert. |
Definition at line 45 of file string_utilities.cpp.
Real argos::Tan | ( | const CRadians & | c_radians | ) | [inline] |
CDegrees argos::ToDegrees | ( | const CRadians & | c_radians | ) | [inline] |
void argos::Tokenize | ( | const std::string & | str_string, |
std::vector< std::string > & | vec_tokens, | ||
const std::string & | str_delimiters = " " |
||
) |
Tokenizes the given string according to the wanted delimiters (by default just a " ").
str_string | the string to tokenize. |
vec_tokens | the vector to fill with tokens. |
str_delimiters | the delimiters to use. |
Definition at line 16 of file string_utilities.cpp.
CRadians argos::ToRadians | ( | const CDegrees & | c_degrees | ) | [inline] |
std::string argos::ToString | ( | const T & | t_value | ) |
Converts the given parameter to a std::string
.
Example of use:
UInt32 unToBeConverted(22); std::string strConverted = ToString(unToBeConverted);
Internally uses an std::ostringstream
. If you want to use it with a custom type, you must define its std::ostream& operator<<(std::ostream&, type)
.
T | the type of the parameter to convert. |
t_value | the parameter to convert. |
std::string
. Definition at line 36 of file string_utilities.h.
CRange<CRadians> argos::APERTURE_RANGE(CCI_FootBotGripperActuator::LOCKED_NEGATIVE, CCI_FootBotGripperActuator::LOCKED_POSITIVE) |
const GLfloat argos::EMISSION = { 0.0f, 0.0f, 0.0f, 1.0f } |
Definition at line 23 of file qtopengl_box.cpp.
Definition at line 159 of file argos_log.h.
Definition at line 160 of file argos_log.h.
const GLfloat argos::MOVABLE_COLOR = { 1.0f, 0.0f, 0.0f, 1.0f } |
Definition at line 19 of file qtopengl_box.cpp.
const GLfloat argos::NONMOVABLE_COLOR = { 0.7f, 0.7f, 0.7f, 1.0f } |
Definition at line 20 of file qtopengl_box.cpp.
const Real argos::RPM_TO_RADIANS_PER_SEC = ARGOS_PI / 30.0f |
Definition at line 11 of file footbot_turret_default_actuator.cpp.
const GLfloat argos::SHININESS = { 0.0f } |
Definition at line 22 of file qtopengl_box.cpp.
const GLfloat argos::SPECULAR = { 0.0f, 0.0f, 0.0f, 1.0f } |
Definition at line 21 of file qtopengl_box.cpp.