Underwater Robot Programming Course
This course takes you into the software that makes underwater robots work. You will learn how embedded architectures and real-time control are organized, how to integrate and fuse navigation sensors, how to control the motion of ROVs and AUVs in six degrees of freedom, how to plan missions with autonomous behaviors and how to test, debug and secure the complete system before it goes into the water.
Prior knowledge check
These are the skills this program gives you. Tick the ones you already master and we will tell you which part of the syllabus is for you.
You are starting from scratch in this subject. The program is designed precisely for that.
What is the Underwater Robot Programming Course?
This short course prepares you to program remotely operated and autonomous underwater vehicles from the firmware up to the mission logic. You will study the software layers of an underwater robot, onboard computing and real-time operating systems, internal communication buses, navigation sensors such as IMU, compass, pressure and DVL, sensor fusion and state estimation, underwater dynamics and thrust allocation, PID control and operating modes, mission representation with state machines and behavior trees, energy management and emergency protocols, and finally hardware–software integration, testing and functional safety.
What sets this course apart: a complete path from embedded software to autonomous behavior, following the same layers as a real vehicle; a strong focus on robustness, with defensive design, fault detection and degraded modes; practical work with Python, ROS and simulation to test algorithms before deployment; attention to the realities of the sea, such as currents, payload changes and limited visibility; and an applied project in which you integrate, test and debug the program of an underwater robot.
Program highlights
- From firmware to mission: every software layer of an underwater robot.
- Real-time control: latencies, priorities, watchdogs and degraded modes.
- Sensor fusion: IMU, compass, pressure, altimeter and DVL working together.
- 6 DOF motion control: thrust allocation, advanced PID and station keeping.
- Autonomy: state machines, behavior trees and safe recovery from faults.
- Applied project: integration, HIL/SIL testing and debugging of a complete robot program.
Syllabus of the Underwater Robot Programming Course
5 modules. Select a module to see its content.
Embedded software and real-time control architectures for underwater robotics
- 1.1. Architecture of an underwater robot: software layers, firmware, drivers and mission logic
- 1.2. Onboard computing models: SBCs, microcontrollers, coprocessors and task allocation
- 1.3. Operating systems and real time: latency, jitter, priorities, watchdogs and degraded modes
- 1.4. Internal communications management: buses (UART/I2C/SPI/CAN) and synchronization between modules
- 1.5. Data structures and defensive design: states, events, queues, buffers and fault tolerance
Sensors, data fusion and state estimation for underwater navigation
- 2.1. Integration of navigation sensors: IMU, compass, pressure, altimeter and environmental compensation
- 2.2. Modeling and calibration: offsets, drift, alignment, delays and field validation
- 2.3. Sensor fusion: complementary filters, EKF/UKF concepts and estimation consistency
- 2.4. DVL, odometry and velocity estimation: seabed conditions, return quality and typical failures
- 2.5. Anomaly detection: outliers, signal degradation, reconfiguration and sensor fallback
Motion control, stability and autopilot for ROVs and AUVs
- 3.1. Models of underwater dynamics: thrust, drag, buoyancy, moments and coupling
- 3.2. Thrust allocation: thruster matrices, saturation, compensation and 6 DOF control
- 3.3. Advanced PID controllers: anti-windup, feedforward, tuning and depth/heading control
- 3.4. Operating modes: assisted manual, station keeping, trajectory tracking and reference-based control
- 3.5. Robust control against disturbances: currents, payload changes and density variations
Mission planning, autonomy and intelligent behaviors in underwater environments
- 4.1. Mission representation: waypoints, geofences, constraints, timings and operating windows
- 4.2. State machines and behavior trees: design, safe transitions and fault recovery
- 4.3. Navigation in complex environments: obstacle avoidance, safety margins and proximity to structures
- 4.4. Energy management during the mission: budgets, priorities, controlled degradation and safe return
- 4.5. Operational resilience: retries, abort criteria, home/loiter and emergency protocols
Final integration, testing, debugging and applied underwater robot programming project
- 5.1. Hardware–software integration: drivers, timings, interference, power consumption and system stability
- 5.2. Testing strategies: unit, integration, HIL/SIL, test benches and in-water acceptance
- 5.3. Debugging and diagnostics: traces, profiling, structured logs, root cause analysis and fixes
- 5.4. Configuration management: parameters, calibrations, mission profiles and version control
- 5.5. Functional safety: watchdogs, failsafes, limits, interlocks and safe stop modes
Duration and format of the Underwater Robot Programming Course
It is 300 hours. Tell us how many you can study each week and we will tell you when you will really finish.
This is the pace at which most students finish. It fits well with the installment plan.
Academic leadership and faculty
The Navalis teaching team: working professionals who teach and supervise the programs.
Dr. Marina AlcoverAcademic Director and Head of Quality Assurance
Eng. Diego CifuentesSenior Lecturer in Naval Welding and Non-Destructive Testing; Head of QA/QC for Welded Joints
Capt. Javier Abaroa (MCA)Senior Lecturer in Ship Handling, Electronic Navigation (ECDIS/Radar/ARPA) and GMDSS; STCW Compliance and Bridge Resource Management Coordinator
Dr. Pau FerrerSenior Lecturer in Naval Architecture and Simulation; Director of the Hydrodynamics and CFD Laboratory
Dr. Nuria LlobregatSenior Lecturer in Marine Meteorology, SAR and Operational Safety; Navigation Risk Management Coordinator
Eng. Javier BañulsSenior Lecturer in Electrical Engineering, Automation and ETO Engineering; Electronic Integration and Engine Alarms Coordinator
Eng. Sofía MarquinaSenior Lecturer in Materials, Composites and Corrosion Protection; Coordinator of the Advanced Paints and Coatings Line
Eng. Tomás RieraSenior Lecturer in Propulsion, Alternative Energy and Hybrid Systems; Energy Performance and Vibration CoordinatorObjectives of the Underwater Robot Programming Course
Career opportunities after the Underwater Robot Programming Course
Questions about the Underwater Robot Programming Course
In oceans, seas, lakes, rivers and reservoirs, as well as around submerged structures such as platforms, pipelines, harbors and wind farm foundations.
The course works mainly with Python and C++ and with ROS; MATLAB and other languages also appear in the industry and are mentioned where relevant.
No. Algorithms are developed and tested in simulation and with software-in-the-loop strategies, so you can complete the course with a computer alone.
Yes. Motion control covers both, and the autonomy module focuses on the mission logic that autonomous vehicles need.
You integrate, test and debug the program of an underwater robot, documenting its configuration, safety mechanisms and test results.
Fully online, through a virtual campus available 24/7, with live sessions that are recorded and tutorials with the teaching staff.
The course comprises 300 hours of study across 5 modules of about 60 hours each and ends with an applied project. You can progress at your own pace within the schedule set when you enroll.
More programs in Underwater robotics
Admission process
No waiting for a call back. If your documents are in order, you can enroll in the same session.
- Profile: aimed at engineering, robotics and marine science students who want to specialize in underwater robot control, engineers and technicians who want to develop their skills in programming and operating ROVs, researchers who need robotic tools for underwater exploration, offshore industry professionals implementing robotic inspection, maintenance and repair solutions, and robotics enthusiasts who want to build and program their own underwater robots; basic knowledge of programming (Python or C++), electronics and control systems is recommended.
- Language: sufficient command of English to follow the classes and the technical documentation.
- Technical resources: a computer with a stable internet connection, an up-to-date browser, a programming environment such as Visual Studio Code or PyCharm, and a robotics simulator such as Gazebo.
- Admission: online application, review of your profile and a short interview with the academic team.
- 01ApplicationYour details, background and documents.
- 02Instant reviewWe check that everything is complete and in order.
- 03EnrollmentChoose full payment or instalments and reserve your place.
Admission is provisional until the committee validates the documents provided. If you do not meet the requirements, the full amount is refunded.
Ask us before you enroll
Leave your details and admissions will write to you to answer any questions. If you are already sure, you can apply and pay in the same session.