Free Code Lets Hobbyists Control Underwater Sonar
This could make underwater robots cheaper and easier to build for anyone.
A developer has open-sourced a ROS2 driver they are using for their M3000d. They worked on it last year by extending ENSTA Bretagne’s oculus_ros2, which did not include support for the M3000d, and they recently started maintaining it again and fixing some bugs.
They note that liboculus, described in the article as the most-supported driver for the Oculus sonar, has a discussion about the M3000d and should support it, though they haven’t tested it. The driver is specifically updated for the M3000d, and the developer says they didn’t notice before that liboculus fully supported the M3000d.
The current problem they’re encountering is pingRate reconfiguration, which is clamped to 9 Hz even when requesting 15 or 40 Hz; they haven’t investigated it extensively yet. They are also working on a lightweight, easy-to-modify C++ interface that substitutes the proprietary ViewPoint, for using raw acoustic images in custom code such as OpenCV pipelines. They wrote very dummy documentation, as it was their first time working with low-level sensor drivers and Ethernet sensors, and they ask whether it is useful for the community.
- Free software now lets you control a high-resolution underwater sonar without expensive proprietary tools.
- The driver works with ROS2, a common robotics platform, making it easier to integrate into your own projects.
- There's a bug with the ping rate that's being fixed, but the developer is also building a free alternative to the proprietary ViewPoint software.
Why It Matters
This lowers the cost and effort to build underwater robots, enabling more people to explore and monitor oceans.