YARP
Yet Another Robot Platform
depthCameraDriver Class Reference

depthCamera: YARP driver for OpenNI2 compatible devices. More...

#include <depthCamera/depthCameraDriver.h>

+ Inheritance diagram for depthCameraDriver:

Public Member Functions

 depthCameraDriver ()
 
 ~depthCameraDriver ()
 
bool open (yarp::os::Searchable &config) override
 Open the DeviceDriver. More...
 
bool close () override
 Close the DeviceDriver. More...
 
int getRgbHeight () override
 Return the height of each frame. More...
 
int getRgbWidth () override
 Return the width of each frame. More...
 
bool getRgbSupportedConfigurations (yarp::sig::VectorOf< yarp::dev::CameraConfig > &configurations) override
 Get the possible configurations of the camera. More...
 
bool getRgbResolution (int &width, int &height) override
 Get the resolution of the rgb image from the camera. More...
 
bool setRgbResolution (int width, int height) override
 Set the resolution of the rgb image from the camera. More...
 
bool getRgbFOV (double &horizontalFov, double &verticalFov) override
 Get the field of view (FOV) of the rgb camera. More...
 
bool setRgbFOV (double horizontalFov, double verticalFov) override
 Set the field of view (FOV) of the rgb camera. More...
 
bool getRgbMirroring (bool &mirror) override
 Get the mirroring setting of the sensor. More...
 
bool setRgbMirroring (bool mirror) override
 Set the mirroring setting of the sensor. More...
 
bool getRgbIntrinsicParam (Property &intrinsic) override
 Get the intrinsic parameters of the rgb camera. More...
 
int getDepthHeight () override
 Return the height of each frame. More...
 
int getDepthWidth () override
 Return the height of each frame. More...
 
bool setDepthResolution (int width, int height) override
 Set the resolution of the depth image from the camera. More...
 
bool getDepthFOV (double &horizontalFov, double &verticalFov) override
 Get the field of view (FOV) of the depth camera. More...
 
bool setDepthFOV (double horizontalFov, double verticalFov) override
 Set the field of view (FOV) of the depth camera. More...
 
bool getDepthIntrinsicParam (Property &intrinsic) override
 Get the intrinsic parameters of the depth camera. More...
 
double getDepthAccuracy () override
 Get the minimum detectable variation in distance [meter]. More...
 
bool setDepthAccuracy (double accuracy) override
 Set the minimum detectable variation in distance [meter] when possible. More...
 
bool getDepthClipPlanes (double &nearPlane, double &farPlane) override
 Get the clipping planes of the sensor. More...
 
bool setDepthClipPlanes (double nearPlane, double farPlane) override
 Set the clipping planes of the sensor. More...
 
bool getDepthMirroring (bool &mirror) override
 Get the mirroring setting of the sensor. More...
 
bool setDepthMirroring (bool mirror) override
 Set the mirroring setting of the sensor. More...
 
bool getExtrinsicParam (yarp::sig::Matrix &extrinsic) override
 Get the extrinsic parameters from the device. More...
 
bool getRgbImage (FlexImage &rgbImage, Stamp *timeStamp=NULL) override
 Get the rgb frame from the device. More...
 
bool getDepthImage (depthImage &depthImage, Stamp *timeStamp=NULL) override
 
bool getImages (FlexImage &colorFrame, depthImage &depthFrame, Stamp *colorStamp=NULL, Stamp *depthStamp=NULL) override
 
RGBDSensor_status getSensorStatus () override
 Get the surrent status of the sensor, using enum type. More...
 
std::string getLastErrorMsg (Stamp *timeStamp=NULL) override
 Return an error message in case of error. More...
 
bool getCameraDescription (CameraDescriptor *camera) override
 Get a basic description of the camera hw. More...
 
bool hasFeature (int feature, bool *hasFeature) override
 Check if camera has the requested feature (saturation, brightness ... More...
 
bool setFeature (int feature, double value) override
 Set the requested feature to a value (saturation, brightness ... More...
 
bool getFeature (int feature, double *value) override
 Get the current value for the requested feature. More...
 
bool setFeature (int feature, double value1, double value2) override
 Set the requested feature to a value using 2 params (like white balance) More...
 
bool getFeature (int feature, double *value1, double *value2) override
 Get the current value for the requested feature. More...
 
bool hasOnOff (int feature, bool *HasOnOff) override
 Check if the camera has the ability to turn on/off the requested feature. More...
 
bool setActive (int feature, bool onoff) override
 Set the requested feature on or off. More...
 
bool getActive (int feature, bool *isActive) override
 Get the current status of the feature, on or off. More...
 
bool hasAuto (int feature, bool *hasAuto) override
 Check if the requested feature has the 'auto' mode. More...
 
bool hasManual (int feature, bool *hasManual) override
 Check if the requested feature has the 'manual' mode. More...
 
bool hasOnePush (int feature, bool *hasOnePush) override
 Check if the requested feature has the 'onePush' mode. More...
 
bool setMode (int feature, FeatureMode mode) override
 Set the requested mode for the feature. More...
 
bool getMode (int feature, FeatureMode *mode) override
 Get the current mode for the feature. More...
 
bool setOnePush (int feature) override
 Set the requested feature to a value (saturation, brightness ... More...
 
- Public Member Functions inherited from yarp::dev::DeviceDriver
 ~DeviceDriver () override=default
 Destructor. More...
 
template<class T >
bool view (T *&x)
 Get an interface to the device driver. More...
 
virtual DeviceDrivergetImplementation ()
 Some drivers are bureaucrats, pointing at others. More...
 
- Public Member Functions inherited from yarp::os::IConfig
virtual ~IConfig ()
 Destructor. More...
 
virtual bool configure (Searchable &config)
 Change online parameters. More...
 
- Public Member Functions inherited from yarp::dev::IRGBDSensor
virtual ~IRGBDSensor ()
 
virtual bool getDepthImage (yarp::sig::ImageOf< yarp::sig::PixelFloat > &depthImage, yarp::os::Stamp *timeStamp=NULL)=0
 Get the depth frame from the device. More...
 
virtual bool getImages (yarp::sig::FlexImage &colorFrame, yarp::sig::ImageOf< yarp::sig::PixelFloat > &depthFrame, yarp::os::Stamp *colorStamp=NULL, yarp::os::Stamp *depthStamp=NULL)=0
 Get the both the color and depth frame in a single call. More...
 
- Public Member Functions inherited from yarp::dev::IRgbVisualParams
virtual ~IRgbVisualParams ()
 
- Public Member Functions inherited from yarp::dev::IDepthVisualParams
virtual ~IDepthVisualParams ()
 
- Public Member Functions inherited from yarp::dev::IFrameGrabberControls
virtual ~IFrameGrabberControls ()
 Destructor. More...
 
virtual bool setBrightness (double v)
 Set the brightness. More...
 
virtual bool setExposure (double v)
 Set the exposure. More...
 
virtual bool setSharpness (double v)
 Set the sharpness. More...
 
virtual bool setWhiteBalance (double blue, double red)
 Set the white balance for the frame grabber. More...
 
virtual bool setHue (double v)
 Set the hue. More...
 
virtual bool setSaturation (double v)
 Set the saturation. More...
 
virtual bool setGamma (double v)
 Set the gamma. More...
 
virtual bool setShutter (double v)
 Set the shutter parameter. More...
 
virtual bool setGain (double v)
 Set the gain. More...
 
virtual bool setIris (double v)
 Set the iris. More...
 
virtual double getBrightness ()
 Read the brightness parameter. More...
 
virtual double getExposure ()
 Read the exposure parameter. More...
 
virtual double getSharpness ()
 Read the sharpness parameter. More...
 
virtual bool getWhiteBalance (double &blue, double &red)
 Read the white balance parameters. More...
 
virtual double getHue ()
 Read the hue parameter. More...
 
virtual double getSaturation ()
 Read the saturation parameter. More...
 
virtual double getGamma ()
 Read the gamma parameter. More...
 
virtual double getShutter ()
 Read the shutter parameter. More...
 
virtual double getGain ()
 Read the gain parameter. More...
 
virtual double getIris ()
 Read the iris parameter. More...
 
cameraFeature_id_t featureVOCABEnum (int vocab)
 
int featureEnum2Vocab (cameraFeature_id_t _enum)
 
std::string busType2String (BusType type)
 
FeatureMode toFeatureMode (bool _auto)
 

Static Public Member Functions

static int pixFormatToCode (openni::PixelFormat p)
 

Additional Inherited Members

- Public Types inherited from yarp::dev::IRGBDSensor
enum  RGBDSensor_status {
  RGBD_SENSOR_NOT_READY = 0,
  RGBD_SENSOR_OK_STANBY = 1,
  RGBD_SENSOR_OK_IN_USE = 2,
  RGB_SENSOR_ERROR = 3,
  DEPTH_SENSOR_ERROR = 4,
  RGBD_SENSOR_GENERIC_ERROR = 5,
  RGBD_SENSOR_TIMEOUT = 6
}
 

Detailed Description

depthCamera: YARP driver for OpenNI2 compatible devices.

@ingroup dev_impl_media

This device driver exposes the IRGBDSensor and IFrameGrabberControls interfaces to read the images and operate on the available settings.

See the documentation for more details about each interface.

This device is paired with its server called RGBDSensorWrapper to stream the images and perform remote operations.

The config file is subdivided into 5 major sections called "SETTINGS", "HW_DESCRIPTION", "RGB_INTRINSIC_PARAMETERS", "DEPTH_INTRINSIC_PARAMETERS", "EXTRINSIC_PARAMETERS".

The "SETTINGS" section is meant for read/write parameters, meaning parameters which can be get and set by the device. A common case of setting is the image resolution in pixel. This setting will be read by the device and it'll be applied in the startup phase. If the setting fails, the device will terminate the execution with a error message.

The "HW_DESCRIPTION" section is meant for read only parameters which describe the hardware property of the device and cannot be provided by the device through software API. A common case is the 'Field Of View' property, which may or may not be supported by the physical device. When a property is present in the HW_DESCRIPTION group, the YARP RGBDSensorClient will report this value when asked for and setting will be disabled. This group can also be used to by-pass OpenNI2 API in case some functionality is not correctly working with the current device. For example the 'clipPlanes' property may return incorrect values or values using non-standard measurement unit. In this case using the HW_DESCRIPTION, a user can override the value got from OpenNI2 API with a custom value.

Note
Parameters inside the HW_DESCRIPTION are read only, so the relative set functionality will be disabled.
For parameters which are neither in SETTINGS nor in HW_DESCRIPTION groups, read / write functionality is assumed but not initial setting will be performed. Device will start with manufacturer default values.
Warning
A single parameter cannot be present into both SETTINGS and HW_DESCRIPTION groups.

The [RGB/DEPTH_INTRINSIC_PARAMETERS] group describe the camera intrinsic parameters for rgb and depth respectively.

Note
Right now only 'plumb_bob' (pinhole camera) distortion model is supported.

The [EXTRINSIC_PARAMETERS] group describe the position of the depth camera in the rgb camera frame. It is composed of a 4x4 rototranslation matrix.

Warning
: whenever more then one value is required by the setting, the values must be in parenthesys!
YARP device name
depthCamera

Parameters used by this device are:

Parameter name SubParameter Type Read / write Units Default Value Required Description Notes
SETTINGS - group Read / write - - Yes Initial setting of the device. Properties must be read/writable in order for setting to work
rgbResolution int, int Read / write pixels - Alternative to HW_DESCRIPTION Size of rgb image in pixels 2 values expected as height, width
depthResolution int, int Read / write pixels - Alternative to HW_DESCRIPTION Size of depth image in pixels Values are height, width
accuracy double Read / write meters - Alternative to HW_DESCRIPTION Accuracy of the device, as the depth measurement error at 1 meter distance
rgbFOV double, double Read / write degrees - Alternative to HW_DESCRIPTION Horizontal and Vertical fields of view of the rgb camera 2 values expected as horizontal and vertical FOVs
depthFOV double, double Read / write degrees - Alternative to HW_DESCRIPTION Horizontal and Vertical fields of view of the depth camera 2 values expected as horizontal and vertical FOVs
rgbMirroring bool Read / write true/false false Alternative to HW_DESCRIPTION Set the mirroring to the acquired rgb image
depthMirroring bool Read / write true/false false Alternative to HW_DESCRIPTION Set the mirroring to the acquired depth image
clipPlanes double, double Read / write meters - Alternative to HW_DESCRIPTION Minimum and maximum distance at which an object is seen by the depth sensor parameter introduced mainly for simulated sensors, it can be used to set the clip planes if Openni gives wrong values
HW_DESCRIPTION - group - - Yes Hardware description of device property. Read only property. Setting will be disabled
same as 'SETTINGS' group - Read only - - Alternative to SETTING group Parameters here are alternative to the SETTING group
RGB_INTRINSIC_PARAMETERS - group - - Yes Description of rgb camera visual parameters
physFocalLength double m - Yes Physical focal length of the lens in meters
focalLengthX double pixel - Yes Horizontal component of the focal length as a multiple of pixel width
focalLengthY double pixel - Yes Vertical component of the focal length as a multiple of pixel height
principalPointX double pixel - Yes X coordinate of the principal point
principalPointY double pixel - Yes Y coordinate of the principal point
distortionModel string - - Yes Reference to group of parameters describing the distortion model of the camera, example 'rgbDistortionModelGroup' This is only another group's name to be searched for in the config file
rgbDistortionModelGroup
name string - - Yes Name of the distortion model, see notes right now only 'plumb_bob' is supported
k1 double - - Yes
k2 double - - Yes
k3 double - - Yes
t1 double - - Yes
t2 double - - Yes
DEPTH_INTRINSIC_PARAMETERS - group - - Yes Description of depth camera visual parameters
physFocalLength double m - Yes Physical focal length of the lens in meters
focalLengthX double pixel - Yes Horizontal component of the focal length as a multiple of pixel width
focalLengthY double pixel - Yes Vertical component of the focal length as a multiple of pixel height
principalPointX double pixel - Yes X coordinate of the principal point
principalPointY double pixel - Yes Y coordinate of the principal point
distortionModel string - - Yes Reference to group of parameters describing the distortion model of the camera, example 'depthDistortionModelGroup' This is another group's name to be searched for in the config file
depthDistortionModelGroup
name string - - Yes Name of the distortion model, see notes right now only 'plumb_bob' is supported
k1 double - - Yes Radial distortion coefficient of the lens
k2 double - - Yes Radial distortion coefficient of the lens
k3 double - - Yes Radial distortion coefficient of the lens
t1 double - - Yes Tangential distortion of the lens
t2 double - - Yes Tangential distortion of the lens
EXTRINSIC_PARAMETERS - - - Yes
transformation 4x4 double matrix - - Yes trasformation matrix between depth optical frame to the rgb one

Configuration file using .ini format, using subdevice keyword.

device RGBDSensorWrapper
subdevice depthCamera
name /depthCamera
[SETTINGS]
accuracy 0.001
depthResolution (320 240) #Note the parentesys
rgbResolution (320 240)
rgbMirroring false
depthMirroring false
[HW_DESCRIPTION]
clipPlanes (0.4 4.5)
[RGB_INTRINSIC_PARAMETERS]
physFocalLength 0.5
focalLengthX 1.0
focalLengthY 2.0
principalPointX 256.0
principalPointY 128.0
distortionModel rgb_distortion
[rgb_distortion]
name plumb_bob
k1 1.0
k2 2.0
t1 3.0
t2 4.0
k3 5.0
[DEPTH_INTRINSIC_PARAMETERS]
physFocalLength 0.5
focalLengthX 1.0
focalLengthY 2.0
principalPointX 256.0
principalPointY 128.0
distortionModel depth_distortion
[depth_distortion]
name plumb_bob
k1 1.0
k2 2.0
t1 3.0
t2 4.0
k3 5.0
[EXTRINSIC_PARAMETERS]
transformation (1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0)

Definition at line 193 of file depthCameraDriver.h.

Constructor & Destructor Documentation

◆ depthCameraDriver()

depthCameraDriver::depthCameraDriver ( )

Definition at line 148 of file depthCameraDriver.cpp.

◆ ~depthCameraDriver()

depthCameraDriver::~depthCameraDriver ( )

Definition at line 163 of file depthCameraDriver.cpp.

Member Function Documentation

◆ close()

bool depthCameraDriver::close ( )
overridevirtual

Close the DeviceDriver.

Returns
true/false on success/failure.

Reimplemented from yarp::dev::DeviceDriver.

Definition at line 454 of file depthCameraDriver.cpp.

◆ getActive()

bool depthCameraDriver::getActive ( int  feature,
bool *  isActive 
)
overridevirtual

Get the current status of the feature, on or off.

Parameters
featurethe identifier of the feature to check
isActiveflag true if the feature is active, false otherwise
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 1063 of file depthCameraDriver.cpp.

◆ getCameraDescription()

bool depthCameraDriver::getCameraDescription ( CameraDescriptor camera)
overridevirtual

Get a basic description of the camera hw.

This is mainly used to determine the HW bus type in order to choose the corresponding interface for advanced controls.

Parameters
devicereturns an identifier for the bus
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 901 of file depthCameraDriver.cpp.

◆ getDepthAccuracy()

double depthCameraDriver::getDepthAccuracy ( )
overridevirtual

Get the minimum detectable variation in distance [meter].

Returns
the sensor resolution in meters.

Implements yarp::dev::IRGBDSensor.

Definition at line 692 of file depthCameraDriver.cpp.

◆ getDepthClipPlanes()

bool depthCameraDriver::getDepthClipPlanes ( double &  nearPlane,
double &  farPlane 
)
overridevirtual

Get the clipping planes of the sensor.

Parameters
nearPlaneminimum distance at which the sensor start measuring. Object closer than this distance will not be detected.
farPlanemaximum distance beyond which the sensor stop measuring. Object farther than this distance will not be detected.
Returns
true if success

Implements yarp::dev::IRGBDSensor.

Definition at line 701 of file depthCameraDriver.cpp.

◆ getDepthFOV()

bool depthCameraDriver::getDepthFOV ( double &  horizontalFov,
double &  verticalFov 
)
overridevirtual

Get the field of view (FOV) of the depth camera.

Parameters
horizontalFovwill return the value of the horizontal fov in degrees
verticalFovwill return the value of the vertical fov in degrees
Returns
true if success

Implements yarp::dev::IRGBDSensor.

Definition at line 674 of file depthCameraDriver.cpp.

◆ getDepthHeight()

int depthCameraDriver::getDepthHeight ( )
overridevirtual

Return the height of each frame.

Returns
depth image height

Implements yarp::dev::IRGBDSensor.

Definition at line 656 of file depthCameraDriver.cpp.

◆ getDepthImage()

bool depthCameraDriver::getDepthImage ( depthImage depthImage,
Stamp timeStamp = NULL 
)
override

Definition at line 763 of file depthCameraDriver.cpp.

◆ getDepthIntrinsicParam()

bool depthCameraDriver::getDepthIntrinsicParam ( Property intrinsic)
overridevirtual

Get the intrinsic parameters of the depth camera.

Parameters
intrinsicreturn a Property containing intrinsic parameters of the optical model of the camera.
Returns
true if success

The yarp::os::Property describing the intrinsic parameters is expected to be in the form:

Parameter name SubParameter Type Units Default Value Required Description Notes
physFocalLength - double m - Yes Physical focal length of the lens in meters
focalLengthX - double pixel - Yes Horizontal component of the focal length as a multiple of pixel width
focalLengthY - double pixel - Yes Vertical component of the focal length as a multiple of pixel height
principalPointX - double pixel - Yes X coordinate of the principal point
principalPointY - double pixel - Yes Y coordinate of the principal point
retificationMatrix - 4x4 double matrix - - Yes Matrix that describes the lens' distortion
distortionModel - string - - Yes Reference to group of parameters describing the distortion model of the camera, example 'cameraDistortionModelGroup' This is another group's name to be searched for in the config file
cameraDistortionModelGroup
name string - - Yes Name of the distortion model, see notes right now only 'plumb_bob' is supported
k1 double - - Yes Radial distortion coefficient of the lens
k2 double - - Yes Radial distortion coefficient of the lens
k3 double - - Yes Radial distortion coefficient of the lens
t1 double - - Yes Tangential distortion of the lens
t2 double - - Yes Tangential distortion of the lens

Implements yarp::dev::IRGBDSensor.

Definition at line 687 of file depthCameraDriver.cpp.

◆ getDepthMirroring()

bool depthCameraDriver::getDepthMirroring ( bool &  mirror)
overridevirtual

Get the mirroring setting of the sensor.

Parameters
mirrortrue if image is mirrored, false otherwise
Returns
true if success

Implements yarp::dev::IDepthVisualParams.

Definition at line 729 of file depthCameraDriver.cpp.

◆ getDepthWidth()

int depthCameraDriver::getDepthWidth ( )
overridevirtual

Return the height of each frame.

Returns
depth image height

Implements yarp::dev::IRGBDSensor.

Definition at line 665 of file depthCameraDriver.cpp.

◆ getExtrinsicParam()

bool depthCameraDriver::getExtrinsicParam ( yarp::sig::Matrix extrinsic)
overridevirtual

Get the extrinsic parameters from the device.

Parameters
extrinsicreturn a rototranslation matrix describing the position of the depth optical frame with respect to the rgb frame
Returns
true if success

Implements yarp::dev::IRGBDSensor.

Definition at line 752 of file depthCameraDriver.cpp.

◆ getFeature() [1/2]

bool depthCameraDriver::getFeature ( int  feature,
double *  value 
)
overridevirtual

Get the current value for the requested feature.

Parameters
featurethe identifier of the feature to read
valuepointer to current value of the feature, from 0 to 1 expressed as a percentage
Returns
returns true on success, false on failure.

Implements yarp::dev::IFrameGrabberControls.

Definition at line 970 of file depthCameraDriver.cpp.

◆ getFeature() [2/2]

bool depthCameraDriver::getFeature ( int  feature,
double *  value1,
double *  value2 
)
overridevirtual

Get the current value for the requested feature.

Parameters
featurethe identifier of the feaature to read
value1returns the current value of the feature, from 0 to 1 expressed as a percentage
value2returns the current value of the feature, from 0 to 1 expressed as a percentage
Returns
returns true on success, false on failure.

Implements yarp::dev::IFrameGrabberControls.

Definition at line 1006 of file depthCameraDriver.cpp.

◆ getImages()

bool depthCameraDriver::getImages ( FlexImage colorFrame,
depthImage depthFrame,
Stamp colorStamp = NULL,
Stamp depthStamp = NULL 
)
override

Definition at line 864 of file depthCameraDriver.cpp.

◆ getLastErrorMsg()

std::string depthCameraDriver::getLastErrorMsg ( Stamp timeStamp = NULL)
overridevirtual

Return an error message in case of error.

For debugging purpose and user notification. Error message will be reset after any successful command

Returns
A string explaining the last error occurred.

Implements yarp::dev::IRGBDSensor.

Definition at line 896 of file depthCameraDriver.cpp.

◆ getMode()

bool depthCameraDriver::getMode ( int  feature,
FeatureMode mode 
)
overridevirtual

Get the current mode for the feature.

Parameters
featurethe identifier of the feature to change
hasAutoflag true if the feature is has 'auto' mode, false otherwise
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 1164 of file depthCameraDriver.cpp.

◆ getRgbFOV()

bool depthCameraDriver::getRgbFOV ( double &  horizontalFov,
double &  verticalFov 
)
overridevirtual

Get the field of view (FOV) of the rgb camera.

Parameters
horizontalFovwill return the value of the horizontal fov in degrees
verticalFovwill return the value of the vertical fov in degrees
Returns
true on success

Implements yarp::dev::IRGBDSensor.

Definition at line 603 of file depthCameraDriver.cpp.

◆ getRgbHeight()

int depthCameraDriver::getRgbHeight ( )
overridevirtual

Return the height of each frame.

Returns
rgb image height

Implements yarp::dev::IRGBDSensor.

Definition at line 465 of file depthCameraDriver.cpp.

◆ getRgbImage()

bool depthCameraDriver::getRgbImage ( FlexImage rgbImage,
Stamp timeStamp = NULL 
)
overridevirtual

Get the rgb frame from the device.

The pixel type of the source image will usually be set as a VOCAB_PIXEL_RGB, but the user can call the function with the pixel type of his/her choice. The conversion if possible, will be done automatically on client side (TO BO VERIFIED). Note: this will consume CPU power because it will not use GPU optimization. Use VOCAB_PIXEL_RGB for best performances.

Parameters
rgbImagethe image to be filled.
timeStamptime in which the image was acquired. Optional, ignored if nullptr.
Returns
True on success

Implements yarp::dev::IRGBDSensor.

Definition at line 758 of file depthCameraDriver.cpp.

◆ getRgbIntrinsicParam()

bool depthCameraDriver::getRgbIntrinsicParam ( Property intrinsic)
overridevirtual

Get the intrinsic parameters of the rgb camera.

Parameters
intrinsicreturn a Property containing intrinsic parameters of the optical model of the camera.
Returns
true if success

The yarp::os::Property describing the intrinsic parameters is expected to be in the form:

Parameter name SubParameter Type Units Default Value Required Description Notes
physFocalLength - double m - Yes Physical focal length of the lens in meters
focalLengthX - double pixel - Yes Horizontal component of the focal length as a multiple of pixel width
focalLengthY - double pixel - Yes Vertical component of the focal length as a multiple of pixel height
principalPointX - double pixel - Yes X coordinate of the principal point
principalPointY - double pixel - Yes Y coordinate of the principal point
retificationMatrix - 4x4 double matrix - - Yes Matrix that describes the lens' distortion
distortionModel - string - - Yes Reference to group of parameters describing the distortion model of the camera, example 'cameraDistortionModelGroup' This is another group's name to be searched for in the config file
cameraDistortionModelGroup
name string - - Yes Name of the distortion model, see notes right now only 'plumb_bob' is supported
k1 double - - Yes Radial distortion coefficient of the lens
k2 double - - Yes Radial distortion coefficient of the lens
k3 double - - Yes Radial distortion coefficient of the lens
t1 double - - Yes Tangential distortion of the lens
t2 double - - Yes Tangential distortion of the lens

Implements yarp::dev::IRGBDSensor.

Definition at line 651 of file depthCameraDriver.cpp.

◆ getRgbMirroring()

bool depthCameraDriver::getRgbMirroring ( bool &  mirror)
overridevirtual

Get the mirroring setting of the sensor.

Parameters
mirrortrue if image is mirrored, false otherwise
Returns
true if success

Implements yarp::dev::IRgbVisualParams.

Definition at line 616 of file depthCameraDriver.cpp.

◆ getRgbResolution()

bool depthCameraDriver::getRgbResolution ( int &  width,
int &  height 
)
overridevirtual

Get the resolution of the rgb image from the camera.

Parameters
widthimage width
heightimage height
Returns
true on success

Reimplemented from yarp::dev::IRGBDSensor.

Definition at line 491 of file depthCameraDriver.cpp.

◆ getRgbSupportedConfigurations()

bool depthCameraDriver::getRgbSupportedConfigurations ( yarp::sig::VectorOf< yarp::dev::CameraConfig > &  configurations)
overridevirtual

Get the possible configurations of the camera.

Parameters
configurationslist of camera supported configurations as CameraConfig type
Returns
true on success

Reimplemented from yarp::dev::IRGBDSensor.

Definition at line 485 of file depthCameraDriver.cpp.

◆ getRgbWidth()

int depthCameraDriver::getRgbWidth ( )
overridevirtual

Return the width of each frame.

Returns
rgb image width

Implements yarp::dev::IRGBDSensor.

Definition at line 475 of file depthCameraDriver.cpp.

◆ getSensorStatus()

IRGBDSensor::RGBDSensor_status depthCameraDriver::getSensorStatus ( )
overridevirtual

Get the surrent status of the sensor, using enum type.

Returns
an enum representing the status of the robot or an error code if any error is present

Implements yarp::dev::IRGBDSensor.

Definition at line 869 of file depthCameraDriver.cpp.

◆ hasAuto()

bool depthCameraDriver::hasAuto ( int  feature,
bool *  hasAuto 
)
overridevirtual

Check if the requested feature has the 'auto' mode.

Parameters
featurethe identifier of the feature to check
hasAutoflag true if the feature is has 'auto' mode, false otherwise
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 1082 of file depthCameraDriver.cpp.

◆ hasFeature()

bool depthCameraDriver::hasFeature ( int  feature,
bool *  hasFeature 
)
overridevirtual

Check if camera has the requested feature (saturation, brightness ...

)

Parameters
featurethe identifier of the feature to check
hasFeatureflag value: true if the feature is present, false otherwise
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 908 of file depthCameraDriver.cpp.

◆ hasManual()

bool depthCameraDriver::hasManual ( int  feature,
bool *  hasManual 
)
overridevirtual

Check if the requested feature has the 'manual' mode.

Parameters
featurethe identifier of the feature to check
hasAutoflag true if the feature is has 'manual' mode, false otherwise
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 1101 of file depthCameraDriver.cpp.

◆ hasOnePush()

bool depthCameraDriver::hasOnePush ( int  feature,
bool *  hasOnePush 
)
overridevirtual

Check if the requested feature has the 'onePush' mode.

Parameters
featurethe identifier of the feature to check
hasAutoflag true if the feature is has 'onePush' mode, false otherwise
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 1120 of file depthCameraDriver.cpp.

◆ hasOnOff()

bool depthCameraDriver::hasOnOff ( int  feature,
bool *  HasOnOff 
)
overridevirtual

Check if the camera has the ability to turn on/off the requested feature.

Parameters
featurethe identifier of the feature to change
hasOnOffflag true if this feature can be turned on/off, false otherwise.
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 1012 of file depthCameraDriver.cpp.

◆ open()

bool depthCameraDriver::open ( yarp::os::Searchable config)
overridevirtual

Open the DeviceDriver.

Parameters
configis a list of parameters for the device. Which parameters are effective for your device can vary. See device invocation examples. If there is no example for your device, you can run the "yarpdev" program with the verbose flag set to probe what parameters the device is checking. If that fails too, you'll need to read the source code (please nag one of the yarp developers to add documentation for your device).
Returns
true/false upon success/failure

Reimplemented from yarp::dev::DeviceDriver.

Definition at line 423 of file depthCameraDriver.cpp.

◆ pixFormatToCode()

int depthCameraDriver::pixFormatToCode ( openni::PixelFormat  p)
static

Definition at line 768 of file depthCameraDriver.cpp.

◆ setActive()

bool depthCameraDriver::setActive ( int  feature,
bool  onoff 
)
overridevirtual

Set the requested feature on or off.

Parameters
featurethe identifier of the feature to change
onofftrue to activate, off to deactivate the feature
Returns
returns true on success, false on failure.

Implements yarp::dev::IFrameGrabberControls.

Definition at line 1031 of file depthCameraDriver.cpp.

◆ setDepthAccuracy()

bool depthCameraDriver::setDepthAccuracy ( double  accuracy)
overridevirtual

Set the minimum detectable variation in distance [meter] when possible.

Parameters
thedesired resolution in meters.
Returns
true on success

Implements yarp::dev::IRGBDSensor.

Definition at line 569 of file depthCameraDriver.cpp.

◆ setDepthClipPlanes()

bool depthCameraDriver::setDepthClipPlanes ( double  nearPlane,
double  farPlane 
)
overridevirtual

Set the clipping planes of the sensor.

Parameters
nearPlaneminimum distance at which the sensor start measuring. Object closer than this distance will not be detected.
farPlanemaximum distance beyond which the sensor stop measuring. Object farther than this distance will not be detected.
Returns
true if success

Implements yarp::dev::IRGBDSensor.

Definition at line 716 of file depthCameraDriver.cpp.

◆ setDepthFOV()

bool depthCameraDriver::setDepthFOV ( double  horizontalFov,
double  verticalFov 
)
overridevirtual

Set the field of view (FOV) of the depth camera.

Parameters
horizontalFovwill set the value of the horizontal fov in degrees
verticalFovwill set the value of the vertical fov in degrees
Returns
true on success

Implements yarp::dev::IRGBDSensor.

Definition at line 560 of file depthCameraDriver.cpp.

◆ setDepthMirroring()

bool depthCameraDriver::setDepthMirroring ( bool  mirror)
overridevirtual

Set the mirroring setting of the sensor.

Parameters
mirrortrue if image should be mirrored, false otherwise
Returns
true if success

Implements yarp::dev::IDepthVisualParams.

Definition at line 739 of file depthCameraDriver.cpp.

◆ setDepthResolution()

bool depthCameraDriver::setDepthResolution ( int  width,
int  height 
)
overridevirtual

Set the resolution of the depth image from the camera.

Parameters
widthimage width
heightimage height
Returns
true on success

Implements yarp::dev::IRGBDSensor.

Definition at line 504 of file depthCameraDriver.cpp.

◆ setFeature() [1/2]

bool depthCameraDriver::setFeature ( int  feature,
double  value 
)
overridevirtual

Set the requested feature to a value (saturation, brightness ...

)

Parameters
featurethe identifier of the feature to change
valuenew value of the feature, range from 0 to 1 expressed as a percentage
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 929 of file depthCameraDriver.cpp.

◆ setFeature() [2/2]

bool depthCameraDriver::setFeature ( int  feature,
double  value1,
double  value2 
)
overridevirtual

Set the requested feature to a value using 2 params (like white balance)

Parameters
featurethe identifier of the feature to change
value1first param, from 0 to 1 expressed as a percentage
value2second param, from 0 to 1 expressed as a percentage
Returns
returns true if success, false otherwise (e.g. the interface is not implemented)

Implements yarp::dev::IFrameGrabberControls.

Definition at line 1000 of file depthCameraDriver.cpp.

◆ setMode()

bool depthCameraDriver::setMode ( int  feature,
FeatureMode  mode 
)
overridevirtual

Set the requested mode for the feature.

Parameters
featurethe identifier of the feature to change
auto_onofftrue to activate 'auto' mode, false to activate 'manual' mode
Returns
returns true on success, false on failure.

Implements yarp::dev::IFrameGrabberControls.

Definition at line 1132 of file depthCameraDriver.cpp.

◆ setOnePush()

bool depthCameraDriver::setOnePush ( int  feature)
overridevirtual

Set the requested feature to a value (saturation, brightness ...

)

Parameters
featurethe identifier of the feature to change
valuenew value of the feature, from 0 to 1 as a percentage of param range
Returns
returns true on success, false on failure.

Implements yarp::dev::IFrameGrabberControls.

Definition at line 1184 of file depthCameraDriver.cpp.

◆ setRgbFOV()

bool depthCameraDriver::setRgbFOV ( double  horizontalFov,
double  verticalFov 
)
overridevirtual

Set the field of view (FOV) of the rgb camera.

Parameters
horizontalFovwill set the value of the horizontal fov in degrees
verticalFovwill set the value of the vertical fov in degrees
Returns
true on success

Implements yarp::dev::IRGBDSensor.

Definition at line 551 of file depthCameraDriver.cpp.

◆ setRgbMirroring()

bool depthCameraDriver::setRgbMirroring ( bool  mirror)
overridevirtual

Set the mirroring setting of the sensor.

Parameters
mirrortrue if image should be mirrored, false otherwise
Returns
true if success

Implements yarp::dev::IRgbVisualParams.

Definition at line 628 of file depthCameraDriver.cpp.

◆ setRgbResolution()

bool depthCameraDriver::setRgbResolution ( int  width,
int  height 
)
overridevirtual

Set the resolution of the rgb image from the camera.

Parameters
widthimage width
heightimage height
Returns
true on success

Implements yarp::dev::IRGBDSensor.

Definition at line 534 of file depthCameraDriver.cpp.


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