We made an AUV that builds stuff with cinder blocks

Hey Hasan,

I started out early in this project trying to use the stack that ships with the BlueROV like three years ago so things might have changed. I found that it was really hard to get the level of control needed to do manipulation and accurate positioning using the QGC / ardusub stack. As you say it definitely seems designed around moving big distances in large places. I ended up building out my own platform – all of the electronics in the main tube are custom for this robot.

I did some blogging about building the platform that discusses the details! In short, I put in a machine vision camera and an x86 main computer that runs ROS melodic. The motors are controlled using a smaller ardupilot FCU that runs a custom firmware which demotes the FCU to more of an io board. You can read more at these links!

Droplet (samlensgraf.com)
Droplet V2 (samlensgraf.com)

The electronics tube and software flow are the same as described in those for this project but the chassis is just bigger and stronger.

My code that runs the robot is available here: droplet_underwater_assembly/assembly_main.py. It is quite ugly research code but implements a finite state machine and PID controllers that run the robot through the construction process based on a compiled mission spec description.

I hope this helps! Happy to answer any more questions. If you all use this please do cite the droplet paper Droplet: Towards Autonomous Underwater Assembly of Modular Structures · Robotics: Science and Systems (roboticsconference.org).