Robotic Fish - Realistic Movement!
About the project
An Arduino Nano based robotic fish that imitates the swimming motion of an actual fish in the water through multiple joints made of servo motors.
Estimated time: 1 week
Items used in this project
Hand tools and fabrication machines
This is a robotic fish that imitates the movement of a real fish. If you want to see it swim, check out this video: https://www.youtube.com/watch?v=ral-4XnLkOg
As you can see in the video above ^ the robot can move forward, and turn right and left. When an obstacle is detected with the "eyes" (made of infrared transmitters and receivers), the robot turns accordingly. Also as demonstrated in the video, it can swim at a variety of speeds.
It took about a week or so to design, a week to assemble, and a week to test and make adjustments. Overall, I think that anyone can make this in about a week with the right resources.
First, watch this video on how I made it / how it works: https://www.youtube.com/watch?v=gemf0floD98
The robot uses an Arduino Nano. The code explains all the functions. There are two LiPo batteries (3.7 V each), and a LiPo battery charger. The 5V regulator on the Arduino nano is used to provide power to the rest of the fish.
The mechanism is simple. Essentially, each servo is a joint:
By coding the right values, we can get them to move like a traveling wave. This takes the water at the head of the fish, and pushes it to the back, thus thrusting the fish forward in the pool.
Lastly, the skin is made of a large (36 inch) ballon. I picked this because it's a waterproof material that's also very thin and stretchy. The downside is that the fish's body doesn't look realistic because of all the flaps. However, after all the failures I had trying to make it look realistic, I went with it anyway.
The STL files for the mechanism, as well as the code for the Arduino, are attached.