If you're not familiar with the InMoov project you can check it out, at www.inmoov.fr InMoov is an open source, 3D printed, life size robot created by Gael Langevin. I won't go into the printing or assembly of the InMoov arm, because the tutorials on the InMoov website cover those steps in great detail. I would like to say thank you to Gael for making the InMoov project open source. It has been a great source of inspiration for me to learn about 3D printing and micro-controllers for robotics. This instructable will focus on the various methods I've used to animate my InMoov hand from simple Arduino sketches to voice controls using a PC interface running MyRobotLab. I'll cover installing MyRobotLab later.
Step 1: Getting Started
This simplest way to get started with the InMoov project is with the finger starter kit, which can be purchased from the InMoov Store or printed using the free .stl files available for download under the creative commons license on Thingiverse. The finger starter kit provides a great platform for testing servo control options. The finger starter kit has a space available to mount an Arduino microcontroller and a single servo to control the finger. If you're not familiar with Arduino you should check out the www.arduino.cc website. A very simple Arduino sketch to get the finger starter moving is available here.
Step 2: Controlling the Servos With Arduino
While the finger starter provides a great testing platform, if you're like me you will get bored with just one finger and want more. At that point you'll need to get the .stl files for the hand, wrist and forearm from http://www.inmoov.fr/download/ and follow the tutorials at http://www.inmoov.fr/assembly-help/ to proceed with the project.
I do not own a 3D printer, so I had to utilize a combination of 3dhubs, the local library and the local MakerSpace to get all of the parts printed. The forearm parts took a while to get printed, so once I had the hand and the wrist printed I made a wood platform for the servos to start animating the hand. You can see the Servo Test sketch running on the wooden platform in the first video, on this step.
A note on capacitive touch. I figured making InMoov's hand interface with my Android tablet would be as easy as gluing stylus tips to the fingers, but it turns out there's more to it than that. In order to trigger the touch screen the stylus needs to be connected to a human hand or something else that has enough capacitance to mimic a human touch. I found aluminum foil wrapped around the fingers, connected to 3' length of copper wire with some conductive foam, to cushion the impact on the screen, worked well.
With a simple Arduino sketch I was able to time the finger movements to play a little tune.
For the Denver Mini Make Fair, I set my InMoov Arm up with an Arduino and HC-04 Ultra Sonic sensor to play Rock Paper Scissors with spectators. When the sensor detects the players hand in the field of play it initiates three twists of the wrist, then randomly chooses a number 1-3. 1=rock, 2=paper, 3=scissors.
Step 3: Controlling the Arduino Using My Robot Lab
First, you will need to install the latest version of My Robot Lab onto your computer. I have managed to get it working on my windows 7 laptop. Go to MyRobotLab for a tutorial on how to install and run MyRobotLab. Once you have MyRobotLab installed and running and you have Installed all of the services, including the Arduino service, follow the tutorial MyRobotLab Arduino Service Tutorial to get your Arduino communicating with MyRobotLab. Now you are ready to take control of the InMoov arm. I've attached my modified version of the InMoov.minimal.py python sketch for use, in My Robot Lab.
Here a link to the voice control with custom gestures created using the gesture creator service test video for mobile viewers.
Moving forward I am working on interfacing motion sensors and losing the PC for a Raspberry PI for portability. Thank you to the MyRobotLab team GroG, Alessandruino and kwatters for all the help and for making this great platform available.
Step 4: Beyond the Arm
A fellow member of the local MakerSpace has assemble about 90% of InMoov. I am excited to get to help out with bringing this awesome robot to life. I hope this instructable has shown you a few of the incredible open source tools that are available to help you learn about 3D printing, Robotics, micro-controllers and programming. All of these things were completely new to me only a couple of years ago.