FrameGrabber/RGBD Interfaces #2576
drdanz
started this conversation in
Architecture
Replies: 1 comment
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
We are currently working on the nws/nwc architecture for cameras (both normal and rgbd).
The goal would be to have a common architecture that works for cameras, dual-cameras with 1 single image R+L, dual-cameras with 2 separate images, depth-only sensors, RGBD cameras, and in general when multiple objects that produce images are involved. This might require some refactory, changes and deprecations in the interfaces, therefore, before we proceed, we are evaluating current architecture.
This is a list of the interfaces related to the cameras and of the devices that implement and use them (found in robotology+robotology-playground, please let me know if you are aware of other devices implementing/using them).
yarp::dev::IFrameGrabber
usbCamera
usbCameraRaw
dragonfly2
(icub-main)dragonfly2raw
(icub-main)static_grabber
(icub-main)yarp::dev::IFrameGrabberRgb
usbCamera
usbCameraRaw
dragonfly2
(icub-main)dragonfly2raw
(icub-main)yarp::dev::IFrameGrabberImage
usbCamera
fakeFrameGrabber
opencv_grabber
ffmpeg_grabber
remote_grabber
fakebot
grabber
(deprecated)GazeboYarpCameraDriver
(gazebo-yarp-plugins)GazeboYarpMultiCameraDriver
(gazebo-yarp-plugins)dragonfly2
(icub-main)static_grabber
(icub-main)logpolargrabber
(logpolar)pipe
grabber
(deprecated)grabberDual
GazeboYarpMultiCamera
(gazebo-yarp-plugins)GazeboYarpCamera
(gazebo-yarp-plugins)GazeboYarpDepthCamera
(gazebo-yarp-plugins)yarp::dev::IFrameGrabberImageRaw
usbCamera
usbCameraRaw
fakeFrameGrabber
dragonfly2
(icub-main)dragonfly2raw
(icub-main)realsense2
(yarp-device-realsense)realsense2withIMU
(yarp-device-realsense)grabber
(deprecated)grabberDual
yarp::dev::IFrameGrabberControls
usbCamera
usbCameraRaw
fakeFrameGrabber
DepthCamera
remote_grabber
dragonfly2
(icub-main)dragonfly2raw
(icub-main)logpolargrabber
(logpolar)realsense2
(yarp-device-realsense)realsense2withIMU
(yarp-device-realsense)logpolarclient
(logpolar)rgbdSensor_nws_ros
rgbdSensor_nws_yarp
RGBDSensorWrapper
RGBDToPointCloudSensor_nws_ros
grabber
(deprecated)grabberDual
frameGrabberGui2
(icub-main)logpolargrabber
(logpolar)yarp::dev::IFrameGrabberControlsDC1394
remote_grabber
dragonfly2
(icub-main)dragonfly2raw
(icub-main)logpolarclient
(logpolar)grabber
(deprecated)grabberDual
frameGrabberGui2
(icub-main)logpolargrabber
(logpolar)OculusModule
(walking-teleoperation)yarp::dev::IRgbVisualParams
usbCamera
usbCameraRaw
fakeFrameGrabber
dragonfly2
(icub-main)dragonfly2raw
(icub-main)rgbdSensor_nws_yarp
RGBDSensorWrapper
grabber
(deprecated)grabberDual
yarp::dev::IDepthVisualParams
rgbdSensor_nws_yarp
RGBDSensorWrapper
yarp::dev::IRGBDSensor
yarp::dev::IRGBDSensor
fakeDepthCamera
depthCamera
RGBDSensorFromRosTopic
RGBDSensorClient
FreeFloorViewer
(navigation)depthCameraDriver
(gazebo-yarp-plugins)realsense2
(yarp-device-realsense)realsense2withIMU
(yarp-device-realsense)RGBDSensorClient
rgbdSensor_nws_ros
rgbdSensor_nws_yarp
RGBDSensorWrapper
RGBDToPointCloudSensor_nws_ros
laserFromDepth
LaserFromPointCloud
Rgbdcalibrationtest
(cer)rgbdSensor_nws_ros2
(robotology-playground/yarp-ros2)Notes:
IFrameGrabberImage
andIFrameGrabberImageRaw
are the same exact interface for images of different pixel type. It would be possible to change it to a template in order to supportImageOf<PixelFloat>
(for depth images), andFlexImage
for generic images.IFrameGrabber
andIFrameGrabberRgb
are implemented by a few devices, but are not used anywhere, and they lack information (quantum, pixelcode/pixelsize, topIsLowIndex). In my opinion they are good candidates for being deprecated.IRGBDSendor
inherits fromIRgbVisualParams
andIDepthVisualParams
, and adds some more methods, which is kind of odd for YARP interfaces.Beta Was this translation helpful? Give feedback.
All reactions