Scientists have taught fish to drive their tank around an enclosure using a motion-detecting algorithm running on Raspberry Pi 3B+.
How does the fish drive?
The tank is mounted on a wheeled platform featuring a mast with a camera connected to a Raspberry Pi.
The camera faces down into the tank and tracks the fish’s position as it is swimming around. Video is streamed back to the Raspberry Pi, which is running the motion-detecting algorithm. When the fish swims near one of the tank walls, the algorithm moves the Fish Operated Vehicle (FOV) in the same direction.
A lidar sensor on the same mast as the camera reads the environment and overrides the fish-controlled algorithm if the FOV gets too close to the walls of the enclosure. So the FOV never crashes into anything.
Hitting the target for treats
As if a fish-driven tank weren’t cool enough, the six swimmers/drivers who took part in the experiment were given a treat if they successfully piloted their FOV towards a pink line drawn on one of the walls of the enclosure.
Within a few days of driving lessons, the fish hit their target at least 15 times per 30-minute session. Yet more impressively, each fish was still able to find and drive towards the pink line even when the line’s position in the enclosure changed. Decoy lines of different colours didn’t fox them either; they still headed straight for the pink line to collect their treat. And I am now very, very concerned about an imminent aquatic takeover.
If this all ends with a live-action Jaws remake filmed on land, I am going to be very upset.
Read more about fish that can drive
This is the work of Shachar Givon, Matan Samina, Ohad Ben-Shahar and Ronen Segev. You can read the full research paper From fish out of water to new insights on navigation mechanisms in animals on Science Direct.
Our Liz came across a similar project by Alex Kent at Carnegie Mellon University in 2017. They wanted to broaden their bored pet’s horizons, so they stuck its tank on wheels and let it drive itself around. If you’d like to equip your enclosed pet with the ability to change their own scenery, all the code you’ll need is on GitHub.