Skip to content

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