We are proud to present Oogway, our advanced entry for RoboSub 2026.
This autonomous underwater vehicle (AUV) marks a major design evolution for our team, integrating new technologies and refining systems for enhanced performance. Oogway is built around a modular frame, supporting the independent integration of key components, with an accessible electrical stack for easier sensor expansion and integration. Its software includes cutting-edge computer vision integrated with all-new task planning and control systems, enabling precise object recognition and navigation. We’ve also implemented novel hardware to locate acoustic pings and a compact, accurate torpedo launcher, enabling it to interact with its environment. Key to Oogway’s design is the seamless integration of its subsystems, enabling robust and reliable functionality. Each component was independently developed and tested, ensuring high performance and resilience under the demanding conditions of underwater missions. As it embarks on each task within the competition, Oogway demonstrates our team’s technical capabilities and our commitment to advancing the field of underwater robotics.
Come check out our Report!
Computer Science
Robot Controls, GUI, Computer Vision (CV), Sonar, and Task Planning are crucial for autonomous robotics. Robot Controls manage movement and actions, while the GUI allows users to interact and monitor the robot. CV enables the robot to perceive and navigate its environment. Sonar sensors help with distance measurement and mapping, especially in low-visibility conditions. Task Planning determines the optimal sequence of actions for achieving goals. Together, these systems enable robots to perform complex tasks autonomously in dynamic environments.
Controls

Our control system ensures precise and stable robot movement through a blend of feedforward and feedback control mechanisms. Feedforward control maximizes stability by counteracting persistent forces like buoyancy, while feedback control, implemented via Proportional-Integral-Derivative (PID) loops, ensures smooth navigation towards the target.
Further enhancing performance, the thrust allocator solves a quadratic programming problem using advanced numerical optimization techniques to determine the necessary force for each thruster, enabling the robot to follow the desired trajectory while minimizing energy usage. These forces are then transformed into pulse widths via a nonlinear mapping, and pulse width modulation is employed to spin the thrusters. This sophisticated approach guarantees precise maneuverability across diverse environments and conditions.
GUI

Built on top of Foxglove Studio using the React Material UI library, the Duke Robotics GUI features a modular and modern design and allows us to easily monitor and control our AUV during pool tests. We can receive real-time updates on the status of our onboard computer, sensors, thrusters, and battery. We can observe the performance of the control system and tune PID constants on-the-fly. We can use a joystick to control the robot directly. Individual panels are organized into layouts and easily deployed using a custom CLI. The GUI also supports replaying recorded ROS bag files for offline debugging and analysis.
CV

Detection
The computer vision (CV) system uses stereo and mono-vision inputs from both our DepthAI and USB cameras to locate items underwater to complete our underwater tasks. For simpler prediction tasks, we employ HSV filtering and contour matching to identify the slalom, path markers, and bin. For more intricate images encountered in the gate, torpedo, and octagon tasks, we utilize YOLO object detection models. Our enhanced CV pipeline seamlessly integrates these methodologies, dynamically adjusting to optimize detection speed and accuracy for various tasks.
Simulation
Our CV Simulation, built using Unity Perception, allows rapid generation of large-scale, labeled synthetic datasets for model training. Environment randomizations, such as rotations and lighting variations, contribute to a robust model that generalizes to a variety of diverse pool conditions. We also incorporated a realistic 3D model of the Woollett Aquatics Center to closely match the competition environment.

Sonar


Our sonar system has been upgraded to enhance its reliability and provide alternate task completion methods. The upgraded sonar now effectively avoids false positives caused by acoustic reflections and can detect when the target object is missing.
Low-intensity values are filtered out, and the DBSCAN algorithm is used to identify clusters in the image. The clusters are used to identify the distance to the objects as well as their surface normal angles. The sonar can also perform long-range scans to get an overview of the AUV’s environment, filtering objects based on area and circularity and removing similar-sized neighboring clusters.
Task Planning

The task planning system serves as the robot’s top decision-maker, orchestrating its actions and responses to varying scenarios encountered during competition. It interfaces with all other systems, leveraging data from the robot’s perception capabilities and its current state to strategize and execute tasks efficiently by moving the robot or manipulating objects. Built upon a framework of coroutines, the system exhibits agility and responsiveness, swiftly adjusting to environmental changes and dynamically selecting the most optimal course of action at any given moment. The framework also facilitates streamlined development, allowing developers to assemble small building blocks into intricate tasks with ease. An automated system continuously publishes updates at every step, offering real-time insights into the system’s behavior and performance.
Electrical
The Full Electrical System serves as the backbone of the robot. It integrates vital data collection from the Sensors, Acoustics, and Cameras to maintain environmental awareness. This data informs the control loop for the Thrusters + Servos, enabling precise underwater maneuvering, while Inter-Vehicle Communication allows for synchronized operations between multiple AUVs.
Full Electrical System

The electrical stack is the heart of the robot. Its primary responsibility is twofold: powering all components and ensuring all data is routed correctly. This includes everything from communicating with all sensors, powering the robot computer, and even ensuring a network connection to the GUIs running on our landside computers.
This year, we further refined our electrical system to align with the robot-agnostic architecture established on our other robot, Crush. These improvements ensure compatibility with our shared communication framework and modular codebase.
Sensors

Oogway relies on many sensors to track both external and internal conditions.
Our primary sensors determine the robot’s state, that being its 6 degrees of freedom: x, y, z, roll, pitch, and yaw. Our IMU, DVL, gyroscope, and pressure sensor are fused in software to provide an accurate state. The IMU, DVL, and gyroscope all have their own direct UART serial connection to the PC, whereas the pressure sensor is read through an Arduino and sent to the main ROS node over USB.
Furthermore, Oogway has an onboard sonar, which is connected to the computer via USB.
We also have an internal voltage sensor to monitor the battery and dynamically adjust thruster speed, a temperature sensor to monitor capsule heat, and a humidity sensor to detect water ingress. Data from these three internal sensors is collected through an Arduino microcontroller.
Acoustics

One of RoboSub’s most challenging tasks is locating an underwater pinger by sound alone. Our custom acoustics PCB features four 8th-order Butterworth bandpass filters that isolate the pinger signal from thruster noise, boosting it from a near-undetectable 10 mV swing to several volts.
On the software side, a Random Forest classifier determines whether the pinger is within a defined range, achieving 93.96% accuracy validated across 447 real pool recordings. This system is fully integrated into our ROS 2 stack, allowing our robots to share pinger information in real time and coordinate their task order accordingly.
Cameras

Oogway has four cameras that we use for CV and monitoring. Two cameras are simple USB cameras rated for underwater use, and two are sophisticated stereoscopic cameras with internal processing. These cameras represent a significant demand for both our power and data systems, but provide significant potential for our CV capabilities.
The stereoscopic cameras are used to run complex ML models that help us track inorganic shapes and features. We also utilize downward-facing cameras to track path markers on the pool floor.
Thrusters + Servos

Oogway features eight thrusters, and the electrical team provides the hardware abstraction layer used by the controls system.
Each thruster requires a precise PWM signal from the PC. To manage this, we communicate with an Arduino Nano over serial, which interfaces with an I2C multiplexer to control all eight thrusters. The I2C multiplexer is configured to ensure proper PWM outputs are produced based on its internal clock frequency.
In addition to the thrusters, Oogway is equipped with two servos, one to control the marker dropper and one to control the torpedo launcher. When ROS sends the appropriate commands, we can independently deploy team markers and fire torpedoes as needed.
Inter-Vehicle Communication

Oogway has also been fitted with a WaterLinked M16 acoustic modem to enable underwater communication with other robots. The modem’s omnidirectional capabilities allow Oogway to send and receive data from anywhere in the pool without needing to reorient, making it ideal for collaborative, multi-robot tasks.
To support this integration, we developed a custom interface that links the modem to the onboard computer. This interface manages serial communication, publishing incoming messages to a ROS topic and sending outgoing data through a ROS service, as well as ensuring seamless operation within our modular, robot-agnostic system.
Mechanical
The Electrical Stack Capsule houses and protects the robot’s electronics, ensuring efficient power distribution. Component mounts secure hardware like sensors and boards, providing stability. A dedicated Torpedo Launcher enables precise deployment, allowing the robot to actively engage with competition targets. The Full Model Assembly integrates these elements, allowing the robot to function seamlessly and perform tasks autonomously.
Electrical Stack Capsule

Ensuring the watertightness of the electrical stack is one of the mechanical team’s top priorities. The stack is enclosed by an off-the-shelf Polycase capsule and a custom-machined aluminum plate with space for WetLink penetrators and SubConn connectors. The bottom plate is also anodized to ward off corrosion in saltwater environments.
In response to previous leaks, a custom-made titanium top plate has been machined and added to the robot. The four brass inserts molded into the Polycase capsule began to fail due to wear and tear over a year of use. The new titanium plate bypasses this weak point and applies even pressure across the entire capsule, improving performance and decreasing deterioration.
Component Mounts

The primary goals for all component mounts on Oogway are flexibility and rapid prototyping. Oogway’s aluminum rails allow us to move components around easily to optimize for factors such as buoyancy and placement of sensors. This has come in handy for hydrophone mounts, which underwent several different designs and locations as the acoustics subteam developed their code.
We primarily use 3D-printed mounts to keep Oogway lightweight and allow for updated designs to be fabricated consistently and quickly. The battery mount, for example, broke frequently during last year’s competition. This year, we were able to quickly prototype and test new designs and print backups just in case. Furthermore, our finalized designs have been printed using nylon, a significantly stronger material that enhances the durability of our robot.
Torpedo Launcher

Oogway has been fitted with a compact, modular, single servo-actuated torpedo system. The launcher consists of two identical torpedo modules that slot into a servo housing, and each module uses a spring-loaded firing system that is actuated by a slip gear.
The modularity of the launcher design and the use of 3D printing for all parts allow for quick repairs and prototyping. The projectiles are also 3D printed, and multiple iterations were tested before settling on the final design.
Our original torpedo launcher design’s large profile was prone to snapping, especially when going through doorways at the pool. This would frequently render us unable to test. This year, we reduced the total volume by more than 15% by recessing the launch tubes further
into the robot, and used structural screws and inset nuts to strengthen the weakest parts.
Full Model Assembly

As we add or update components on the robot, we also ensure that the full model assembly of Oogway remains up-to-date. The assembly allows us to visualize new components and identify conflicts before fabrication. This year, we also used the full model assembly to generate media materials for the website and paper to more effectively illustrate our prototyping process and final products.
In the future, we hope to integrate the assembly into our simulation workflow, as this would enable our task planning team to tune movement constants before putting the robot in the pool.
