How-To: 17 DOF Humanoid Robot: Instructables
How-To: 17 DOF Humanoid Robot: Instructables
by IgorF2
Assembling DIY robot kits is one of my favorite hobbies. You start with a box full of components organized in small
plastic bags, and ends with a mounted structure and several spare bolts!
In this tutorial I present how to assemble a kit of a 17 degrees of freedom (DOF) humanoid biped robot, i.e., a robot
with 17 servomotors: three in each arm, five in each leg and one for the head.
This type of robot can be used both as a children's toy (for kids over 12 years who want to become familiar with
robotics, mechanics, electronics, etc.) and for young people and adults who want to get a little more involved in
software programming. It can even be used as a platform for research and development. Probably you will not be
able to make a robot that practices parkour, like the Atlas, but you can try to make your robot walk, imitate
movements or even play soccer!
In this tutorial I present only how to assemble the kit and use the basic software, but the possibilities of control and
programming are numerous (and can be approached in future projects).
In this project I used the Sainsmart kit that you can find in the following link: http://bit.ly/2OdxSri
Merits:
Quality of the parts: the structure of the robot is entirely in aluminum and presents good
mechanical resistance. The material is susceptible to scratches during assembly, but will hardly
bend or break.
Spare parts: the kit comes with several spare bolts and nuts. It is reassuring to know that a lost
screw won't prevent you from finishing the assembly of the robot!
Tools: all necessary tools for assembly are included in the kit. You do not need any additional
apparatus (unless you wanted to do some welding, as in my case).
Electronic components: both the servomotors and the control board have been shown to be of
excellent quality. The kit even comes with a remote control that can be used to control the
movements of the robot, which wasn't explored in this tutorial.
Software included: for begginers, the software provided by the manufacturer will help you to test
simple movements and to program sequences of movements, without needing any programming
knowledge!
Flaws:
https://www.youtube.com/watch?v=qDXOwiIbnl0
SainSmart 17-DOF Biped Humanoid Kit (link). This awesome kit has with everything you need to
built a humanoid robot: 17 servos, metal structure, bolts, nuts, etc. It already comes with the tools
need for assembling the chassis, which is great for beginners! Electronics and cables are also
included.
Solder iron and wire (link / link). You'll eventually need it to solder the battery pack and the on/off
button. So consider having a good solder iron and wire neaby.
18650 3.7V batteries (x4) (link / link). I used to power the whole circuit. This servos use between 5
and 7.4V. I used two 3.7V batteries in series for powering them. I used two packs in parallel for
more current.
2S 18650 battery holder (x2) (link / link). It can hold two 18650 batteries in serie, and can be easilly
be attached to the back of the robot.
18650 battery charger (link / link). Your batteries will eventually run out of power. When that
happens, a battery charger will come to your rescue.
The links above are only a suggestion of where you can find the items used in this tutorial (and maybe support my
future tutorials). Feel free to search for them elsewhere and buy at your favorite local or online store.
1. Attach one pair of U-shaped profiles (back-to-back) using four bolts and nuts. Use the Phillips
screwdriver in the kit to tighten the screws. At the end, you will have a profile in the shape of H.
2. Fit a servomotors inside on one side of the H-shapped profile. Fix the motor using seven screws,
three on the side of the servo motor with the metal shaft, and another four on the side of the
servomotor with plastic shaft
3. Fit the second servomotor to the other end of the H-shapped profile, similar to the previous step.
Position the servos so that both are with the metal axis facing the same side.
4. Fit the servo drive horn to the axes. In the metal shafts the appropriate discs (with some internal
teeth) and screws must be used for their fixing. The discs on the plastic side are free.
5. For wrist mounting, connect the metal profile of the hand to the C-shapped profile using four screws
and nuts.
6. Attach the hand to one end of the arm. The C-shapped profile must be connected so that its two
ends fit externally on the two discs of one of the servos. Align the holes and secure with 3 screws
on each side.
7. Repeat the steps above for the other arm.
In the next part I show you how to mount the robot's legs.
https://www.youtube.com/watch?v=7jSchyvDT2I
The mounting of the legs of the robot is the most time consuming part given the number of motors used. The
following parts are used on each leg:
Foot (x1)
C-shapped profile (x5)
U-shapped profile (x2)
Hips (x1)
Servos (x4)
Bolts (x44)
Nuts (x16)
Screws (x25)
Disk-type servo horns (x8)
The video above shows how to do assemble the legs. The following steps must be performed:
1. Attach the first servomotor to the foot of the robot. The servo fits in the center of the foot (there will
be a rounded part for the shaft socket) and must be secured using six screws (three on each side).
2. Place a horn on each side of the servo, remembering that the disks are different for the plastic and
metal shaft.
3. Join two C-type profiles (back-to-back), with a rotation of 90 degrees with respect to the other. Use
four bolts and nuts to connect these two parts. After mounted this piece will be used in the ankle of
the robot.
4. Attach the ankle to the servomotor installed at the foot of the robot. One of the C-shaped profiles
should be attached to the two servo disks using three screws in each.
5. For the leg and thigh of the robot, the same type of assembly will be used. For the leg, attach a C-
shaped profile with a U type profile using four bolts and nuts. A servomotor should be placed inside
the end where the U-profile is and secured with seven screws (three on the metal shaft side and
four on the opposite side). Repeat this assembly twice.
6. Connect the ankle to the leg of the robot. The servo of the leg should be connected to the C-shaped
profile free end at the ankle, using six screws for connection between the two parts.
7. The thigh assembly should be performed in the same way as the leg, connecting the existing servo
in the thigh to the free end of the C-profile of the leg.
8. To connect the leg to the body (shown in the next step) it will be necessary to mount the hip.
Connect the hip (rectangular part) with a type C profile using four screws and nuts.
9. A servo must be connected facing the hip piece. This part has a rounded cavity to fit the servo shaft.
Use six screws to secure the servo. Then connect the horns to the axles using screws when
necessary.
10. Lastly, connect the hip to the thigh, just as in the previous sections.
In the next step I present how to mount the body of the robot and perform docking arms and legs.
https://www.youtube.com/watch?v=cH1W_WopxHI
Mounting of the body is the last part before you can start to play with the electronics. It's a quick one!
1. The body assembly is started by fixing the four servo motors in the body structure (flat triangular
shaped aluminum part). Install the two motors on each shoulder and the two motors on the pelvis
using a few screws for fastening.
2. Install the second body plate one on the top of the servos, using screws for fixing. Attention to the
screws on the inside, close to the shoulders
3. Place the horns on the four servos, using screws in the gears.
4. A C-shaped profile must be attached to each shoulder using four screws for attaching to the servo
horn.
5. Position the robot arms, fitting it on the C-shaped profile of the end of each leg to the motors of the
pelvis. Secure the legs using six screws.
6. Position the arms, fitting the servo at the end of each arm to the C-shaped profile C of the robot 's
shoulder. Attach them using six screws for each arm.
7. Install the servo of the head between the two body plates, using screws on both sides.
8. Finally, install the front of the robot. Use some spacers by securing them with nuts in front of the
robot. Install the rounded front part over the spacers using screws.
https://www.youtube.com/watch?v=VtT-77GiqI0
Attach four spacers to the back of the robot, securing them with nuts. Install the control plate over the spacers, and
use four screws to secure it. At this point, unroll the servomotors cables and connect them to the control board as
below:
In my case, I chose to use batteries to power the robot. I fastened two battery holders to the back of the robot
using screws and nuts. I used two 18650 series batteries in each holder (doing so 7.4V). The battery packs were
then connected in parallel to have a larger current to drive the motors. The negative pole of the battery has been
connected to the control board GND. On the positive pole I installed a switch (supplied from the kit itself) to turn
the robot on/off. Solder the wires to the button and another piece of wire in the other terminal. This wire should
then be connected to the control board in the Vs terminal.
Despite having used batteries with considerable capacity, the autonomy has been very low. As the batteries begin
to discharge the servos may begin to shake, and may go so far as to make erratic movements.
https://www.youtube.com/watch?v=Q3KGzsnSy7U
To use the robot, install the software and drivers communication port and start the connection. Only
available on http://wiki.sainsmart.com/index.php/101- then turn on the servos power (be careful because
20-146 they can move violently to the starting position).
Download the file bellow and extract somewhere on The software presents a graphical representation of
you PC: the robot. Each engine has a sliding bar, which can
be used to choose the angle of each engine gasket. It
http://s3.amazonaws.com/s3.image.smart/download/1 should move as the buttons are triggered. In the
01-20-146/USC16.rar interface it is possible to save a sequence of
movements, with a gap between them. Choose the
Install the driver (usc_driver.exe) and then run the angle of each joint and add movement to the stack.
control software (rios_usc.exe). When you click play, the robot executes the
sequence of saved moves.
The usage is very simple. Plug the micro USB cable
into the robot on the PC. Select the appropriate
https://www.youtube.com/watch?v=Q3KGzsnSy7U
Thanks for reading my tutorial and watching the videos. I hope you liked them and that they would be useful in
some way, either to help in assembling your robot or to inspire you to carry out future projects. Do not forget to like
and share this project with your friends. Your support is very important! :D
This tutorial is participating in Toys contest. Be sure to check and give your vote!
If you still don't follow my tutorials, please take a look at those other projects. I hope you like them! https://www.inst
ructables.com/id/Joy-Robot-Rob%C3...
https://www.instructables.com/id/Wi-Fi-Controlled-...
https://www.instructables.com/id/Nunchuk-Controll...
https://www.instructables.com/id/Wi-Fi-Controlled-...
https://www.instructables.com/id/Wi-Fi-Voice-Contr...
And if you enjoyed this or other of my tutorials, and want to see more robotics content, Arduino or internet of
things, consider financing my future projects! Just bought a kit and feel that it needs a better documentation? Tell
me on the comments.
Hi there!
I'm still working on it. I'll post it here if I manage to do that... :D
just got mine, its all built. learning to use the software its pretty simple though im having trouble
getting the sequences right with things like walking and getting back up. I was wondering if you
could post your command lists or point me in the direction of a place i could download some as
information on this program seems pretty hard to come by.
Hi there!
Creating the movements is quite though. I've worked in a trial and error until I've managed to create
simple movements.
One of the problems is the definition of the starting angle for each joint, once it deppends on the
mechanical setup of the robot. If you connect given gear with an offset regarding someone elses
assembly, the whole command sequence would be different :/
Great tutorial! Is this arduino compatible?