YARP
Yet Another Robot Platform
realsense2Driver Class Reference

#include </home/runner/work/yarp-documentation/yarp-documentation/yarp/opt-modules/yarp-device-realsense2/src/devices/realsense2/realsense2Driver.h>

+ Inheritance diagram for realsense2Driver:

Public Member Functions

 realsense2Driver ()
 
 ~realsense2Driver () override=default
 
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=nullptr) override
 Get the rgb frame from the device. More...
 
bool getDepthImage (depthImage &depthImage, Stamp *timeStamp=nullptr) 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...
 
bool getImage (yarp::sig::ImageOf< yarp::sig::PixelMono > &image) override
 Get an image from the frame grabber. More...
 
int height () const override
 Return the height of each frame. More...
 
int width () const override
 Return the width of each frame. More...
 
- Public Member Functions inherited from yarp::dev::DeviceDriver
 DeviceDriver ()
 
 DeviceDriver (const DeviceDriver &other)=delete
 
 DeviceDriver (DeviceDriver &&other) noexcept=delete
 
DeviceDriveroperator= (const DeviceDriver &other)=delete
 
DeviceDriveroperator= (DeviceDriver &&other) noexcept=delete
 
 ~DeviceDriver () override
 
bool open (yarp::os::Searchable &config) override
 Open the DeviceDriver. More...
 
bool close () override
 Close the DeviceDriver. More...
 
virtual std::string id () const
 Return the id assigned to the PolyDriver. More...
 
virtual void setId (const std::string &id)
 Set the id for this device. 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 open (Searchable &config)
 Initialize the object. More...
 
virtual bool close ()
 Shut the object down. More...
 
virtual bool configure (Searchable &config)
 Change online parameters. More...
 
- 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...
 
std::string busType2String (BusType type)
 
FeatureMode toFeatureMode (bool _auto)
 
virtual bool getCameraDescription (CameraDescriptor *camera)=0
 Get a basic description of the camera hw. More...
 
virtual bool hasFeature (int feature, bool *hasFeature)=0
 Check if camera has the requested feature (saturation, brightness ... ) More...
 
virtual bool setFeature (int feature, double value)=0
 Set the requested feature to a value (saturation, brightness ... ) More...
 
virtual bool getFeature (int feature, double *value)=0
 Get the current value for the requested feature. More...
 
virtual bool setFeature (int feature, double value1, double value2)=0
 Set the requested feature to a value using 2 params (like white balance) More...
 
virtual bool getFeature (int feature, double *value1, double *value2)=0
 Get the current value for the requested feature. More...
 
virtual bool hasOnOff (int feature, bool *HasOnOff)=0
 Check if the camera has the ability to turn on/off the requested feature. More...
 
virtual bool setActive (int feature, bool onoff)=0
 Set the requested feature on or off. More...
 
virtual bool getActive (int feature, bool *isActive)=0
 Get the current status of the feature, on or off. More...
 
virtual bool hasAuto (int feature, bool *hasAuto)=0
 Check if the requested feature has the 'auto' mode. More...
 
virtual bool hasManual (int feature, bool *hasManual)=0
 Check if the requested feature has the 'manual' mode. More...
 
virtual bool hasOnePush (int feature, bool *hasOnePush)=0
 Check if the requested feature has the 'onePush' mode. More...
 
virtual bool setMode (int feature, FeatureMode mode)=0
 Set the requested mode for the feature. More...
 
virtual bool getMode (int feature, FeatureMode *mode)=0
 Get the current mode for the feature. More...
 
virtual bool setOnePush (int feature)=0
 Set the requested feature to a value (saturation, brightness ... ) More...
 
- Public Member Functions inherited from yarp::dev::IFrameGrabberOf< yarp::sig::ImageOf< yarp::sig::PixelMono > >
virtual bool getImage (yarp::sig::ImageOf< yarp::sig::PixelMono > &image)=0
 Get an image from the frame grabber. More...
 
virtual bool getImageCrop (cropType_id_t cropType, yarp::sig::VectorOf< std::pair< int, int > > vertices, yarp::sig::ImageOf< yarp::sig::PixelMono > &image)
 Get a crop of the image from the frame grabber. More...
 
- Public Member Functions inherited from yarp::dev::IFrameGrabberImageBase
virtual ~IFrameGrabberImageBase ()
 Destructor. More...
 
virtual int height () const =0
 Return the height of each frame. More...
 
virtual int width () const =0
 Return the width of each frame. More...
 
- Public Member Functions inherited from yarp::dev::IRGBDSensor
virtual ~IRGBDSensor ()
 
int getRgbHeight () override=0
 Return the height of each frame. More...
 
int getRgbWidth () override=0
 Return the width of each frame. More...
 
bool getRgbSupportedConfigurations (yarp::sig::VectorOf< 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=0
 Set the resolution of the rgb image from the camera. More...
 
bool getRgbFOV (double &horizontalFov, double &verticalFov) override=0
 Get the field of view (FOV) of the rgb camera. More...
 
bool setRgbFOV (double horizontalFov, double verticalFov) override=0
 Set the field of view (FOV) of the rgb camera. More...
 
bool getRgbIntrinsicParam (yarp::os::Property &intrinsic) override=0
 Get the intrinsic parameters of the rgb camera. More...
 
int getDepthHeight () override=0
 Return the height of each frame. More...
 
int getDepthWidth () override=0
 Return the height of each frame. More...
 
bool setDepthResolution (int width, int height) override=0
 Set the resolution of the depth image from the camera. More...
 
bool getDepthFOV (double &horizontalFov, double &verticalFov) override=0
 Get the field of view (FOV) of the depth camera. More...
 
bool setDepthFOV (double horizontalFov, double verticalFov) override=0
 Set the field of view (FOV) of the depth camera. More...
 
double getDepthAccuracy () override=0
 Get the minimum detectable variation in distance [meter]. More...
 
bool setDepthAccuracy (double accuracy) override=0
 Set the minimum detectable variation in distance [meter] when possible. More...
 
bool getDepthClipPlanes (double &nearPlane, double &farPlane) override=0
 Get the clipping planes of the sensor. More...
 
bool setDepthClipPlanes (double nearPlane, double farPlane) override=0
 Set the clipping planes of the sensor. More...
 
bool getDepthIntrinsicParam (yarp::os::Property &intrinsic) override=0
 Get the intrinsic parameters of the depth camera. More...
 
virtual bool getExtrinsicParam (yarp::sig::Matrix &extrinsic)=0
 Get the extrinsic parameters from the device. More...
 
virtual std::string getLastErrorMsg (yarp::os::Stamp *timeStamp=nullptr)=0
 Return an error message in case of error. More...
 
virtual bool getRgbImage (yarp::sig::FlexImage &rgbImage, yarp::os::Stamp *timeStamp=nullptr)=0
 Get the rgb frame from the device. More...
 
virtual bool getDepthImage (yarp::sig::ImageOf< yarp::sig::PixelFloat > &depthImage, yarp::os::Stamp *timeStamp=nullptr)=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=nullptr, yarp::os::Stamp *depthStamp=nullptr)=0
 Get the both the color and depth frame in a single call. More...
 
virtual RGBDSensor_status getSensorStatus ()=0
 Get the surrent status of the sensor, using enum type. More...
 
- Public Member Functions inherited from yarp::dev::IRgbVisualParams
virtual ~IRgbVisualParams ()
 
virtual int getRgbHeight ()=0
 Return the height of each frame. More...
 
virtual int getRgbWidth ()=0
 Return the width of each frame. More...
 
virtual bool getRgbSupportedConfigurations (yarp::sig::VectorOf< yarp::dev::CameraConfig > &configurations)
 Get the possible configurations of the camera. More...
 
virtual bool getRgbResolution (int &width, int &height)
 Get the resolution of the rgb image from the camera. More...
 
virtual bool setRgbResolution (int width, int height)=0
 Set the resolution of the rgb image from the camera. More...
 
virtual bool getRgbFOV (double &horizontalFov, double &verticalFov)=0
 Get the field of view (FOV) of the rgb camera. More...
 
virtual bool setRgbFOV (double horizontalFov, double verticalFov)=0
 Set the field of view (FOV) of the rgb camera. More...
 
virtual bool getRgbIntrinsicParam (yarp::os::Property &intrinsic)=0
 Get the intrinsic parameters of the rgb camera. More...
 
virtual bool getRgbMirroring (bool &mirror)=0
 Get the mirroring setting of the sensor. More...
 
virtual bool setRgbMirroring (bool mirror)=0
 Set the mirroring setting of the sensor. More...
 
- Public Member Functions inherited from yarp::dev::IDepthVisualParams
virtual ~IDepthVisualParams ()
 
virtual int getDepthHeight ()=0
 Return the height of each frame. More...
 
virtual int getDepthWidth ()=0
 Return the height of each frame. More...
 
virtual bool setDepthResolution (int width, int height)=0
 Set the resolution of the depth image from the camera. More...
 
virtual bool getDepthFOV (double &horizontalFov, double &verticalFov)=0
 Get the field of view (FOV) of the depth camera. More...
 
virtual bool setDepthFOV (double horizontalFov, double verticalFov)=0
 Set the field of view (FOV) of the depth camera. More...
 
virtual bool getDepthIntrinsicParam (yarp::os::Property &intrinsic)=0
 Get the intrinsic parameters of the depth camera. More...
 
virtual double getDepthAccuracy ()=0
 Get the minimum detectable variation in distance [meter]. More...
 
virtual bool setDepthAccuracy (double accuracy)=0
 Set the minimum detectable variation in distance [meter] when possible. More...
 
virtual bool getDepthClipPlanes (double &nearPlane, double &farPlane)=0
 Get the clipping planes of the sensor. More...
 
virtual bool setDepthClipPlanes (double nearPlane, double farPlane)=0
 Set the clipping planes of the sensor. More...
 
virtual bool getDepthMirroring (bool &mirror)=0
 Get the mirroring setting of the sensor. More...
 
virtual bool setDepthMirroring (bool mirror)=0
 Set the mirroring setting of the sensor. More...
 

Protected Member Functions

bool initializeRealsenseDevice ()
 
bool setParams ()
 
bool getImage (FlexImage &Frame, Stamp *timeStamp, rs2::frameset &sourceFrame)
 
bool getImage (depthImage &Frame, Stamp *timeStamp, const rs2::frameset &sourceFrame)
 
void updateTransformations ()
 
bool pipelineStartup ()
 
bool pipelineShutdown ()
 
bool pipelineRestart ()
 
bool setFramerate (const int _fps)
 
void fallback ()
 

Protected Attributes

std::mutex m_mutex
 
rs2::context m_ctx
 
rs2::config m_cfg
 
rs2::pipeline m_pipeline
 
rs2::pipeline_profile m_profile
 
rs2::device m_device
 
std::vector< rs2::sensor > m_sensors
 
rs2::sensor * m_depth_sensor
 
rs2::sensor * m_color_sensor
 
rs2_intrinsics m_depth_intrin {}
 
rs2_intrinsics m_color_intrin {}
 
rs2_intrinsics m_infrared_intrin {}
 
rs2_extrinsics m_depth_to_color {}
 
rs2_extrinsics m_color_to_depth {}
 
rs2_stream m_alignment_stream {RS2_STREAM_COLOR}
 
bool m_depthQuantizationEnabled {false}
 
int m_depthDecimalNum {0}
 
yarp::os::Stamp m_rgb_stamp
 
yarp::os::Stamp m_depth_stamp
 
std::string m_lastError
 
yarp::dev::RGBDSensorParamParser m_paramParser
 
bool m_verbose
 
bool m_initialized
 
bool m_stereoMode
 
bool m_needAlignment
 
int m_fps
 
float m_scale
 
bool m_rotateImage180 {false}
 
std::vector< cameraFeature_id_tm_supportedFeatures
 

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

Definition at line 29 of file realsense2Driver.h.

Constructor & Destructor Documentation

◆ realsense2Driver()

realsense2Driver::realsense2Driver ( )

Definition at line 432 of file realsense2Driver.cpp.

◆ ~realsense2Driver()

realsense2Driver::~realsense2Driver ( )
overridedefault

Member Function Documentation

◆ close()

bool realsense2Driver::close ( )
overridevirtual

Close the DeviceDriver.

Returns
true/false on success/failure.

Reimplemented from yarp::dev::DeviceDriver.

Reimplemented in realsense2withIMUDriver.

Definition at line 813 of file realsense2Driver.cpp.

◆ fallback()

void realsense2Driver::fallback ( )
protected

Definition at line 521 of file realsense2Driver.cpp.

◆ getActive()

bool realsense2Driver::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 1406 of file realsense2Driver.cpp.

◆ getCameraDescription()

bool realsense2Driver::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 1186 of file realsense2Driver.cpp.

◆ getDepthAccuracy()

double realsense2Driver::getDepthAccuracy ( )
overridevirtual

Get the minimum detectable variation in distance [meter].

Returns
the sensor resolution in meters.

Implements yarp::dev::IRGBDSensor.

Definition at line 972 of file realsense2Driver.cpp.

◆ getDepthClipPlanes()

bool realsense2Driver::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 982 of file realsense2Driver.cpp.

◆ getDepthFOV()

bool realsense2Driver::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 958 of file realsense2Driver.cpp.

◆ getDepthHeight()

int realsense2Driver::getDepthHeight ( )
overridevirtual

Return the height of each frame.

Returns
depth image height

Implements yarp::dev::IRGBDSensor.

Definition at line 948 of file realsense2Driver.cpp.

◆ getDepthImage()

bool realsense2Driver::getDepthImage ( depthImage depthImage,
Stamp timeStamp = nullptr 
)
override

Definition at line 1046 of file realsense2Driver.cpp.

◆ getDepthIntrinsicParam()

bool realsense2Driver::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
rectificationMatrix - 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 967 of file realsense2Driver.cpp.

◆ getDepthMirroring()

bool realsense2Driver::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 1007 of file realsense2Driver.cpp.

◆ getDepthWidth()

int realsense2Driver::getDepthWidth ( )
overridevirtual

Return the height of each frame.

Returns
depth image height

Implements yarp::dev::IRGBDSensor.

Definition at line 953 of file realsense2Driver.cpp.

◆ getExtrinsicParam()

bool realsense2Driver::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 1019 of file realsense2Driver.cpp.

◆ getFeature() [1/2]

bool realsense2Driver::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 1284 of file realsense2Driver.cpp.

◆ getFeature() [2/2]

bool realsense2Driver::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 1351 of file realsense2Driver.cpp.

◆ getImage() [1/3]

bool realsense2Driver::getImage ( depthImage Frame,
Stamp timeStamp,
const rs2::frameset &  sourceFrame 
)
protected

Definition at line 1108 of file realsense2Driver.cpp.

◆ getImage() [2/3]

bool realsense2Driver::getImage ( FlexImage Frame,
Stamp timeStamp,
rs2::frameset &  sourceFrame 
)
protected

Definition at line 1068 of file realsense2Driver.cpp.

◆ getImage() [3/3]

bool realsense2Driver::getImage ( yarp::sig::ImageOf< yarp::sig::PixelMono > &  image)
overridevirtual

Get an image from the frame grabber.

Parameters
imagethe image to be filled
Returns
true/false upon success/failure

Implements yarp::dev::IFrameGrabberOf< yarp::sig::ImageOf< yarp::sig::PixelMono > >.

Definition at line 1595 of file realsense2Driver.cpp.

◆ getImages()

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

Definition at line 1154 of file realsense2Driver.cpp.

◆ getLastErrorMsg()

std::string realsense2Driver::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 1181 of file realsense2Driver.cpp.

◆ getMode()

bool realsense2Driver::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 1538 of file realsense2Driver.cpp.

◆ getRgbFOV()

bool realsense2Driver::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 922 of file realsense2Driver.cpp.

◆ getRgbHeight()

int realsense2Driver::getRgbHeight ( )
overridevirtual

Return the height of each frame.

Returns
rgb image height

Implements yarp::dev::IRGBDSensor.

Definition at line 819 of file realsense2Driver.cpp.

◆ getRgbImage()

bool realsense2Driver::getRgbImage ( FlexImage rgbImage,
Stamp timeStamp = nullptr 
)
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 1024 of file realsense2Driver.cpp.

◆ getRgbIntrinsicParam()

bool realsense2Driver::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
rectificationMatrix - 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 943 of file realsense2Driver.cpp.

◆ getRgbMirroring()

bool realsense2Driver::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 931 of file realsense2Driver.cpp.

◆ getRgbResolution()

bool realsense2Driver::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 835 of file realsense2Driver.cpp.

◆ getRgbSupportedConfigurations()

bool realsense2Driver::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 829 of file realsense2Driver.cpp.

◆ getRgbWidth()

int realsense2Driver::getRgbWidth ( )
overridevirtual

Return the width of each frame.

Returns
rgb image width

Implements yarp::dev::IRGBDSensor.

Definition at line 824 of file realsense2Driver.cpp.

◆ getSensorStatus()

IRGBDSensor::RGBDSensor_status realsense2Driver::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 1176 of file realsense2Driver.cpp.

◆ hasAuto()

bool realsense2Driver::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 1438 of file realsense2Driver.cpp.

◆ hasFeature()

bool realsense2Driver::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 1193 of file realsense2Driver.cpp.

◆ hasManual()

bool realsense2Driver::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 1457 of file realsense2Driver.cpp.

◆ hasOnePush()

bool realsense2Driver::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 1477 of file realsense2Driver.cpp.

◆ hasOnOff()

bool realsense2Driver::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 1357 of file realsense2Driver.cpp.

◆ height()

int realsense2Driver::height ( ) const
overridevirtual

Return the height of each frame.

Returns
image height

Implements yarp::dev::IFrameGrabberImageBase.

Definition at line 1635 of file realsense2Driver.cpp.

◆ initializeRealsenseDevice()

bool realsense2Driver::initializeRealsenseDevice ( )
inlineprotected

Definition at line 530 of file realsense2Driver.cpp.

◆ open()

bool realsense2Driver::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.

Reimplemented in realsense2withIMUDriver.

Definition at line 767 of file realsense2Driver.cpp.

◆ pipelineRestart()

bool realsense2Driver::pipelineRestart ( )
protected

Definition at line 483 of file realsense2Driver.cpp.

◆ pipelineShutdown()

bool realsense2Driver::pipelineShutdown ( )
protected

Definition at line 468 of file realsense2Driver.cpp.

◆ pipelineStartup()

bool realsense2Driver::pipelineStartup ( )
protected

Definition at line 453 of file realsense2Driver.cpp.

◆ setActive()

bool realsense2Driver::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 1376 of file realsense2Driver.cpp.

◆ setDepthAccuracy()

bool realsense2Driver::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 912 of file realsense2Driver.cpp.

◆ setDepthClipPlanes()

bool realsense2Driver::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 996 of file realsense2Driver.cpp.

◆ setDepthFOV()

bool realsense2Driver::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 906 of file realsense2Driver.cpp.

◆ setDepthMirroring()

bool realsense2Driver::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 1013 of file realsense2Driver.cpp.

◆ setDepthResolution()

bool realsense2Driver::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 842 of file realsense2Driver.cpp.

◆ setFeature() [1/2]

bool realsense2Driver::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 1207 of file realsense2Driver.cpp.

◆ setFeature() [2/2]

bool realsense2Driver::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 1345 of file realsense2Driver.cpp.

◆ setFramerate()

bool realsense2Driver::setFramerate ( const int  _fps)
protected

Definition at line 493 of file realsense2Driver.cpp.

◆ setMode()

bool realsense2Driver::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 1489 of file realsense2Driver.cpp.

◆ setOnePush()

bool realsense2Driver::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 1574 of file realsense2Driver.cpp.

◆ setParams()

bool realsense2Driver::setParams ( )
inlineprotected

Definition at line 638 of file realsense2Driver.cpp.

◆ setRgbFOV()

bool realsense2Driver::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 900 of file realsense2Driver.cpp.

◆ setRgbMirroring()

bool realsense2Driver::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 937 of file realsense2Driver.cpp.

◆ setRgbResolution()

bool realsense2Driver::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 865 of file realsense2Driver.cpp.

◆ updateTransformations()

void realsense2Driver::updateTransformations ( )
protected

Definition at line 619 of file realsense2Driver.cpp.

◆ width()

int realsense2Driver::width ( ) const
overridevirtual

Return the width of each frame.

Returns
image width

Implements yarp::dev::IFrameGrabberImageBase.

Definition at line 1640 of file realsense2Driver.cpp.

Member Data Documentation

◆ m_alignment_stream

rs2_stream realsense2Driver::m_alignment_stream {RS2_STREAM_COLOR}
protected

Definition at line 133 of file realsense2Driver.h.

◆ m_cfg

rs2::config realsense2Driver::m_cfg
protected

Definition at line 124 of file realsense2Driver.h.

◆ m_color_intrin

rs2_intrinsics realsense2Driver::m_color_intrin {}
protected

Definition at line 131 of file realsense2Driver.h.

◆ m_color_sensor

rs2::sensor* realsense2Driver::m_color_sensor
protected

Definition at line 130 of file realsense2Driver.h.

◆ m_color_to_depth

rs2_extrinsics realsense2Driver::m_color_to_depth {}
protected

Definition at line 132 of file realsense2Driver.h.

◆ m_ctx

rs2::context realsense2Driver::m_ctx
protected

Definition at line 123 of file realsense2Driver.h.

◆ m_depth_intrin

rs2_intrinsics realsense2Driver::m_depth_intrin {}
protected

Definition at line 131 of file realsense2Driver.h.

◆ m_depth_sensor

rs2::sensor* realsense2Driver::m_depth_sensor
protected

Definition at line 129 of file realsense2Driver.h.

◆ m_depth_stamp

yarp::os::Stamp realsense2Driver::m_depth_stamp
protected

Definition at line 141 of file realsense2Driver.h.

◆ m_depth_to_color

rs2_extrinsics realsense2Driver::m_depth_to_color {}
protected

Definition at line 132 of file realsense2Driver.h.

◆ m_depthDecimalNum

int realsense2Driver::m_depthDecimalNum {0}
protected

Definition at line 138 of file realsense2Driver.h.

◆ m_depthQuantizationEnabled

bool realsense2Driver::m_depthQuantizationEnabled {false}
protected

Definition at line 137 of file realsense2Driver.h.

◆ m_device

rs2::device realsense2Driver::m_device
protected

Definition at line 127 of file realsense2Driver.h.

◆ m_fps

int realsense2Driver::m_fps
protected

Definition at line 148 of file realsense2Driver.h.

◆ m_infrared_intrin

rs2_intrinsics realsense2Driver::m_infrared_intrin {}
protected

Definition at line 131 of file realsense2Driver.h.

◆ m_initialized

bool realsense2Driver::m_initialized
protected

Definition at line 145 of file realsense2Driver.h.

◆ m_lastError

std::string realsense2Driver::m_lastError
mutableprotected

Definition at line 142 of file realsense2Driver.h.

◆ m_mutex

std::mutex realsense2Driver::m_mutex
mutableprotected

Definition at line 122 of file realsense2Driver.h.

◆ m_needAlignment

bool realsense2Driver::m_needAlignment
protected

Definition at line 147 of file realsense2Driver.h.

◆ m_paramParser

yarp::dev::RGBDSensorParamParser realsense2Driver::m_paramParser
protected

Definition at line 143 of file realsense2Driver.h.

◆ m_pipeline

rs2::pipeline realsense2Driver::m_pipeline
protected

Definition at line 125 of file realsense2Driver.h.

◆ m_profile

rs2::pipeline_profile realsense2Driver::m_profile
protected

Definition at line 126 of file realsense2Driver.h.

◆ m_rgb_stamp

yarp::os::Stamp realsense2Driver::m_rgb_stamp
protected

Definition at line 140 of file realsense2Driver.h.

◆ m_rotateImage180

bool realsense2Driver::m_rotateImage180 {false}
protected

Definition at line 150 of file realsense2Driver.h.

◆ m_scale

float realsense2Driver::m_scale
protected

Definition at line 149 of file realsense2Driver.h.

◆ m_sensors

std::vector<rs2::sensor> realsense2Driver::m_sensors
protected

Definition at line 128 of file realsense2Driver.h.

◆ m_stereoMode

bool realsense2Driver::m_stereoMode
protected

Definition at line 146 of file realsense2Driver.h.

◆ m_supportedFeatures

std::vector<cameraFeature_id_t> realsense2Driver::m_supportedFeatures
protected

Definition at line 151 of file realsense2Driver.h.

◆ m_verbose

bool realsense2Driver::m_verbose
protected

Definition at line 144 of file realsense2Driver.h.


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