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.