logo Microsoft Applied Robotics Research Library

Open Source Samples for Service Robotics

License: MIT

gestureBot Construction Guide

The gestureBot is adapted from the Mini robot kit from Robotis, Inc and the MSRAbot project created by interns at Microsoft Research Asia. The information on this page will guide you through purchasing and printing parts, as well as step-by-step assembly of the gestureBot.

gestureBot wireframe

Before you begin...

If you have experience in 3D printing and electronic assembly, we hope that you find this project relatively simple and straight-forward. Once the parts are in-hand, the time required to complete the project won't be much more than it takes to print the 3D models.

If you are not experienced in these areas, one of the first things you'll learn is that desktop 3D-printers are not a good source of instant gratification! Even the smallest of the models contained in this kit will take several hours to print, while some of the larger models take more than half a day. With those time requirements in mind, we broke the procedures down into work sessions that fit along with the 3D print operations. Alternatively, a class of 5-10 students taking on this project might be successful with serial use of a single 3D printer and meeting once-a-week to perform the other assembly tasks.

An important feature of these instructions is their sequence. Following the steps in the sessions in order is key to preventing the need to disassemble an assembly in order to have access to cable pathways or screw and rivet holes.

Safety Alert:

We've found that a key to success in building this and other projects using 3D-printed plastic parts is to know your own strength. Human hands can be more than strong enough to damage or destroy plastic parts, especially when muscle force is amplified by the leverage provided by a tool. For example, gripping a screwdriver with your fingers instead of the palm of your hand will limit the torque force you can apply with your muscles when driving a metal screw into a plastic servo horn (wheel). When applying muscle force with a tool against a plastic part, being aware of where the stationary force from your hand, body, or workbench is pushing back against your tool can avoid suddenly breaking the part and possibly causing injury. It is also helpful to use vision as well as force when tightening a screw. Paying attention to the closing gaps when turning a screw can help avoid stripping threads in the plastic and will make for stronger connections. A famous book that discusses this concept of "mechanic's feel" as well as other challenges in life is Zen and the Art of Motorcycle Maintenance: An Inquiry into Values by Robert M. Persig.

Requirements

Here are the physical things you'll need to build and use your gestureBot:

PC

Tools

Optional but Helpful Tools

Parts List

Purchased Parts

ID Qty Name & Purchase Link .
P1 12 Robotis XL-320 Servo Motors (includes short connection cable)
P2 1 USB3 Hub with Power Supply
P3 1 Robotis OpenCM9.04c Servo Control Circuit Board
P4 1 USB Terminal Block
P5 1 Short USB Cable (USB-A to USB-Micro)
P6 2 Long (19cm) Servo Connection Cables
P7 1 6mm Plastic Rivets, (40) short (2-step) and (10) long (3-step)
P7 (alternate) 1 6mm Plastic Rivets (weaker but lower-cost, variety of colors)
P8 1 Screw Set

3D Printed Parts

ID Qty Name & Model Link .
M1 1                             Base                            
M2 1 Base Frame
M3 1 Bracket Cover (Rivet Side)
M4 1 Bracket Cover (Screw Side)
M5 2 Ear
M6 1 Eyes
M7 1 Face
M8 2 Hand
M9 1 Head Frame
M10 1 Hip Cover
M11 1 Hood
M12 1 Neck
M13 1 Servo Cover
M14 2 Servo Mount Plate
M15 2 Servo Side Cover
M16 2 Servo Wheel
M17 2 Speaker
M18 2 Head Swing Bracket
M19 2 Hip Swing Bracket
M20 1 Screw-Mount Swing Bracket
M21 1 Upper Torso Back Cover
M22 1 Upper Torso Front Cover
M23 1 Upper Torso Frame

Step-by-Step Instructions

The 3D-printed parts are used to organize this project's task steps into sessions. 3D printing a part usually requires more time than is reasonable for a work session, often leaving the print operation to complete overnight as the most practical solution.

Session 1: Set Up the Servo Controller Electronics

In the first session we will begin the process of 3D-printing the gestureBot's plastic parts starting with the base frame while connecting the servo controller to the powered USB3 Hub and a single servo motor.

Session 1 Complete

Session 2: Configure the Servos

In the second session we will 3D-print the gestureBot's torso components while establishing the communication network for our servo motors by connecting them one-by-one to the PC and using using the Robotis Dynamixel Wizard 2.0 application to program each with a unique ID.

Session 2 Complete

Session 3: Assemble the Torso

In the third session we will 3D-print the head components while assembling the gestureBot's torso.

Session 3 Complete

Session 4: Assemble the Head Structure

In the fourth session we will 3D-print the components for both arms while assembling the structural components of the gestureBot's head.

Session 4 Complete

Session 5: Assemble the Right Arm

In the fifth session we will 3D-print the base component while assembling the gestureBot's right arm.

Session 6: Assemble the Left Arm

In the sixth session we will 3D-print the eye and ear components (in an alternate color if desired) while assembling the gestureBot's left arm.

Session 6 Complete

Session 7: Attach the Arms and Test the Servos

In the seventh session we will 3D-print the hood component (in an alternate color if desired) while we attach the arms to the torso and test the servos using the Robotis Dynamixel Wizard 2.0 application.

Session 7 Complete

Session 8: Complete the Head

In the eigth session we will 3D-print the hands and arm servo covers while we assemble the the head components.

Session 8 Complete

Session 9: Install the Body Covers

In the ninth session we will 3D-print the torso front and back covers while we install the arm servo covers and hands.

Session 9 Complete

Session 10: Run the Gesture Applications

In the tenth session we will 3D-print the torso cover components while we attach the hands and the arm servo covers. At this point the gestureBot will be ready to run the Labanotation Suite software applications. The torso covers can be attached as soon as they are finished printing.

Session 10 Complete

A last word...

Something to keep in mind is that this kit is designed to be changed and adapted. The 3D models are simple and lend themselves to modifications using such tools as Blender. Additional devices such as cameras, microphones, and loudspeakers can be added using the two available USB ports in the base of the robot, as well as leveraging other devices and connections through the host PC.

We can't wait to see what you come up with!

--the Microsoft Applied Robotics Research Team