Ever since 2013, the Aquabots Team at RDM Rotterdam has been involved in the development of autonomous vessels for purposes of monitoring and inspection. The majority of these projects carried out by students with different educational backgrounds. Together with trained professionals in the maritime sector, they worked on all kinds of interdisciplinary assignments involving (semi-) autonomous vessels with a hull size of approximately two metres.
Along with these projects, we slowly but surely developed a web-based Aquabots Client in order to remotely control these vessels. In this project, we will be showing you how to change a remotely controlled boat into an autonomous vessel, that can register itself to this client, using little more than an Arduino (Mega), a GPS unit and some time to spare!
In the coming weeks, I will adding a number of blogs to the project, for every step in making the autonomous vessel!
The code source is available on GitHub.
Project:
Day 1: Connecting to the Aquabots Client
Day 2: Adding a GPS Unit
Day 3: Updating the GPS location
Day 4: Revving the Servo's!
EXPANDED TECHNICAL DETAILS
Swarm-Based Marine Robotics
Aquabots is an advanced project focusing on the creation of autonomous aquatic vessels capable of environmental sensing and coordinated movement.
- Differential Propulsive Thrust: The Arduino manages two high-power waterproof DC motors. The firmware implements a differential steering algorithm, allowing the vessel to turn in its own length by spinning the motors in opposite directions.
- Aquabots Client Interface: Features a custom web/mobile dashboard that provides real-time telemetry, including GPS coordinates, water temperature, and battery life, transmitted via a long-range WiFi link.
Performance
- PID-Stabilized Heading: Includes a compass / IMU module; the Arduino runs a PID loop to counteract water currents and wind drift, ensuring the boat maintains a straight course to its destination.