ROS2
In order to facilitate the modular structure of our various software nodes, we opted to utilize ROS2 (Robot Operating System 2) for our communications layer.
​
By splitting up our system into as many discrete nodes as practically possible, we hope to streamline future development and simplify testing. Additionally, using ROS2 nodes allows for straightforward interaction between Python and C++ code.
3D Mapping
Our mapping system combines the object detection system and our stereo camera to estimate the position of competition elements in 3D space relative to our AUV. In order to achieve this, we utilized a hierarchy voxel grid data structure, similar to OpenVDB.
Object Detection
Our AUV’s Object detection system is currently being reworked for improved efficiency and accuracy. In the 2025 competition we aim to be able to detect all Robosub competition elements using a mix of convolutional neural networks and our 3D mapping system.
Simulation
In the 2024-2025 season, we have begun to gather real world data for our object detection models, however we also supplement this with artificial data created using the Gazebo Simulator. By utilizing simluated data, we are able to rapidly prototype and test new object detection methods.
Automated Planning
Our automated planning system is the decision making core of our AUV. Implemented using behaviour trees, our automated planning system is able to respond to situations dynamically, while still being understandable and straighforward to edit.