This class implements an nwc for ros2 for an rgbd sensor. More...
Public Member Functions | |
RgbdSensor_nwc_ros2 () | |
RgbdSensor_nwc_ros2 (const RgbdSensor_nwc_ros2 &)=delete | |
RgbdSensor_nwc_ros2 (RgbdSensor_nwc_ros2 &&) noexcept=delete | |
RgbdSensor_nwc_ros2 & | operator= (const RgbdSensor_nwc_ros2 &)=delete |
RgbdSensor_nwc_ros2 & | operator= (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. | |
![]() | |
DeviceDriver () | |
DeviceDriver (const DeviceDriver &other)=delete | |
DeviceDriver (DeviceDriver &&other) noexcept=delete | |
DeviceDriver & | operator= (const DeviceDriver &other)=delete |
DeviceDriver & | operator= (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 DeviceDriver * | getImplementation () |
Some drivers are bureaucrats, pointing at others. | |
![]() | |
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. | |
![]() | |
virtual | ~IRgbVisualParams () |
![]() | |
virtual | ~IDepthVisualParams () |
Additional Inherited Members | |
![]() | |
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 } |
This class implements an nwc for ros2 for an rgbd sensor.
Definition at line 70 of file RgbdSensor_nwc_ros2.h.
RgbdSensor_nwc_ros2::RgbdSensor_nwc_ros2 | ( | ) |
Definition at line 31 of file RgbdSensor_nwc_ros2.cpp.
|
delete |
|
deletenoexcept |
|
overridedefault |
void RgbdSensor_nwc_ros2::callback | ( | sensor_msgs::msg::CameraInfo::SharedPtr | msg, |
std::string | topic | ||
) |
Definition at line 79 of file RgbdSensor_nwc_ros2.cpp.
void RgbdSensor_nwc_ros2::callback | ( | sensor_msgs::msg::Image::SharedPtr | msg, |
std::string | topic | ||
) |
Definition at line 69 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Close the DeviceDriver.
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 59 of file RgbdSensor_nwc_ros2.cpp.
void RgbdSensor_nwc_ros2::color_info_callback | ( | const sensor_msgs::msg::CameraInfo::SharedPtr | msg | ) |
Definition at line 115 of file RgbdSensor_nwc_ros2.cpp.
void RgbdSensor_nwc_ros2::color_raw_callback | ( | const sensor_msgs::msg::Image::SharedPtr | msg | ) |
Definition at line 107 of file RgbdSensor_nwc_ros2.cpp.
void RgbdSensor_nwc_ros2::depth_info_callback | ( | const sensor_msgs::msg::CameraInfo::SharedPtr | msg | ) |
Definition at line 97 of file RgbdSensor_nwc_ros2.cpp.
void RgbdSensor_nwc_ros2::depth_raw_callback | ( | const sensor_msgs::msg::Image::SharedPtr | msg | ) |
Definition at line 89 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Get the minimum detectable variation in distance [meter].
Implements yarp::dev::IRGBDSensor.
Definition at line 296 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Get the clipping planes of the sensor.
nearPlane | minimum distance at which the sensor start measuring. Object closer than this distance will not be detected. |
farPlane | maximum distance beyond which the sensor stop measuring. Object farther than this distance will not be detected. |
Implements yarp::dev::IRGBDSensor.
Definition at line 302 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Get the field of view (FOV) of the depth camera.
horizontalFov | will return the value of the horizontal fov in degrees |
verticalFov | will return the value of the vertical fov in degrees |
Implements yarp::dev::IRGBDSensor.
Definition at line 271 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Return the height of each frame.
Implements yarp::dev::IRGBDSensor.
Definition at line 259 of file RgbdSensor_nwc_ros2.cpp.
|
override |
Definition at line 370 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Get the intrinsic parameters of the depth camera.
intrinsic | return a Property containing intrinsic parameters of the optical model of the camera. |
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 285 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Get the mirroring setting of the sensor.
mirror | true if image is mirrored, false otherwise |
Implements yarp::dev::IDepthVisualParams.
Definition at line 314 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Return the height of each frame.
Implements yarp::dev::IRGBDSensor.
Definition at line 265 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Get the extrinsic parameters from the device.
extrinsic | return a rototranslation matrix describing the position of the depth optical frame with respect to the rgb frame |
Implements yarp::dev::IRGBDSensor.
Definition at line 326 of file RgbdSensor_nwc_ros2.cpp.
|
override |
Definition at line 404 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Return an error message in case of error.
For debugging purpose and user notification. Error message will be reset after any successful command
Implements yarp::dev::IRGBDSensor.
Definition at line 419 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Get the field of view (FOV) of the rgb camera.
horizontalFov | will return the value of the horizontal fov in degrees |
verticalFov | will return the value of the vertical fov in degrees |
Implements yarp::dev::IRGBDSensor.
Definition at line 221 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Return the height of each frame.
Implements yarp::dev::IRGBDSensor.
Definition at line 159 of file RgbdSensor_nwc_ros2.cpp.
|
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.
rgbImage | the image to be filled. |
timeStamp | time in which the image was acquired. Optional, ignored if nullptr. |
Implements yarp::dev::IRGBDSensor.
Definition at line 336 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Get the intrinsic parameters of the rgb camera.
intrinsic | return a Property containing intrinsic parameters of the optical model of the camera. |
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 248 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Get the mirroring setting of the sensor.
mirror | true if image is mirrored, false otherwise |
Implements yarp::dev::IRgbVisualParams.
Definition at line 236 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Get the resolution of the rgb image from the camera.
width | image width |
height | image height |
Reimplemented from yarp::dev::IRGBDSensor.
Definition at line 177 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Get the possible configurations of the camera.
configurations | list of camera supported configurations as CameraConfig type |
Reimplemented from yarp::dev::IRGBDSensor.
Definition at line 171 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Return the width of each frame.
Implements yarp::dev::IRGBDSensor.
Definition at line 165 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Get the surrent status of the sensor, using enum type.
Implements yarp::dev::IRGBDSensor.
Definition at line 413 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Open the DeviceDriver.
config | is 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). |
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 35 of file RgbdSensor_nwc_ros2.cpp.
|
delete |
|
deletenoexcept |
|
overridevirtual |
Set the minimum detectable variation in distance [meter] when possible.
the | desired resolution in meters. |
Implements yarp::dev::IRGBDSensor.
Definition at line 214 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Set the clipping planes of the sensor.
nearPlane | minimum distance at which the sensor start measuring. Object closer than this distance will not be detected. |
farPlane | maximum distance beyond which the sensor stop measuring. Object farther than this distance will not be detected. |
Implements yarp::dev::IRGBDSensor.
Definition at line 308 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Set the field of view (FOV) of the depth camera.
horizontalFov | will set the value of the horizontal fov in degrees |
verticalFov | will set the value of the vertical fov in degrees |
Implements yarp::dev::IRGBDSensor.
Definition at line 208 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Set the mirroring setting of the sensor.
mirror | true if image should be mirrored, false otherwise |
Implements yarp::dev::IDepthVisualParams.
Definition at line 320 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Set the resolution of the depth image from the camera.
width | image width |
height | image height |
Implements yarp::dev::IRGBDSensor.
Definition at line 190 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Set the field of view (FOV) of the rgb camera.
horizontalFov | will set the value of the horizontal fov in degrees |
verticalFov | will set the value of the vertical fov in degrees |
Implements yarp::dev::IRGBDSensor.
Definition at line 202 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Set the mirroring setting of the sensor.
mirror | true if image should be mirrored, false otherwise |
Implements yarp::dev::IRgbVisualParams.
Definition at line 242 of file RgbdSensor_nwc_ros2.cpp.
|
overridevirtual |
Set the resolution of the rgb image from the camera.
width | image width |
height | image height |
Implements yarp::dev::IRGBDSensor.
Definition at line 196 of file RgbdSensor_nwc_ros2.cpp.