The ASV software architecture is largely similar to that of the BBAUV3.5. This was done so that we could maximize the code shared between the two vehicles. Ported components include the vision pipeline and the mission planner. Several novel components were added to make sure that the software can support surface navigation, mapping and path planning. The Mission Planner was enhanced so as to enable the ASV to communicate with the AUV.
Sensor Fusion
Using the tried and proven particle filter algorithm from BBAUV 3.5, the ASV 2.0 is able to fuse information from the LIDAR with the camera to perform object detection and target acquisition. This allows the ASV to accurately position itself in relation to other objects around itself.
Simple Multi-Robot Mission Planning
The mapping UI enables simple control of the Vessel from the surface. Paths can be plotted out over a satellite overlay enabling a simple and intuitive interface for the pilot. The mission planner has also been revamped to support joined ASV-AUV missions.
Advanced Control System
The controls system is designed to provide centimeter-level positioning accuracy. Three modes of controls are supported. The first being Path Tracking which is used to follow a planned path. The second being encirclement – enabling the asv to encircle and object and the third being dynamic positioning. This enables the ASV to reach a desired position and heading.
Autonomous Mapping and Path Planning
The ASV 2.0 is capable of autonomously mapping its surroundings through its lidar sensors. Using the A* Algorithm a path can be planned out, thus enabling obstacle avoidance close to the shore and in cluttered seas.
Simulation Environment
A simulation environment was developed to simulate physics and competition tasks. The simulator uses Gazebo to provide realistic physics. This enables simulation of controls systems. The LIDAR, camera and RADAR are also simulated in the system itself.