All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | List of all members
gazebo::sensors::RaySensor Class Reference

Sensor with one or more rays. More...

#include <sensors/sensors.hh>

Inheritance diagram for gazebo::sensors::RaySensor:
Inheritance graph
[legend]
Collaboration diagram for gazebo::sensors::RaySensor:
Collaboration graph
[legend]

Public Member Functions

 RaySensor ()
 Constructor. More...
 
virtual ~RaySensor ()
 Destructor. More...
 
math::Angle GetAngleMax () const
 Get the maximum angle. More...
 
math::Angle GetAngleMin () const
 Get the minimum angle. More...
 
double GetAngleResolution () const
 Get the angle in radians between each range. More...
 
int GetFiducial (unsigned int _index)
 Get detected fiducial value for a ray. More...
 
physics::MultiRayShapePtr GetLaserShape () const
 Returns a pointer to the internal physics::MultiRayShape. More...
 
double GetRange (unsigned int _index)
 Get detected range for a ray. More...
 
int GetRangeCount () const
 Get the range count. More...
 
double GetRangeMax () const
 Get the maximum range. More...
 
double GetRangeMin () const
 Get the minimum range. More...
 
double GetRangeResolution () const
 Get the range resolution. More...
 
void GetRanges (std::vector< double > &_ranges)
 Get all the ranges. More...
 
int GetRayCount () const
 Get the ray count. More...
 
double GetRetro (unsigned int _index)
 Get detected retro (intensity) value for a ray. More...
 
virtual std::string GetTopic () const
 Returns the topic name as set in SDF. More...
 
math::Angle GetVerticalAngleMax () const
 Get the vertical scan line top angle. More...
 
math::Angle GetVerticalAngleMin () const
 Get the vertical scan bottom angle. More...
 
double GetVerticalAngleResolution () const
 Get the vertical angle in radians between each range. More...
 
int GetVerticalRangeCount () const
 Get the vertical scan line count. More...
 
int GetVerticalRayCount () const
 Get the vertical scan line count. More...
 
virtual void Init ()
 Initialize the sensor. More...
 
virtual bool IsActive ()
 Returns true if sensor generation is active. More...
 
virtual void Load (const std::string &_worldName)
 Load the sensor with default parameters. More...
 
- Public Member Functions inherited from gazebo::sensors::Sensor
 Sensor (SensorCategory _cat)
 Constructor. More...
 
virtual ~Sensor ()
 Destructor. More...
 
template<typename T >
event::ConnectionPtr ConnectUpdated (T _subscriber)
 Connect a signal that is triggered when the sensor is updated. More...
 
void DisconnectUpdated (event::ConnectionPtr &_c)
 Disconnect from a the updated signal. More...
 
void FillMsg (msgs::Sensor &_msg)
 fills a msgs::Sensor message. More...
 
SensorCategory GetCategory () const
 Get the category of the sensor. More...
 
uint32_t GetId () const
 Get the sensor's ID. More...
 
common::Time GetLastMeasurementTime ()
 Return last measurement time. More...
 
common::Time GetLastUpdateTime ()
 Return last update time. More...
 
std::string GetName () const
 Get name. More...
 
NoisePtr GetNoise (unsigned int _index=0) const
 Get the sensor's noise model. More...
 
uint32_t GetParentId () const
 Get the sensor's parent's ID. More...
 
std::string GetParentName () const
 Returns the name of the sensor parent. More...
 
virtual math::Pose GetPose () const
 Get the current pose. More...
 
std::string GetScopedName () const
 Get fully scoped name of the sensor. More...
 
std::string GetType () const
 Get sensor type. More...
 
double GetUpdateRate ()
 Get the update rate of the sensor. More...
 
bool GetVisualize () const
 Return true if user requests the sensor to be visualized via tag: <visualize>true</visualize> in SDF. More...
 
std::string GetWorldName () const
 Returns the name of the world the sensor is in. More...
 
virtual void Load (const std::string &_worldName, sdf::ElementPtr _sdf)
 Load the sensor with SDF parameters. More...
 
void ResetLastUpdateTime ()
 Reset the lastUpdateTime to zero. More...
 
virtual void SetActive (bool _value)
 Set whether the sensor is active or not. More...
 
void SetParent (const std::string &_name, uint32_t _id)
 Set the sensor's parent. More...
 
void SetUpdateRate (double _hz)
 Set the update rate of the sensor. More...
 
void Update (bool _force)
 Update the sensor. More...
 

Protected Member Functions

virtual void Fini ()
 Finalize the sensor. More...
 
virtual bool UpdateImpl (bool _force)
 This gets overwritten by derived sensor types. More...
 
- Protected Member Functions inherited from gazebo::sensors::Sensor
bool NeedsUpdate ()
 Return true if the sensor needs to be updated. More...
 

Additional Inherited Members

- Protected Attributes inherited from gazebo::sensors::Sensor
bool active
 True if sensor generation is active. More...
 
std::vector< event::ConnectionPtrconnections
 All event connections. More...
 
common::Time lastMeasurementTime
 Stores last time that a sensor measurement was generated; this value must be updated within each sensor's UpdateImpl. More...
 
common::Time lastUpdateTime
 Time of the last update. More...
 
transport::NodePtr node
 Node for communication. More...
 
std::vector< NoisePtrnoises
 Noise added to sensor data. More...
 
uint32_t parentId
 The sensor's parent ID. More...
 
std::string parentName
 Name of the parent. More...
 
std::vector< SensorPluginPtrplugins
 All the plugins for the sensor. More...
 
math::Pose pose
 Pose of the sensor. More...
 
transport::SubscriberPtr poseSub
 Subscribe to pose updates. More...
 
gazebo::rendering::ScenePtr scene
 Pointer to the Scene. More...
 
sdf::ElementPtr sdf
 Pointer the the SDF element for the sensor. More...
 
common::Time updatePeriod
 Desired time between updates, set indirectly by Sensor::SetUpdateRate. More...
 
gazebo::physics::WorldPtr world
 Pointer to the world. More...
 

Detailed Description

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).

Constructor & Destructor Documentation

gazebo::sensors::RaySensor::RaySensor ( )

Constructor.

virtual gazebo::sensors::RaySensor::~RaySensor ( )
virtual

Destructor.

Member Function Documentation

virtual void gazebo::sensors::RaySensor::Fini ( )
protectedvirtual

Finalize the sensor.

Reimplemented from gazebo::sensors::Sensor.

math::Angle gazebo::sensors::RaySensor::GetAngleMax ( ) const

Get the maximum angle.

Returns
the maximum angle object
math::Angle gazebo::sensors::RaySensor::GetAngleMin ( ) const

Get the minimum angle.

Returns
The minimum angle object
double gazebo::sensors::RaySensor::GetAngleResolution ( ) const

Get the angle in radians between each range.

Returns
Resolution of the angle
int gazebo::sensors::RaySensor::GetFiducial ( unsigned 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).

Parameters
[in]_indexIndex value of specific ray
Returns
Fiducial value
physics::MultiRayShapePtr gazebo::sensors::RaySensor::GetLaserShape ( ) const
inline

Returns a pointer to the internal physics::MultiRayShape.

Returns
Pointer to ray shape
double gazebo::sensors::RaySensor::GetRange ( unsigned 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).

Parameters
[in]_indexIndex of specific ray
Returns
Returns DBL_MAX for no detection.
int gazebo::sensors::RaySensor::GetRangeCount ( ) const

Get the range count.

Returns
The number of ranges
double gazebo::sensors::RaySensor::GetRangeMax ( ) const

Get the maximum range.

Returns
The maximum range
double gazebo::sensors::RaySensor::GetRangeMin ( ) const

Get the minimum range.

Returns
The minimum range
double gazebo::sensors::RaySensor::GetRangeResolution ( ) const

Get the range resolution.

Returns
Resolution of the range
void gazebo::sensors::RaySensor::GetRanges ( std::vector< double > &  _ranges)

Get all the ranges.

Parameters
_rangesA vector that will contain all the range data
int gazebo::sensors::RaySensor::GetRayCount ( ) const

Get the ray count.

Returns
The number of rays
double gazebo::sensors::RaySensor::GetRetro ( unsigned 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).

Parameters
[in]_indexIndex of specific ray
Returns
Retro (intensity) value for ray
virtual std::string gazebo::sensors::RaySensor::GetTopic ( ) const
virtual

Returns the topic name as set in SDF.

Returns
Topic name.

Reimplemented from gazebo::sensors::Sensor.

math::Angle gazebo::sensors::RaySensor::GetVerticalAngleMax ( ) const

Get the vertical scan line top angle.

Returns
The Maximum angle of the scan block
math::Angle gazebo::sensors::RaySensor::GetVerticalAngleMin ( ) const

Get the vertical scan bottom angle.

Returns
The minimum angle of the scan block
double gazebo::sensors::RaySensor::GetVerticalAngleResolution ( ) const

Get the vertical angle in radians between each range.

Returns
Resolution of the angle
int gazebo::sensors::RaySensor::GetVerticalRangeCount ( ) const

Get the vertical scan line count.

Returns
The number of scan lines vertically
int gazebo::sensors::RaySensor::GetVerticalRayCount ( ) const

Get the vertical scan line count.

Returns
The number of scan lines vertically
virtual void gazebo::sensors::RaySensor::Init ( )
virtual

Initialize the sensor.

Reimplemented from gazebo::sensors::Sensor.

virtual bool gazebo::sensors::RaySensor::IsActive ( )
virtual

Returns true if sensor generation is active.

Returns
True if active, false if not.

Reimplemented from gazebo::sensors::Sensor.

virtual void gazebo::sensors::RaySensor::Load ( const std::string &  _worldName)
virtual

Load the sensor with default parameters.

Parameters
[in]_worldNameName of world to load from.

Reimplemented from gazebo::sensors::Sensor.

virtual bool gazebo::sensors::RaySensor::UpdateImpl ( bool  )
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

Parameters
[in]_forceTrue if update is forced, false if not
Returns
True if the sensor was updated.

Reimplemented from gazebo::sensors::Sensor.


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