Sensor with one or more rays. More...
#include <sensors/sensors.hh>
Public Member Functions | |
RaySensor () | |
Constructor. | |
virtual | ~RaySensor () |
Destructor. | |
math::Angle | GetAngleMax () const |
Get the maximum angle. | |
math::Angle | GetAngleMin () const |
Get the minimum angle. | |
double | GetAngleResolution () const |
Get the angle in radians between each range. | |
int | GetFiducial (int _index) |
Get detected fiducial value for a ray. | |
physics::MultiRayShapePtr | GetLaserShape () const |
Returns a pointer to the internal physics::MultiRayShape. | |
double | GetRange (int _index) |
Get detected range for a ray. | |
int | GetRangeCount () const |
Get the range count. | |
double | GetRangeMax () const |
Get the maximum range. | |
double | GetRangeMin () const |
Get the minimum range. | |
double | GetRangeResolution () const |
Get the range resolution. | |
void | GetRanges (std::vector< double > &_ranges) |
Get all the ranges. | |
int | GetRayCount () const |
Get the ray count. | |
double | GetRetro (int _index) |
Get detected retro (intensity) value for a ray. | |
virtual std::string | GetTopic () const |
Returns the topic name as set in SDF. | |
math::Angle | GetVerticalAngleMax () const |
Get the vertical scan line top angle. | |
math::Angle | GetVerticalAngleMin () const |
Get the vertical scan bottom angle. | |
int | GetVerticalRangeCount () const |
Get the vertical scan line count. | |
int | GetVerticalRayCount () const |
Get the vertical scan line count. | |
virtual void | Init () |
Initialize the sensor. | |
virtual bool | IsActive () |
Returns true if sensor generation is active. | |
virtual void | Load (const std::string &_worldName) |
Load the sensor with default parameters. | |
Public Member Functions inherited from gazebo::sensors::Sensor | |
Sensor () | |
Constructor. | |
virtual | ~Sensor () |
Destructor. | |
template<typename T > | |
event::ConnectionPtr | ConnectUpdated (T _subscriber) |
Connect a signal that is triggered when the sensor is updated. | |
void | DisconnectUpdated (event::ConnectionPtr &_c) |
Disconnect from a the updated signal. | |
void | FillMsg (msgs::Sensor &_msg) |
fills a msgs::Sensor message. | |
common::Time | GetLastMeasurementTime () |
Return last measurement time. | |
common::Time | GetLastUpdateTime () |
Return last update time. | |
std::string | GetName () const |
Get name. | |
std::string | GetParentName () const |
Returns the name of the sensor parent. | |
virtual math::Pose | GetPose () const |
Get the current pose. | |
std::string | GetScopedName () const |
Get fully scoped name of the sensor. | |
std::string | GetType () const |
Get sensor type. | |
double | GetUpdateRate () |
Get the update rate of the sensor. | |
bool | GetVisualize () const |
Return true if user requests the sensor to be visualized via tag: <visualize>true</visualize> in SDF. | |
std::string | GetWorldName () const |
Returns the name of the world the sensor is in. | |
virtual void | Load (const std::string &_worldName, sdf::ElementPtr _sdf) |
Load the sensor with SDF parameters. | |
virtual void | SetActive (bool _value) |
Set whether the sensor is active or not. | |
virtual void | SetParent (const std::string &_name) |
Set the parent of the sensor. | |
void | SetUpdateRate (double _hz) |
Set the update rate of the sensor. | |
void | Update (bool _force) |
Update the sensor. | |
Protected Member Functions | |
virtual void | Fini () |
Finalize the sensor. | |
virtual void | UpdateImpl (bool _force) |
This gets overwritten by derived sensor types. | |
Additional Inherited Members | |
Protected Attributes inherited from gazebo::sensors::Sensor | |
bool | active |
True if sensor generation is active. | |
std::vector< event::ConnectionPtr > | connections |
All event connections. | |
common::Time | lastMeasurementTime |
Stores last time that a sensor measurement was generated; this value must be updated within each sensor's UpdateImpl. | |
common::Time | lastUpdateTime |
Time of the last update. | |
transport::NodePtr | node |
Node for communication. | |
std::string | parentName |
Name of the parent. | |
std::vector< SensorPluginPtr > | plugins |
All the plugins for the sensor. | |
math::Pose | pose |
Pose of the sensor. | |
transport::SubscriberPtr | poseSub |
Subscribe to pose updates. | |
sdf::ElementPtr | sdf |
Pointer the the SDF element for the sensor. | |
common::Time | updatePeriod |
Desired time between updates, set indirectly by Sensor::SetUpdateRate. | |
gazebo::physics::WorldPtr | world |
Pointer to the world. | |
Sensor with one or more rays.
This sensor cast rays into the world, tests for intersections, and reports the range to the nearest object. It is used by ranging sensor models (e.g., sonars and scanning laser range finders).
gazebo::sensors::RaySensor::RaySensor | ( | ) |
Constructor.
|
virtual |
Destructor.
|
protectedvirtual |
Finalize the sensor.
Reimplemented from gazebo::sensors::Sensor.
math::Angle gazebo::sensors::RaySensor::GetAngleMax | ( | ) | const |
Get the maximum angle.
math::Angle gazebo::sensors::RaySensor::GetAngleMin | ( | ) | const |
Get the minimum angle.
double gazebo::sensors::RaySensor::GetAngleResolution | ( | ) | const |
Get the angle in radians between each range.
int gazebo::sensors::RaySensor::GetFiducial | ( | int | _index | ) |
Get detected fiducial value for a ray.
Warning: If you are accessing all the ray data in a loop it's possible that the Ray will update in the middle of your access loop. This means some data will come from one scan, and some from another scan. You can solve this problem by using SetActive(false) <your accessor loop> SetActive(true).
[in] | _index | Index value of specific ray |
|
inline |
Returns a pointer to the internal physics::MultiRayShape.
double gazebo::sensors::RaySensor::GetRange | ( | int | _index | ) |
Get detected range for a ray.
Warning: If you are accessing all the ray data in a loop it's possible that the Ray will update in the middle of your access loop. This means some data will come from one scan, and some from another scan. You can solve this problem by using SetActive(false) <your accessor loop> SetActive(true).
[in] | _index | Index of specific ray |
int gazebo::sensors::RaySensor::GetRangeCount | ( | ) | const |
Get the range count.
double gazebo::sensors::RaySensor::GetRangeMax | ( | ) | const |
Get the maximum range.
double gazebo::sensors::RaySensor::GetRangeMin | ( | ) | const |
Get the minimum range.
double gazebo::sensors::RaySensor::GetRangeResolution | ( | ) | const |
Get the range resolution.
void gazebo::sensors::RaySensor::GetRanges | ( | std::vector< double > & | _ranges | ) |
Get all the ranges.
_ranges | A vector that will contain all the range data |
int gazebo::sensors::RaySensor::GetRayCount | ( | ) | const |
Get the ray count.
double gazebo::sensors::RaySensor::GetRetro | ( | int | _index | ) |
Get detected retro (intensity) value for a ray.
Warning: If you are accessing all the ray data in a loop it's possible that the Ray will update in the middle of your access loop. This means some data will come from one scan, and some from another scan. You can solve this problem by using SetActive(false) <your accessor loop> SetActive(true).
[in] | _index | Index of specific ray |
|
virtual |
Returns the topic name as set in SDF.
Reimplemented from gazebo::sensors::Sensor.
math::Angle gazebo::sensors::RaySensor::GetVerticalAngleMax | ( | ) | const |
Get the vertical scan line top angle.
math::Angle gazebo::sensors::RaySensor::GetVerticalAngleMin | ( | ) | const |
Get the vertical scan bottom angle.
int gazebo::sensors::RaySensor::GetVerticalRangeCount | ( | ) | const |
Get the vertical scan line count.
int gazebo::sensors::RaySensor::GetVerticalRayCount | ( | ) | const |
Get the vertical scan line count.
|
virtual |
Initialize the sensor.
Reimplemented from gazebo::sensors::Sensor.
|
virtual |
Returns true if sensor generation is active.
Reimplemented from gazebo::sensors::Sensor.
|
virtual |
Load the sensor with default parameters.
[in] | _worldName | Name of world to load from. |
Reimplemented from gazebo::sensors::Sensor.
|
protectedvirtual |
This gets overwritten by derived sensor types.
This function is called during Sensor::Update. And in turn, Sensor::Update is called by SensorManager::Update
[in] | _force | True if update is forced, false if not |
Reimplemented from gazebo::sensors::Sensor.