Skip to content

ArduPilot Sub ​

ArduSub is an advanced open-source autopilot system for submersible ROVs (Remotely Operated Vehicles) that supports multiple vehicle configurations. Operating modes range from fully manual to fully autonomous, and the system is designed to be safe, feature-rich, open-ended, and easy to use even for first-time pilots.

Sub system layout: an underwater ROV tethered to a surface buoy, whose antenna links the vehicle to the radio transmitter and ground station on shore

▲ Sub system: underwater vehicle, surface buoy and shore-side ground station

Underwater capabilities ​

  • Robust Attitude and Heading Reference System (AHRS): powered by sensor fusion and inertial navigation algorithms, see EKF.
  • Automatic attitude stabilization, depth control and position control: available once the frame is configured and the required sensors are installed.
  • Fully autonomous missions: the vehicle flies a pre-planned route on its own.
  • Configurable failsafes: cover failures of individual system components, see Failsafe configuration.
  • Subsurface terrain following and surface tracking: holds altitude above the bottom and tracks the surface on ascent.
  • Extensive GCS button actions: a button input can trigger a designated action directly.

The ArduPilot simulators, ground control station software and log analysis tools apply to Sub as well, covering preparation before a dive, execution of the dive, and analysis of the data afterwards.

Vehicle configuration options ​

Sub exposes its functionality through a fine-grained parameter set, including:

  • Bi-directional propulsion motors and thrusters, in brushed or brushless construction.
  • Built-in frame configurations for 3, 4, 5, 6 or 8 thrusters, controlling up to all six degrees of freedom plus axial rotation; custom configurations are also supported.
  • Pilot control and telemetry over a cable tether to a ground station, using joystick, buttons or keyboard; radio control relayed through a surface buoy is also available.
  • Position and depth control using an optional depth sensor, GPS while surfaced, sonar, or shore-side and support-vessel acoustic beacon locators.
  • Camera gimbal control and stabilization.
  • Light brightness control from a joystick or gamepad.
  • Gripper control for retrieving or manipulating objects.
  • Optional leak, temperature and internal pressure sensors for vehicle safety.
  • An Ethernet peripheral interface for sophisticated sensors such as side-scan sonar.
  • Hundreds of ArduPilot-compatible controllers to choose from.
  • An optional Linux companion computer interface for simplified configuration and advanced functions such as image processing, beacon data processing and sonar displays in the ground station; BlueOS is optimised for ROVs.
  • Analogue and digital video with OSD support.
  • Optional buoyancy control as an alternative to vertical thrusters and neutral buoyancy.

Standard operation requires no programming, but detailed interfaces are available for programmatic control, including MAVLink commands. The firmware can be freely modified and extended, including through dynamically loaded Lua scripts.

Live demo ​

▲ A submersible swimming underwater; video from the open-source project OpenMantaClaus