All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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]

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 (SensorCategory _cat)
 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.
 
SensorCategory GetCategory () const
 Get the category of the sensor.
 
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.
 
void ResetLastUpdateTime ()
 Reset the lastUpdateTime to zero.
 
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::ConnectionPtrconnections
 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< SensorPluginPtrplugins
 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.
 

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 ( 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 ( 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 ( 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
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 void 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

Reimplemented from gazebo::sensors::Sensor.


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