Robotics System for Underwater Exploration

As ROS1 is being deprecated, we are upgrading the SMaRC autonomous underwater vehicle LoLo to ROS2. This involves re-designing the vehicle’s software and hardware architecture, writing the sensor drivers, and adding real-time perception capabilities. The goal is to create a modular and flexible system that can be easily adapted to different underwater exploration scenarios.

LoLo Integration TeaserFigure 1. Top-down view of LoLo AUV

LoLo System ArchitectureFigure 2. LoLo system architecture

I have mainly focused on the sensor integration and perception aspects of the project. This includes writing Python and C++ drivers for the multibeam sonar and the CTD (Conductivity, Temperature, and Depth) sensor fore real-time data aquisition and processing:

  • Multibeam sonar driver: ROS 2 driver for the Norbit WBMS multibeam sonar, which communicates with the driver via TCP connections. It allows for real-time configuration, control, data acquisition and visualization from the sonar, and includes supports for bathymetry, water column and snippet data. [Github]
  • CTD driver: ROS 2 driver for RBR CTD - an instrument for oceanographic measurements, including conductivity, temperature and depth. [Github]