#include <sensors/sensors.hh>
Public Member Functions | |
GpuRaySensor () | |
Constructor. More... | |
virtual | ~GpuRaySensor () |
Destructor. More... | |
event::ConnectionPtr | ConnectNewLaserFrame (boost::function< void(const float *, unsigned int, unsigned int, unsigned int, const std::string &)> _subscriber) |
Connect to the new laser frame event. More... | |
void | DisconnectNewLaserFrame (event::ConnectionPtr &_conn) |
Disconnect Laser Frame. More... | |
math::Angle | GetAngleMax () const |
Get the maximum angle. More... | |
math::Angle | GetAngleMin () const |
Get the minimum angle. More... | |
double | GetAngleResolution () const |
Get radians between each range. More... | |
unsigned int | GetCameraCount () const |
Gets the camera count. More... | |
double | GetCosHorzFOV () const |
Get Cos Horz field-of-view. More... | |
double | GetCosVertFOV () const |
Get Cos Vert field-of-view. More... | |
int | GetFiducial (int _index) const |
Get detected fiducial value for a ray. More... | |
double | GetHorzFOV () const |
Get the horizontal field of view of the laser sensor. More... | |
double | GetHorzHalfAngle () const |
Get (horizontal_max_angle + horizontal_min_angle) * 0.5. More... | |
rendering::GpuLaserPtr | GetLaserCamera () const |
Returns a pointer to the internally kept rendering::GpuLaser. More... | |
double | GetRange (int _index) |
Get detected range for a ray. More... | |
int | GetRangeCount () const |
Get the range count. More... | |
double | GetRangeCountRatio () const |
Return the ratio of horizontal range count to vertical 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 If RangeResolution is 1, the number of simulated rays is equal to the number of returned range readings. More... | |
void | GetRanges (std::vector< double > &_ranges) |
Get all the ranges. More... | |
int | GetRayCount () const |
Get the ray count. More... | |
double | GetRayCountRatio () const |
Return the ratio of horizontal ray count to vertical ray count. More... | |
double | GetRetro (int _index) const |
Get detected retro (intensity) value for a ray. More... | |
virtual std::string | GetTopic () const |
Returns the topic name as set in SDF. More... | |
double | GetVertFOV () const |
Get the vertical field-of-view. More... | |
double | GetVertHalfAngle () const |
Get (vertical_max_angle + vertical_min_angle) * 0.5. More... | |
math::Angle | GetVerticalAngleMax () const |
Get the vertical scan line top angle. More... | |
math::Angle | GetVerticalAngleMin () const |
Get the vertical scan bottom angle. 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 ray. More... | |
virtual bool | IsActive () |
Returns true if sensor generation is active. More... | |
bool | IsHorizontal () const |
Gets if sensor is horizontal. More... | |
virtual void | Load (const std::string &_worldName, sdf::ElementPtr &_sdf) |
Load the sensor with SDF parameters. More... | |
virtual void | Load (const std::string &_worldName) |
Load the sensor with default parameters. More... | |
void | SetAngleMax (double _angle) |
Set the scan maximum angle. More... | |
void | SetAngleMin (double _angle) |
Set the scan minimum angle. More... | |
void | SetVerticalAngleMax (double _angle) |
Set the vertical scan line top angle. More... | |
void | SetVerticalAngleMin (double _angle) |
Set the vertical scan bottom angle. 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... | |
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... | |
virtual void | SetParent (const std::string &_name) GAZEBO_DEPRECATED(2.0) |
Set the parent of the sensor. 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 ray. More... | |
virtual void | UpdateImpl (bool _force) |
Update the sensor information. More... | |
Protected Attributes | |
sdf::ElementPtr | cameraElem |
Camera SDF element. More... | |
sdf::ElementPtr | horzElem |
Horizontal SDF element. More... | |
unsigned int | horzRangeCount |
Horizontal range count. More... | |
unsigned int | horzRayCount |
Horizontal ray count. More... | |
double | rangeCountRatio |
Range count ratio. More... | |
sdf::ElementPtr | rangeElem |
Range SDF element. More... | |
sdf::ElementPtr | scanElem |
Scan SDF elementz. More... | |
sdf::ElementPtr | vertElem |
Vertical SDF element. More... | |
unsigned int | vertRangeCount |
Vertical range count. More... | |
unsigned int | vertRayCount |
Vertical ray count. More... | |
Protected Attributes inherited from gazebo::sensors::Sensor | |
bool | active |
True if sensor generation is active. More... | |
std::vector< event::ConnectionPtr > | connections |
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... | |
boost::mutex | mutexLastUpdateTime |
Mutex to protect resetting lastUpdateTime. More... | |
transport::NodePtr | node |
Node for communication. More... | |
uint32_t | parentId |
The sensor's parent ID. More... | |
std::string | parentName |
Name of the parent. More... | |
std::vector< SensorPluginPtr > | plugins |
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... | |
gazebo::sensors::GpuRaySensor::GpuRaySensor | ( | ) |
Constructor.
|
virtual |
Destructor.
event::ConnectionPtr gazebo::sensors::GpuRaySensor::ConnectNewLaserFrame | ( | boost::function< void(const float *, unsigned int, unsigned int, unsigned int, const std::string &)> | _subscriber | ) |
Connect to the new laser frame event.
[in] | _subscriber | Event callback. |
void gazebo::sensors::GpuRaySensor::DisconnectNewLaserFrame | ( | event::ConnectionPtr & | _conn | ) |
Disconnect Laser Frame.
[in,out] | _conn | Connection pointer to disconnect. |
|
protectedvirtual |
Finalize the ray.
Reimplemented from gazebo::sensors::Sensor.
math::Angle gazebo::sensors::GpuRaySensor::GetAngleMax | ( | ) | const |
Get the maximum angle.
math::Angle gazebo::sensors::GpuRaySensor::GetAngleMin | ( | ) | const |
Get the minimum angle.
double gazebo::sensors::GpuRaySensor::GetAngleResolution | ( | ) | const |
Get radians between each range.
unsigned int gazebo::sensors::GpuRaySensor::GetCameraCount | ( | ) | const |
Gets the camera count.
double gazebo::sensors::GpuRaySensor::GetCosHorzFOV | ( | ) | const |
Get Cos Horz field-of-view.
double gazebo::sensors::GpuRaySensor::GetCosVertFOV | ( | ) | const |
Get Cos Vert field-of-view.
int gazebo::sensors::GpuRaySensor::GetFiducial | ( | int | _index | ) | const |
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 of specific ray |
double gazebo::sensors::GpuRaySensor::GetHorzFOV | ( | ) | const |
Get the horizontal field of view of the laser sensor.
double gazebo::sensors::GpuRaySensor::GetHorzHalfAngle | ( | ) | const |
Get (horizontal_max_angle + horizontal_min_angle) * 0.5.
|
inline |
Returns a pointer to the internally kept rendering::GpuLaser.
double gazebo::sensors::GpuRaySensor::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::GpuRaySensor::GetRangeCount | ( | ) | const |
Get the range count.
double gazebo::sensors::GpuRaySensor::GetRangeCountRatio | ( | ) | const |
Return the ratio of horizontal range count to vertical range count.
A ray count is the number of simulated rays. Whereas a range count is the total number of data points returned. When range count != ray count, then values are interpolated between rays.
double gazebo::sensors::GpuRaySensor::GetRangeMax | ( | ) | const |
Get the maximum range.
double gazebo::sensors::GpuRaySensor::GetRangeMin | ( | ) | const |
Get the minimum range.
double gazebo::sensors::GpuRaySensor::GetRangeResolution | ( | ) | const |
Get the range resolution If RangeResolution is 1, the number of simulated rays is equal to the number of returned range readings.
If it's less than 1, fewer simulated rays than actual returned range readings are used, the results are interpolated from two nearest neighbors, and vice versa.
void gazebo::sensors::GpuRaySensor::GetRanges | ( | std::vector< double > & | _ranges | ) |
Get all the ranges.
[out] | _range | A vector that will contain all the range data |
int gazebo::sensors::GpuRaySensor::GetRayCount | ( | ) | const |
Get the ray count.
double gazebo::sensors::GpuRaySensor::GetRayCountRatio | ( | ) | const |
Return the ratio of horizontal ray count to vertical ray count.
A ray count is the number of simulated rays. Whereas a range count is the total number of data points returned. When range count != ray count, then values are interpolated between rays.
double gazebo::sensors::GpuRaySensor::GetRetro | ( | int | _index | ) | const |
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.
double gazebo::sensors::GpuRaySensor::GetVertFOV | ( | ) | const |
Get the vertical field-of-view.
double gazebo::sensors::GpuRaySensor::GetVertHalfAngle | ( | ) | const |
Get (vertical_max_angle + vertical_min_angle) * 0.5.
math::Angle gazebo::sensors::GpuRaySensor::GetVerticalAngleMax | ( | ) | const |
Get the vertical scan line top angle.
math::Angle gazebo::sensors::GpuRaySensor::GetVerticalAngleMin | ( | ) | const |
Get the vertical scan bottom angle.
int gazebo::sensors::GpuRaySensor::GetVerticalRangeCount | ( | ) | const |
Get the vertical scan line count.
int gazebo::sensors::GpuRaySensor::GetVerticalRayCount | ( | ) | const |
Get the vertical scan line count.
|
virtual |
Initialize the ray.
Reimplemented from gazebo::sensors::Sensor.
|
virtual |
Returns true if sensor generation is active.
Reimplemented from gazebo::sensors::Sensor.
bool gazebo::sensors::GpuRaySensor::IsHorizontal | ( | ) | const |
Gets if sensor is horizontal.
|
virtual |
Load the sensor with SDF parameters.
[in] | _sdf | SDF Sensor parameters |
[in] | _worldName | Name of world to load from |
|
virtual |
Load the sensor with default parameters.
[in] | _worldName | Name of world to load from |
Reimplemented from gazebo::sensors::Sensor.
void gazebo::sensors::GpuRaySensor::SetAngleMax | ( | double | _angle | ) |
Set the scan maximum angle.
[in] | _angle | The maximum angle |
void gazebo::sensors::GpuRaySensor::SetAngleMin | ( | double | _angle | ) |
Set the scan minimum angle.
[in] | _angle | The minimum angle |
void gazebo::sensors::GpuRaySensor::SetVerticalAngleMax | ( | double | _angle | ) |
Set the vertical scan line top angle.
[in] | _angle | The Maximum angle of the scan block |
void gazebo::sensors::GpuRaySensor::SetVerticalAngleMin | ( | double | _angle | ) |
Set the vertical scan bottom angle.
[in] | _angle | The minimum angle of the scan block |
|
protectedvirtual |
Update the sensor information.
[in] | _force | True if update is forced, false if not |
Reimplemented from gazebo::sensors::Sensor.
|
protected |
Camera SDF element.
|
protected |
Horizontal SDF element.
|
protected |
Horizontal range count.
|
protected |
Horizontal ray count.
|
protected |
Range count ratio.
|
protected |
Range SDF element.
|
protected |
Scan SDF elementz.
|
protected |
Vertical SDF element.
|
protected |
Vertical range count.
|
protected |
Vertical ray count.