Sensor for reading environmental data loaded from outside world. To use, add this system to the world file, then instantiate sensors of custom type with gz:type="environmental_sensor/{field_name}", where field_name refers to the type of data you would like to output. Alternatively, if you would like to specify a custom field name you may do so using the <environment_variable> tag. More...
#include <EnvironmentalSensorSystem.hh>
Public Member Functions | |
EnvironmentalSensorSystem () | |
void | Configure (const Entity &_entity, const std::shared_ptr< const sdf::Element > &_sdf, EntityComponentManager &_ecm, EventManager &) override |
Documentation inherited. More... | |
void | PostUpdate (const UpdateInfo &_info, const EntityComponentManager &_ecm) final |
void | PreUpdate (const UpdateInfo &_info, EntityComponentManager &_ecm) final |
Public Member Functions inherited from System | |
System ()=default | |
Constructor. More... | |
virtual | ~System ()=default |
Destructor. More... | |
Additional Inherited Members | |
Public Types inherited from System | |
using | PriorityType = int32_t |
Signed integer type used for specifying priority of the execution order of PreUpdate and Update phases. More... | |
Static Public Attributes inherited from System | |
constexpr static PriorityType | kDefaultPriority = {0} |
Default priority value for execution order of the PreUpdate and Update phases. More... | |
constexpr static std::string_view | kPriorityElementName |
Name of the XML element from which the priority value will be parsed. More... | |
Detailed Description
Sensor for reading environmental data loaded from outside world. To use, add this system to the world file, then instantiate sensors of custom type with gz:type="environmental_sensor/{field_name}", where field_name refers to the type of data you would like to output. Alternatively, if you would like to specify a custom field name you may do so using the <environment_variable> tag.
Additionally, the environment sensor supports scenarios where the data is in the form of vector fields. For instance in the case of wind or ocean currents.
Tags: <output_format> - Either "scalar" or "vector3" depending on type of output data desired. <environment_variable> - Only for scalar type. The name of the column of the CSV file to be used. <environment_variable_x> - The name of the field to be used as the x value in global frame for vector3 fields. Note: If this is left out and vector3 is set, then the x value defaults to zero. <environment_variable_y> - The name of the field to be used as the y value in global frame for vector3 fields. Note: If this is left out and vector3 is set, then the y value defaults to zero. <environment_variable_z> - The name of the field to be used as the z value in global frame vector3 fields. Note: If this is left out and vector3 is set, then the z value defaults to zero. <transform_type> - When handling vector2 or vector3 types it may be in our interest to transform them to local coordinate frames. For instance measurements of ocean currents or wind depend on the orientation and velocity of the sensor. This field can have 4 values:
- GLOBAL - Don't transform the vectors to a local frame.
- LOCAL - Transform the vector to a local frame.
- ADD_VELOCITY_GLOBAL - Don't transform to local frame but account for velocity change.
- ADD_VELOCITY_LOCAL - Transform to local frame and account for sensor velocity. If you're working with wind or ocean currents, this is probably the option you want.
Constructor & Destructor Documentation
◆ EnvironmentalSensorSystem()
Member Function Documentation
◆ Configure()
|
overridevirtual |
Documentation inherited.
Implements ISystemConfigure.
◆ PostUpdate()
|
finalvirtual |
Implements ISystemPostUpdate.
◆ PreUpdate()
|
finalvirtual |
Implements ISystemPreUpdate.
The documentation for this class was generated from the following file: