Work / Marine robotics, control Simulation

Autonomous surface vessel

BlueBoat USV with real ArduPilot, model-predictive control and learned perception

Photoreal re-render of a logged autonomous run beside the engineering view.Simulation

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