Autonomy frameworks¶
An autonomy framework connects sensing, state estimation, planning, control, and mission execution, so that a vehicle can do a task with little or no operator input. This page lists the open frameworks that the maritime community uses, ROS-based and not.
Which framework fits?¶
flowchart TD
Q1{"What vehicle?"}
Q1 -->|"BlueROV2 or other ArduSub ROV"| Q2{"Who runs low-level control?"}
Q2 -->|"ArduSub autopilot"| ORCA["Orca5 / Orca4<br/>ardusub_driver"]
Q2 -->|"ROS 2 controllers"| BLUE["Blue + auv_controllers"]
Q1 -->|"Survey ASV"| P11["Project11"]
Q1 -->|"Custom multi-thruster<br/>USV, AUV, or ROV"| MVP["MVP<br/>(mvp_control + mvp_mission)"]
Q1 -->|"Torpedo AUV research"| Q3{"Constraint?"}
Q3 -->|"ROS 2"| SMARC["SMaRC 2"]
Q3 -->|"Existing MOOS or LSTS fleet"| MOOS["MOOS-IvP or DUNE<br/>with a ROS bridge"]
Q1 -->|"Self-adaptation research"| SUAVE["SUAVE"]
This is a starting point, not a rule. Most groups combine parts: for example robot_localization for state estimation, a framework's controllers, and their own mission layer.
ROS-based frameworks¶
| Project | What it does | ROS | Vehicles | Activity |
|---|---|---|---|---|
| Blue Robotic Decision Making Lab (Oregon State University) |
ROS 2 framework to develop, test, and deploy autonomy on underwater vehicles. Supports the BlueROV2 through ArduSub and MAVROS, Gazebo simulation, and custom controllers from auv_controllers. The default Docker image and CI target ROS 2 Rolling; humble and jazzy branches exist. | ROS 2 | ROV AUV | Low activity Jul 2025 |
| Project11 UNH Center for Coastal and Ocean Mapping (CCOM/JHC) |
Community framework for marine robotics that started on hydrographic survey ASVs. The default branch targets ROS 2 Jazzy; Melodic and Noetic branches are legacy. | ROS 2 ROS 1 | USV Any | Active Aug 2026 |
| CAMP UNH CCOM/JHC |
CCOM Autonomous Mission Planner. Mission planning and monitoring operator interface that is part of Project11. | ROS 2 ROS 1 | USV AUV | Low activity Aug 2025 |
| MVP (Marine Vehicle Packages) URI Smart Ocean Systems Lab |
Guidance and control framework for surface and underwater vehicles, with Stonefish simulation interfaces. Active ROS 2 development is on the jazzy-devel branches of mvp_control and mvp_mission. The mvp_readme instructions describe the ROS Noetic release. | ROS 2 ROS 1 | USV AUV ROV | Active Sep 2026 |
| Orca4 Clyde McQueen |
ROS 2 AUV packages for a BlueROV2 running ArduSub. Uses mavros, Nav2 for missions, ORB_SLAM2 stereo visual odometry, and Gazebo Harmonic with the standard buoyancy, hydrodynamics, and thruster plugins. | ROS 2 | ROV AUV | Active Jun 2026 |
| Orca5 Clyde McQueen |
Successor to Orca4. Gives visual odometry to a BlueROV2 running ArduSub from ORB_SLAM3 and one down-facing camera, without Nav2 or mavros. Targets ROS 2 Jazzy and Gazebo Harmonic. | ROS 2 | ROV AUV | Active Oct 2026 |
| SMaRC 2 Swedish Maritime Robotics Centre (KTH) |
ROS 2 packages for the SMaRC vehicles (for example SAM and LoLo), with documentation, examples, and shared message definitions. Simulation runs in Unity (SMARCUnity). The default branch targets ROS 2 Humble; a jazzy branch is work in progress. | ROS 2 | AUV | Active Oct 2026 |
| SUAVE TU Delft (KAS lab) |
Self-adaptive underwater vehicle exemplar for pipeline inspection research. Uses ROS 2 Humble, Gazebo Harmonic, and ArduSub, and has Docker images for headless experiment campaigns. | ROS 2 | AUV | Active Oct 2026 |
| COLA2 IQUA Robotics / Universitat de Girona |
Control architecture for the Girona 500 and Sparus II AUVs (navigation, control, and mission execution). The source is readable, but the license limits use to IQUA Robotics licensees. | ROS 1 | AUV | Active May 2026 |
Comparison¶
| Blue | Project11 | MVP | Orca4 / Orca5 | SMaRC 2 | |
|---|---|---|---|---|---|
| Main vehicle | BlueROV2, UUVs | Survey ASVs | USV, AUV, ROV | BlueROV2 | SAM, LoLo AUVs |
| ROS 2 target | Rolling (humble, jazzy branches) | Jazzy | Jazzy (jazzy-devel) | Jazzy (Orca5) | Humble (jazzy WIP) |
| Low-level control | ROS 2 (auv_controllers) | ROS 2 | ROS 2 (QP allocation) | ArduSub autopilot | ROS 2 |
| Simulation | Gazebo | Project11 simulation packages | Stonefish | Gazebo Harmonic + ArduSub SITL | Unity |
| Good for | Research on control and autonomy for UUVs | Survey operations and multi-domain fleets | Custom thruster layouts | Getting a BlueROV2 autonomous quickly | Torpedo AUV research |
Values come from each project's README and default branch in October 2026. Check the repository before you commit to one.
Non-ROS autonomy suites¶
Many fielded marine vehicles run autonomy outside ROS. You will meet these systems in collaborations, and you can bridge them to ROS.
| Project | What it does | ROS | Vehicles | Activity |
|---|---|---|---|---|
| MOOS-IvP MIT (oceanai) |
Behavior-based marine autonomy suite (MOOS middleware and the IvP Helm multi-objective behavior arbiter). Not ROS-based, but common on research and naval vehicles. There is no widely maintained public ROS 2 bridge; most teams write a small gateway. | Non-ROS | USV AUV | Active Oct 2026 |
| DUNE LSTS (University of Porto) |
Unified Navigation Environment. Onboard software of the LSTS toolchain, which uses the IMC message protocol. Not ROS-based. | Non-ROS | USV AUV | Active Oct 2026 |
| Goby3 GobySoft |
Autonomy middleware designed for marine robots on slow and intermittent links (interthread, interprocess, and intervehicle publish-subscribe), with MOOS interoperability. | Non-ROS | AUV USV | Active Sep 2026 |
| Neptus LSTS (University of Porto) |
Command, control, and mission review software of the LSTS toolchain (IMC protocol). | Non-ROS | AUV USV | Active Oct 2026 |
Bridging to ROS
- MOOS-IvP: no widely maintained public ROS 2 bridge exists. Most teams write a small gateway node that maps a few MOOS variables to ROS topics.
- LSTS (DUNE, Neptus, IMC): imc_ros_bridge (ROS 1) lets Neptus command a ROS vehicle.
- Goby3: designed for slow intervehicle links, with MOOS interoperability. See Communication.
Building blocks inside the frameworks¶
| Layer | Common choices | Page |
|---|---|---|
| Mission and behaviors | mvp_mission, Nav2 behavior trees, MOOS-IvP helm, custom state machines | Control |
| Guidance | Line-of-sight path following, waypoint controllers, Nav2 controllers on ASVs | Control |
| Control and allocation | auv_controllers, mvp_control, thruster_manager, ArduSub | Control |
| State estimation | robot_localization, fuse | Localization |
| Vehicle interface | mavros, ardusub_driver, ros2_control hardware interfaces | Drivers |
| Operator interface | QGroundControl, CAMP, Neptus, RViz, Lichtblick | Tools |
Learning projects¶
- REMARO underwater robotics hackathon (TU Delft, 2022): hands-on exercises with ROS 2 and Gazebo, default branch ros2.
- TurtleBoat: a turtlesim-like node with vessel dynamics, for first experiments with ship control.