
This course contains the use of artificial intelligence.
Ever wondered how an underwater robot actually finds its way with no GPS, fights buoyancy and drag to hold a depth, and spots a target through murky water? In this course, you'll
build and pilot a fully simulated Autonomous Underwater Vehicle (ROV/AUV) from the ground up, using the exact industrial stack real underwater robotics teams run: ROS2 Jazzy, Gazebo
Harmonic, ArduSub SITL, and QGroundControl.
This isn't a vibe-coding course. Every hard topic is taught in three layers: the intuition (a picture or a live sim demo), the numbers (the actual math, derived plainly), and the
code/config (how it maps to ROS2, Gazebo, and ArduSub, and what breaks when you change it).
You'll start from zero installing ROS2, Gazebo, and Docker and work up through:
- Core ROS2 concepts: nodes, topics, services, parameters, launch files, TF2 frames, and DDS/QoS
- Reading and modifying a real robot's URDF/Xacro description, including mass, inertia, and collision physics
- Standing up the same Dockerized ArduSub + Gazebo + QGroundControl stack used in real underwater robotics
- Thruster physics and the allocation matrix that maps 6 thrusters to 6 degrees of freedom
- The real hydrodynamics at play: buoyancy, drag, and added mass
- State estimation with an Extended Kalman Filter, and sonar-based mapping with factor graphs and loop closure
- Training and evaluating a YOLO-based object detector for underwater inspection
- A capstone mission where you fuse piloting, mapping, and detection into one autonomous run you own end-to-end
Along the way I share real war stories from building actual underwater vehicles: sign-flip bugs, GPU render crashes, lost degrees of freedom, and false-positive detections in murky water.
By the end, you'll have hands-on, physics-grounded experience with the same tools and techniques used in real marine robotics and physical AI a strong foundation for further study
or a portfolio-ready capstone project.