Work / Marine robotics, control Simulation
Autonomous surface vessel
BlueBoat USV with real ArduPilot, model-predictive control and learned perception
An autonomously navigating BlueBoat, the Blue Robotics unmanned surface vessel, crosses open water to a goal while weaving around a field of buoys. The boat is flown by the real ArduPilot Rover firmware in software-in-the-loop, so the autopilot, its EKF and its thruster mixing are exactly what would run on the vehicle.
Challenge
Validate a full marine autonomy stack, autopilot included, without a sea trial, and without hand-feeding the planner ground truth.
Approach
A JSON SITL bridge connects ArduPilot to a 3-DOF Fossen hull model and the Genesis renderer, returning synthesised IMU and GPS. A sampling-based (MPPI) model-predictive controller plans obstacle-free paths and sends velocity setpoints over MAVLink, which ArduPilot's GUIDED mode tracks. A convolutional network trained on rendered frames detects buoys from the boat's forward camera alone and feeds their positions to the controller.
Result
Complete autonomous missions through the buoy field in simulation, with a logged trajectory re-rendered photorealistically in Blender.
In brief
- Real ArduPilot Rover SITL in the loop over MAVLink
- Sampling-based MPC with non-convex obstacle costs
- CNN obstacle detection from the forward camera only
- Genesis physics and rendering; Blender re-render from the logged run