Professional Documents
Culture Documents
net/publication/353049334
CITATIONS READS
0 156
1 author:
Yahya Yaghmour
Lebanese International University
2 PUBLICATIONS 0 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Yahya Yaghmour on 07 July 2021.
by
Tripoli, Lebanon
Spring 2019
Approved By
First and foremost, I would dedicate this work to our supervisor Abdel-Razzak
Merheb for helping us in our project. We won’t be able to forget the support of our
friend Mr. Adam Dhaybi who helped us choosing the material to makie our robots. In
addition, we also would like to thank our friend Mr. Raja Mourad who helped us
ordering the equipment. Not to forget also Mr. Riad Kannouj who helped us in finding
the batteries for the robots. Finally, and not least, we have to thank our friends and
ii
ACKNOWLEDGEMENTS
LIU Prof. Amin Haj-Ali. In addition, we would like to express the greatest appreciation
to our supervisor Dr. Abdelrazzak Merheb who provided detailed guidance and
motivation throughout the course of establishing for and concluding this senior project,
for his valuable advices and helpful instructions. Many thanks to our committee
member Dr. Marc Mannah for his encouragement, patience, and for his valuable
iii
ABSTRACT
There is a big lack of knowledge in the robotics field at the Lebanese students.
The aim of this project is to highlight on this field and introduce robotics in early
educational stages. This project shows two ways to program a humanoid robot with two
different controllers. The project presents two educational humanoid robot prototypes
directed to both school and university students. The first prototype is using a Lobot
knowledge are capable of programming the robot in very short time. The second
programming.
iv
TABLE OF CONTENTS
Dedication .................................................................................................................... ii
Abstract ....................................................................................................................... iv
Chapter 1. Introduction...............................................................................................1
1.3. Outline...............................................................................................................7
3.4. Programming...................................................................................................23
References ...................................................................................................................37
vi
LIST OF FIGURES
Figure 1-3. The writing humanoid robot invented by Pierre and Henry [6]. .................3
Figure 1-4. Elektro, the first electrical humanoid robot [8] ...........................................4
Figure 1-5. Qrio, the first humanoid robot was made by Sony [9] ................................5
Figure 1-6. ASIMO first humanoid robot made by Honda [12] ....................................5
Figure 3-3. The aluminum alloy parts of the project [22]. ...........................................19
Figure 3-5. Lobot controller prototype controlled with joystick and relays ................22
Figure 3-7. The Arduino (right) and Lobot (left) controlled robots.............................24
......................................................................................................................................27
Figure 4-2. The right hand of the project on the PC software of the Lobot controller.
......................................................................................................................................28
viii
LIST OF TABLES
ix
CHAPTER 1. INTRODUCTION
1.1. INTRODUCTION
from pedagogic to agricultural applications, robots have invaded human life trying to
simplify and protect it. Robots can achieve a lot of complex tasks and dangerous duties
A thousand years earlier, one of the first mechanical engineers who invented
machines was Al Jazari. In his book entitled “A Compendium on the Theory and Useful
Practice of the Mechanical Arts” Al Jazari presented the design of more than 50
mechanical devices in six different categories; he made many inventions such as a water
clock, hand washing advice, etc. The elephant water clock was the most important
sculptures that resemble to robots [1]. Error! Reference source not found. shows one
of Al-Jazari’s water clocks with a human like person that moves performs as a first
1
Figure 1-1. The water clock by Al-Jazari [2].
robots in 1495. The robot was a knight made of metal and that has limited tasks such as
waving its hand and moving its head while opening his jaw. Figure 1-2illustrates the
autonomous mechanical toys for rich people. These toys are designed to look like
humans or little animals which perform some simple movements [3]. In 1773 Pierre
and Henry Louis Jaquet-Droz made three doll automata that can be considered as
humanoid robots for entertainment purpose. The three dolls are a musician, a
draughtsman, and a writer that can perform their tasks with very good accuracy [5].
These toys are accepted as humanoid robot since they can move autonomously
[5]Figure 1-3 represents the three humanoid robots invented by Pierre and Henry.
Figure 1-3. The writing humanoid robot invented by Pierre and Henry [6].
Elektro shown in Figure 1-4. Elektro was the first robot that can talk, sing, count, and
make tricks using electric machines. ‘Ladies and gentlemen I’ll be very glad to tell my
story. I am smart fellow as I have a very fine brain of 48 electrical relays’ this is how
electro introduced himself in NewYork world’s fair Electro; it weights118 kg with 2.1
meter tall [7]. However, Elektro was not a programmed humanoid robot. The first
3
programmed robot was a robotic arm for paint spraying invented in 1942 by Willard
crap-like robot that is able to remove mines, both in and out of water [9]. In 2000 Sony
Company invented the first humanoid robot that can make more than 10 face
expressions and express its emotion by speaking and make body languages. In addition,
this robot was the first robot that can walk on flat floor [10].
4
Figure 1-5. Qrio, the first humanoid robot was made by Sony [9]
Honda Company invented ASIMO in 2000, who is its first humanoid robot
that can climb satires, run, turn smoothly, and even reach and gasp objects. [11] ASIMO
robot is shown in the figure below Error! Reference source not found. [11].
In 2014 Hanson Robotics Company in Hong Kong made the first humanoid
that looks like human and can make more than 50 facial expressions. The female robot
was named Sofia, and made her first appearance in 2016 in Texas, shown in Figure 1-7.
[5].
5
Figure 1-7. Sofia the most advanced humanoid robot [13]
There are mainly five classifications of humanoid robot robots. First of all
there are war robots which are specified as fighting robots. In general, these robots are
controlled remotely. Then, there are BEAM robots that stand for Biology, Electronics,
Aesthetics, and Mechanics robots which are made to understand the robotics field .Also
there is the artistic robots specialized in dancing contest. In addition there is the
Construction Contest Robots. Finally there is the Open Category robots that includes
all robots that can fit in the previous categories; this category is made to make the person
show what its own robot can do [14]. So robotics began long time before and had been
updated through the years, and still updating till now. Problem Statement
It is widely accepted that humanoid robots are more and more spreading in our
lives.
beings. Worldwide use the robots as an assistant to help them to do work that human
cannot do. All mechanical equipment made in the industrial field has a huge space and
cannot do tasks that human do. Some of those tasks can be dangerous on humans and
children do not have any clue about it until they reach the university level. On the other
hand, Japan has institutions almost in every city to give knowledge to kids to know
everything about humanoid robots and how to program them [15]. On the other, side
Lebanese students do not know anything about robotics and how to program one till
they go to universities if the student decides to make a humanoid robot as its senior
project. This is what makes the Lebanese students are way behind the developed
technology.
This project shows different ways to create a humanoid robot using the Lobot
controller and the arduino. And what are advantages and disadvantages of each
controller. And where each controller will lead and what can be add for each controller.
Also this project will contain a MATLAB program to make it detect objects and colors.
This project will show how the robotics in general and humanoid robots in
specific can be funny and productive at the same time for children. It will show how
building a robots and programming can be easy. So the students learn about robots in
1.3. OUTLINE
In chapter 2, the components that would be used, the cost of equipment and
the equations that are used to choose the equipment are presented. Chapter 3 will cover
the mechanical and electrical design of the humanoid robot. Chapter 4 will discuss the
7
results obtained, and finally chapter 5 will include the conclusion of this project and
8
CHAPTER 2. PROJECT SPECIFICATIONS
2.1. INTRODUCTION
This chapter covers the hardware components, their role, and applications.
Moreover, the properties of the components regarding the specification of the project
are discussed. Finally, a budget study including the cost of each component is
presented.
2.2 EQUIPMENTS
batteries, lipo balance charger, the LOBOT servo controller, a joystick, a bluetooth
Servo motors are DC motors that can control angular positions precisely.
Servomotors should are controlled via PWM duty cycles supplied by a digital circuit or
a controller (microcontroller, Lobot controller, etc.) [16]. The servo motor includes a
control circuit, a potentiometer, a dc motor, an output spline, a drive gear, and the servo
case [17].
9
Figure 2-1. The servomotor used in the project.
stands for lithium-ion polymer battery [18]. This kind of batteries can be used in various
applications, from computer powering to electric cars [19]. The LiPo battery is has
many mains advantages first of all it is rechargeable, also it has 4 times more energy
than of density of nickel cadmium or nickel metal hybrid batteries, in addition this kind
of battery is lighter and pliable. A car can run over this battery and never expose [20].
10
2.1.3. Lipo balance charger
batteries. This charger can charge different batteries types such as (lipo, Life, Pb…);
with multiple cells. The properties of this charger include: internal independent lithium
battery balancer, balance to discharge, temperature limit, and capacity limit [21].
There are many types of controllers suitable for servomotor control such as
the Arduino microcontroller. Initially, all these controllers are programmed in the same
way. In this project, the Lobot servo controller is chosen. This controller differs from
the others in that it can be programmed graphically. The Lobot servo controller has
many categories, such as (17 DOF, 24 DOF and 32 DOF), where every type of these
11
Figure 2-4. Lobot controller [22]
2560. It has 54 digital input\output pins and 16 analog inputs; also it has 4 hardware
serial ports, in addition it has a USB connection, a power jack, an ICSP header, and a
The Joystick is an input advice that is able to control on distance, and it mostly
connects devices on distance. The devices vary between mobile phones, servo
controllers, computers and play-stations. Bluetooth got its name from the tenth century
Viking king named Harald Bluetooth. Bluetooth technology has a frequency of 2.4 GHz
as. The maximum range of this technology is about 10 meters radius of wireless
network [25].
13
2.1.8. PWM 16 channel 12 bit driver
The PWM 16 channel 12 bit driver is device that is connected to the Arduino
Each PWM channel has 12 bit resolution. As shown in the figure below the
2.2. COST
Error! Reference source not found. shows the cost of realizing the two
prototypes in this project. The cost is seen to be suitable for schools and universities to
EQUIPMENT COST
14
Lipo Battery 48$
Charger
controlled) Robot
Relays 15$
camera 7.5$
Total 325$
R3
Charger
(Arduino controlled)
Robot
camera 7.5$
15
16 channel 12-bit 13$
Driver
Total 293$
CHAPTER 3. DESIGN
16
3.1. INTRODUCTION
In the previous chapters, the equipment used in this project is presented briefly.
This chapter will discuss mechanical and electrical parts along with equations used in
There are two procedures to build the humanoid robot; either to choose the
body material first then the servomotor regarding the total weight, or choosing the
During our struggles to build the robot body, we started with PVC material.
The robot hand was built and tested successfully, but it was realized that the robot will
be weak. The body may not hold the weight of the whole body. As shown in the figure
the finished PVC hand with servomotor. This prototype has been successfully worked
17
Figure 3-1. The PVC hand
printing. The hand was printed successfully, but this process took a very long time. The
result was satisfying but it took about 18 hours to finish; this means that the whole body
may not be reached on time. Moreover, the arm cost 40$, which means that the whole
body will cost a very high amount of money. AS shown in the figure below the 3D
printed hand that has been made it and test it but it did not use because it cost and time
18
Figure 3-2. The 3D printed hand
19
Building humanoid robot needs careful and complex tradeoffs in form,
function, power, heights, weights, and cost. For example it is essential to know how
many servomotors (Degree of Freedom) the project requires. The body is chosen to be
made of Aluminum where the design is inspired by Lobot humanoid robot. In this
project, the robot has 17 servomotors or degree of freedom (DOF). The dimension of
the humanoid robot is 64x55.6x20 cm and its weight is 60 gram. The body is made by
20
3.3. ELECTRICAL PARTS
are chosen based on the material that this robot is made of, the height and the weight of
𝝉=𝒅×𝒎×𝒈 (1)
Where τ is the torque of the servomotor to make it merge the line, d is the
distance the mechanical part, m is the mass of the body, g is the gravity constant equal
to 9.8Kgm2.
In addition, there is the Bluetooth device and the joystick. The joystick
connects to the robot controller through a Bluetooth device. The device is connected
directly to the controller using wires, and exchange information/commands with the
joystick.
The battery chosen for the humanoid robot is a LIPO battery. The design
choice for the battery is that it ensures the robot will work for 5 minutes minimum. It is
found that the robot under normal conditions draws about 1 A, so the duty time of the
𝐀𝐡
𝒕= (2)
𝐈𝐦𝐚𝐱
Where t is the duty time, Ah is the Ampere Hour of the battery and 𝐼𝑚𝑎𝑥 is the
maximum current drawn by the system. In our case 𝐼𝑚𝑎𝑥 = 1𝐴 , which means that for a
21
3.3.1. Lobot controlled prototype
designed using Lobot graphical programming language. Each button in the joystick is
then assigned to an action group or to a motion. The joystick buttons will be then
connected to Arduino Uno controller digital pins via a relay module. To make the robot
realize a given motion, the Arduino digital pin connected to the relevant joystick button
is made high. Using this method simplifies the robot control into a simple digital pin
control. Error! Reference source not found. shows the electrical connection of the
first prototype.
Note that the Arduino microcontroller seen in the figure is used to receive
Figure 3-5. Lobot controller prototype controlled with joystick and relays
22
3.3.1. Arduino controlled prototype
For the second prototype, direct Arduino programming is used to control the
assign the connection between the motors and the Arduino Mega. In this configuration,
each servomotor is controlled individually for the robot to perform a given motion. This
method is complex and requires attention for each robot motion that affects severely
the overall motion of the robot. Figure shows the electrical connection of the second
prototype.
3.4. PROGRAMMING
graphical method for the first prototype controlled with the Lobot, and C programming
23
for the second prototype controlled using Arduino. Figure 3-7 shows the two finished
Figure 3-7. The Arduino (right) and Lobot (left) controlled robots.
The Lobot controller have been found and bought this controller is unique and
new. It contains 24 output and it works differently than other controllers in such that it
Lobot controller. Lobot may receive its commands from the joystick directly via the
sends predefined commands to the Lobot, and these commands should be programmed
24
on the computer and then saved into action groups inside the Lobot. Each button in the
joystick will be then assigned to an action group such that, when the button is pressed
the relevant action is fulfilled by the robot. The Lobot is programmed by sliding the
angle value of each servomotor on the GUI program. Whenever all the angles are
programmed, the user presses a button called “add action” to save the action step that
was already created. Finally, when all the steps are completed the user presses a button
called “download” to save the steps on the Lobot controller. The figure below shows
After assigning each button in the joystick with an action group, the robot is
robot becomes controlling series of digital pins. Each button in the joystick contains a
motion command that when pressed, the command is sent to the robot and the robot
performs the intended motion. A motion is then activated when the relevant relay is
activated as a result of a digital output from the relevant digital pin of the Arduino
Mega.
25
Figure 3-8. Lewansoul servo controller [22].
To program the second prototype, Arduino coding is used. Here, the Arduino
Mega controls directly the servomotors via setting the duty cycle of the PWM signals.
Each servomotor in the robot is controlled by changing its angle using C programming.
26
CHAPTER 4. RESULTS
number 12, 14, 16 is interpreted. The motion is a simple waving action. The waving
starts with servomotor number 12 which is made to move to position 2295. Then the
14th servomotor is moved to position 659 degree. Next, the 14th servomotor will be
back to its initial position which it is position 1500. Those movements are repeated to
have a full wave move. Next, the download button is pressed to download this motion
to the controller so the joystick will be able to perform the waving motion on distance
Figure 4-1. The right hand of the robot with servo number 12, 14, and 16 upside
down.
27
Figure 4-2. The right hand of the project on the PC software of the Lobot
controller.
The hardest move was the forward walking movement. This is because the
programmed successfully but with a small error: the robot shifts to the right while
walking forward. We believe that the problem is because the feet are smooth on the
ground. The solution was putting a piece of bathroom carpet on the feet to forbid
smoothing.
For the programming process using C programming, the same moves of the
28
4.2. COLOR DETECTION USING MATLAB
After finishing moving and making action of both prototype. It feels like
something missing to make this project complete and perfect as a senior project. So it
have been decided to make this project detect a given color using Matlab program.
range of colors the detect color can vanquish the rest of the colors of an object. [27]
29
And not only that for the second humanoid robot, this humanoid robot has
autonomously movement, it follows the first humanoid robot while it moves and can
detect the colors. It catches it and follows them by using a Matlab program on the
Arduino
30
Figure 4-4. Arduino Code for Servomotors
31
32
Figure 4-5 Cam Track code on Matlab program
33
34
Figure 4-6. Testing Cam Track code on Matlab
35
CHAPTER 5. CONCLUSION AND FUTURE
WORK
This chapter will cover the concluding ideas of this project along with the
5.1. CONCLUSION
specific. One of the main objectives of our work was to present the possibilities of using
The advantages and disadvantages of each controller (Lobot and Arduino) and
what the capability and the dead end if there is one of each one of them. The Lobot
code and sample to use. But its disadvantages it requires an extra microcontroller to
receive commands form the PC and it has a complex circuit and require changes to be
For the Arduino its advantages are that it has a direct control of the
servomotors. It requires one microcontroller for receiving commands from the PC. But
its disadvantages are hard to program using C code and it require an extra PWM
students different ways of programming and which controller is the most suitable for
them. And will know the capability of each controller, software and program.
36
This project can be introduced to students in elementary schools using Lobot
controller. To get to know how to balance a humanoid robot and making moves. And
for the university students can use the Arduino to develop and humanoid robot to make
new application. This project allows students to think out of the box in an early
educational stage of their life and to make them think how they could develop in the
robotics field.
This project taught us different ways of programming and the advantages and
disadvantages of each controller (Lobot and Arduino). And how it gets programed and
the difficulties that faced us in a way by moves and balance the humanoid robot and by
other way by making a code to move this project and detect the objects and colors.
Because the lack of time and a rushed schedule that it is full of exams and
studying, not everything that is planned to be in this project is done. Many tasks were
allow the robots to move autonomously. Obstacle avoidance algorithms can also be
to the robots. The robots will be able to detect human voice, and even take voice
The future of this project will not only be limited to just educational purposes,
but also will be used as servant in homes and companies, and can even be used for
REFERENCES
37
[1] I. a.-R. Al-Jazari, The Book of Knowledge of Ingenious Mechanical Devices,
1947.
38
[16] Apoorve, "Servo Motor: Basics, Theory & Working Principle," p. 1, august 2015.
[28] John Smith et al., How to add IEEE Reference style to Microsoft Word, Beirut,
Lebanon: LIU, 2011.
39
[29] John Smith and John Doe, "Wireless Sensor Networks," IEEE Transaction on
Mobile Computing , vol. 1, no. 2, p. 12, 05 2010.
[36] DNEWS, "Humanoid Robots: Jobs They'll Do," seeker, p. 1, december 2013.
40