[GSoC 2024]: Migrating the Project Dave and building Physics-based Sonar Simulation for Underwater Robotics
Organization: Open Robotics
Mentors: Mabel Zhang, Woen-sug Choi
Student: Gaurav Kumar (GauravKumar9920 (Gaurav Kumar) · GitHub, https://www.linkedin.com/in/gaurav-kumar-b7298220a/)
Colleagues : Helena Moyen, Rakesh Vivekanandan
Link to GSoC Project: Google Summer of Code
Hello Everyone,
This summer I was selected to work on The Project Dave along with Rakesh and Helena as part of the Google Summer of Code Program 2024. My primary focus was to migrate Project dave to ROS 2 Jazzy and Gazebo Harmonic and to develop physics-based multi-beam sonar simulation, adapting it to ROS 2 and Gazebo environments.
Throughout the program, I worked closely with my esteemed mentors, Woen-sug choi and Mabel Zhang to make contributions to the Dave repository, we worked on a new branch for the project, documented and created demos that include most of the old DAVE plugins, such as the DVL, USBL and Sea Pressure sensor. Currently, we are working on the migration of the Multibeam Sonar Plugin and wrapping up the project.
My contribution included research about the various plugins available in open source and filtering out the important plugins and sensors we need to migrate during out GSoC journey. I also developed the Sea Pressure Sensor Plugin and underwater current plugin. The project documentation is available in Notion and includes details on Native and Docker installations for Ubuntu Noble, Windows WSL, and Mac OS X.
Documentation: GSoC 2024 - Open Robotics - Dave/Multibeam Sonar
Native installation: Installation Manual (Local)
Docker installation: Installation Manual (Docker)
About me
I am a final-year undergraduate student at VJTI, Mumbai, with a strong passion for robotics. I was first introduced to robotics during my freshman year, where I had the opportunity to work with ROS (Robot Operating System) and Gazebo. This experience sparked my enthusiasm for the field and inspired me to contribute to open-source projects related to robotics.
About the project dave
DAVE (Aquatic Virtual Environment - Home | Project DAVE) is a simulation platform designed for the rapid testing and evaluation of underwater robotic solutions, specifically autonomous underwater vehicles (AUVs/UUVs) that perform missions involving autonomous manipulation. Originally built on ROS 1 Noetic and Gazebo Classic, which are set to reach their end of life in 2025, the project aims to migrate DAVE and its Multibeam Sonar plugin to the new ROS 2 and the Harmonic framework. This transition will ensure continued support and development for the simulation environment.
Sea Sensor Plugin -
The Subsea Pressure Sensor Plugin is a sensor plugin designed to simulate the behavior of a subsea pressure sensor within a Gazebo simulation environment. The plugin integrates with Gazebo, using the Gazebo and ROS 2 interfaces to publish simulated sensor data. It can also Predict the Depth of the vehicle.
Ocean Current Plugin -
(in progress)
The Ocean Current Plugin is an advanced physics plugin designed to simulate the complex behavior of ocean currents in a virtual environment. It features multiple layers, each dedicated to accurately modeling various aspects of ocean currents, such as constant and stratified flows. Additionally, the plugin is capable of replicating tidal oscillations, providing a comprehensive and realistic simulation of oceanic movements.
Multibeam Sonar Plugin
(in progress)
The Multibeam Sonar plugin offers a sophisticated simulation of sonar sensors by utilizing a ray-based method rather than traditional image processing techniques. This approach effectively models acoustic signal behaviors, including phase, reverberation, and raw intensity-range data. Currently, we are developing a custom sensor leveraging the capabilities of the Gazebo GPU-Lidar and DVL (Doppler Velocity Log) sensor. The point cloud data from this sensor is accessible in Rviz, enhancing visualization and analysis capabilities.
Future developments include implementing half-precision calculations in CUDA to achieve increased refresh rates and extending the simulation to support additional sonar types.
Some documentation of the work in progress:
Multibeam Sonar: Native Installation
Multibeam Sonar Plugin Migration Memo
PR: Multibeam Sonar Migration Template by woensug-choi · Pull Request #15 · IOES-Lab/dave · GitHub
Conclusion
This summer has been an incredible journey for me, filled with opportunities to explore underwater robotics and enhance my coding skills. Overall, the project was a success, laying a solid foundation for future developments, such as migrating additional plugins and implementing robotic manipulators.
A heartfelt thank you to my mentors, Woen-Sug Choi and Mabel Zhang, for their invaluable guidance, and to my colleagues Rakesh, Helena, and Abhi for the collaboration and shared learning over these past few months. I am also grateful to Open Robotics for their warm reception and unwavering support throughout this experience.