As Team Lead and member of the Software and Automation Subsystem at Team AUV MIT-B, I built this underwater simulation environment alongside two subsystem members to test our AUVs before real-world underwater deployment.
We've created Hydrogen to replicate the complete RoboSub 2025 competition track for fully autonomous navigation. The modular file structure makes multi-person collaboration seamless across our team.
We use it for preliminary testing of all tech stacks—from Electrical Team stabilization controllers to manual teleop interfaces. I'm currently implementing initial autonomy through SAUVC tasks using Behaviour Trees, progressing toward full track navigation with our custom-trained object detection pipeline. This sim-based rapid prototyping gives us iteration flexibility before hardware deployment.
This project utilizes:
- ROS 2 for communication
- Gazebo for simulation
- ROS 2: Humble
- Gazebo: Ignition Fortress
- ros_gz: ROS 2 <-> Gazebo bridge
Ensure that ROS 2 Humble and Gazebo Fortress are correctly installed and sourced on your system.
-
Clone the repository:
git clone https://github.com/AnimeshM21/hydrogen.git cd hydrogen -
Build the workspace:
colcon build
-
Source the setup file:
source install/setup.bash -
Launch the model file:
ros2 launch hydrogen model.launch.py
- launch/: Contains Python launch files for the hydrogen/deuterium models.
- model/: Robot description files, which have been made modular based on each aspect of the bot from the main_frame to propellers to Zed cameras etc.
- world/: Gazebo world files (SDF), a completely underwater environment with relevant physics and hydrodynamics simulating the complete competition track from RoboSub 2025.
- parameters/: Configuration files.
- meshes/: 3D models for robots, primarily STL files designed in CAD by Mechanical Team members.