The open map of ROS maritime robotics¶
Software, simulators, drivers, conventions, and field know-how for surface and underwater robots, curated by the ROS Maritime Community Working Group.
Get started Browse the package catalog Join the working group
Where do you want to start?¶
-
New to marine robotics
Learn the vehicle types and core ideas, then drive a simulated boat or ROV on your own laptop. No hardware needed.
-
Software developer
Find maintained ROS 2 packages, check the frame conventions, and copy proven integration patterns.
-
Building a vehicle
Compare DVLs, INS units, sonars, and thrusters, and see which ones have maintained ROS 2 drivers.
-
Going to sea
Checklists, power budgets, failure modes, and lessons learned from field deployments.
How the pieces fit¶
A typical ROS 2 marine vehicle has the same layers whatever its hull shape. Each box links to the page that covers that layer.
flowchart LR
subgraph S["Sensors and drivers"]
direction TB
NAV["DVL · INS/IMU · depth · GNSS"]
PER["Sonar · cameras · lidar · radar"]
end
subgraph E["State estimation"]
EKF["robot_localization / fuse"]
end
subgraph A["Autonomy"]
direction TB
MIS["Mission and behaviors"]
GUI["Guidance (LOS, Nav2)"]
end
subgraph C["Control"]
direction TB
CTL["Velocity and pose control"]
ALLOC["Thrust allocation"]
end
subgraph V["Vehicle"]
THR["Thrusters · rudders · autopilot"]
end
NAV --> EKF --> GUI
PER --> MIS
MIS --> GUI --> CTL --> ALLOC --> THR
COMMS["Acoustic modem · RF · satellite"] <-.-> MIS
SIM["Simulation (Gazebo, Stonefish, HoloOcean)"] -.replaces.-> S
SIM -.replaces.-> V
click NAV "drivers/" "Drivers and interfaces"
click PER "perception/" "Perception and mapping"
click EKF "navigation/" "Localization and navigation"
click MIS "autonomy_stacks/" "Autonomy frameworks"
click GUI "control/" "Control and allocation"
click CTL "control/" "Control and allocation"
click ALLOC "control/" "Control and allocation"
click THR "hardware/" "Sensors and components"
click COMMS "communication/" "Communication"
click SIM "simulation/" "Simulation"
Current platform baseline (October 2026)¶
Recommended for new projects
Use ROS 2 Jazzy with Gazebo Harmonic on Ubuntu 24.04. Most maintained maritime packages target this pair, for example VRX, Orca5, auv_controllers, ardusub_driver, and the MVP jazzy branches. Use ROS 2 Lyrical with Gazebo Jetty on Ubuntu 26.04 if a dependency needs it (for example POSIM, the ROS 2 version of DAVE). Plan to leave Humble before its end of life in May 2027.
| Release | Type | Ubuntu | Gazebo pairing | Supported until |
|---|---|---|---|---|
| ROS 2 Lyrical Luth | LTS, May 2026 | 26.04 (24.04 also) | Jetty | May 2031 |
| ROS 2 Kilted Kaiju | Non-LTS, May 2025 | 24.04 | Ionic | Late 2026 |
| ROS 2 Jazzy Jalisco | LTS, May 2024 | 24.04 | Harmonic | May 2029 |
| ROS 2 Humble Hawksbill | LTS, May 2022 | 22.04 | Fortress | May 2027 |
| ROS 1 Noetic | Last ROS 1 release | 20.04 | Gazebo Classic 11 | Ended May 2025 |
Gazebo Classic reached end of life in January 2025. Sources: ROS 2 releases, Gazebo releases, Gazebo and ROS pairings.
What is on this site¶
- Package catalog: search and filter more than 100 projects by purpose, ROS version, vehicle, and activity.
- Frames and conventions: ENU and NED, FLU and FRD, heading versus yaw, depth and pressure.
- Simulation: choose a simulator by vehicle, sensors, and engine.
- Drivers and interfaces: which DVL, INS, and sonar vendors have maintained ROS 2 drivers.
- Communication: acoustic modems, satellite, and robot-to-shore middleware.
- Datasets: sonar, underwater imagery, USV perception, and navigation datasets.
- Events: RobotX, RoboSub, MATE, SAUVC, OCEANS, and community meetings.
- Glossary: plain-language definitions. Hover over an acronym on any page to see its meaning.
Help keep this accurate¶
This is a community resource. Package activity refreshes every week from the repositories themselves, but descriptions and recommendations need people who use the tools. If you see something wrong or missing, use the button at the top of any page, or read Contributing.