



USV-Relative Operation
The UUV is tethered to the USV and operates within 6 m of it, so the USV accompanies it throughout Task 2. The UUV computes its task waypoints relative to the USV, using AprilTag detections to maintain a local reference frame tied to the surface vessel. AprilTags are also used to identify targets underwater for in-door testing at our university’s pool.
Localization
The UUV's local odometry is assumed to drift, so a global correction is applied through the /map to /odom transform. Two methods provide this correction. In the first, a pinger on the UUV is tracked by the USV's hydrophone array to estimate the UUV's pose relative to the USV. In the second, which uses only the stock BlueROV2 sensors, the UUV keeps an AprilTag mounted on the USV in view and computes its relative pose from its monocular camera. ORB-SLAM is being added as an extra EKF input to reduce horizontal drift.
Waypoint Navigation
Low-level control and motor mixing are handled by the BlueROV2's BlueOS firmware. The ROS 2 companion stack runs waypoint-based navigation on top of it, with missions sequenced by behavior trees. This lets the UUV run multi-stage routines such as traversing submerged structures or circling obstacles.
