UW Vision Sensors (Camera-Sonar) Synchronization Best Practice and Driver

Hi everyone :sailboat::ocean: !

I’m currently working on opti-acoustic sensors calibration and fusion, especially for monocular camera + forward looking sonar (FLS).

I work with ROS2 Jazzy and my current sensor suite is a SONY IP camera and an oculus M3000d FLS (probably I will substitute the ip camera with a logitech brio 100 usb cam).

For the moment I’m using custom ROS2 drivers for both the camera and the sonar. I know that the sonar driver is reliable (at least at low frame rate), while I’m not sure about the ip camera one. When running the sonar driver alone, everything works, wile when the two drivers run simultaneously I lose many sonar image message frames.

(Not sure if the problem is at the communication level or something else in the camera driver blocking the sonar execution)

I never worked with multiple sensor suite and robust image message transmission, so probably my question may be trivial + not very specific to the underwater robotics domain…

I was wandering if you know about a reliable ROS2 ip camera driver, QoS set up that may cause my communication issue, or Middleware related solutions (like using Zenoh instead of the standard DDS). Also, best practice for synchronizing the sensors (+ possibly integrating other sensors such as an IMU + pressure in the suite).

Since I will have to test opti-acoustic fusion algorithms, I can’t finish my experiments stating “the frames have been more or less taken at the same time”.

I know that my questions are a bit broad and general, but I don’t find a good online reference or a related section on the group website (or maybe I didn’t search enough). I open this topic to open a discussion and to hear from those with field experience and everyone with interesting ideas or lessons learn from unluky data collection missions.

I want to be “99% sure” before any field testing that my sensor communication and data retrieval is reliable (100% definitely not a realistic objective in robotics ahaha). Even the things that you think may be super obvious can be usefull for me and anyone else reading this!

Thanks all,

Alessandro