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.
-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.
Step 1: First Draft: Tail - Part 1
In most cases, small scale is usually the way to start a project. For this, however, it was too hard to visualize how everything would work, so I started work on a single, large scale model. Since there would only be one of these, I decided to try to build a tail that had the same functionality that the future tentacles would have. The idea was to use PVC pipe as the "spine" of the tail, and have laser cut 1/8" MDF disc's as the standoff's to make up the vertebrae.
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
After I had the right size discs, I cut short lengths of PVC to be connected to them, and hot glued the two together. (Hot glue, like duct tape, is a fantastic tool for quick, dirty fixes, but not for robotics. In the final version, I knew I would have to find something a little more precise.)
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
Before moving onto a new prototype, I hit the books to learn as much as I could about animatronics and tentacles. I ended up finding the invaluable resource Stan Winston's School of Character Arts, a large database of videos for purchase, made by the animatronics studio that is responsible for Jurassic Park, Terminator, Alien, Predator, and the Iron Man Suit. This find was a jackpot, they have step by step tutorials for all kinds of mechanisms, including a two and a half hour video on the construction of tentacles of all varieties. I quickly purchased and watched this video, which helped me design version 2.
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
Instead of 3D printing, I redesigned the vertebrae to once again be lasercut. I then had to find a way to hold them tightly to the speedometer cable. I considered using some sort of collar to connect the setscrew to the thin, lasercut material, but couldn't come up with a good way to connect the cut parts to the collar. I finally found small parts called Cord Strain Relief Grips. Intended to hang cords and waterproof cords going into utility boxes, I realized they would be perfect to hold my pieces to the cable. I cut the new pieces in 1/8" acrylic, and tightened the cord grips onto them.
Step 5: Tentacle V3 - Step 2 - Building the Spine
Step 6: Tentacle V3 - Step 3 - the "Tendons"
This time around, I skipped the dinky twine from the "tail" and went straight to thin steel cable. Motorcycle throttle cable to be more precise. To attach the cable to the tip I loosened the cord grip of the last vertebrate and stuck the four "tendon'" cables in with it before retightening. Not only does this hold the cables in place, but it also smooths out the curve at the end of the tentacle that will eventually be covered with the skin. After threading the "tendons" through their corresponding holes, the spine was ready to go.
Step 7: Tentacle V3 - Step 4 - the Skin
For the final version, the tentacle can't look like a jumble of wires and acrylic; to be a "real" animatronic it has to be given a skin. I had to do a lot of research on this, because I had never done anything like it before. I quickly learned that animatronic skins are often either made of foam rubber or silicone. I chose the latter because it seemed easier to work with. When I set out to purchase some, however, I soon discovered that silicone is more of a category than a product. There are many kinds of mixtures that yield different final consistencies for different applications. The product I decided on is Dragon Skin High Performance Silicone from Smooth On. It is advertised as being "used in many special effects applications, especially animatronics where repetitive motion is required." This sounded like what I was looking for, so I ordered the trial (pint) kit size of the medium pot life variety. I made a quick test swatch using a plastic plate as a surface and it came out wonderfully. The Dragon Skin is clear naturally, I colored it with Smooth-On's Silc-Pig dye to create the black color of Slenderman's tentacles.
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
This is the only part on which I have done no physical work. The plan is to have a backplate on which the tentacles and electronics will be mounted, and a cover that will protect the electronics and smooth out the back so that it doesn't look too unnatural under clothing. My current plan is to thermoform these out of ABS plastic, but all I have so far is a rough 3D model. (Not to scale)
Step 10: Files and Final Thoughts
This build still has a ways to go before it is complete, and I will keep this post updated as I go. I do have some firm deadlines set currently:
- 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.