Release of ROS-MVP

Release of ROS-MVP

I would like to announce the release of a set of marine vehicle packages from the University of Rhode Island Ocean Engineering department, what we called: ROS-MVP. These packages currently consist of following:

  • MVP-Control: A generic vehicle low-level vehicle controller (implements a control allocation algorithm with quadratic programming).
  • MVP-Mission: A generic behavior-based state-oriented mission planner. It contains common behaviors for marine guidance.
  • Stonefish-MVP: Stonefish wrapper for MVP (MVP fork for stonefish_ros)
  • mvp_msgs: MVP messages that are used in MVP packages.

The ALPHA AUV (a new Open-Source AUV from URI SOSLAB) uses MVP architecture for its GNC (Guidance, Navigation and Control) functions. ALPHA AUV comes in different setups to fit the use case. There repositories of ALPHA AUV can be found here:

ROS-MVP architecture has been tested on ClearPath’s Heron and SOSLAB’s ALPHA AUV.

Overview of the architecture

The architecture is designed to provide complete GNC (Guidance, Navigation and Control) solution.

  • Guidance: MVP-Mission and its behaviors
  • Navigation: ROS Robot Localization
  • Control: MVP-Control

Some caveats

  • It is in ROS 1. ROS 2 migration requires some preliminary work. These include:

    • ROS 2 migration of Stonefish-MVP. Simulation environment implementation is vital for testing. As field tests can be quite expensive.

    • ROS 2 migration for ALPHA AUV.

  • It only supports fixed thrusters. We are currently looking for a way to implement azimuth thruster control in a generalized way.

Quick Start

Readme inside the contains installation instructions. You may start from there.

The architecture uses Stonefish simulator. Thanks to Patryk Cieślak for a great underwater simulator. Stonefish simulator is a multi agent simulated based on bullet physics library. It is configured with XML files called scenario files. In ALPHA AUV repositories, we have a use case in which that the scenario files are parsed with xacro to make usage convenient for multi-agent setup.


For updates, follow the uri-ocean-robotics GitHub page. If you have any questions, do not hesitate to shoot an e-mail.

Take care!


Interesting projectline. I’ll surely snoop around your repositories.

One question; What does MVP stand for here?

So, MVP Stands for Marine Vehicle Packages. We are intending to have them as common as possible.