FiducialCameraPlugin Class Reference

A camera sensor plugin for fiducial detection A fiducial is detected if its center is within the camera frustum and not occluded by other models in the view. More...

#include <FiducialCameraPlugin.hh>

Inherits SensorPlugin.

Public Types

typedef boost::shared_ptr< SensorPluginTPtr
 plugin pointer type definition More...
 

Public Member Functions

 FiducialCameraPlugin ()
 Constructor. More...
 
virtual ~FiducialCameraPlugin ()
 Destructor. More...
 
std::string GetFilename () const
 Get the name of the handler. More...
 
std::string GetHandle () const
 Get the short name of the handler. More...
 
PluginType GetType () const
 Returns the type of the plugin. More...
 
void Init ()
 Override this method for custom plugin initialization behavior. More...
 
void Load (sensors::SensorPtr _sensor, sdf::ElementPtr _sdf)
 Load function. More...
 
virtual void OnNewFrame (const unsigned char *_image, const unsigned int _width, const unsigned int _height, const unsigned int _depth, const std::string &_format)
 Callback when a new camera frame is available. More...
 
virtual void Reset ()
 Override this method for custom plugin reset behavior. More...
 

Static Public Member Functions

static TPtr Create (const std::string &_filename, const std::string &_name)
 a class method that creates a plugin from a file name. More...
 

Protected Attributes

std::string filename
 Path to the shared library file. More...
 
std::string handleName
 Short name. More...
 
PluginType type
 Type of plugin. More...
 

Detailed Description

A camera sensor plugin for fiducial detection A fiducial is detected if its center is within the camera frustum and not occluded by other models in the view.

The results are published to a topic, e.g. ~/camera_model_name/link_name/sensor_name/fiducial The message format is PosesStamped. The pose's x and y position fields are the image coordinates of the center of the detected fiducial, and the orientation is currently always an identity quaternion.

Member Typedef Documentation

typedef boost::shared_ptr<SensorPlugin > TPtr
inherited

plugin pointer type definition

Constructor & Destructor Documentation

Constructor.

virtual ~FiducialCameraPlugin ( )
virtual

Destructor.

Member Function Documentation

static TPtr Create ( const std::string &  _filename,
const std::string &  _name 
)
inlinestaticinherited

a class method that creates a plugin from a file name.

It locates the shared library and loads it dynamically.

Parameters
[in]_filenamethe path to the shared library.
[in]_nameshort name of the plugin
Returns
Shared Pointer to this class type
std::string GetFilename ( ) const
inlineinherited

Get the name of the handler.

std::string GetHandle ( ) const
inlineinherited

Get the short name of the handler.

PluginType GetType ( ) const
inlineinherited

Returns the type of the plugin.

Returns
type of the plugin
void Init ( )
virtual

Override this method for custom plugin initialization behavior.

Reimplemented from SensorPlugin.

void Load ( sensors::SensorPtr  _sensor,
sdf::ElementPtr  _sdf 
)
virtual

Load function.

Called when a Plugin is first created, and after the World has been loaded. This function should not be blocking.

Parameters
[in]_sensorPointer the Sensor.
[in]_sdfPointer the the SDF element of the plugin.

Implements SensorPlugin.

virtual void OnNewFrame ( const unsigned char *  _image,
const unsigned int  _width,
const unsigned int  _height,
const unsigned int  _depth,
const std::string &  _format 
)
virtual

Callback when a new camera frame is available.

Parameters
[in]_imageimage data
[in]_widthimage width
[in]_heightimage height
[in]_depthimage depth
[in]_formatimage format
virtual void Reset ( )
inlinevirtualinherited

Override this method for custom plugin reset behavior.

Member Data Documentation

std::string filename
protectedinherited

Path to the shared library file.

std::string handleName
protectedinherited

Short name.

PluginType type
protectedinherited

Type of plugin.


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