0% found this document useful (0 votes)
214 views

Arduino Controlled Robotic Biped: Instructables

The document describes the design and assembly of an Arduino-controlled robotic biped. The primary goals were to make the system robust enough to experiment with different walking and running gaits without hardware failure, and to use readily available, low-cost hobby parts and 3D printing. Key steps included: 3D modeling and printing custom leg parts; assembling servo brackets, links, and bearings; connecting assembled legs to an Arduino and power source; and optionally creating a custom circuit board for cleaner wiring. Code on the Arduino controls the servo motors to create smooth walking motions.

Uploaded by

C SYAHBANA
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
214 views

Arduino Controlled Robotic Biped: Instructables

The document describes the design and assembly of an Arduino-controlled robotic biped. The primary goals were to make the system robust enough to experiment with different walking and running gaits without hardware failure, and to use readily available, low-cost hobby parts and 3D printing. Key steps included: 3D modeling and printing custom leg parts; assembling servo brackets, links, and bearings; connecting assembled legs to an Arduino and power source; and optionally creating a custom circuit board for cleaner wiring. Code on the Arduino controls the servo motors to create smooth walking motions.

Uploaded by

C SYAHBANA
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

instructables

Arduino Controlled Robotic Biped

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

Arduino Controlled Robotic Biped: Page 1


Step 1: Design Process

Arduino Controlled Robotic Biped: Page 2


The humanoid legs were designed in Autodesk's free Another goal while designing the biped was to keep
to use Fusion 360 3d modelling software. I began by the model as compact as possible to make maximum
importing the servo motors into the design and built use of the torque provided by the servo motors. The
the legs around them. I designed brackets for the dimensions of the links were made to achieve a large
servo motor which provides a second pivot point range of motion while minimizing the overall length.
diametrically opposite to the servo motor's shaft. Making them too short would make the brackets
Having dual shafts on either end of the motor gives collide, reducing the range of motion, and making it
structural stability to the design and eliminates any too long would exert unnecessary torque on the
skewing that may occur when the legs are made to actuators. Finally, I designed the body of the robot
take some load. The links were designed to hold a onto which the Arduino and other electronic
bearing while the brackets used a bolt for the shaft. components would mount.
Once the links were mounted to the shafts using a
nut, the bearing would provide a smooth and robust No t e : The parts are included in one of the following
pivot point on the opposite side of the servo motor steps.
shaft.

Step 2: The Role of the Arduino

Arduino Controlled Robotic Biped: Page 3


An Arduino Uno was used in this project. The Arduino In this project, further versions will include an Inertial
was responsible to compute the motion paths of the Measurement Unit for motion processing such as fall
various gaits that were tested and instructed the detection and dynamic locomotion in uneven terrain
actuators to move to precise angles at precise speeds and a distance measuring sensor to avoid obstacles.
to create a smooth walking motion. An Arduino is a
great choice for developing projects because of its The Arduino IDE was used for this project. (Arduino
versatility. It provides a bunch of IO pins and also also provides a web-based IDE)
provides interfaces such as serial, I2C, and SPI to
communicate with other microcontrollers and No t e : The programs for the robot can be
sensors. The Arduino also provides a great platform downloaded from one of the following steps.
for rapid prototyping and testing and also gives
developers room for improvements and expandability.

Step 3: Materials Needed

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

Pe r f bo a rd (similar size to the Arduino)

M a le a nd Fe m a le he a de r pins (about 20 of each)

Jum pe r W ire s (10 pieces)

M PU6 0 50 IM U (optional)

Arduino Controlled Robotic Biped: Page 4


Ult ra s o nic s e ns o r (optional)

HARDWARE:

Ska t e bo a rd B e a ring (8x22x7mm)

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$.

Step 4: 3D Printed Parts

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

Step 5: Preparing the Servo Brackets


Arduino Controlled Robotic Biped: Page 6
Once all of the parts are printed you can begin by to align the motor so that the shaft is on the same
setting up the servos and the servo brackets. First side of the bolt you had attached earlier. Finally
push in a bearing into the knee servo holder. The t secure the servo with the rest of the nuts and bolts.
should be snug but I would recommend sanding the
inner surface of the hole a bit instead of forcing the Do the same with the hip servo holder and foot servo
bearing which may risk breaking the part. Then pass holder. With this, you should have three servo motor
an M4 bolt through the hole and tighten it using a and their corresponding brackets.
nut. Next, grab the foot link and attach a circular
servo horn to it using the supplied screws. Attach the No t e : I am providing instructions for building one
foot link to the knee servo holder using the screws leg, the other is simply mirrored.
you will use to also attach the servo motor. Make sure

Arduino Controlled Robotic Biped: Page 7


Step 6: Making the Link Pieces

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

Arduino Controlled Robotic Biped: Page 8


Step 7: Assembling the Legs

Arduino Controlled Robotic Biped: Page 9


Once the links and brackets are assembled, you can servo bracket by inserting the protruding bolt
combine them to build the leg of the robot. First, use through the bearing on the knee servo holder. And x
the servo horn link to attach the hip servo bracket the servo shaft to the servo horn connected to the
and knee servo bracket together. No t e : Don't screw knee servo holder on the other side. This may be a
the horn to the servo just yet as there is a setup stage tricky task and I would recommend a second pair of
in the following stage and it'll be an inconvenience if hands for this.
the horn were screwed onto the servo motor.
Repeat the steps for the other leg. Use the pictures
On the opposite side mount the bearing link onto the attached to each step as a reference.
protruding bolts using nuts. Lastly, attach the foot

Arduino Controlled Robotic Biped: Page 10


Step 8: Custom PCB and Wiring

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:

Left Hip >> pin 9


Right Hip >> pin 8
Left Knee >> pin 7
Right Knee >> pin 6
Left Foot >> pin 5
Right Foot >> pin 4

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.

Arduino Controlled Robotic Biped: Page 11


Arduino Controlled Robotic Biped: Page 12
Step 9: Assembling the Body

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

Step 10: Intial Setup

Arduino Controlled Robotic Biped: Page 13


What I've noticed while building this project is that found on the adjacent tab and modify the servo o set
the servo motors and the horns need not align values (lines 1-6) till the legs are perfectly aligned and
perfectly to stay relatively parallel. This is why the the foot is at. Play around with the values and you
"central position" of each servo motor has to be will get an idea about what is necessary in your case.
manually adjusted to align with the legs. To achieve
this remove the servo horns from each servo and run Once the constants have been set, note these values
the init ia l_s e t up. ino sketch. Once the motors have as they will be needed later on.
settled in their central position reattach the horns
such that the legs are perfectly straight and the foot Refer to the pictures for help.
is perfectly parallel to the ground. If this is the case
you are in luck. If not open the co ns t a nt s . h le

Download
https://www.instructables.com/ORIG/FEQ/DXMX/KBJR4ALE/FEQDXMXKBJR4ALE.rar

Step 11: A Bit About the Kinematics

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.

Step 12: Programming the Arduino

Arduino Controlled Robotic Biped: Page 15


Before programming the Arduino, slight constants. The nal two constants are used fo the
modi cations need to be made to the le. Remember gaits. The s t e pCle a ra nce constant measures how
the constants I had asked you to take a note o ? high the foot will lift while coming forward after a
Modify the same constants to the values you set in step and the s t e pHe ig ht constant measures the
the co ns t a nt s . h le. height from the ground to the hip while its taking
steps.
No t e : If you have used the designs provided in this
Instructable, you have nothing to change. In case Once all the constants are modi ed according to your
there are some of you who have made their own need, you can upload the main program. The main
designs you will have to change a few more values program simply initializes the robot into a walking
along with the o sets. The constant l1 measures the stance and starts taking steps forward. The functions
distance between the hip pivot and knee pivot. The can be modi ed according to your need to explore the
constant l2 measures the distance between the knee various gaits, speeds and step lengths to see what
pivot and ankle pivot. So if you designed your own works best.
model, measure these lengths, and modify the

Download
https://www.instructables.com/ORIG/FBT/CUQE/KBJR4ATK/FBTCUQEKBJR4ATK.rar

Step 13: Final Results: Time to Experiment

Arduino Controlled Robotic Biped: Page 16


The biped can take steps that vary from 10 to 2 cms sensors can be added to the legs to experiment with
long without tipping over. The speed too can be dynamic locomotion on uneven surfaces.
varied while keeping the gait balanced. This biped
combined with the power of the Arduino provides a Hope you enjoyed this Instructable and is enough of
robust platform to experiment with various other an inspiration to build your own. If you liked the
gaits and other objectives such as jumping or project do support it by dropping a vote in the
balancing while kicking a ball. I would recommend "Arduino Co nt e s t ".
you to try to change the motion paths of the legs to
create your own gaits and discover how various gaits
a ects the performance of the robot. Sensors such as Happy Making!
an IMU and distance sensor can be added to the
system to increase its functionalities while force

Arduino Controlled Robotic Biped: Page 17


Not very clear how to solder the perfboard and connections! How long are the m4 bolts?

The perfboard was made to simplify the connections and not use a breadboard. The bolts are
about 2cms long.

Are the bearings 608 type?

yes

Awesome looking robot! It would be great to see a video of it walking

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! The video will be added after the weekend.

Could you provide a video of it moving please?

It will be added soon

Amazing!! I love the design of the legs.

Thank you!

Arduino Controlled Robotic Biped: Page 18

You might also like