CameraSensor Class Reference

Basic camera sensor. More...

#include <sensors/sensors.hh>

Inherits Sensor.

Inherited by DepthCameraSensor, and WideAngleCameraSensor.

Public Member Functions

 CameraSensor ()
 Constructor. More...
 
virtual ~CameraSensor ()
 Destructor. More...
 
rendering::CameraPtr Camera () const
 Returns a pointer to the rendering::Camera. More...
 
SensorCategory Category () const
 Get the category of the sensor. More...
 
event::ConnectionPtr ConnectUpdated (std::function< void()> _subscriber)
 Connect a signal that is triggered when the sensor is updated. More...
 
void FillMsg (msgs::Sensor &_msg)
 fills a msgs::Sensor message. More...
 
uint32_t Id () const
 Get the sensor's ID. More...
 
const unsigned char * ImageData () const
 Gets the raw image data from the sensor. More...
 
unsigned int ImageHeight () const
 Gets the height of the image in pixels. More...
 
unsigned int ImageWidth () const
 Gets the width of the image in pixels. More...
 
virtual void Init () override
 Initialize the camera. More...
 
virtual bool IsActive () const override
 Returns true if sensor generation is active. More...
 
common::Time LastMeasurementTime () const
 Return last measurement time. More...
 
common::Time LastUpdateTime () const
 Return last update time. More...
 
virtual void Load (const std::string &_worldName, sdf::ElementPtr _sdf) override
 Load the sensor with SDF parameters. More...
 
virtual void Load (const std::string &_worldName) override
 Load the sensor with default parameters. More...
 
std::string Name () const
 Get name. More...
 
double NextRequiredTimestamp () const override
 Return the next timestamp going to be used by the sensor. More...
 
NoisePtr Noise (const SensorNoiseType _type) const
 Get the sensor's noise model for a specified noise type. More...
 
uint32_t ParentId () const
 Get the sensor's parent's ID. More...
 
std::string ParentName () const
 Returns the name of the sensor parent. More...
 
virtual ignition::math::Pose3d Pose () const
 Get the current pose. More...
 
bool SaveFrame (const std::string &_filename)
 Saves the image to the disk. More...
 
std::string ScopedName () const
 Get fully scoped name of the sensor. More...
 
void SetActive (bool _value) override
 Set whether the sensor is active or not. More...
 
void SetParent (const std::string &_name, const uint32_t _id)
 Set the sensor's parent. More...
 
virtual void SetPose (const ignition::math::Pose3d &_pose)
 Set the current pose. More...
 
void SetUpdateRate (const double _hz)
 Set the update rate of the sensor. More...
 
virtual std::string Topic () const override
 Gets the topic name of the sensor. More...
 
std::string TopicIgn () const
 Gets the ignition topic name of the sensor. More...
 
std::string Type () const
 Get sensor type. More...
 
void Update (bool _force) override
 Update the sensor. More...
 
double UpdateRate () const
 Get the update rate of the sensor. More...
 
bool Visualize () const
 Return true if user requests the sensor to be visualized via tag: <visualize>true</visualize> in SDF. More...
 
std::string WorldName () const
 Returns the name of the world the sensor is in. More...
 

Protected Member Functions

virtual void Fini () override
 Finalize the camera. More...
 
bool NeedsUpdate () override
 Return true if the sensor needs to be updated. More...
 
virtual void Render ()
 Handle the render event. More...
 
bool Rendered () const
 Get the value of the rendered flag. More...
 
void ResetLastUpdateTime () override
 reset timing related members More...
 
void SetRendered (const bool _value)
 Set the value of the rendered flag. More...
 
virtual bool UpdateImpl (const bool _force) override
 This gets overwritten by derived sensor types. More...
 

Protected Attributes

bool active
 True if sensor generation is active. More...
 
rendering::CameraPtr camera
 Pointer to the camera. More...
 
std::vector< event::ConnectionPtrconnections
 All event connections. More...
 
transport::PublisherPtr imagePub
 Publisher of image messages. More...
 
ignition::transport::Node::Publisher imagePubIgn
 Publisher of image messages. 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...
 
ignition::transport::Node nodeIgn
 Ignition transport node. More...
 
std::map< SensorNoiseType, 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...
 
ignition::math::Pose3d pose
 Pose of the sensor. More...
 
gazebo::rendering::ScenePtr scene
 Pointer to the Scene. More...
 
sdf::ElementPtr sdf
 Pointer the the SDF element for the sensor. More...
 
event::EventT< void()> updated
 Event triggered when a sensor is updated. 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

Basic camera sensor.

This sensor is used for simulating standard monocular cameras

Constructor & Destructor Documentation

◆ CameraSensor()

Constructor.

◆ ~CameraSensor()

virtual ~CameraSensor ( )
virtual

Destructor.

Member Function Documentation

◆ Camera()

rendering::CameraPtr Camera ( ) const

Returns a pointer to the rendering::Camera.

Returns
The Pointer to the camera sensor.

◆ Category()

SensorCategory Category ( ) const
inherited

Get the category of the sensor.

Returns
The category of the sensor.
See also
SensorCategory

◆ ConnectUpdated()

event::ConnectionPtr ConnectUpdated ( std::function< void()>  _subscriber)
inherited

Connect a signal that is triggered when the sensor is updated.

Parameters
[in]_subscriberCallback that receives the signal.
Returns
A pointer to the connection. This must be kept in scope.
See also
Sensor::DisconnectUpdated

◆ FillMsg()

void FillMsg ( msgs::Sensor &  _msg)
inherited

fills a msgs::Sensor message.

Parameters
[out]_msgMessage to fill.

◆ Fini()

virtual void Fini ( )
overrideprotectedvirtual

Finalize the camera.

Reimplemented from Sensor.

Reimplemented in WideAngleCameraSensor.

◆ Id()

uint32_t Id ( ) const
inherited

Get the sensor's ID.

Returns
The sensor's ID.

◆ ImageData()

const unsigned char* ImageData ( ) const

Gets the raw image data from the sensor.

Returns
The pointer to the image data array.

◆ ImageHeight()

unsigned int ImageHeight ( ) const

Gets the height of the image in pixels.

Returns
The image height in pixels.

◆ ImageWidth()

unsigned int ImageWidth ( ) const

Gets the width of the image in pixels.

Returns
The image width in pixels.

◆ Init()

virtual void Init ( )
overridevirtual

Initialize the camera.

Reimplemented from Sensor.

Reimplemented in WideAngleCameraSensor, and DepthCameraSensor.

◆ IsActive()

virtual bool IsActive ( ) const
overridevirtual

Returns true if sensor generation is active.

Returns
True if active, false if not.

Reimplemented from Sensor.

◆ LastMeasurementTime()

common::Time LastMeasurementTime ( ) const
inherited

Return last measurement time.

Returns
Time of last measurement.

◆ LastUpdateTime()

common::Time LastUpdateTime ( ) const
inherited

Return last update time.

Returns
Time of last update.

◆ Load() [1/2]

virtual void Load ( const std::string &  _worldName,
sdf::ElementPtr  _sdf 
)
overridevirtual

Load the sensor with SDF parameters.

Parameters
[in]_sdfSDF Sensor parameters
[in]_worldNameName of world to load from

Reimplemented from Sensor.

◆ Load() [2/2]

virtual void Load ( const std::string &  _worldName)
overridevirtual

Load the sensor with default parameters.

Parameters
[in]_worldNameName of world to load from

Reimplemented from Sensor.

Reimplemented in DepthCameraSensor, and WideAngleCameraSensor.

◆ Name()

std::string Name ( ) const
inherited

Get name.

Returns
Name of sensor.

◆ NeedsUpdate()

bool NeedsUpdate ( )
overrideprotectedvirtual

Return true if the sensor needs to be updated.

Returns
True when sensor should be updated.

Reimplemented from Sensor.

◆ NextRequiredTimestamp()

double NextRequiredTimestamp ( ) const
overridevirtual

Return the next timestamp going to be used by the sensor.

Returns
the timestamp

Reimplemented from Sensor.

◆ Noise()

NoisePtr Noise ( const SensorNoiseType  _type) const
inherited

Get the sensor's noise model for a specified noise type.

Parameters
[in]_typeIndex of the noise type. Refer to SensorNoiseType enumeration for possible indices
Returns
The sensor's noise model for the given noise type

◆ ParentId()

uint32_t ParentId ( ) const
inherited

Get the sensor's parent's ID.

Returns
The sensor's parent's ID.

◆ ParentName()

std::string ParentName ( ) const
inherited

Returns the name of the sensor parent.

The parent name is set by Sensor::SetParent.

Returns
Name of Parent.

◆ Pose()

virtual ignition::math::Pose3d Pose ( ) const
virtualinherited

Get the current pose.

Returns
Current pose of the sensor.
See also
SetPose()

◆ Render()

virtual void Render ( )
protectedvirtual

Handle the render event.

◆ Rendered()

bool Rendered ( ) const
protected

Get the value of the rendered flag.

◆ ResetLastUpdateTime()

void ResetLastUpdateTime ( )
overrideprotectedvirtual

reset timing related members

Reimplemented from Sensor.

◆ SaveFrame()

bool SaveFrame ( const std::string &  _filename)

Saves the image to the disk.

Parameters
[in]_filenameThe name of the file to be saved.
Returns
True if successful, false if unsuccessful.

◆ ScopedName()

std::string ScopedName ( ) const
inherited

Get fully scoped name of the sensor.

Returns
world_name::model_name::link_name::sensor_name.

◆ SetActive()

void SetActive ( bool  _value)
overridevirtual

Set whether the sensor is active or not.

Parameters
[in]_valueTrue if active, false if not.

Reimplemented from Sensor.

◆ SetParent()

void SetParent ( const std::string &  _name,
const uint32_t  _id 
)
inherited

Set the sensor's parent.

Parameters
[in]_nameThe sensor's parent's name.
[in]_idThe sensor's parent's ID.

◆ SetPose()

virtual void SetPose ( const ignition::math::Pose3d &  _pose)
virtualinherited

Set the current pose.

Parameters
[in]_poseNew pose of the sensor.
See also
Pose()

◆ SetRendered()

void SetRendered ( const bool  _value)
protected

Set the value of the rendered flag.

Parameters
[in]_valueNew rendered value.

◆ SetUpdateRate()

void SetUpdateRate ( const double  _hz)
inherited

Set the update rate of the sensor.

Parameters
[in]_hzupdate rate of sensor.

◆ Topic()

virtual std::string Topic ( ) const
overridevirtual

Gets the topic name of the sensor.

Returns
Topic name

Reimplemented from Sensor.

◆ TopicIgn()

std::string TopicIgn ( ) const

Gets the ignition topic name of the sensor.

Returns
Ignition topic name

◆ Type()

std::string Type ( ) const
inherited

Get sensor type.

Returns
Type of sensor.

◆ Update()

void Update ( bool  _force)
overridevirtual

Update the sensor.

Parameters
[in]_forceTrue to force update, false otherwise.

Reimplemented from Sensor.

◆ UpdateImpl()

virtual bool UpdateImpl ( const bool  )
overrideprotectedvirtual

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

Reimplemented in DepthCameraSensor, and WideAngleCameraSensor.

◆ UpdateRate()

double UpdateRate ( ) const
inherited

Get the update rate of the sensor.

Returns
_hz update rate of sensor. Returns 0 if unthrottled.

◆ Visualize()

bool Visualize ( ) const
inherited

Return true if user requests the sensor to be visualized via tag: <visualize>true</visualize> in SDF.

Returns
True if visualized, false if not.

◆ WorldName()

std::string WorldName ( ) const
inherited

Returns the name of the world the sensor is in.

Returns
Name of the world.

Member Data Documentation

◆ active

bool active
protectedinherited

True if sensor generation is active.

◆ camera

rendering::CameraPtr camera
protected

Pointer to the camera.

◆ connections

std::vector<event::ConnectionPtr> connections
protectedinherited

All event connections.

◆ imagePub

transport::PublisherPtr imagePub
protected

Publisher of image messages.

◆ imagePubIgn

ignition::transport::Node::Publisher imagePubIgn
protected

Publisher of image messages.

◆ lastMeasurementTime

common::Time lastMeasurementTime
protectedinherited

Stores last time that a sensor measurement was generated; this value must be updated within each sensor's UpdateImpl.

◆ lastUpdateTime

common::Time lastUpdateTime
protectedinherited

Time of the last update.

◆ node

transport::NodePtr node
protectedinherited

Node for communication.

◆ nodeIgn

ignition::transport::Node nodeIgn
protectedinherited

Ignition transport node.

◆ noises

std::map<SensorNoiseType, NoisePtr> noises
protectedinherited

Noise added to sensor data.

◆ parentId

uint32_t parentId
protectedinherited

The sensor's parent ID.

◆ parentName

std::string parentName
protectedinherited

Name of the parent.

◆ plugins

std::vector<SensorPluginPtr> plugins
protectedinherited

All the plugins for the sensor.

◆ pose

ignition::math::Pose3d pose
protectedinherited

Pose of the sensor.

◆ scene

gazebo::rendering::ScenePtr scene
protectedinherited

Pointer to the Scene.

◆ sdf

sdf::ElementPtr sdf
protectedinherited

Pointer the the SDF element for the sensor.

◆ updated

event::EventT<void()> updated
protectedinherited

Event triggered when a sensor is updated.

◆ updatePeriod

common::Time updatePeriod
protectedinherited

Desired time between updates, set indirectly by Sensor::SetUpdateRate.

◆ world

gazebo::physics::WorldPtr world
protectedinherited

Pointer to the world.


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