Introduction: Animatronic Tentacles With Arduino
***Disclaimer***This instructable is documentation for a work in progress. Although the project is not yet complete, it has reached a place where I believe it can begin to be beneficial to other makers.
The concept for this project was spawned when a friend suggested I be Slenderman for Halloween. When I first looked at pictures, I wasn't terribly excited because I am a prop builder more than a costumer, and Slenderman didn't have any props. However, I then discovered that in some depictions he has tentacle-like appendages emerging from his back. I started scouring the internet, seeing if anyone could give me any advice on how to bring this part of the costume to life. To my dismay, the best I could find was suggestions using armature wire to support the tentacles, but they wouldn't move so I set out to design my own.
The Overall Plan:
-Include 4 or 6 Tentacles
-Be mounted on the back
-Be controlled with 1 or 2 Arduino's using 2 Wii Nunchucks
-Move automatically when not being actively puppeteered
-Have an option to fold tight for moving around tight spaces
UPDATE 2/24/15: Hey Everyone, I am thrilled by the support this project has been getting since I released it just over 2 years ago. I have to say that unfortunately, monetary constraints (being a poor highschool student turning into an even poorer college student) and time constraints have put this project on the back burner for the majority of the last 2 years. I haven't forgotten about you guys, and I am looking forward to delving back into this project soon, hopefully. Don't think I haven't been learning though, in the time away from this project I have picked up numerous skills that I can see applied in hugely useful ways to this project in the future.
These include:
-Learning to machine parts by hand on a vertical mill and metal lathe
-Learned how to use a vacuum form
-Learned a LOT more about servo motors, and what I might need for this project
-Did research on Snake Robots (kind of like tentacles, right?) at the Biorobotics Lab at Carnegie Mellon)
-Learning how to use, and gaining some access to a Waterjet cutter (through Techshop)
-Taking a Class in theatrical casting and mold making at my University
-Beginning to pursue a degree in technical theater
Along with these things, I am also currently taking classes in Welding, Advanced Fabrication Techniques, and Embedded Computing (Arduino-based gadget building) at my University
Thanks for all the continued support, I will do my best to continue to answer any and all questions that come my way in the comments and my inbox. I hope that the next update I post here will be much more timely, and much more full of actual content.
Sincerely,
-TheJuggler
Step 1: First Draft: Tail - Part 1
First, I designed the standoff's in Corel Draw. The large hole in the middle was for the PVC and the smaller four holes for the control cables. I then printed these pieces on an Epilog Legend Series laser cutter. It took some experimenting to get the sizing right, and in the process I created an unbelievable number of these discs.
Step 2: First Draft: Tail - Part 2
Next, I had to figure out how to make the PVC vertebrae slide smoothly against each other. I was unable to find any good system for PVC hinges, so I decided to make a ball joint. I made a sphere of approximately the right size in Solidworks, and then 3D printed them into existence. If I were to do this part over, I would have added a hole down the center of each ball before printing them. As it was, I used a drill press and some scrap wood as a jig to drill a hole in each.
I then connected everything down the middle using tent shock cord to keep the tension, and tied/hot glued it off at each end. After running some spare twine down the sides as the control cables, the first draft was complete.
This first "tail" was far from perfect; it was heavy, and didn't move as it was supposed to.The problem I discovered was that it twisted on itself too much instead of moving directly in the direction it was pulled. This first prototype has been very educational, but it was time to move on to version 2.
Step 3: Tentacle V2
The Key Changes in Version 2 are:
Speedometer Cable for Spinal Cord - This was suggested in the video referenced above; it can't torque, eliminating the twisting of the first draft.
3D Printed Vertebrae - Though more time consuming than lasercutting, 3D printing would allow me to drill and tap a hole perpendicular to the column, allowing a set screw to hold each piece in place rather than hot glue.
Ability to have Multiple Stages - Will Be Discussed Later
I quickly began by designing the vertebrae in Google Sketchup. I exported these files as .STL's for 3D Printing using this plugin for Sketchup. The first versions center hole diamater had been miscalculated, and the oval-shaped holes weren't evenly spaced. I quickly resolved this with a second version, but soon realized that it would be impractical to 3D print every single one of these, as each took ~7 hours to print. Tentacle version 2 was over before it had even gotten going, and I was back to the drawing board.
Step 4: Tentacle V3 - Step 1 - New Vertebrate
Step 5: Tentacle V3 - Step 2 - Building the Spine
Step 6: Tentacle V3 - Step 3 - the "Tendons"
Step 7: Tentacle V3 - Step 4 - the Skin
Next I made a foot long skin to test how the skin and skeleton would fit together. I rotocast this piece using a 2" diameter PVC pipe, capped at the end, as a mold. This made a huge mess, and the skin that resulted was a little thinner than I had hoped. Ultimately, this piece was a learning experience, but the waste of (expensive) silicone that seems inherent in the process, as well as the non-ideal outcome, has led me to reconsider my approach. I am currently looking at new options such as a poured mold.
Step 8: Tentacle V3 - Step 5 - the Brain and Muscles
The brain of the robot is going to be an Arduino Uno. (Though due to the number of motors required to drive all 4 or 6 of the tentacles, I may end up using 2 Arduino's, each running one side.) The Arduino will be used to drive motors (Servo or Stepper) that will pull the cable "tendons" moving the tentacle. The plan is to control this system with a Wii Nunchuck in each hand. The nunchuck is phenomenal because for $11.00 you get an accelerometer, a joystick, and two buttons in a nice, comfortable housing. The plan is to have the joystick control the tentacles when the user wants to puppeteer them, and have the Arduino make them move automatically when he or she doesn't. So far, I have managed to interface the Nunchuck and Arduino to drive one servo in this manner, as you can see below.
The Nunchuck interacts with the Arduino using an I2C serial connection. I don't have enough background in C++ to know how to program this myself, so I consulted many freely available Nunchuck Libraries, some of which are included in the package at the end. The code that deals with getting the Nunchuck input was, therefore, not written by me in any example. My code is the part that processes the values and uses them to move motors.
Step 9: Tentacle V3 - Step 5 - the Back-Pack Mount
Step 10: Files and Final Thoughts
- February 5th - One working tentacle assembly: Spine, Skin, Brain, Motors, and Nunchuck
- April 1st - Full Backpack Assembled and Complete
A Note on Tools: Both the 3D Printer and the Lasercutter are tools I have been utilizing at my High School. I hope to try to save up to get my own in the future. Also, sorry for the not great quality on many pictures, my cell phone camera has been used frequently because I have tended to document hastily in order to maximize time available for making.
Some other small pieces of the design which are not far enough developed to have their own page:
- Belt Pack Control for turning automatic control on and off as well as engaging "close space mode"
- EL Wire through tentacles for light up effects (just for fun)
- Mounting Bracket to make Tentacles easy to remove and service individually
I have uploaded a .zip full of all of the files I have for this project below. Feel free to use it as a resource. Again, the Wii Nunchuck Libraries included are not my own work, but combinations of the work others have shared online. Included are the Vertebrae files, the Arduino Code so far, and the Backpack Model.