Skip to content

Autonomous Surface Vessel Stack

Perception and telemetry for a competition autonomous boat.

The AI stack behind UM::Autonomy’s competition vessel: object detection and LiDAR classification as ROS2 nodes feeding navigation and task planning. Zenoh and Protobuf carry telemetry across 15+ nodes, validated in Gazebo before it touches water.

Perception

Deep-learning object detection and LiDAR point cloud classification run as ROS2 nodes in Docker, feeding the navigation and task planning stages downstream. Containerising each node keeps the model dependencies from colliding with the rest of the vessel software and makes a node reproducible off the boat.

Telemetry

Telemetry and command traffic move over Zenoh with Protobuf payloads — a low-latency bidirectional layer spanning 15+ distributed nodes, where the alternative was every subsystem inventing its own message format.

Testing

The whole stack is validated in Gazebo and RViz before it goes on the water. Simulation is not a nicety here: on-water time is scarce and a failed run costs a day, so anything that can be caught in a simulated course is caught there first.

facts
StatusIn progress
Year2024
RoleAI subteam — perception and telemetry

Stack

  • Python
  • ROS2
  • Docker
  • Zenoh
  • Protobuf
  • Gazebo

Links

Private

highlights
  • Deep-learning detection and LiDAR point cloud classification as ROS2 nodes.
  • Zenoh + Protobuf transport across 15+ distributed nodes.
  • Simulated in Gazebo and RViz before anything touches water.