Upload
mina-nabil
View
23
Download
2
Tags:
Embed Size (px)
DESCRIPTION
We found that most people need to know more about the science which push the wheel of progress and technology forward and this science is computer science and to be more specific robotics and embedded systems This science had a great jump to the future and took the humanity to the science fiction movies ideas and it can and sure it will give the humanity more than it gave because it’s a circle of progress leads to more progress And on lower level we found that anyone can learn embedded system and make his own robot and his own embedded system but he need a good guide and we need to care more about learning and teaching the embedded systems and robotics to the youths to take place of the humanity progress history.
Citation preview
Embedded Systems
I | P a g e
Embedded Systems
To: Dr. Ihab EL-Khodary
Date: May 2015.
Medhat Saleh Hosny
(Team Leader)
20140257
Belal Mohamed Mohame 20140094
Mostafa Said Hanfy 20140266
Mina Nabil William 20140287
Karim Ashraf Mohamed 20140205
Mohamed Emad Mohamed 20140233
Embedded Systems
II | P a g e
Introduction
Computer science field grows up quickly nowadays and
because of this revolution, we have more than subtitle
when we want to talk about this field but the most
attractive subtitle for us is embedded Systems.
When we started to think about embedded Systems and
robotics we found them around us everywhere and no
one, especially the, youth know a lot about them. So, we
found this a great problem because that everyone have
to know how the world around him works, but the most
serious problem was that the available books and
materials have hard language and very hard scientific
terminologies.
So we started to think of making this report to tell
people more about embedded systems and robotics
using very simple style and words depending on our
ages which make us very close to our audience.
We found at the end of our book that embedded Systems
and robotics are very young (new) fields which are
considered as the future fields which need more
Knowledge and care to get the most effectiveness and
efficiency of it to serve the humanity and push the
progress wheel and technology revolution more
forward.
Embedded Systems
III | P a g e
Table of Content:-
Summary. ……………….………………..……………………………………………….. IV
Part 1: Embedded Systems. …………………………………..………………….…… 1
1.1 Introduction to Embedded System. ………………………………………. 1
1.2 Design Limits. ……………………………………………………………… 2
1.3 Assembly language. ……………………………………………..……….. 3
1.4 User Interface. …………………………………………………….……… 3
1.5 Embedded System in everything in our life. …………………………..... 4
Part 2: Robotics. ……………………………………..……………………...…….…... 5
2.1 Introduction to robotics. …………………………………………...……. 5
2.2 History of robots. ………………………………………………...…….... 6
2.3 General features of robots. ……………………………………...……… 6
2.4 Classification of robotic system. ……………………………...………... 7
2.5 Design basics. …………………………………………………..……....... 9
2.6 Components of Robots. …………………………………………........... 14
2.7 Software. …………………………………………………………..…… 25
2.8 Types of robots. ……………………………………………………...... 28
2.9 Robots forms. ……………………………………………………........ 33
2.10 Build your own robot. …………………………….………………….. 33
Conclusion. …………...…………………………………..…….………...………….. 36
Embedded Systems
IV | P a g e
Summary The Embedded system is very important in our life it’s included in
everything around us specially robots any Embedded system
must be programed by a programing language to make his job
the most affective programing language called assembly it’s a
very low level language which is easy for the computer to
understand it and hard for the human to understand it
And like any system Embedded system has user interface but it’s
more different than the normal user interface
In our life nowadays most of devises and machines work on
embedded system and we have to know what these devices are
and how they work
When we talk about embedded system we should talk about
robots and when we talk about robots most of people think that
the robot is the machine which look like the human and able to
fly and all of this science fiction which founded in the movies but
the truth is that all of this can be but this is not all of the robotics
When did the human started to build a robot? This question is
very important and we will find the answer when we know the
real definition of robotics and robots
The feature of the robot depends on the job which you need the
robot for and the category (class) which the robot job written
under it
To build a robot it’s the most easy thing you will find in the world
but if you followed the design basics which we will give them to
you with the components which we will tell you too how to choose
them then you will be able to build any robot
You have to know everything around you to be part of the
technology revolution
Embedded Systems
1 | P a g e
Embedded systems
1.1 Introduction to Embedded System
An embedded system is a computer system with a dedicated function within a larger mechanical or electrical
system, often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. Embedded systems control
many devices in common use today. Properties typical of embedded computers when compared
with general-purpose ones are e.g. low power consumption, small size, rugged operating ranges and low per-unit cost. This comes at the price of limited processing resources,
which make them significantly more difficult to program and to interface with. However, by building intelligence mechanisms on the top of the hardware, taking advantage
of possible existing sensors and the existence of a network of embedded units, one can both optimally manage available resources at the unit and network levels as well as
provide augmented functionalities, well beyond those available. For example, intelligent techniques can be designed to manage power consumption of embedded
systems. Modern embedded systems are often based on
microcontrollers (i.e. CPUs with integrated memory or peripheral interfaces).but ordinary microprocessors (using external chips for memory and peripheral interface circuits) are also still common, especially in more complex systems.
In either case, the processor(s) used may be types ranging from general purpose to those specialized in certain class of computations, or even custom designed for the application
at hand. A common standard class of dedicated processors is the digital signal processor (DSP).
Embedded Systems
2 | P a g e
Since the embedded system is dedicated to specific tasks,
design engineers can optimize it to reduce the size and cost of the product and increase the reliability and performance. Some embedded systems are mass-produced, benefiting
from economies of scale. Embedded systems range from portable devices such as
digital watches and MP3 players, to large stationary installations like traffic lights, factory controllers, and largely complex systems like hybrid vehicles, MRI, and
avionics. Complexity varies from low, with a single microcontroller chip, to very high with multiple units, peripherals and networks mounted inside a large chassis or
enclosure.
1.2 Design Limits
Limit state design (LSD), also known as load and
resistance factor design (LRFD), refers to a design method used in structural engineering. A limit state is a condition of a structure beyond which it no longer fulfills the relevant
design criteria. The condition may refer to a degree of loading or other actions on the structure, while the criteria refer to structural integrity, fitness for use, durability or
other design requirements. A structure designed by LSD is proportioned to sustain all actions likely to occur during its design life, and to remain fit for use, with an appropriate
level of reliability for each limit state. Building codes based on LSD implicitly define the appropriate levels of reliability by their prescriptions.
The method of limit state design, developed in the USSR and based on research led by Professor N.S. Streletski, was
introduced in USSR building regulations in 1955.
Embedded Systems
3 | P a g e
1.3 Assembly language
An assembly language (or assembler language) is a low-level programming language for a computer, or other
programmable device, in which there is a very strong (generally one-to-one) correspondence between the language and the architecture's machine code instructions.
Each assembly language is specific to a particular computer architecture, in contrast to most high-level programming languages, which are generally portable across multiple architectures, but require interpreting or compiling.
Assembly language is converted into executable machine code by a utility program referred to as an assembler; the
conversion process is referred to as assembly, or assembling the code.
Assembly language uses a mnemonic to represent each low-level machine instruction or operation. Typical operations require one or more operands in order to form a
complete instruction, and most assemblers can therefore take labels, symbols and expressions as operands to represent addresses and other constants, freeing the
programmer from tedious manual calculations. Macro assemblers include a macroinstruction facility so that (parameterized) assembly language text can be
represented by a name, and that name can be used to insert the expanded text into other code. Many assemblers offer additional mechanisms to facilitate program
development, to control the assembly process, and to aid debugging.
1.4 User Interface
Effective user interface designed for embedded systems starts with recognizing the user interface as
important and then putting users at the center of the design and development process.
Embedded Systems
4 | P a g e
Embedded systems developers need to be aware of established general principles of human machine
interaction as well as the special features and constraints that characterize their particular embedded system applications.
A view that bridges hardware and software design issues in needed when it comes to the user interface.
1.5 Embedded System in everything in our life
“Embedded system in everything in our life “ if we look at this statement at the first time we
will not care but if we really think we will find it a
real important statement and a true.
If we look around we will find ourselves surrounded by
computing systems, every year millions of computing systems are built for desktop computers, billions of computing systems are built every year embedded
within larger electronic devices and still goes unnoticed.
Today embedded systems are found in everything in our life, let’s have a look. Embedded systems are hard/software systems built
into devices that are not necessarily ‘recognized’ as computerized devices but those systems do control the functionality and perceived quality of these
devices. some specific examples of embedded systems includes controllers for systems within a car, the
automatic pilot of an aircraft, the chip set and software for smart phones, tablets and smart TVs.
Already, over 98% of all computing chips are actually hidden or “embedded” in all sorts of things that don’t
even look like computers are moving away from desktop and can now found in everyday devices
Embedded Systems
5 | P a g e
2. Robotics 2.1 Introduction to robotics
Robotics is a science and branch of engineering that concerned with doing a specific tasks and functions
By programmable electrical hardware complementary with an application that order to do demanded task This tasks to help human at homes to doing a specific
task, also using at factories to facilities the problems of difficult of this industry and using at military. This tasks are done with a specific programmable
machine, this machine calls Robot. For many people they think that this machine is mechanical or metal human and only working and
behaves as people. But this thinking is wrong Robot is a machine is ordered with computer programs to doing a specific
we use robots for many purposes to help us at all, And to doing a tiny industries also difficult industries. So we use it at phone industry as this is high advanced,
also robots are used at outer space as at space there are many number of dangers can be put scientist if he do himself. Also we use robots at surgery operations,
robot can arrive to remote patient without any of dangers. Robot are used at homes as a human because it can do some house work and tasks, sing, dance and helping people Using robot at military is
very important as it can do remote tasks at wars without entering from humans. So robots is machine that do a lot of tasks to help us and robotics is science
that concerned with complementary between hardware (robots) and software to do tasks
Embedded Systems
6 | P a g e
2.2 History of robots
many people think the robotics is a modern science but factual this is ancient science. At 1495 Around Leonardo da Vinci sketched plans for a
humanoid robot. And scientists starting with working to design and name and developer their idea.
1932 The first true robot toy was produced in Japan. The ‘Lilliput’ was a wind-up toy which walked. It was made from tinplate and stood just 15cm tall.
2.3 General features of robots
All robots have a kind of construction or a shape
designed to achieve a certain task. The mechanical aspect is the creator's solution to complete the task in hand and dealing with the surrounding environment. (Form follows
the function). For example, a robot designed to travel across heavy dirt or mud, might use caterpillar tracks.
They also have electrical components which power and control them. One form of that power is electricity, which is mostly produced from a battery and flows through a wire.
Even the machines that run on gas need an electrical current to start that gas using process which is why most gas powered machines like cars have batteries in them. The
electrical aspect in robots is used for movement, sensing (measuring things like heat, energy status, etc…) and operating. For example, the robot with caterpillar tracks
would need some kind of power to move the tracker treads. All robots have some kind of computer programming code. That program is what tells the robot when or how to do
something. Programs are the MAIN component in a robot. It could have the best electrical components and mechanical
Embedded Systems
7 | P a g e
construction but if it has a poorly constructed program it will perform very poorly and may not perform at all
sometimes. There are three different types of robotic programs: remote control, artificial intelligence and hybrid. A robot with a remote control program has an existing set
of commands that it will only do if and when it gets a signal from the control source, usually a human with a remote control. It is perhaps more appropriate to see devices
controlled primarily by human commands as falling in the discipline of automation rather than robotics. Robots that use artificial intelligence to interact with their environment
by themselves without a control source, and can determine reactions to objects and problems they encounter using their existing program. Hybrid is a form of program that
incorporates both AI and RC functions.
2.4 Classification of robotic system
There are two main types of robots based on the degree of mobility:
- Fixed – robots do not move with respect to certain
components of their environment. - Mobile – robots can travel in their environment by
using several means of locomotion.
Intelligence is the ability of a natural or artificial system to adapt to the environment.
Robotic systems can be divided into:
- Robots;
- Manipulators; - Prosthetics; - Medical manipulators;
- Automated guided vehicles (AGV); - Walking and crawling machinery.
Embedded Systems
8 | P a g e
A robot is a mechanical agent, usually an electro-
mechanical machine that is guided by a computer
program or electronic circuitry.
In robotics a manipulator is a device used to
manipulate materials without direct contact. The
applications were originally for dealing
with radioactive, using robotic arms, they were used
in inaccessible places
In medicine, a prosthesis is an artificial device that
replaces a missing body part, which may be lost
through a disease or congenital conditions. Prosthetic
amputee rehabilitation is primarily coordinated by a
prosthetic and an inter-disciplinary team of health
care professionals including physiatrists, surgeons,
physical therapists, and occupational therapists.
A remote manipulator, also known as a tele
factor, tele manipulator, is a device which,
through electronic, hydraulic, or mechanical linkages,
allows a hand-like mechanism to be controlled by
a human operator. The purpose of such a device is
usually to move or manipulate hazardous materials for
reasons of safety.
Automatic robots accomplish their tasks without direct intervention of a human in the control process. Based
on the degree of adaptability of these robots to the environment, we can identify three generations of automatic robots.
First generation robots are characterized by fixed control programs, they are capable to only repeat in a strict fashion operations previously programmed into
them, they cannot adapt to the environment so no external perturbations must exist. The program can be changed to some extent, but these robots are best
suited in industrial environments performing repetitive operations.
Embedded Systems
9 | P a g e
Second generation robots are adaptive, they can operate in variable or partially unknown
environments. The ability to adapt under the effect of external perturbations is enabled by using sensors that measure various parameters of the environment.
These robots execute a series of predefined operations but can also take into account changes in the environment and alter their routine in order to
accomplish their tasks. Third generations robots are intelligent, they have certain artificial intelligence abilities, their degree of
intelligence varies according to needs identified in the design phase. These robots are capable of defining their instantaneous actions taking into account
information gathered by tactile, visual or noise sensors, resolve particular issues and modify their routine accordingly.
2.5 Design basics
Robotics Design Process
1. Defining the Problem
2. Researching and Designing
3. Creating a Prototype
4. Evaluating your Robot
Defining the Problem
You need to determine what problem you are trying to solve before you attempt to design and build a robot to solve a problem. Take the time to study a number
of different situations and once you have decided what the situation is and you understand exactly what the problem is then write a design brief in a log book (this
will be your working document as you work on your robot. This log book can be a paper notebook or an electronic document.) This is a short statement which
explains the problem that is to be solved.
Embedded Systems
10 | P a g e
Researching and Designing
gathering information
identifying specific details of the design which must be satisfied
identifying possible and alternative design solutions
planning and designing an appropriate structure
which includes drawings
Having written a brief, you are now ready to gather
information which will help you to produce a
successful design. First you will need to decide what
information you require. This will be different from
project to project and will also depend on the amount
of information and knowledge you already have. A
useful step will be to ask those five questions. This will
help you plan the type of information you will need to
gather.
1. What is the practical function of the design?
(What must my robot do?)
A design's practical functions can include:
Movement How will the robot move within its environment? If it were put in a different
environment, would it still be able to move within this new space?
Manipulation How will the robot move or manipulate other objects within its
environment? Can a single robot move or
manipulate more than one kind of object?
Energy How is the robot powered? Can it have
more than one energy source?
Intelligence How does the robot "think?" What
does it mean to say that a robot "thinks?"
Sensing How will my robot "know" or figure out what's in its environment? If it were put in a
different environment, would it be able to
figure out this new environment
Embedded Systems
11 | P a g e
2. What part does appearance (shape and form, surface
texture, color, etc.) play in the design's function? What does the robot look like? Is there a reason for
it to look as it does?
Shape and form are important to a design's aesthetic qualities, ergonomics, strength, stability, rigidity, safety
Surface texture, finish and color can be appropriate to a design’s: aesthetic qualities,
mechanical, optical and thermal properties, durability, etc.
3. What materials are suitable for the design?
The properties of a material will determine its suitability for a design. For our work with
robotics we have chosen to work with Lego™. However, there are many different types of materials that can be and are used in the
construction of robots.
strength, hardness, toughness,
density
durability
And the aesthetic qualities
determined by color, surface texture, pattern, etc.
The materials cost and availability are also important factors.
4. What construction methods are appropriate to the design?
Construction techniques fall into the categories of:
Embedded Systems
12 | P a g e
cutting and shaping
Fabrication - the assembly of the
parts using screws, bolts, glues, solder, etc. molding - by the application of a force
on the material casting - using a mold to form the shape of a solidifying material
A particular material can only be worked in a limited number of ways. The method of
construction therefore will be determined by the chosen material, the availability of manufacturing facilities, the skills of the work
force and the production costs.
5. What are the likely social and environmental effects of the
design?
The manufacture, use and disposal of any
product will have both beneficial and detrimental effects upon people, wildlife and the environment. The designer therefore, has
an enormous responsibility to consider very carefully the potential effects of any new design. This will include: health and safety
factors, noise, smell, pollution, etc.
Gathering information can involve reading, listening, conducting interviews and observing.
A specification is a detailed description of the problem to be solved. It should 'spell out' exactly
what the design must achieve.
Embedded Systems
13 | P a g e
Creating a Prototype
testing the design
troubleshooting the design
You should ideally think of at least three different ways to solve the problem before you concentrate on any one in particular. Sketches and notes are required
at this stage. You can also create prototypes using Lego for this step. Once you have created a Lego prototype, take a digital picture of it. Print out the
picture and jot your notes below the picture in your log book. Once you have settled on one solution, go back over the list of specifications you have made.
Make sure that each specification is satisfied.
Now it the time to produce some working drawings.
These are the drawings that will assist you as you begin constructing the prototype of your structure. (Here again, Lego and a digital camera might be your best friend.) You may choose to do your drawings by
hand or you might want to use a draw program on the computer to assist you.
Determine a working schedule for yourself. Draw up a timetable showing how much time you expect to spend on each part of the design process. Your
planning should also ensure that you have all the necessary materials and equipment that you need to complete your project.
Evaluating your Robot
evaluate the design
evaluate the planning process
As building and programming work progresses, and the design begins to take shape, you will
automatically carry out tests on the design. You will also need to complete systems tests at various stages
Embedded Systems
14 | P a g e
of the construction. If any of the tests show that you have failure in a joint, or that part of your structure is
not meeting specifications, then you will have to make modifications in your plan.
When building and programming is complete, the entire project must be tested to see if it does the job for which it was designed. An evaluation needs to then
be written. This should be a statement outlining the strengths and weaknesses in your design. It should describe where you have succeeded and where you
have failed to achieve the aims set out in the specifications.
Here is a list of questions which will help you to prepare this statement.
How well does the design function?
Does the design look good?
Is the product safe to use?
Did I plan my work adequately?
Did I find the construction straightforward or difficult?
Were the most suitable materials used?
Did it cost more or less than expected?
How could I have improved my design?
2.6 Components of Robots
Power sources
The main sources of electrical power for robots are batteries
and photo voltaic cells. These can be used separately or
together.
- Photo Voltaic Cells
Photo Voltaic Cells or solar cells are well known for
their use as power sources for satellites,
environmentalist green energy campaigns and
pocket calculators. In robotics solar cells are used
mainly in BEAM robots. Commonly these consist of
Embedded Systems
15 | P a g e
a solar cell which charges a capacitor and a small
circuit which allows the capacitor to be charged up
to a set voltage level and then be discharged
through the motor(s) making it move.
For a larger robot solar cells can be used to charge
its batteries. Such robots have to be designed
around energy efficiency as they have little energy
to spare.
- Batteries
Batteries are an essential component of the
majority of robot designs. Many types of batteries
can be used. Batteries can be grouped by whether
or not they are rechargeable.
Batteries that are not rechargeable usually deliver
more power for their size, and are thus desirable
for certain applications. Various types of alkaline
and lithium batteries can be used. Alkaline batteries
are much cheaper and sufficient for most uses, but
lithium batteries offer better performance and a
longer shelf life.
Common rechargeable batteries include lead acid,
nickel-cadmium (NiCd) and the newer nickel metal-
hydride (Ni-MH). NiCd & Ni-MH batteries come in
common sizes such as AA, but deliver a smaller
voltage than alkaline batteries (1.2V instead of
1.5V). They also can be found in battery packs with
specialized power connectors. These are commonly
called race packs and are used in the more
expensive RC race cars. They will last for some
time if used properly. Ni-MH batteries are currently
more expensive than NiCd, but are less affected by
memory effect.
Embedded Systems
16 | P a g e
Lead acid batteries are relatively cheap and carry
quite a lot of power, although they are quite heavy
and can be damaged when they are discharged
below a certain voltage. These batteries are
commonly used as backup power supply in alarm
systems and UPS.
Sensors
Sensors are what allow a robot to gather information about its
environment. This information can be used to guide the robot's
behavior. Some sensors are relatively familiar pieces of
equipment.
Cameras allow a robot to construct a visual representation of its
environment. This allows the robot to judge attributes of the
environment that can only be determined by vision, such as
shape and color, as well as aid in determining other important
qualities, such as the size and distance of objects.
Microphones allow robots to detect sounds.
Sensors such as buttons embedded in bumpers can allow the
robot to determine when it has collided with an object or a wall.
Some robots come equipped
with thermometers and barometers to sense temperature and
pressure.
Other types of sensors are more complex, and give a robot more
interesting capabilities. Robots equipped with Light Detection
and Ranging (LIDAR) sensors use lasers to construct three
dimensional maps of their surroundings as they navigate through
the world.
Supersonic sensors are a cheaper way to accomplish a similar
goal only using high frequency sound instead of lasers.
Finally, some robots are equipped with specialized sensors such
as accelerometers and magnetometers that allow the robot to
sense its movement with respect to the Earth's gravity and
magnetic field.
Embedded Systems
17 | P a g e
Navigation
For any robot, the ability to navigate in its environment
is important. Avoiding dangerous situations such as
collisions and unsafe conditions (temperature, radiation,
exposure to weather, etc.) comes first, but if the robot
has a purpose that relates to specific places in the robot
environment, it must find those places. This article will
present an overview of the skill of navigation and try to
identify the basic blocks of a robot navigation system,
types of navigation systems, and closer look at its
related building components.
Robot navigation means the robot's ability to determine
its own position in its frame of reference and then to plan
a path towards some goal location. In order to navigate
in its environment, the robot or any other mobility device
requires representation, i.e. a map of the environment
and the ability to interpret that representation.
Navigation can be defined as the combination of the
three fundamental competences:
- Self-localization
- Path planning
- Map-building and map interpretation
Actuation Devices
Actuation devices are the components of the robot that make it
move (excluding your feet). Best known actuators are electric
motors, servos and stepper motors and also pneumatic or
hydraulic cylinders. Today there are new alternatives, some
which wouldn't be out of place in a good SF-movie. One of the
new types of actuators are Shape Memory Alloys (SMA). These
are metal alloys that shrink or enlarge depending on how warm
they are. Another new technique is the use of air-muscles.
Embedded Systems
18 | P a g e
1. Motors
There are several different types of motors.
Each motor type has several advantages as
well as disadvantages depending on a
particular robots design.
AC-Motors
There are several different types of AC-
motors, but their use is limited to high power
stationary industrial robots. They are harder to
use than DC-motors.
DC-Motors
DC-motors are very easy to use, but like
most other motors their usefulness for
robotics is very dependent on the
gearing available. DC-motors are made
much more effective if they have an
efficient gear ratio for a particular task.
If your priority is to have a fast spinning
motor and torque is of little concern a
low gearing or even no gearing may be
what you need; however, most motors
used in robots need torque over top
speed so a motor with a high gear ratio
could be more useful.
The control of a DC motor can be split
into two parts: speed and direction.
Embedded Systems
19 | P a g e
Direction
changing which direction a DC-
motor turns is very simple: simply
reverse the polarity. Both pairs of
switches ((S1A, S1B) and (S2A,
S2B))-see the picture on the right-
will always switch together. This
circuit is called an H-bridge. In a
real design the switches can be
several different components
(Relays, transistors, FETs) or the
whole circuit (without the motor)
could be an IC (integrated circuit.
use sugarcane relays
Speed
Speed is a little bit more complicated.
Many beginners would try to slow down
a motor by reducing its voltage with a
variable resistor or other ways. This
does not work well, because it will not
only reduce the motor's speed, it will
also reduce a motor's strength, while
also consuming a lot of electricity as
large amounts of heat are generated by
the resistor.
2. Shape Memory Alloys
The main use of SMA in robotics is to imitate
human muscles. One of the better known
SMAs is Nitinol wire. It contracts about 5 to
7% of its length and consumes a lot of power.
Embedded Systems
20 | P a g e
3. Air muscle
The concept of a fully autonomous, mission
capable, legged robot has for years been a
Holy Grail of roboticists. Development of such
machines has been hampered by actuators
and power technology and control schemes
that cannot hope to compete with even some
of the “simplest” systems found in the natural
world.
4. Linear Electromagnetic
Linear Electromagnetic actuators consist of a
hollow coil (solenoid) and a Ferro metal rod.
The rod is mounted loose in the coil and can
move up and down. When current flows
through the coil, the rod is pulled to the
center of the coil. If the direction of the
current is then reversed the solenoid will pull
in the Ferro metal rod. Due to Lenz's Law
which states "For a current induced in a
conductor, the current is in such a direction
that its own magnetic field opposes the
change that produced it." This means that an
EMF will flow through the solenoid of the
actuator to oppose the change in magnetic
flux thus an electromagnetic actuator can
never fully extend the full length of the rod.
Embedded Systems
21 | P a g e
5. Piezoelectric Actuators
Piezoelectric actuators are actuators that take
advantage of the piezoelectric effect found in certain
materials.
Piezoelectric Effect
Certain materials have a characteristic of
generating an electric potential when
compressed or expanded. The amount of
potential across the surface is
determined by the force of
displacement.
Because an electric potential is created
from a change in volume, a change in
temperature also has the ability of
generating an electric potential.
The piezoelectric effect also has an
inverse effect. When a voltage is applied
to a material with piezoelectric
properties, the material expands or
contracts depending on the polarity of
the voltage applied. The inverse
piezoelectric effect is the basis of
piezoelectric motors
6. Pneumatics/Hydraulics
Pneumatic and hydraulic systems are actuators
which provide linear movement. Hydraulic systems,
especially, can produce extremely high forces.
Embedded Systems
22 | P a g e
Pneumatic systems
The Pneumatic Actuator is sometimes
called a Pneumatic Ram. The basic
Pneumatic Ram consists of 3 main parts.
These 3 parts are the Cylinder, Piston
and Rod.
Dual acting cylinder extending.
The Cylinder, which is black in the
diagram, is where the process takes
place. Most of the cylinders in use for
hobby robotics are constructed of
stainless steel and depending on the
type of ram it will either feature one or
two ports for compressed air.
The Piston, marked in green, is similar
to one that you would find in a car
engine. It essentially provides a surface
for the compressed gas to act upon.
The Ram, marked in blue, is connected
to the piston and transfers the force
from the piston to the mechanism that
needs moving.
7. Miniature internal combustion engines
These are the small internal combustion
engines used in model cars and planes.
Manipulation
Locomotion
There are different types of wheeled locomotion systems.
They are listed below. Each locomotion system is unique,
has some advantages and disadvantages.
Embedded Systems
23 | P a g e
- Differential Drive
This is the most popular and widely used type of
drive for wheeled robots, because it is the simplest
and easiest to implement. There are two motors,
each having an independent motion. In the first two
diagrams shown above, both the motors are
rotated in same direction of motion and thus the
robot moves either forward or backward. In the last
two diagrams, the two motors rotate such that they
oppose each other’s motion, thus generating a
couple and creating a turning effect.
Advantages
Simple and easy to implement
Arbitrary motion can be achieved
In-place rotation (zero radius) can be
done Disadvantages
Difficult to maintain straight line due to
independent motors
- Car Type Drive
This is the type of drive most common in real world
but not in the robotic world. Here, we have a pair of
wheels which direct where the robot should move,
whereas movement is brought about by a different
set of wheels. Translatory motion is provided by the
rear wheels whereas rotational motion is provided
by the front wheels. Though both motions are
independent, but their interlinking results in greater
accuracy.
Embedded Systems
24 | P a g e
Advantages
Replicates the real world Disadvantages
Difficult path planning
Inaccurate movement
Slight inaccuracy results in huge errors
No direct directional actuators available
- Skid Steer Drive
It is a close relative of the differential drive system.
Here, all the motors of one side are tied together as
one to increase traction (e.g. tanks). Only the
center motors are connected. The remaining
motors move due to the force of the central
motors. During turning, the wheels skid/slip over
the surface. Turning can occur due to difference in
the motion of the two motors.
- Articulated Drive
Here, the body/chassis of the robot is deformed to
produce rotatory motion, whereas the translatory
motion is provided by the wheels. Two motors are
required, one for translatory motion (wheels) and
another to change pivot angle (for the linear
actuator).
- Synchronous Drive
Here, the robot can move in any direction without
changing its alignment. Two sets of motors are
required, one to drive the wheels, other to change
their direction. This is clearly shown in the diagram
above.
Embedded Systems
25 | P a g e
- Pivot Drive
This is a unique type of drive system. There is a
four wheeled chassis which gives translator motion
and a rotating platform which gives rotational
motion. Thus, it achieves accurate straight line
motion. While turning, the raised platform is
lowered such that it lifts the chassis, rotates by
desired angle, and then is raised again to keep the
chassis back on the ground. This can be achieved
using one/two motors, depending upon the
complexity and requirement.
- Dual Differential Drive
This is similar to differential drive, but uses special
gear assemblies, which increase the accuracy of
straight line motion and on-spot turning.
2.7 Software
Robot software is the coded commands that tell a mechanical
device (known as a robot) what tasks to perform and control
its actions. Robot software is used to perform tasks and
automate tasks to be performed. Programming robots is a
non-trivial task. Many software systems and frameworks have
been proposed to make programming robots easier.
Some robot software aim at developing intelligent mechanical
devices. Though common in science fiction stories, such
programs are yet to become common-place in reality and
much development is yet required in the field of artificial
intelligence before they even begin to approach the science
fiction possibilities. Pre-programmed hardware may include
feedback loops such that it can interact with its environment,
but does not display actual intelligence.
Embedded Systems
26 | P a g e
Data flow programming techniques are used by most robot
manufacturers, and is based on the concept that when the
value of a variable changes, the values of other variables
affected should also change. A programming language that
incorporates data flow principles is called a data flow
language. In addition to numeric processing, data flow
languages also incorporate functional concepts. Unlike other
programming languages which use imperative programming,
data flow programming is modeled as a sequence of
functions.
With any programming software, the state of a program at any
given time is an important consideration. The state provides
an indication of the various conditions at a particular instant. In
order to function properly, most programming languages
require a significant amount of state information. This
information is invisible to the programmer.
Another key concept – which is associated with any type of
robot programming, is the concept of run-time. When a
program is running, or executing, it is said to be in run-time.
The term run-time is also used as a short form when referring
to a run-time library, which is a library of code instructions
used by a computer language to manage a program written in
the language. The term is also used by software developers to
specify when errors in a program can occur. A runtime error is
an error that happens while the program is executing. For
example, if a robot arm was programmed to turn left, and it
turned right, then that would be a runtime error.
The software architecture of a system consists of the various
software components used to design and operate the
software. All programming method s rely on software
architecture as a method of organizing a software system
since it not only provides communication support but is also a
critical component in hardware and software interfaces.
Embedded Systems
27 | P a g e
Basic Structure
Most robot programs have a similar structure. It
consists of 4 major parts.
- Declarations and Variables
The first part in most programs is used to
include files that you need, to declare variables
that you are going to use, and to define
constants for use in your program. You should
also put a comment at the top of the file that
indicates what the program does. You will find
that lots of robot programs look alike, so having
comments is an important way to tell them
apart. In SBASIC, comments are done using the
tick mark. Everything from the start of the '
mark to the end of the line is a comment, and
will be ignored by the compiler.
- Subroutines and Functions
Writing a single long line of code can be tedious,
and can also increase your chances of coding in
a bug. It is often best to create subroutines for
handling blocks of code. If you code things up
properly, you can also reuse code quite easily.
The bulk of your software is going to exist in
subroutines and functions. Most subroutines are
very short, and consist of a well modularized bit
of code.
- Initialization
- The Main Loop
All computers systems end up with some sort of
Main Loop. On your PC, there is a routine in the
operating system called the idle loop. This idle
loop sits and waits for timers, disks, user input,
Embedded Systems
28 | P a g e
and a host of other things. Robots also have a
Main Loop. In the code sample above, you can
see it labeled as the infinite loop. It’s called that
because it never ends. It calls Sensor Read,
Behave, UpdateTurnDelay, then goes back to
Sensor Read.
If you write a program on your PC and run it, the
Main Loop (aka Idle Loop) will call your program
to let it run. Your program will often have an
'end', 'exit', or 'return' statement at the end.
This allows your program to return control to the
Idle Loop.
On your robot, there is no Idle Loop to return
control to. Therefore, you shouldn't have a
return statement in your Main: routine.
Psuedo Code
A great trick used by professional software engineers
is to start writing code by writing the comments first.
This helps you get your program layout done before
you invest too much time in getting all of the nitty-
gritty details down. In Psuedo Code, you end up doing
a layout for all of the routines, put in lots of comments
as notes to yourself about what your program is about
to do, and sometimes even add in little snippets of
code that might explain your intent better than words.
When you are done, you will have a skeleton outline
for your program.
2.8 Types of robots
A collaborative robot is a robot that can safely and
effectively interact with human workers while
performing simple industrial tasks. However, end-
effectors and other environmental conditions may
create hazards, and as such risk assessments should
Embedded Systems
29 | P a g e
be done before using any industrial motion-control
application.
The collaborative robots most widely used in
industries today are manufactured by Universal
Robots in Denmark.
Rethink Robotics—founded by Rodney Brooks,
previously with iRobot—introduced Baxter in
September 2012; as an industrial robot designed to
safely interact with neighboring human workers, and
be programmable for performing simple
tasks. Baxter’s stop if they detect a human in the way
of their robotic arms and have prominent off switches.
Intended for sale to small businesses, they are
promoted as the robotic analogue of the personal
computer. As of May 2014, 190 companies in the US
have bought Baxter’s and they are being used
commercially in the UK.
Modular robots are a new breed of robots that are
designed to increase the utilization of robots by
modularizing their architecture. The functionality and
effectiveness of a modular robot is easier to increase
compared to conventional robots. These robots are
composed of a single type of identical, several
different identical module types, or similarly shaped
modules, which vary in size. Their architectural
structure allows hyper-redundancy for modular robots,
as they can be designed with more than 8 degrees of
freedom (DOF). Creating the programming, inverse
kinematics and dynamics for modular robots is more
complex than with traditional robots. Modular robots
may be composed of L-shaped modules, cubic
modules, and U and H-shaped modules. ANAT
technology, an early modular robotic technology
patented by Robotics Design Inc., allows the creation
of modular robots from U and H shaped modules that
connect in a chain, and are used to form
Embedded Systems
30 | P a g e
heterogeneous and homogenous modular robot
systems. These “ANAT robots” can be designed with
“n” DOF as each module is a complete motorized
robotic system that folds relatively to the modules
connected before and after it in its chain, and
therefore a single module allows one degree of
freedom. The more modules that are connected to one
another, the more degrees of freedom it will have. L-
shaped modules can also be designed in a chain, and
must become increasingly smaller as the size of the
chain increases, as payloads attached to the end of
the chain place a greater strain on modules that are
further from the base. ANAT H-shaped modules do not
suffer from this problem, as their design allows a
modular robot to distribute pressure and impacts
evenly amongst other attached modules, and
therefore payload-carrying capacity does not decrease
as the length of the arm increases. Modular robots can
be manually or self-reconfigured to form a different
robot, that may perform different applications.
Because modular robots of the same architecture type
are composed of modules that compose different
modular robots, a snake-arm robot can combine with
another to form a dual or Quadra-arm robot, or can
split into several mobile robots, and mobile robots can
split into multiple smaller ones, or combine with
others into a larger or different one. This allows a
single modular robot the ability to be fully specialized
in a single task, as well as the capacity to be
specialized to perform multiple different tasks.
Modular robotic technology is currently being applied
in hybrid transportation, industrial automation, duct
cleaning and handling. Many research centers and
universities have also studied this technology, and
have developed prototypes.
Embedded Systems
31 | P a g e
In 1928, one of the first humanoid robots was
exhibited at the annual exhibition of the Model
Engineers Society in London Invented by W. H.
Richards, the robot Eric's frame consisted of
an aluminum body of armor with eleven
electromagnets and one motor powered by a twelve-
volt power source. The robot could move its hands
and head and could be controlled through remote
control or voice control. Westinghouse Electric
Corporation built Televox in 1926; it was a cardboard
cutout connected to various devices which users could
turn on and off. In 1939, the humanoid robot known
as Electro was debuted at the 1939 new York world's
fair Seven feet tall (2.1 m) and weighing 265 pounds
(120.2 kg), it could walk by voice command, speak
about 700 words (using a 78-rpm record player),
smoke cigarettes, blow up balloons, and move its
head and arms. The body consisted of a steel gear,
cam and motor skeleton covered by an aluminum
skin. In 1928, Japan's first robot, Gakutensoku, was
designed and constructed by biologist Makoto
Nishimura.
The first electronic autonomous robots with
complex behavior were created by William Grey
Walter of the Burden Neurological Institute at Bristol,
England in 1948 and 1949. He wanted to prove that
rich connections between a small numbers of Brain
cells could give rise to very complex Behavior -
essentially that the secret of how the brain worked lay
in how it was wired up. His first robots,
named Elmer and Elsie, were constructed between
1948 and 1949 and were often described
as tortoises due to their shape and slow rate of
Embedded Systems
32 | P a g e
movement. The three-wheeled tortoise robots were
capable of Photo taxis, by which they could find their
way to a recharging station when they ran low on
battery power. Walter stressed the importance of
using purely analogue electronics to simulate brain
processes at a time when his contemporaries such
as Alan Turing and john von Neumann were all turning
towards a view of mental processes in terms of digital
computation His work inspired subsequent generations
of robotics researchers such as Rodney brooks, Hans
moravec and mark Tilden. Modern incarnations of
Walter's turtles may be found in the form of beam
robotics
The first digitally operated and programmable robot
was invented by George devol in 1954 and was
ultimately called the unimate. This ultimately laid the
foundations of the modern robotics industry. Devol
sold the first Unimate to general motors in 1960, and
it was installed in 1961 in a plant in Trenton, New
Jersey to lift hot pieces of metal from a die casting
machine and stack them. Devol’s patent for the first
digitally operated programmable robotic arm
represents the foundation of the modern robotics
industry.
Commercial and industrial robots are now in
widespread use performing jobs more cheaply or with greater accuracy and reliability than humans. They are also employed for jobs which are too dirty, dangerous
or dull to be suitable for humans. Robots are widely used in manufacturing, assembly and packing, transport, earth and space exploration, surgery,
weaponry, laboratory research, and mass production of consumer and industrial goods.
Embedded Systems
33 | P a g e
2.9 Robots forms
Within the development of technology scientists and researchers have now come up with the invention of
robots, those robots help to make human life much easier especially in dangerous areas, military robots are used to take the risk job which is difficult to be
handled manually by human, those robots take the job as the assistant of soldiers. The auto industry is booming like never before, already this year over 13 million cars have rolled off
the lines in factories all over the united states, that number does not able to keep up with the demand of cars created around the world, how are manufacturers
able to keep up with the demand of car customers who want new models every few years. The answer is simple ‘Robot Automation’ automated
robotic systems can be used to perform all kinds of automotive tasks on vehicles during production. Automated robots today can be reset without having
to be reprogrammed each-time without stopping the production, which increases the productivity for manufacturers.
2.10 Build your own robot
This is some instructions and advice from us to build a
robot if you want to.
We will give you 5 basic steps to build a robot
To build a robot first you need to ask yourself an
important question which is why I build this robot we
mean for what exactly you need the robot because to
determine the objective of building a robot is the most
important thing to know the basic design of your
robot .
Then you need to put a design for This objective and
you need it to be very effective, efficient and the most
important thing is to make it creative, because you
don’t need it to be recognizable you need it to be
Embedded Systems
34 | P a g e
effective for example if you want to make a plane you
need to know about aerodynamic rules and classical
physics laws and so on, it may be strange shape but
this is not important because it make the job required.
After pervious steps you need to determine the tools
serve this design the more it was better, useful and
effective Sometimes you are forced to choose the
tools first and make a design according to the tools
provided if you know that you won’t find the tools you
need so the best choice is to make those steps
synchronous, and before all of this you need to search
about the provided tools and components and know
every tool and component well to achieve the
efficiency.
Now you prepared everything you have to be ready
for the biggest moment which we love to call it:
” put the design into action”
In this step you have your tools, components and
design (written, printed or soft copy), so you start to
build your robot according to the design, you start to
follow the design step by step and you start with the
hardware then you make the software if you need.
Then the last step which is trying your robot, you have
to try your robot many times and in the limit cases
which the robot designed to work on.
Now these are some devices will help you:
You have to know exactly what you need
You have choose your tools carefully ,you have to get
high quality tools and components
Anything can be a tool and you can make a robot from
every thing
You have to be careful while you are building your
robot if you are using dangerous tools
Embedded Systems
35 | P a g e
Examples for simple tools
Some body think that to build a robot you need
complicated tools but this is false here we will give
you an example for a simple tools.
If you need to make hydraulic arm you may use the
simplest hydraulic arms ever which is injections.
If you need a power source you may use solar parts to
get solar energy or 1.5v buttery.
If you want to make a movable robot you can use the
simple motors and wheels.
If you need to make controller you can use injections
and tubes, switches or TV remote.
Now we just want to tell you the most important thing
be creative, forever be different.
Embedded Systems
36 | P a g e
Conclusion
At the end of our report we found that most of people
need to know more about the science which push the
wheel of progress and technology forward and this
science is computer science and to be more specific
robotics and embedded systems
This science had a great jump to the future and took
the humanity to the science fiction movies ideas and
it can and sure it will give the humanity more than it
gave because it’s a circle of progress leads to more
progress
And on lower level we found that anyone can learn
embedded system and make his own robot and his
own embedded system but he need a good guide and
we need to care more about learning and teaching the
embedded systems and robotics to the youths to take
place of the humanity progress history.
Embedded Systems
37 | P a g e
Bibliography:
Websites:
http://www.brighthubengineering.com/
http://www.scientistsfortomorrow.org/
http://prime.jsc.nasa.gov/ROV/types.html
http://www.allonrobots.com/types-of-robots.html
http://www.sciencedirect.com
http://www.ieee.org
http://www.theiet.org
http://en.wikipedia.org
http://www.springer.org
http://wep.mit.edu
http://scienceworld.wolfram.com
Books:
Simply Arduino book by (Abdallah Ali Abdallah)