Is setting "rgbd_cameras" to 0 a "hidden" feature?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Is setting "rgbd_cameras" to 0 a "hidden" feature?

hagenoneill
Hello,

I recently discovered that setting "rgbd_cameras" to 0 causes rtabmap_slam and rtabmap_odom to subscribe to the "rgbd_images" topic where I can use the rtabmap_sync rgbdx_sync node to send a combined rgbd image.

However, when i try to look up documentation for this feature here this isn't mentioned.

I was wondering if anyone knew of any pros/cons of syncing multiple rgbd images this way instead of setting "rgbd_cameras" to 2 and feeding them into the topics "rgbd_image0", "rgbd_image1", etc.

Is there a reason it isn't documented? Is it identical under the hood?

Thanks!
Reply | Threaded
Open this post in threaded view
|

Re: Is setting "rgbd_cameras" to 0 a "hidden" feature?

matlabbe
Administrator
Hi, the documentation was missing. I just updated it.

With rgbdx_sync, you can sync up to 8 cameras. With direct sync in rtabmap or odometry nodes, you can sync up to 5 or 4 cameras respectively.

Usin rgbdx_sync can be useful if you want to sync a LiDAR running a lower frame rate in rtabmap node, so you can pre-sync all cameras at 30 Hz with rgbdx_sync, then sync with lidar at 10 Hz in rtabmap node.

Other than that, there are no other advantages of rgbdx_sync.

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: Is setting "rgbd_cameras" to 0 a "hidden" feature?

hagenoneill
Awesome, thanks for the documentation!
Reply | Threaded
Open this post in threaded view
|

Re: Is setting "rgbd_cameras" to 0 a "hidden" feature?

marlu
Hi,

thank you for the amazing packages and continuous community support! How about fusing multiple cameras with different resolutions? Can any of multiple rgbd_sync's or single rgbdx_sync handle that case?
Reply | Threaded
Open this post in threaded view
|

Re: Is setting "rgbd_cameras" to 0 a "hidden" feature?

matlabbe
Administrator
rgbd_sync can handle different resolution between the RGB and depth cameras.

rgbdx_sync doesn't care about how the RGBDImage are formatted.

However, visual odometry/rtabmap expect that each stream RGB or depth from all cameras have the same resolution. (RGB are all 720p, depth are all 360p...)

RGB images are stitched together internally in same big image. Same for depth images.

cheers,
Mathieu