RobotX - Boat Software

RobotX 2026 > Boat Software

Overview

Software execution stack of our USV

We migrated from a pure Python threading–based system to ROS 2 (Robot Operating System 2) on Crusader, leveraging lessons learned from RoboBoat 2026 and RoboSub 2026. ROS 2 allows the team to take advantage of vendor-provided packages for sensor communication and to extract standardized data formats out of the box, significantly reducing the time required to develop low-level software. This migration also enables the team to utilize a wide range of mature, open-source tools within the ROS 2 ecosystem, such as ROS 2 LiDAR clustering packages and visualization tools like Foxglove.

Our software architecture is divided into four main stacks: Localization, Mapping, Cognition, and Behavior. Each stack can be developed and tested independently thanks to ROS 2’s distributed architecture, strong support for simulation and testing tools, and Software-in-the-Loop (SITL). 

qrgroundcontrol

Localization

Boat on QGroundControl

Pivoting from our custom controller to a Pixhawk with the ArduRover platform, we are able to utilize its off-the-shelf sensor fusion capabilities, which use GPS position, differential heading, accelerometer, and other internal Pixhawk sensors to produce a precise estimation of the vehicle’s position.

Perception & Mapping

Mapping Data Pipeline

The Perception Stack enables the robot to see the world and understand its surroundings. With RoboBoat 2026’s intense requirement on mapping, we used Livox MID-360 LiDAR combined with Depthai OAKD_LR stereo camera to help Crusader detect and report the location of mission elements. The team deployed YOLO 26 (You Only Look Once), a machine learning (ML) model on our camera to detect objects, and have an initial estimation of target position. The estimation is further fused with LiDAR to give a more accurate position estimate.

Cognition Stack

In order to address the demanding requirements of dynamic mission planning, including interrupting the current mission and completing emergency tasks, we implemented a behavior tree to manage mission logic. The use of a behavior tree allows us to break down missions into smaller, reusable action pieces, such as navigating to a certain point or actuating the water shooter.

Computer vision + GPS Sensor Fusion

We leverage ground testing to extend the competition layout beyond the footprint of the pool. We leverage computer vision and gps sensor fusion to estimate the latitude longitude position of the buoys

Simulations

Gazebo simulation of omni-directional robot
Simulation of channel navigation mission

Omni-directional robot simulation

Navigation Channel simulation

Our testing happens in both simulated worlds and on real water. This year, the team created an omni directional land robot in Gazebo, allowing members to test mission logics quickly without the dependency of physical water test.