Arduino Controlled Robotic Biped: Instructables
Arduino Controlled Robotic Biped: Instructables
by Technovation
I have always been intrigued by robots, especially the hardware to its limit. A secondary goal was to make
kind that attempts to mimic human actions. This the biped relatively low-cost using readily available
interest led me to try to design and develop a robotic hobby parts and 3D printing leaving room for further
biped that could imitate human walking and running. upgrades and expansions. These two goals combined
In this Instructable, I will show you the design and provide a robust foundation to perform various
assembly of the robotic biped. experiments, letting one develop the biped to more
speci c requirements.
The primary goal while building this project was to
make the system as robust as possible such that while Follow on to create your own Arduino co nt ro lle d
experimenting with various walking and running Ro bo t ic Bipe d and do drop a vote in the "Arduino
gaits, I wouldn't have to constantly worry about the Co nt e s t " if you liked the project.
hardware failing. This allowed me to push the
https://youtu.be/CxociTjzR4Q
Here is the list of all the components and parts required to make your very own Arduino powered Bipedal robot. All
parts should be commonly available and easy to nd.
ELEC T RO NICS:
Arduino Uno x 1
To w e rpro M G9 9 5 s e rv o m o t o r x 6
M PU6 0 50 IM U (optional)
HARDWARE:
M 4 nut s a nd bo lt s
3D print e r la m e nt (in case you don't own a 3D printer, there should be a 3D printer in a local
workspace or the prints can be done online for quite cheap)
Excluding the Arduino and 3D printer the total cost of this project is 20$.
The parts required for this project had to be custom designed therefore a 3D printer was used to print them out.
The prints were made at 40% in ll, 2 perimeters, 0.4mm nozzle, and a layer height of 0.1mm with PLA, color of your
choice. Below you can nd the complete list of parts and the STLs to print your own version.
No t e : From here on the parts will be referred to using the names in the list.
Arduino Controlled Robotic Biped: Page 5
f o o t s e rv o ho lde r x 1
f o o t s e rv o ho lde r m irro r x 1
kne e s e rv o ho lde r x 1
kne e s e rv o ho lde r m irro r x 1
f o o t s e rv o ho lde r x 1
f o o t s e rv o ho lde r m irro r x 1
be a ring link x 2
s e rv o ho rn link x 2
f o o t link x 2
bridg e x 1
e le ct ro nics m o unt x 1
e le ct ro nics s pa ce r x 8 (optional)
s e rv o ho rn s pa ce x 12 (optional)
In total, excluding the spacers, there are 14 parts. The total printing time is about 20 hours.
Download
https://www.instructables.com/ORIG/FEQ/O658/KBJR4AGX/FEQO658KBJR4AGX.rar
…
Once the brackets are assembled, start making the 3D print and line up the holes, next screw the horn
links. To make the bearing link, once again lightly onto the 3D print by attaching the screw from the 3D
sand the inner surface of the holes for the bearing print side. I recommend using a 3D printed servo horn
then push the bearing into the hole on both sides. spacer for these screws. Once the links are built you
Make sure to push the bearing in till one side is ush. can begin the assemble the leg.
To build the servo horn link, grab two circular servo
horns and the supplied screws. Place the horns on the
This is an optional step. To make the wiring neater I decided to make a custom PCB using perf board and header
pins. The PCB contains ports to directly connect the servo motor wires. In addition, I also left extra ports in case I
wanted to expand and add other sensors such as Inertial Measurement Units or ultrasonic distance sensors. It also
contains a port for the external power source required to power the servo motors. A jumper connection is used to
switch between USB and external power for the Arduino. Mount the Arduino and PCB to either side of the
electronics mount using screws and the 3D printed spacers.
No t e : Make sure to unplug the jumper before connecting the Arduino to your computer through USB. Not doing
this may result in damaging the Arduino.
If you decide to not use the PCB and instead use a breadboard here are the servo connections:
If you do decide to make the PCB follow the same order as above by using the ports on the PCB from right to left
with the IMU port facing up. And use regular male to female jumper wires to connect the PCB to the Arduino using
the above pin numbers. Make sure to also connect the ground pin and create the same ground potential and Vin
pin for when you decide to run it without USB power.
Once the two legs and the electronics are assembled, use M4 nuts and bolts to make the joint.
combine them together to build the robot body. Use
the bridge piece to link the two legs together. Use the Refer to the attached images for help. With this, you
same mounting holes on the hip servo holder and have completed the hardware build of the robot.
nuts and bolts that hold the servo motor. Finally, Next, let's jump into the software and bring the robot
connect the electronics mount to the bridge. Line up to life.
the holes on the bridge and electronics mount and
Download
https://www.instructables.com/ORIG/FEQ/DXMX/KBJR4ALE/FEQDXMXKBJR4ALE.rar
…
To make the biped perform useful actions such as running and walking the various gaits need to be programmed
in the form of motion paths. Motion paths are paths along which the end e ector (the feet in this case) travel along.
Arduino Controlled Robotic Biped: Page 14
There are two ways of achieving this:
1. One approach would be to feed the joint angles of the various motors in a brut e f o rce manner.
This approach can be time-consuming, tedious, and also lled with errors since the judgment is
purely visual. Instead, there is a smarter way of achieving the desired results.
2. The second approach revolves around feeding the coordinates of the end e ector instead of all the
joint angles. This is what is known as Inv e rs e Kine m a t ics . The user inputs coordinates and the
joint angles adjust to position the end e ector at the speci ed coordinates. This method can be
considered as a black box that takes as inputs a coordinate and outputs the joint angles. For those
who are interested in how the trigonometric equations of this black box were developed can look at
the diagram above. For those who are not interested, the equations are already programmed and
can be used using the po s function which takes as input x, z and outputs three angles
corresponding to the motors.
The program containing these functions can be found on the next step.
Download
https://www.instructables.com/ORIG/FBT/CUQE/KBJR4ATK/FBTCUQEKBJR4ATK.rar
…
The perfboard was made to simplify the connections and not use a breadboard. The bolts are
about 2cms long.
yes
Thank you for the feedback. We are under lockdown but I am still having full fledged classes. I will
try to work on the video over the weekend and upload it soon.
Amazing. One thing missing, a video!
Thank you!