All projects

Control for a 6-DoF ROV.

PySub

Year

2025

Role

Robotics · Controls

Overview

A Python control stack for an 8-thruster V-config underwater ROV, implementing PID-based stability, thrust allocation, and live telemetry for precise 6 degrees-of-freedom maneuvering.

The system has two halves: a base station on a laptop that reads keyboard or game-controller input, computes thruster forces and shows telemetry and video, and a Raspberry Pi on the ROV that drives the eight thrusters over PWM and reads the IMU and pressure sensors. They talk over UDP.

Control

Optional PID loops stabilise depth, roll, pitch and yaw; a Kalman filter smooths the depth measurement.

Hardware

8 thrusters in a V-configuration via pigpio PWM, IMU and pressure sensors, RealSense and Pi cameras for video streaming.

Input

Keyboard plus Xbox/PlayStation controllers, with live telemetry back to the operator.

More projects