Observing fish in their natural ocean habitats goes a long way toward understanding their behaviors and interactions with the surrounding environment. But doing so isn't easy. Using underwater vehicles to get a look at these species is one option, but they often come with a slew of limitations. Some are loud and use propellers or jet-propulsion that disturb fish and their surroundings. And many are designed in a way that doesn't allow them to blend in with the marine environment. Controlling such vehicles is also a challenge and in many cases, they have to be tethered to a boat. But researchers at MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL) have come up with a potential solution -- a soft robot that can swim on its own underwater.
The device, called SoFi, uses actuators to push water in and out of chambers in its tail, allowing the tail to move in a side-to-side motion much like that of a real fish. SoFi can also be controlled through an acoustic communication system that allows researchers to direct its motion. It can move forward, turn, dive up and down, swim up to 18 meters deep and last for up to 40 minutes at a time. It's also designed to look a lot like a fish, isn't very large and in tests was able to maneuver around reefs and swim alongside real fish without disturbing them. You can see it in action in the video below.
Next, the research team would like to boost the robot's speed, use it to study marine life over long periods of time, see if it can be used to influence the behavior of marine life and create robot swarms. "To our knowledge, this is the first robotic fish that can swim untethered in three dimensions for extended periods of time," CSAIL PhD candidate Robert Katzschmann, a researcher on the project, said in a statement. "We are excited about the possibility of being able to use a system like this to get closer to marine life than humans can get on their own."
The work was published today in Science Robotics.
Image: MIT CSAIL
- This article originally appeared on Engadget.