Bluebot Shoal Fish Robot

If you loved the film Finding Dory, you might just enjoy the original story of these underwater robots, fresh out of the latest issue of The MagPi Magazine.

It’s no coincidence that the shoal of robot fish in this Raspberry Pi Zero W project look more than a little like Dory from Pixar’s movie. As with the film character, the Bluebot robot fish are based on the blue tang or surgeonfish. Unlike Dory, however, these robot fish are designed to be anything but loners. They behave collectively, which is the focus of the Blueswarm research project that began in 2016 at Harvard University.

Linked cameras attached to Raspberry Pi Zero W monitor what surrounding fish are doing. The Bluebot robot then mimics their behaviour, such as moving its fins
The Blueswarm team designed a PCB and wrote custom Python code for their subterranean Raspberry Pi experiments

Florian Berlinger and his PhD research project colleagues Radhika Nagpal, Melvin Gauci, Jeff Dusek, and Paula Wulko set out to investigate the behaviour of a synchronised group of underwater robots and how groups of such robot fish are co‑ordinated by observing each other’s movements. In the wild, birds, fish, and some animals co-ordinate in this way when migrating, looking for food and as a means of detecting and collectively avoiding predators. Simulations of such swarm behaviour exist, but Blueswarm has the additional challenge of operating underwater. Raspberry Pi Zero W works well here because multiple Bluebot robots can be accessed remotely over a secure wireless connection, and Raspberry Pi Zero W is physically small and light enough to fit inside a palm-sized robot. 

Mimicking movements

The team designed the fish-inspired, 3D-printed robot body as well as the fin-like actuators and the on-board printed circuit board which connects to all the electronics and communicates with Raspberry Pi Zero W. Designing the robot fish took the team four years, from working out how each robot fish would move and adding sensing capabilities, to refining the design and implementing collective behaviours, coded using Python 3. 

The Blueswarm team designed a PCB and wrote custom Python code for their subterranean Raspberry Pi experiments
The Blueswarm team designed a PCB and wrote custom Python code for their subterranean Raspberry Pi experiments

They used as many off-the-shelf electronics as possible to keep the robots simple, but adapted existing software algorithms for the purposes of their investigations, “with several clever twists on existing algorithms to make them run fast on Raspberry Pi,” adds Florian. 

On-board cameras that offer “an amazing 360-degree field of view” are one of the project’s real triumphs. These cameras are connected to Raspberry Pi via a duplexer board (so two cameras can operate as one) the project team co-designed with Arducam. Each Raspberry Pi Zero W inside follows the camera images and instructs the fins to move accordingly. The team developed custom algorithms for synchronisation, flocking, milling, and search behaviours to simulate how real fish move individually and as a group. As a result, says Florian, “Blueswarm can be used to study inter-robot co-ordination in the laboratory and to learn more about collective intelligence in nature.” He suggests other robot-based projects could make use of a similar setup. 

Imitation of life

Each robot fish cost around $250 and took approximately six hours to make. To make your own, you’d need a 3D printer, Raspberry Pi Zero W, a soldering station – and a suitably large tank for your robot shoal! Although the team hasn’t made the code available, the Blueswarm project paper has recently been published in Science Robotics and by the IEEE Robots and Automation Society. Several biology researchers have also been using the Bluebot shoal as ‘fish surrogates’ in their studies of swimming and schooling.

It may look cute, but Bluebot has a serious purpose
It may look cute, but Bluebot has a serious purpose

The MagPi #107 out NOW!

MagPi 107 cover

You can grab the brand-new issue right now from the Raspberry Pi Press store, the Raspberry Pi Store, Cambridge, or via our app on Android or iOS. You can also pick it up from supermarkets and newsagents. There’s also a free PDF you can download.

6 comments

Avatar

“Subterranean” means “under ground”. You probably should use “submerged” something similar.

Avatar

“submarine” would be the correct term which means “under water”, hence why a boat that travels under water is called a submarine.

Avatar

A bunch of these swimming in my pool would be awesome. $250 apiece makes it a little pricey, maybe just one of them.

Avatar

What would be cool would be to adapt this to protect real fish from things like herons, maybe by detecting objects above the water or having external warning sensors on the pond that could send a message to the fish-bot…

Avatar

Then, the heron’s would die.

Avatar

You can also find more info about this cute robot and how it works from : https://www.arducam.com/robot-fish-swarm-multi-camera/

Leave a Comment

Comments are closed