YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
RgbdSensor_nwc_ros2 Class Reference

This class implements an nwc for ros2 for an rgbd sensor. More...

#include </home/runner/work/yarp-documentation/yarp-documentation/yarp/opt-modules/yarp-devices-ros2/src/devices/rgbdSensor_nwc_ros2/RgbdSensor_nwc_ros2.h>

+ Inheritance diagram for RgbdSensor_nwc_ros2:

Public Member Functions

 RgbdSensor_nwc_ros2 ()
 
 RgbdSensor_nwc_ros2 (const RgbdSensor_nwc_ros2 &)=delete
 
 RgbdSensor_nwc_ros2 (RgbdSensor_nwc_ros2 &&) noexcept=delete
 
RgbdSensor_nwc_ros2operator= (const RgbdSensor_nwc_ros2 &)=delete
 
RgbdSensor_nwc_ros2operator= (RgbdSensor_nwc_ros2 &&) noexcept=delete
 
 ~RgbdSensor_nwc_ros2 () override=default
 
bool open (yarp::os::Searchable &config) override
 Open the DeviceDriver.
 
bool close () override
 Close the DeviceDriver.
 
int getRgbHeight () override
 Return the height of each frame.
 
int getRgbWidth () override
 Return the width of each frame.
 
bool getRgbSupportedConfigurations (yarp::sig::VectorOf< yarp::dev::CameraConfig > &configurations) override
 Get the possible configurations of the camera.
 
bool getRgbResolution (int &width, int &height) override
 Get the resolution of the rgb image from the camera.
 
bool setRgbResolution (int width, int height) override
 Set the resolution of the rgb image from the camera.
 
bool getRgbFOV (double &horizontalFov, double &verticalFov) override
 Get the field of view (FOV) of the rgb camera.
 
bool setRgbFOV (double horizontalFov, double verticalFov) override
 Set the field of view (FOV) of the rgb camera.
 
bool getRgbMirroring (bool &mirror) override
 Get the mirroring setting of the sensor.
 
bool setRgbMirroring (bool mirror) override
 Set the mirroring setting of the sensor.
 
bool getRgbIntrinsicParam (yarp::os::Property &intrinsic) override
 Get the intrinsic parameters of the rgb camera.
 
int getDepthHeight () override
 Return the height of each frame.
 
int getDepthWidth () override
 Return the height of each frame.
 
bool setDepthResolution (int width, int height) override
 Set the resolution of the depth image from the camera.
 
bool getDepthFOV (double &horizontalFov, double &verticalFov) override
 Get the field of view (FOV) of the depth camera.
 
bool setDepthFOV (double horizontalFov, double verticalFov) override
 Set the field of view (FOV) of the depth camera.
 
bool getDepthIntrinsicParam (yarp::os::Property &intrinsic) override
 Get the intrinsic parameters of the depth camera.
 
double getDepthAccuracy () override
 Get the minimum detectable variation in distance [meter].
 
bool setDepthAccuracy (double accuracy) override
 Set the minimum detectable variation in distance [meter] when possible.
 
bool getDepthClipPlanes (double &nearPlane, double &farPlane) override
 Get the clipping planes of the sensor.
 
bool setDepthClipPlanes (double nearPlane, double farPlane) override
 Set the clipping planes of the sensor.
 
bool getDepthMirroring (bool &mirror) override
 Get the mirroring setting of the sensor.
 
bool setDepthMirroring (bool mirror) override
 Set the mirroring setting of the sensor.
 
bool getExtrinsicParam (yarp::sig::Matrix &extrinsic) override
 Get the extrinsic parameters from the device.
 
bool getRgbImage (yarp::sig::FlexImage &rgb_image, yarp::os::Stamp *rgb_image_stamp=NULL) override
 Get the rgb frame from the device.
 
bool getDepthImage (depthImage &depth_image, yarp::os::Stamp *depth_image_stamp=nullptr) override
 
bool getImages (yarp::sig::FlexImage &rgb_image, depthImage &depth_image, yarp::os::Stamp *rgb_image_stamp=nullptr, yarp::os::Stamp *depth_image_stamp=nullptr) override
 
void callback (sensor_msgs::msg::CameraInfo::SharedPtr msg, std::string topic)
 
void callback (sensor_msgs::msg::Image::SharedPtr msg, std::string topic)
 
void depth_raw_callback (const sensor_msgs::msg::Image::SharedPtr msg)
 
void depth_info_callback (const sensor_msgs::msg::CameraInfo::SharedPtr msg)
 
void color_raw_callback (const sensor_msgs::msg::Image::SharedPtr msg)
 
void color_info_callback (const sensor_msgs::msg::CameraInfo::SharedPtr msg)
 
yarp::dev::IRGBDSensor::RGBDSensor_status getSensorStatus () override
 Get the surrent status of the sensor, using enum type.
 
std::string getLastErrorMsg (yarp::os::Stamp *timeStamp=NULL) override
 Return an error message in case of error.
 
- 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
 
virtual ~DeviceDriver ()
 
virtual std::string id () const
 Return the id assigned to the PolyDriver.
 
virtual void setId (const std::string &id)
 Set the id for this device.
 
template<class T >
bool view (T *&x)
 Get an interface to the device driver.
 
virtual DeviceDrivergetImplementation ()
 Some drivers are bureaucrats, pointing at others.
 
- Public Member Functions inherited from yarp::dev::IRGBDSensor
virtual ~IRGBDSensor ()
 
virtual bool getDepthImage (yarp::sig::ImageOf< yarp::sig::PixelFloat > &depthImage, yarp::os::Stamp *timeStamp=nullptr)=0
 Get the depth frame from the device.
 
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.
 
- Public Member Functions inherited from yarp::dev::IRgbVisualParams
virtual ~IRgbVisualParams ()
 
- Public Member Functions inherited from yarp::dev::IDepthVisualParams
virtual ~IDepthVisualParams ()
 

Additional Inherited Members

- Public Types inherited from yarp::dev::IRGBDSensor
enum  RGBDSensor_status {
  RGBD_SENSOR_NOT_READY = 0 ,
  RGBD_SENSOR_OK_STANDBY = 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

This class implements an nwc for ros2 for an rgbd sensor.

Definition at line 74 of file RgbdSensor_nwc_ros2.h.

Constructor & Destructor Documentation

◆ RgbdSensor_nwc_ros2() [1/3]

RgbdSensor_nwc_ros2::RgbdSensor_nwc_ros2 ( )

Definition at line 31 of file RgbdSensor_nwc_ros2.cpp.

◆ RgbdSensor_nwc_ros2() [2/3]

RgbdSensor_nwc_ros2::RgbdSensor_nwc_ros2 ( const RgbdSensor_nwc_ros2 )
delete

◆ RgbdSensor_nwc_ros2() [3/3]

RgbdSensor_nwc_ros2::RgbdSensor_nwc_ros2 ( RgbdSensor_nwc_ros2 &&  )
deletenoexcept

◆ ~RgbdSensor_nwc_ros2()

RgbdSensor_nwc_ros2::~RgbdSensor_nwc_ros2 ( )
overridedefault

Member Function Documentation

◆ callback() [1/2]

void RgbdSensor_nwc_ros2::callback ( sensor_msgs::msg::CameraInfo::SharedPtr  msg,
std::string  topic 
)

Definition at line 102 of file RgbdSensor_nwc_ros2.cpp.

◆ callback() [2/2]

void RgbdSensor_nwc_ros2::callback ( sensor_msgs::msg::Image::SharedPtr  msg,
std::string  topic 
)

Definition at line 92 of file RgbdSensor_nwc_ros2.cpp.

◆ close()

bool RgbdSensor_nwc_ros2::close ( )
overridevirtual

Close the DeviceDriver.

Returns
true/false on success/failure.

Reimplemented from yarp::dev::DeviceDriver.

Definition at line 82 of file RgbdSensor_nwc_ros2.cpp.

◆ color_info_callback()

void RgbdSensor_nwc_ros2::color_info_callback ( const sensor_msgs::msg::CameraInfo::SharedPtr  msg)

Definition at line 138 of file RgbdSensor_nwc_ros2.cpp.

◆ color_raw_callback()

void RgbdSensor_nwc_ros2::color_raw_callback ( const sensor_msgs::msg::Image::SharedPtr  msg)

Definition at line 130 of file RgbdSensor_nwc_ros2.cpp.

◆ depth_info_callback()

void RgbdSensor_nwc_ros2::depth_info_callback ( const sensor_msgs::msg::CameraInfo::SharedPtr  msg)

Definition at line 120 of file RgbdSensor_nwc_ros2.cpp.

◆ depth_raw_callback()

void RgbdSensor_nwc_ros2::depth_raw_callback ( const sensor_msgs::msg::Image::SharedPtr  msg)

Definition at line 112 of file RgbdSensor_nwc_ros2.cpp.

◆ getDepthAccuracy()

double RgbdSensor_nwc_ros2::getDepthAccuracy ( )
overridevirtual

Get the minimum detectable variation in distance [meter].

Returns
the sensor resolution in meters.

Implements yarp::dev::IRGBDSensor.

Definition at line 319 of file RgbdSensor_nwc_ros2.cpp.

◆ getDepthClipPlanes()

bool RgbdSensor_nwc_ros2::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 325 of file RgbdSensor_nwc_ros2.cpp.

◆ getDepthFOV()

bool RgbdSensor_nwc_ros2::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 294 of file RgbdSensor_nwc_ros2.cpp.

◆ getDepthHeight()

int RgbdSensor_nwc_ros2::getDepthHeight ( )
overridevirtual

Return the height of each frame.

Returns
depth image height

Implements yarp::dev::IRGBDSensor.

Definition at line 282 of file RgbdSensor_nwc_ros2.cpp.

◆ getDepthImage()

bool RgbdSensor_nwc_ros2::getDepthImage ( depthImage depth_image,
yarp::os::Stamp depth_image_stamp = nullptr 
)
override

Definition at line 393 of file RgbdSensor_nwc_ros2.cpp.

◆ getDepthIntrinsicParam()

bool RgbdSensor_nwc_ros2::getDepthIntrinsicParam ( yarp::os::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 308 of file RgbdSensor_nwc_ros2.cpp.

◆ getDepthMirroring()

bool RgbdSensor_nwc_ros2::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 337 of file RgbdSensor_nwc_ros2.cpp.

◆ getDepthWidth()

int RgbdSensor_nwc_ros2::getDepthWidth ( )
overridevirtual

Return the height of each frame.

Returns
depth image height

Implements yarp::dev::IRGBDSensor.

Definition at line 288 of file RgbdSensor_nwc_ros2.cpp.

◆ getExtrinsicParam()

bool RgbdSensor_nwc_ros2::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 349 of file RgbdSensor_nwc_ros2.cpp.

◆ getImages()

bool RgbdSensor_nwc_ros2::getImages ( yarp::sig::FlexImage rgb_image,
depthImage depth_image,
yarp::os::Stamp rgb_image_stamp = nullptr,
yarp::os::Stamp depth_image_stamp = nullptr 
)
override

Definition at line 427 of file RgbdSensor_nwc_ros2.cpp.

◆ getLastErrorMsg()

std::string RgbdSensor_nwc_ros2::getLastErrorMsg ( yarp::os::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 442 of file RgbdSensor_nwc_ros2.cpp.

◆ getRgbFOV()

bool RgbdSensor_nwc_ros2::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 244 of file RgbdSensor_nwc_ros2.cpp.

◆ getRgbHeight()

int RgbdSensor_nwc_ros2::getRgbHeight ( )
overridevirtual

Return the height of each frame.

Returns
rgb image height

Implements yarp::dev::IRGBDSensor.

Definition at line 182 of file RgbdSensor_nwc_ros2.cpp.

◆ getRgbImage()

bool RgbdSensor_nwc_ros2::getRgbImage ( yarp::sig::FlexImage rgbImage,
yarp::os::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 359 of file RgbdSensor_nwc_ros2.cpp.

◆ getRgbIntrinsicParam()

bool RgbdSensor_nwc_ros2::getRgbIntrinsicParam ( yarp::os::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 271 of file RgbdSensor_nwc_ros2.cpp.

◆ getRgbMirroring()

bool RgbdSensor_nwc_ros2::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 259 of file RgbdSensor_nwc_ros2.cpp.

◆ getRgbResolution()

bool RgbdSensor_nwc_ros2::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 200 of file RgbdSensor_nwc_ros2.cpp.

◆ getRgbSupportedConfigurations()

bool RgbdSensor_nwc_ros2::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 194 of file RgbdSensor_nwc_ros2.cpp.

◆ getRgbWidth()

int RgbdSensor_nwc_ros2::getRgbWidth ( )
overridevirtual

Return the width of each frame.

Returns
rgb image width

Implements yarp::dev::IRGBDSensor.

Definition at line 188 of file RgbdSensor_nwc_ros2.cpp.

◆ getSensorStatus()

RgbdSensor_nwc_ros2::RGBDSensor_status RgbdSensor_nwc_ros2::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 436 of file RgbdSensor_nwc_ros2.cpp.

◆ open()

bool RgbdSensor_nwc_ros2::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 35 of file RgbdSensor_nwc_ros2.cpp.

◆ operator=() [1/2]

RgbdSensor_nwc_ros2 & RgbdSensor_nwc_ros2::operator= ( const RgbdSensor_nwc_ros2 )
delete

◆ operator=() [2/2]

RgbdSensor_nwc_ros2 & RgbdSensor_nwc_ros2::operator= ( RgbdSensor_nwc_ros2 &&  )
deletenoexcept

◆ setDepthAccuracy()

bool RgbdSensor_nwc_ros2::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 237 of file RgbdSensor_nwc_ros2.cpp.

◆ setDepthClipPlanes()

bool RgbdSensor_nwc_ros2::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 331 of file RgbdSensor_nwc_ros2.cpp.

◆ setDepthFOV()

bool RgbdSensor_nwc_ros2::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 231 of file RgbdSensor_nwc_ros2.cpp.

◆ setDepthMirroring()

bool RgbdSensor_nwc_ros2::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 343 of file RgbdSensor_nwc_ros2.cpp.

◆ setDepthResolution()

bool RgbdSensor_nwc_ros2::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 213 of file RgbdSensor_nwc_ros2.cpp.

◆ setRgbFOV()

bool RgbdSensor_nwc_ros2::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 225 of file RgbdSensor_nwc_ros2.cpp.

◆ setRgbMirroring()

bool RgbdSensor_nwc_ros2::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 265 of file RgbdSensor_nwc_ros2.cpp.

◆ setRgbResolution()

bool RgbdSensor_nwc_ros2::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 219 of file RgbdSensor_nwc_ros2.cpp.


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