Upload
momen-a-diab
View
226
Download
0
Embed Size (px)
Citation preview
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
1/88
I
AUTONOUMOS HAZARDOUS MATERIALS HANDLING
MOBILE ROBOT
A Report submitted in partial fulfillment of the requirement for the degree of
B.Sc. (HON)
In
Electrical and Electronic Engineering
Under Supervision of
Uzt. Loui Farouq Mustafa
Uzt. Samah Mohammed Hashim
By
MOMEN AHMED EL-SADIG DIAB
To
Department of Electrical and Electronic Engineering
Faculty of Engineering
University of Khartoum
July 2009
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
2/88
I
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
3/88
I
Acknowledgments
Special thanks go to my supervisors, Uzt. Loui Farouq, who offered me this project, and who
provided invaluable advice and motivated me to succeed, and Uzt. Samah Hashim who was very
patient with us and who paid a lot attention even that she was extremely busy. Thanks also to my
uncle Dr. Kamal Diyab, Without his tremendous and unlimited support I wouldnt have possibly
imagined to do such a wonderful and technically challenging work.
My fellow colleague, Osama El-Obied who pushed me to the limits and insisted that we
accomplish the mission in the best possible way, thank you.
To my friends, for their advice, support and friendship over the past five years. Thank you all in
no particular order.
Exceptional thanks to my friend Mohammed Talha for his great suggestions and assistance
through the last years and for the hilarious jokes he made about this project.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
4/88
II
Abstract
The Autonomous Hazardous Materials Handling Mobile Robot is an attempt toinitiate the study and design of autonomous mobile robots that seek to save human lives and to
shield people from working in contaminated areas. mission is to pick up a samplefrom a pile of some hazardous material and to deliver it to an identified deposit site. isa microcontroller based system in the midst of stepper motors, servo motors, mechanical
components and many other devices which are organized together to achieve the defined
mission. This thesis addresses the design, the construction, and the development of the control
system and the mechanical components for two-wheeled differential drive system andthe manipulator that allow it to handle items.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
5/88
III
!"#$%&'(!%)!%*+,-./01,(!2-341,56"-(!!78'9!:
;"($%?$@A+!%,B?C#9@DE#JK"@DE,SK2SB4
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
6/88
IV
Table of Contents
Acknowledgments............................................................................................................................ I
Abstract ........................................................................................................................................... II
.......................................................................................................................................... III
List of Figures .............................................................................................................................. VII
Chapter One: Introduction ...................................................................................................... 1
1.1 Overview .......................................................................................................................... 1
1.2 Problem Statement ........................................................................................................... 1
1.3 Project Objectives ............................................................................................................ 1
1.4 Thesis Layout ................................................................................................................... 2
ChapterTwo: Theoretical Concepts ....................................................................................... 3
2.1 Robotics ............................................................................................................................ 3
2.1.1 Definitions................................................................................................................. 3
2.1.2 Applications .............................................................................................................. 4
2.1.3 History of Robots ...................................................................................................... 5
2.1.4 Autonomous Robots ................................................................................................. 6
2.2 Hazardous Materials ......................................................................................................... 6
2.2.1 Definition .................................................................................................................. 6
2.2.2 Robots and Hazardous Materials .............................................................................. 6
2.3 Hardware Description and Theory of Operation .............................................................. 7
2.3.1 Actuators ................................................................................................................... 7
2.3.2 Microcontrollers ........................................................................................................ 9
2.3.3 Motor Interface (Darlington Transistor Array) ....................................................... 10
2.3.4 User Interface (Hex Keypad) .................................................................................. 10
2.3.5 Stepper Motors Position Feedback Sensor (Optical Encoder) ................................ 11
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
7/88
V
Chapter Three: Locomotion, kinematics and Manipulation ................................................. 13
3.1 Locomotion .................................................................................................................... 13
3.1.1 Legged Mobile Robots ............................................................................................ 14
3.1.2 Wheeled Mobile Robots ......................................................................................... 15
3.2 Kinematics ...................................................................................................................... 18
3.2.1 Kinematic Models and Constraints ......................................................................... 18
3.2.2 Differential Steering System Kinematics................................................................ 21
3.3 Manipulation .................................................................................................................. 23
3.3.1 Definitions............................................................................................................... 23
3.3.2 Manipulator Statics ................................................................................................. 27
3.3.3 Manipulator Kinematics.......................................................................................... 30
Chapter Four: Design and Implementation ........................................................................... 31
4.1 Design ........................................................................................................... 314.1.1 Locomotion ............................................................................................................. 31
4.1.2 Mechanical Design.................................................................................................. 32
4.1.3 Electronics and Circuit Design ............................................................................... 37
4.1.4 Software Design ...................................................................................................... 43
Chapter Five: Results Discussion ......................................................................................... 52
5.1 Locomotion and Navigation Performance ..................................................................... 52
5.2 Manipulation Performance ............................................................................................. 52
Chapter Six: Conclusions and Future Work ......................................................................... 54
6.1 Conclusions .................................................................................................................... 54
6.2 Future Work ................................................................................................................... 54
References ..................................................................................................................................... 57
Appendix A: Circuit Schematic .................................................................................................... 60
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
8/88
VI
Appendix B: Software Code ......................................................................................................... 59
Appendix C: Tools and Components ............................................................................................ 74
Appendix D: Components Layout ....75
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
9/88
VII
List of Figures
Figure 2.1 Task based classification of robots ................................................................................ 5
Figure 2.2 Unipolar stepper motor coils configuration (4) ............................................................. 8
Figure 2.3 Servo motor main parts ................................................................................................. 9
Figure 2.4 ULN2803 ..................................................................................................................... 10
Figure 2.5 Hex Keypad ................................................................................................................. 11
Figure 2.6 An Optical encoder ...................................................................................................... 12
Figure 3.1 A biped walking system can be approximated by a rolling polygon .......................... 13
Figure 3.2 The four basic wheel types. (a) Standard wheel: two degrees of freedom; rotation
around the (motorized) wheel axle and the contact point.(b) castor wheel: two degrees of
freedom; rotation around an offset steering joint. ......................................................................... 15
Figure 3.3 The global reference frame and the robot local reference frame. ................................ 19
Figure 3.4The mobile robot aligned with a global axis. ............................................................... 20
Figure 3.5 A differential-drive robot in its global reference frame. ............................................. 20
Figure 3.6 Differential steering ..................................................................................................... 22
Figure 3.7 Differential steering relations ...................................................................................... 23
Figure 3.8 A 4 DOF Robot Arm, three are out of plane and FBD for the human arm ................ 24
Figure 3.9 A 3 DOF manipulator .................................................................................................. 25
Figure 3.10work space .............................................................................................. 25Figure 3.11 Shelled semi-sphere. ................................................................................................. 26
Figure 3.12 Mobile robot with manipulator ................................................................................. 26
Figure 3.13 Torque required to hold a mass. ................................................................................ 28
Figure 3.14 Perpendicular component of length between the pivot and the force. ..................... 28
Figure 3.15 The torque required at the second joint must be re-calculated .................................. 29
Figure 3.16 Multiple solurions ...................................................................................................... 30
Figure 4.1 platform ..................................................................................................... 33Figure 4.2 dimensions (in mm). ................................................................................. 34Figure 4.3 manipulator ............................................................................................... 35Figure 4.4 container .................................................................................................... 35Figure 4.5 standard wheel .......................................................................................... 36
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
10/88
VIII
Figure 4.6 ................................................................................................................... 36Figure 4.7 ATmega32L pin configuration .................................................................................... 37
Figure 4.8 PM55L-048 specifications ........................................................................................... 38
Figure 4.9 PM55L-048 dimensions .............................................................................................. 39
Figure 4.10 PM35L-048 specifications......................................................................................... 39
Figure 4.11PM35L-048 dimensions ............................................................................................. 40
Figure 4.12 manipulator FBD .................................................................................... 40Figure 4.13 Parallax standard servo (#900-00005) ...................................................................... 41
Figure 4.14 Circuit Architecture .................................................................................................. 43
Figure 4.15 takes an orientation toward destination .................................................. 44Figure 4.16
moves forward to destination .................................................................. 44
Figure 4.17 rotates toward deposit site ....................................................................... 45Figure 4.18 moves forward to deposit site ................................................................. 46Figure 4.19 rotates toward the origin ............................................................................................ 46
Figure 4.20 moves to origin ....................................................................................... 46Figure 4.21 takes an orientation in the positive x-direction ....................................... 47
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
11/88
1
1 Chapter One
Introduction
1.1 OverviewNowadays, the field of autonomous mobile robotics attracts an accelerating interest. Application
areas are plentiful in both industry and academia, but an autonomous mobile robot system also
demands high performance of both mechanical components and control software. Soon virtually
every aspect of human activity will be influenced by robotics. Advances in medicine, space
exploration, security, maintenance, transportation, agriculture, manufacturing, retailing, and
more will become dependent on intelligent machines programmed to carry out ever-increasingly
difficult tasks. Advances in robotics will be as dynamic and important as those of computers in
the 80s and 90s.
1.2 Problem StatementHumans dealing with hazardous materials could get injured if appropriate regulations are not
taken. Even if attention is paid while handling such materials accidents are still possible.
Robots are ideal for use in hazardous environments by removing people from direct exposure to
unfriendly conditions such as materials that are radioactive or highly explosive.
1.3 Project ObjectivesThe main objective of this project is to design, construct and test an autonomous mobile robot
that can handle hazardous materials without continuous human intervention.
The project objectives are:
1 Construct the required parts of the robot platform and manipulator.
2 Attach the actuators to the platform and the manipulator.
3 Fasten the supporting parts such as the bucket and the container.
4 Build the electric circuit that drives and controls the motors.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
12/88
2
5 Write a C program that accepts orders from an operator through a keypad and provides
the necessary signals for motors function.
6 Test the completed system and perform required refinements.
The following are assumed:
The robot work space is a free even plane.
The robot initial position is either known by the robots controller or entered by
an operator.
The hazardous material that the robot is supposed to take a sample from is in
powder form.
The pile of the hazardous material location is known and entered by an operator.
1.4 Thesis LayoutThe thesis is organized as follows:
Chapter 2 states some definitions and explanations of robotics, hazardous materials and devices
used for the project implementation.
Chapter 3 discusses the physical and mathematical concepts related to mobile robots and
manipulators such as locomotion, kinematics and statics.
Chapter 4 shows the mechanical design of the unit with detailed drawings, electrical design
procedure and electronic circuit description is given in detail, and the software that controls the
robot is explained.
Chapter 5 gives the results obtained from testing the system and a brief discussion about these
results.
Chapter 6 has the conclusion and the future work.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
13/88
3
2 ChapterTwo
Theoretical Concepts
This chapter provides the necessary theoretical background for the project. It is attained through
examination of various textbooks and online resources.
2.1 RoboticsIn this section an introduction to robotics and their application in our world is provided. A brief
history of the improvement of this fascinating field is given as well.
2.1.1 DefinitionsThe word robot made its debut in 1921, in the play R.U.R. (Rossum's Universal Robots) by
Karel Capek. It comes from the word "robota", a Czech term for forced labor. But definitions of
what a robot actually is vary widely.
The International Organization for Standardization gives a definition of robot in ISO 8373: "an
automatically controlled, reprogrammable, multipurpose, manipulator programmable in three or
more axes, which may be either fixed in place or mobile for use in industrial automation
applications."
Encyclopedia Britannica gives the following definition: "A robot device is an instrumented
mechanism used in science or industry to take the place of a human being. It may or may not
physically resemble a human or perform its tasks in a human way, and the line separating robot
devices from merely automated machinery is not always easy to define. In general, the more
sophisticated and individualized the machine, the more likely it is to be classed as a robot
device."[1]
Alan Mackworth, the director of the University of British Columbia Laboratory for
Computational Intelligence and president of the American Association for Artificial Intelligence,
says:
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
14/88
4
"It's a machine that can sense and act and react in the world and possibly involves some
reasoning for performing these actions, and it does so autonomously. By that definition a
thermostat would be a robot. Though it's not 'aware' it has a goal, that awareness isn't required."
Rodney Brooks, the director of the Massachusetts Institute of Technology computer science and
artificial intelligence laboratory, says:
"To me a robot is something that has some physical effect on the world, but it does it based on
how it senses the world and how the world changes around it."
Joseph Engelberger has been called the father of robotics. Asked to define a robot, he once said
"I can't define a robot, but I know one when I see one."
To mimic the human like operation is the core objective of any robot. Robotics is an applied
science which can incorporate high-technology, electronics, mechanics, pneumatics, remote
actuation and, of course, the technology of creating, designing, building, manufacturing and
applying robots and robotic systems. To effectively conceive and then implement robotic designs
calls for more than a working knowledge of many separate sciences, including electronics,
mechanics, servo-mechanisms, computers, programming and a logical, ordered mind, even when
brainstorming.
2.1.2 ApplicationsRobots were initially used in the automation sector to handle repetitive and simple tasks reliably,
with the objective of cost reduction per product. Along with the increased speed of embedded
microcontrollers, the service robotic sector has started to grow. Figure 2.1 provides a task based
classification of robots in which service robots are divided into several subcategories. Domestic
robots are being designed to assist humans with tasks such as vacuum cleaning, lawn mowing,
mobile security, rescuing missions, materials handling, car production, packing and window
cleaning.
There are many jobs which humans would rather leave to robots. The job may be boring, such as
domestic cleaning, or dangerous like handling a hazardous material. Other jobs are physically
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
15/88
inaccessi
laparosc
2.1.3The con
to life.
churches
Prior to
but as hu
artificial
Mechani
arrival o
advent o
Many ro
public r
1939 Ne
Garco,
perform
ble, such as
pic surgery
History oept of auto
utomata, o
, and 18th-c
he industri
manity dev
creatures b
cal comput
the moder
20th Centu
ots were c
lations pur
w York Wo
ade by th
a few stunts
exploring
.
Fi
f Robots
ated machi
humanlike
entury watc
l revolution
loped mec
egan to rel
rs and mec
concept of
ry.
nstructed b
oses of m
rld's Fair. S
Garrett fir
, like the aut
nother plan
ure 2.1 Task b
ines dates t
machines,
makers we
, artificial
anical skill
more on
hanical con
the robot, a
fore the da
jor firms.
me were b
m in the 1
omatons of
et, cleaning
ased classificat
antiquity
also appear
re famous f
rganisms w
and discov
mechanism
rollers wer
well as the
n of comp
lectro app
ilt in betwe
950's. Thes
the eightee
the inside
ion of robots
ith myths
d in the cl
r their clev
ere usually
ered the pri
than magic
developed
coining of
uter-controll
ared in W
en such maj
e were ess
th century [
f a long pi
f mechanic
ckwork fig
r mechanic
animated b
nciples of el
as the ani
in the 19th
he word "ro
ed servome
stinghouse'
or public g
ntially mac
2].
e, or perfor
l beings br
ures of med
l creatures.
magical f
ectricity, tal
ating prin
century, b
bot", await
chanisms, f
s pavilion
therings, su
hines that
5
ming
ught
ieval
rces,
es of
ipal.
t the
d the
r the
t the
ch as
ould
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
16/88
6
After 1950, computers (and robotics), began to rapidly increase in both complexity and numbers
as the technology needed to make the devices became easier to produce.
2.1.4 Autonomous RobotsAn autonomous robot is self-contained, housing its own controller, and not depending on acentral computer for its commands. It navigates its work environment under its own power,
usually by rolling on wheels or a track drive. Robot autonomy might at first seem like a great
asset: if a robot functions by itself in a system, then when other parts of the system fail, the robot
will keep working. However, in systems where many identical robots are used, autonomy is
inefficient. It is better from an economic standpoint to put programs in one central computer that
controls all the robots.
Simple robots, like those in assembly lines, are not autonomous. The more complex the task, and
the more different things a robot must do, the more autonomy it can have. The most advanced
autonomous robots have artificial intelligence [3].
2.2 Hazardous Materials2.2.1 Definition
Hazardous materials ("HazMats") are solids, liquids, or gases that can harm people, other living
organisms, property, or the environment. They are often subject to chemical regulations.Dangerous goods include materials that are radioactive, flammable, explosive or corrosive,
oxidizers or asphyxiate, bio-hazardous, toxic, pathogen or allergen substances and organisms,
but also physical conditions as compressed gases and liquids or hot material, including all goods
containing such materials or chemicals, or may have other characteristics that render it hazardous
in specific circumstances [3].
The use of robotics in situations involving hazardous materials can significantly reduce the risk
of human injury.
2.2.2 Robots and Hazardous MaterialsAmong the many justifications for using robotics, the most important is to shield people from
working in dangerous environments and from handling hazardous materials.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
17/88
7
A common application of robots is for use in places that humans can go only at risk to their own
health or safety or that human can not go at all. Industries where nuclear materials are used often
make use of robots so that human workers are not exposed to the dangerous effects of radioactive
materials.
2.3 Hardware Description and Theory of OperationIn this section a brief description and the operation theory of some devices and tools used in the
project are given.
2.3.1 ActuatorsAll motors operate by means of electromagnetic effects. Electric current flows through a set of
coils, producing magnetic fields. The magnetic forces result in rotation. The greater the current
in the coils, the greater is the rotating force. When the motor is connected to a load, the force
needed to turn the shaft increases. The more the force, the greater the current flow, and the more
power is drawn from the power source. In electric motors, one set of coils rotates with the motor
shaft. This is called the armature coil. The other set of coils is fixed, and is called the field coil.
The commutatorreverses the current with each half-rotation of the motor, so that the shaft keeps
turning in the same direction. [3]
2.3.1.1 Stepper MotorStepper motors are electromechanical actuators which convert digital inputs to analog motion.
This is possible through the motor's controller electronics. There are various types of stepper
motors such as solenoid activated, variable reluctance, permanent magnet and synchronous
inductor. Independent of stepper type, all are devices which index in fixed angular increments
when energized in a programmed manner. Stepper motors' normal operation consists of discrete
angular motions of uniform magnitude rather than continuous motion. A stepper motor is
particularly well suited to applications where the controller signals appear as pulse trains. One
pulse causes the motor to increment one angle of motion. This is repeated for one pulse.
Most stepper motors are used in an open loop system configuration, which can result in
oscillations. To overcome this, complex circuits or feedback is employed, thus resulting in a
closed loop system.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
18/88
8
Unipolar stepper motor is discussed in details in the following paragraph since it is the type used
in.Unipolar Stepper Motor
A Unipolar stepper motor has four fixed coils arranged around a magnetized rotor, as shown in
figure 2.2. Typically, the coils are arranged in two centre tapped pairs, on opposing sides of the
motor. Driving current through any coil will cause the rotor magnet to be attracted to it, and by
sequencing the drive current though each coil in turn, the motor can be made to rotate
continuously. Higher torque can be achieved if two coils are energized at a time, and by
alternating between one and two coil drive states, half stepping mode can be realized.
Stepper motors vary in the amount of rotation delivered per step. They can turn as little as 0.72
degree to as much as 90 degrees per step. The most common motors are in the 7.5 degrees- to 18
degrees-per-step range. Many have integral reduction gear trains so that they have even higher
angular resolution. The motor shaft will freely rotate when none of the coils are energized, but if
the last pattern in a series is maintained, the motor will resist being moved to a different position.
Because the motors are open-loop, if you do manage to mechanically overwhelm the motor and
turn the shaft to a new position, the motor will not try to restore itself to the old position. The
easiest way to control a stepper motor is by using four bits of a parallel I/O port from a computer
or a microcontroller.
Figure 2.2 Unipolar stepper motor coils configuration (4)Stepper motors are, however, limited to about one horsepower and 2000 rpm, therefore limiting
them in many applications [4].
1 Through this thesis Autonomous Hazardous Materials Handling Mobile Robot will be referred to as
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
19/88
9
2.3.1.2 Servo MotorServo motors incorporate several components into one device package:
A small DC motor;
A gear reduction drive for torque increase;
An electronic position sensing and control circuit.
The output shaft of a servo motor does not rotate freely, but rather is commanded to move to a
particular angular position. The electronic sensing and control circuitry (the servo feedback
control loop) drives the motor to move the shaft to the commanded position. If the position is
outside the range of movement of the shaft, or if the resisting torque on the shaft is too great, the
motor will continue trying to attain the commanded position.
Figure 2.3 Servo motor main partsThe control signal consists of a series of pulses that indicate the desired position of the shaft.
Each pulse represents one position command. The length of a pulse in time corresponds to the
angular position [4].
Typical pulse times range from 0.7 to 2.0 milliseconds for the full range of travel of a servo
shaft. Most servo shafts have a 180 degree range of rotation. The control pulse must repeat every
20 milliseconds.
2.3.2 MicrocontrollersRobots have to be equipped with an intelligent agent to perform their tasks. Microprocessors and
microcontrollers have been the most widely used devices to provide intelligence to robots.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
20/88
10
A microcontroller (also microcontroller unit, MCU or C) is a small computer on a single
integrated circuit consisting of a relatively simple CPU combined with support functions such as
a crystal oscillator, timers, watchdog, serial and analog I/O etc. a program memory in the form of
NOR flash or OTP ROM is also often included on chip, as well as a, typically small, read/write
memory.
2.3.3 Motor Interface (Darlington Transistor Array)ULN2004 has eight high-voltage, high current Darlington NPN transistor pairs. Stepper motor
coils are connected to the microcontroller through these transistors. This is necessary to provide
the sufficient current for the coils by an external power supply, protect the microcontroller from
the back electromotive voltage and to isolate the low current circuit of the microcontroller and
the keypad from the high current circuit of the stepper motor.
Figure 2.4 ULN28032.3.4 User Interface (Hex Keypad)
The hex keypad contains 16 keys, symmetrically arranged in four rows with four keys each.
Each column and row of the keypad is connected to an I/O pin. One port (eight pins) is set for
the hex keypad function. The port is divided into two nibbles, the lower one (P0-P3) is set as an
output port and is connected to the matrix rows while the upper nibble (P4-P7) is set as an input
port and it is connected to the matrix columns.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
21/88
11
The microcontroller continually scans the keypad by setting all row pins except one to low level
and reading all column pins. All column inputs have pull-up resistors, so when a key is pressed
the microcontroller will distinguish a high level on one of the column inputs.
Figure 2.5 Hex Keypad2.3.5 Stepper Motors Position Feedback Sensor (Optical Encoder)
Stepper motors work great when they are driven in open-loop. But for wheels driving the
possibility of skidding and slipping is always a concern.
An optical encoder is an electronic device that measures the extent to which a mechanical shaft
has rotated. It can also measure the rate of rotation (angular speed).
An optical encoder consists of a pair of light-emitting diodes (LEDs), a photo-detector, and a
chopping wheel. The LEDs shine on the photo-detector through the chopping wheel. The wheel
has radial bands; alternately transparent and opaque (see figure 2.6). The wheel is attached to the
shaft. As the shaft turns, the light beam is interrupted. Each interruption actuates a counting
circuit. The number of pulses is a direct function of the extent to which the shaft has rotated. The
frequency of pulses is a direct function of the rotational speed. Two LEDs, placed in the correct
positions, allow the encoder to indicate the direction (clockwise or counterclockwise) in which
the shaft rotates. Optical encoders are used in various robotic applications. In particular, they are
used in manipulators to measure the extent of joint rotation [3].
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
22/88
12
Figure 2.6 An Optical encoder
Absolute encoders are best suited for slow rotations such as steering angle encoding, as opposed
to measuring high-speed continuous (i.e., drive wheel) rotations as would be required for
calculating displacement along the path of travel [5].
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
23/88
13
3 Chapter Three
Locomotion, kinematics and Manipulation
In this chapter, a general explanation concerning locomotion techniques used in modern robots is
provided and a description of mechanical behavior of robots is presented.
3.1 LocomotionA mobile robot needs locomotion mechanisms that enable it to move unbounded throughout its
environment. But there are a large variety of possible ways to move, and so the selection of a
robots approach to locomotion is an important aspect of mobile robot design. In the laboratory,
there are research robots that can walk, jump, run, slide, skate, swim, fly, and, of course, roll.
Most of these locomotion mechanisms have been inspired by their biological counterparts.
There is, however, one exception: the actively powered wheel is a human invention that achieves
extremely high efficiency on flat ground. This mechanism is not completely foreign to biological
systems. Our bipedal walking system can be approximated by a rolling polygon, with sides equal
in length to the span of the step (figure 3.2). As the step size decreases, the polygon approaches a
circle or wheel. But nature did not develop a fully rotating, actively powered joint, which is the
technology necessary for wheeled locomotion. Owing to these limitations, mobile robots
generally locomote either using wheeled mechanisms, a well-known human technology for
vehicles, or using a small number of articulated legs, the simplest of the biological approaches to
locomotion [6].
Figure 3.1 A biped walking system can be approximated by a rolling polygon
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
24/88
14
Locomotion is the complement of manipulation. In manipulation, the robot arm is fixed but
moves objects in the workspace by imparting force to them. In locomotion, the environment is
fixed and the robot moves by imparting force to the environment. In both cases, the scientific
basis is the study of actuators that generate interaction forces, and mechanisms that implement
desired kinematic and dynamic properties. Locomotion and manipulation thus share the same
core issues of stability, contact characteristics, and environmental type:
Stability
- number and geometry of contact points
- center of gravity
- static/dynamic stability
- inclination of terrain
Characteristics of contact
- contact point/path size and shape
- angle of contact
- friction
Type of environment
- structure
- medium, (e.g. water, air, soft or hard ground)
3.1.1 Legged Mobile RobotsLegged locomotion is characterized by a series of point contacts between the robot and the
ground. The key advantages include adaptability and maneuverability in rough terrain. Because
only a set of point contacts is required, the quality of the ground between those points does not
matter so long as the robot can maintain adequate ground clearance. In addition, a walking robot
is capable of crossing a hole or chasm so long as its reach exceeds the width of the hole. A final
advantage of legged locomotion is the potential to manipulate objects in the environment with
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
25/88
15
great skill. An excellent insect example, the dung beetle, is capable of rolling a ball while
locomoting by way of its dexterous front legs.
The main disadvantages of legged locomotion include power and mechanical complexity. The
leg, which may include several degrees of freedom, must be capable of sustaining part of the
robots total weight, and in many robots must be capable of lifting and lowering the robot.
Additionally, high maneuverability will only be achieved if the legs have a sufficient number of
degrees of freedom to impart forces in a number of different directions [6].
3.1.2 Wheeled Mobile RobotsThe wheel has been by far the most popular locomotion mechanism in mobile robotics and in
man-made vehicles in general. It can achieve very good efficiencies and does so with a relatively
simple mechanical implementation. In addition, balance is not usually a research problem in
wheeled robot designs, because wheeled robots are almost always designed so that all wheels are
in ground contact at all times. Thus, three wheels are sufficient to guarantee stable balance,
although two-wheeled robots can also be stable. When more than three wheels are used, a
suspension system is required to allow all wheels to maintain ground contact when the robot
encounters uneven terrain [6].
Figure 3.2 The four basic wheel types. (a) Standard wheel: two degrees of freedom; rotation around the (motorized) wheelaxle and the contact point. (b) castor wheel: two degrees of freedom; rotation around an offset steering joint.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
26/88
16
3.1.2.1 Wheeled locomotion: the design space [6]There is a very large space of possible wheel configurations when one considers possible
techniques for mobile robot locomotion. As there are a number of different wheel types with
specific strengths and weaknesses each one should be discussed and considered. Then, a
complete wheel configurations that deliver particular forms of locomotion for a mobile robot is
examined.
Wheel design
There are two major wheel classes, as shown in figure 3.2. They differ widely in their
kinematics, and therefore the choice of wheel type has a large effect on the overall kinematics of
the mobile robot. The standard wheel and the castor wheel have a primary axis of rotation and
are thus highly directional. To move in a different direction, the wheel must be steered first along
a vertical axis. The key difference between these two wheels is that the standard wheel can
accomplish this steering motion with no side effects, as the center of rotation passes through the
contact patch with the ground, whereas the castor wheel rotates around an offset axis, causing a
force to be imparted to the robot chassis during steering.
Regardless of what wheel is used, in robots designed for all-terrain environments and in robots
with more than three wheels, a suspension system is normally required to maintain wheel contact
with the ground.
Wheel geometry
The choice of wheel types for a mobile robot is strongly linked to the choice of wheel
arrangement, or wheel geometry. The mobile robot designer must consider these two issues
simultaneously when designing the locomoting mechanism of a wheeled robot. Wheel type and
wheel geometry choice do matter as three fundamental characteristics of a robot are governed by
these choices: maneuverability, controllability, and stability.
Surprisingly, the minimum number of wheels required for static stability is two. A two-wheel
differential-drive robot can achieve static stability if the center of mass is below the wheel axle.
However, under ordinary circumstances such a solution requires wheel diameters that are
impractically large. Dynamics can also cause a two-wheeled robot to strike the floor with a third
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
27/88
17
point of contact, for instance, with sufficiently high motor torques from standstill.
Conventionally, static stability requires a minimum of three wheels, with the additional caveat
that the center of gravity must be contained within the triangle formed by the ground contact
points of the wheels. Stability can be further improved by adding more wheels, although once the
number of contact points exceeds three, the hyperstatic nature of the geometry will require some
form of flexible suspension on uneven terrain.
Maneuverability is the ability to translate or change direction of motion. In the research
community, many classes of mobile robots are popular which achieve high maneuverability, only
slightly inferior to that of the omnidirectional configurations. In such robots, motion in a
particular direction may initially require a rotational motion. With a circular chassis and an axis
of rotation at the center of the robot, such a robot can spin without changing its ground footprint.
The most popular such robot is the two-wheel differential-drive robot where the two wheels
rotate around the center point of the robot. One or two additional ground contact points may be
used for stability, based on the application specifics.
There is generally an inverse correlation between controllability and maneuverability. For
example, the omnidirectional designs such as the four-castor wheel configuration require
significant processing to convert desired rotational and translational velocities to individual
wheel commands. Furthermore, such omnidirectional designs often have greater degrees of
freedom at the wheel. In a differential-drive vehicle, the two motors attached to the two wheels
must be driven along exactly the same velocity profile, which can be challenging considering
variations between wheels, motors, and environmental differences.
In summary, there is no ideal drive configuration that simultaneously maximizes stability,
maneuverability, and controllability. Each mobile robot application places unique constraints on
the robot design problem, and the designers task is to choose the most appropriate drive
configuration possible from among this space of compromises.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
28/88
18
3.2 KinematicsKinematics is the most basic study of how mechanical systems behave. In mobile robotics, we
need to understand the mechanical behavior of the robot both in order to design appropriate
mobile robots for tasks and to understand how to create control software for an instance ofmobile robot hardware. The process of understanding the motions of a robot begins with the
process of describing the contribution each wheel provides for motion. Each wheel has a role in
enabling the whole robot to move. By the same token, each wheel also imposes constraints on
the robots motion; for example, refusing to skid laterally [6].
3.2.1 Kinematic Models and ConstraintsDeriving a model for the whole robots motion is a bottom-up process. Each individual wheel
contributes to the robots motion and, at the same time, imposes constraints on robot motion.Wheels are tied together based on robot chassis geometry, and therefore their constraints
combine to form constraints on the overall motion of the robot chassis. But the forces and
constraints of each wheel must be expressed with respect to a clear and consistent reference
frame. This is particularly important in mobile robotics because of its self contained and mobile
nature; a clear mapping between global and local frames of reference is required. We begin by
defining these reference frames formally, then using the resulting formalism to annotate the
kinematics of individual wheels and whole robots.
3.2.1.1 Representing robot positionThroughout this analysis we model the robot as a rigid body on wheels, operating on a horizontal
plane. The total dimensionality of this robot chassis on the plane is three, two for position in the
plane and one for orientation along the vertical axis, which is orthogonal to the plane. Of course,
there are additional degrees of freedom and flexibility due to the wheel axles, wheel steering
joints, and wheel castor joints. However by robot chassis we refer only to the rigid body of the
robot, ignoring the joints and degrees of freedom internal to the robot and its wheels.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
29/88
19
Figure 3.3 The global reference frame and the robot local reference frame.In order to specify the position of the robot on the plane a relationship between the global
reference frame of the plane and the local reference frame of the robot is established, as in figure
3.3. The axes and define an arbitrary inertial basis on the plane as the global referenceframe from some origin . To specify the position of the robot, choose a point P on therobot chassis as its position reference point. The basis defines two axes relative to P on the robot
chassis and is thus the robots local reference frame. The position ofP in the global reference
frame is specified by coordinatesx andy, and the angular difference between the global and local
reference frames is given by. We can describe the pose of the robot as a vector with these threeelements. Note the use of the subscriptIto clarify the basis of this pose as the global reference
frame:
(3.1)
To describe robot motion in terms of component motions, it will be necessary to map motion
along the axes of the global reference frame to motion along the axes of the robots local
reference frame. Of course, the mapping is a function of the current pose of the robot. This
mapping is accomplished using the orthogonal rotation matrix:
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
30/88
20
! !"# $%!"# ! $$ $ & (3.2)
Figure 3.4The mobile robot aligned with a global axis.This matrix can be used to map motion in the global reference frame to motion in termsof the local reference frame ' ' . This operation is denoted by because thecomputation of this operation depends on the value of
:
'( )*+ ( (3.3)
Figure 3.5 A differential-drive robot in its global reference frame.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
31/88
21
3.2.1.2 Kinematic ModelingDifferential driven Mobile robot is a self contained autonomous entity, which can move wholly
with respect to its environment. Due to the entire body motion, it becomes difficult to estimate
the robots position, and there is no direct way of doing it , instead one much integrate the
motion of robot with respect to time by considering few other variables like the wheel slippage,
wheel misalignment etc, which makes motion estimation a challenging problem. To tackle this
problem we have to start bottom-up, we need to model the motion of wheels attached to the
motors. If we consider each wheel on the robot as a separate entity that when worked in alliance,
results in motion of entire robot body. So it is imperative to get a clear model of wheels and its
constraints on robots mobility in kinematic modeling we will describe the robot as a function of
its geometry and individual wheel behavior.
3.2.2 Differential Steering System KinematicsThe following paragraphs gives more details about differential steering technique as it is the
method applied to steer.This simple and reliable wheel-based propulsion system is commonly used in smaller robots. It is
familiar from ordinary life because it is essentially the same system that is used in a wheelchair,
two wheels mounted on a single axis are independently powered and controlled, thus providing
both drive and steering functions. The equations in this subsection provide an elementary model
for the differentially steered drive system (which is often called a differential steering system).
This model can be used to predict how a robot equipped with such a system will respond to
changes in its wheel speed and what path it will follow under various conditions.
If both drive wheels turn in tandem, the robot moves in a straight line. If one wheel rotates faster
than the other, the robot follows a curved path inward toward the slower wheel. If the wheels
turn at equal speed, but in opposite directions, the robot pivots. Thus, steering the robot is just a
matter of varying the speeds of the drive wheels.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
32/88
22
Figure 3.6 Differential steeringReferring to Figure 3.7, these relations are found:
,- .
,' . / 0
,1 . / 0 23 where ,- ,'give the displacement (distance traveled) for the left and right wheels respectively,.is the turn radius for the inner (left) wheel, 0 is the distance between wheels (from center-to-center along the length of the axle), and is the angle of the turn in radians.,1 is the speed at thecenter point on the main axle. In later discussion, the axle's center point will be treated as the
origin of the simulated robot's frame of reference.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
33/88
23
Figure 3.7 Differential steering relationsNow the simple geometry for the differential steering system, it is easy to develop algorithms for
controlling the robot's path. Note, though, that we did make an important simplifying
assumption: the wheels maintain a steady velocity. We neglected the effects of acceleration. If
the wheels are allowed to accelerate, the curve which describes the robot's trajectory can become
much more complicated. When working with very light robots, where the mass (and inertia) of
the platform is small, we can often get away with treating changes in speed as nearly
instantaneous. The path that the robot follows will not be truly circular, but it will be close
enough for many applications. For larger and heavier robots, mass is important and acceleration
must be considered.
3.3 ManipulationA manipulatorconsists of a robot arm, and the gripperor end effectorat the end of the arm. The
term can also refer to a remotely controlled robot. Some of the terms related to manipulators are
defined next [3].
3.3.1 Definitions3.3.1.1 Degrees of Freedom (DOF)
The degree of freedom, or DOF, is a very important term to understand. Each degree
of freedom is a joint on the arm, a place where it can bend or rotate or translate. You
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
34/88
24
can typically identify the number of degrees of freedom by the number of actuators on
the robot arm.
3.3.1.2 Denavit-Hartenberg (DH) ConventionThe Robot Arm Free Body Diagram (FBD)
The Denavit-Hartenberg (DH) Convention is the accepted method of drawing robot
arms in FBD's. There are only two motions a joint could make: translate and rotate.
There are only three axes this could happen on: x, y, and z (out of plane). Note that
the DOF on the gripper (otherwise known as the end effector) are not counted. The
gripper is often complex with multiple DOF, so for simplicity it is treated as separate
in basic robot arm design.
Figure 3.8 A 4 DOF Robot Arm, three are out of plane and FBD for the human arm
Also note that a DOF has its limitations, known as the configuration space. Not all joints can
swivel 360 degrees. A joint has some max angle restriction. For example, no human joint can
rotate more than about 200 degrees. Limitations could be from wire wrapping, actuator
capabilities, servo max angle, etc. It is a good idea to label each link length and joint max angle
on the FBD.
3.3.1.3 Robot WorkspaceThe robot workspace (sometimes known as reachable space) is all places that the end
effector (gripper) can reach. The workspace is dependent on the DOF
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
35/88
25
angle/translation limitations, the arm link lengths, the angle at which something must
be picked up at, etc. The workspace is highly dependent on the robot configuration.
Lets take the 3 DOF configuration2 because it is simple, yet isnt limiting in ability.
Figure 3.9 A 3 DOF manipulatorNow lets assume that all joints rotate a maximum of 180 degrees, because most servo
motors cannot exceed that amount. To determine the workspace, trace all locations that
the end effector can reach as in the image below.
Figure 3.10work spaceNow rotating that by the base joint another 180 degrees to get 3D, we have this workspace
image. Remember that because it uses servos, all joints are limited to a max of 180 degrees. This
creates a workspace of a shelled semi-sphere.
2 has a manipulator similar to this one.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
36/88
26
Figure 3.11 Shelled semi-sphere.If the link lengths are changed you can get very different sizes of workspaces, but this would bethe general shape. Any location outside of this space is a location the arm cant reach. If there are
objects in the way of the arm, the workspace can get even more complicated.
3.3.1.4 Mobile ManipulatorsA moving robot with a robot arm is a sub-class of robotic arms. They work just like other robotic
arms, but the DOF of the vehicle is added to the DOF of the arm. If say you have a differential
drive robot (2 DOF) with a robot arm (5 DOF) attached that would give the robot arm a total sum
of 7 DOF.
Figure 3.12 Mobile robot with manipulator
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
37/88
27
3.3.2 Manipulator StaticsStatics is the branch of mechanics concerned with the analysis of loads (force, torque/moment)
on physical systems in static equilibrium, that is, in a state where the relative positions of
subsystems do not vary over time, or where components and structures are at a constant velocity.
When in static equilibrium, the system is either at rest, or its center of mass moves at constant
velocity. The study of moving bodies is known as dynamics.
The point of doing force calculations is for motor selection. Attention must be paid to assure that
the motor chosen can not only support the weight of the robot arm, but also what the robot arm
will carry.
Torque T is defined as a turning or twisting force and is calculated using the following relation:
4 5 6 7The force F acts at a length L from a pivot point. In a vertical plane, the force acting on an object
(causing it to fall) is the acceleration due to gravity (g = 9.81m/s 2) multiplied by its mass:
5 8 6 9The force above is also considered the object's weight (W).
: 8 6 9The torque required to hold a mass at a given distance from a pivot is therefore:
4 8 6 9 6 7This can be found similarly by doing a torque balance about a point. Note that the length L is the
perpendicular length from the pivot to the force.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
38/88
28
Figure 3.13 Torque required to hold a mass.;4 $ 5 6 7 %4
Therefore, replacing F with8 69, we find the same equation above. This method is the moreaccurate way to find torque (using a torque balance).
8 6 9 6 7 4(
7>being zero). Since the equation for torque is length (or distance)
multiplied by the force, the greatest value will be obtained using7=, since F does not change.You can similarly rotate the link counterclockwise and observe the same effect.
It can be safe to assume that the actuators in the arm will be subjected to the highest torque when
the arm is stretched horizontally. Although the robot may never be designed to encounter
this scenario, it should not fail under its own weight if stretched horizontally without a load.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
39/88
29
The weight of the object (the load) being held (>in the figure), multiplied by the distancebetween its center of mass and the pivot gives the torque required at the pivot. It should be taken
into consideration that the links may have a significant weight (:>,:,...) and assumes its centerof mass is located at roughly the center of its length. The torques caused by these different
masses must be added:
4> 7> 6 > / 27> 6 :>
Note that the actuator weight as shown in the diagram below is not included whencalculating the torque at that point. This is because the length between its center of mass and the
pivot point is zero. Similarly, when calculating the torque required by the actuator=, its ownmass is not considered. The torque required at the second joint must be re-calculated with newlengths, as shown below:
Figure 3.15 The torque required at the second joint must be re-calculated4 7? 6 > / 7@ 6:> / 7= 6 / 7A 6:
Knowing that the link weight (
:>,
:) are located in the center (middle) of the lengths, and the
distance between actuators (7>and 7=as in the diagram above) the equations are re-written as:4 7> / 7= 6 > / > 7> / 7= 6:> / 7= 6 / > 7= 6 :
The tool only requires that the user enter the lengths of each link, which would be 7>and 7=
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
40/88
30
above so the equation is shown accordingly. The torques at each subsequent joint can be found
similarly, by re-calculating the lengths between each weight and each new pivot point.
Note: if any of the joints have two or more motors, they share the torque required evenly.
Because the base of the arm is subjected to the highest torque, often two actuators are used
instead of one.
3.3.3 Manipulator KinematicsForward Kinematics
Forward kinematics is the method for determining the orientation and position of the end
effector, given the joint angles and link lengths of the robot arm.
Inverse Kinematics
Inverse kinematics is the opposite of forward kinematics. This is when the desired end effector
position is known, but need to know the joint angles required to achieve it.
What makes inverse kinematics so hard? Well, other than the fact that it involves non-linear
simultaneous equations, there are other reasons too.
First, there is the very likely possibility of multiple, sometimes infinite, number of solutions (as
shown in figure 3.16).
Figure 3.16 Multiple solutionsThere is the possibility of zero solutions. Maybe the location is outside the workspace, or maybe
the point within the workspace must be gripped at an impossible angle.
Singularities, a place of infinite acceleration, can blow up equations and/or leave motors lagging
behind (motors cant achieve infinite acceleration).
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
41/88
31
4 Chapter Four
Design and Implementation
This chapter presents the selections made for locomotion and wheels configuration.Mechanical design issues are also explained and detailed CAD drawings with actual dimensions
are shown. The electronic devices that control the behavior of are presented in detailsnext. The last section describes the C program installed to the microcontroller flash memory and
illustrates the algorithm that the system follows to accomplish its mission.
4.1
Design
4.1.1 LocomotionWheels are used as the locomotion mechanism that enables to move unboundedaround its work space. Wheeled mobile robots can achieve very good efficiencies if the power
used to move the unit is considered and does so with a relatively simple mechanical
implementation.
4.1.1.1 Wheel configurationTwo independently driven standard wheels in the rear and one unpowered castor wheel in the
front constitute the wheel arrangement of.As stated before the standard wheel and the castor wheel have a primary axis of rotation and are
thus highly directional.
Stability
Conventionally, static stability requires a minimum of three wheels, with the additional caveat
that the center of gravity must be contained within the triangle formed by the ground contact
points of the wheels.
Maneuverability
In two-wheel differential-drive robot, the two wheels rotate around the center point of the robot.
One or two additional ground contact points may be used for stability, based on the application
specifics.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
42/88
32
Controllability
The two rear wheels enable the unit to steer differentially if the angular velocities of the
motorized wheels are different. The castor wheel in the front adds one more contact point to
assure stability.
In a differential-drive robot, the two motors attached to the two wheels must be driven along
exactly the same velocity profile, which can be challenging considering variations between
wheels, motors, and environmental differences.
4.1.1.2 Motion Operators [7]From the previous Sections, it should be clear that a mobile robot cannot move instantaneously
in all directions, but that it is capable to reach all possible poses in a plane. The basic motion
operators for mobile robots are presented next.
Differentially-Driven Robots
Rotate: by applying opposite velocities to both wheels, a differentially-driven robot rotates
instantaneously about the midpoint of its wheel axle.
Drive: by applying equal velocities to both wheels, a differentially-driven robot moves along its
longitudinal axis.
4.1.2 Mechanical DesignThis section provides the mechanical details of platform, manipulator, container andmotors placement.
4.1.2.1 PlatformThe platform makes up the body of. As shown in figure 4.1 below, it is a wooden T-shaped member with external extensions and flanges for support and motors attachment. It also
holds the main electric circuit board and the manipulator base stepper motor.
Drive stepper motors are fastened on the side extensions and the wheels are connected directly
to the motors shafts. The castor wheel is fitted in the front at an appropriate distance from the
manipulator base to improve unit stability, since stability depends on the triangle formed by the
three contact points (two drive wheels and the castor). The platform shape also contributes to the
unit appeal.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
43/88
33
Figure 4.1platformdimensions are shown in figure 4.2. Dimensions are selected according to manymeasures. Since the rear wheels drive motor rotates in discrete steps, there is a step
that can take no steps smaller. The smaller the drive wheel diameter the shorter thisstep becomes. Referring to the differential steering equations derived earlier it was found that the
distance between the two wheels contributes directly to the arc length that the unit make while
steering. Once more because of the drive motors discrete steps, the length between the two
motors should be minimized as possible.
4.1.2.1 ManipulatorA three degree of freedom (3 DOF) manipulator is fixed on the platform. The manipulator has
one stepper motor at the base that adjusts the direction and two servo motors to change the end
effector position within the plane defined by the stepper position. Such a manipulator can
achieve a large work space enclosed within two hemispheres. Figure 4.3 shows links and the
joints position on the arm. The base link is 13 mm long and the larger link is 23 mm long. End
effector is formed as a bucket that can contain a small sample of the hazardous material and it is
connected to the actuator by a small rod.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
44/88
34
Figure 4.2
dimensions (in mm).
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
45/88
35
Figure 4.3 manipulatorAll manipulator parts are constructed from wooden pieces.
4.1.2.2 ContainerA container to hold the sample picked by the manipulator bucket is fitted in the back of the
platform.
Figure 4.4 container4.1.2.3 Wheels
Two standard wheels are linked to the rear motors shafts directly and their dimensions are shown
in figure 4.5.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
46/88
36
Figure 4.5 standard wheelAll the parts described are connected together and the finished
is shown in figure 4.6.
Figure 4.6
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
47/88
37
4.1.3 Electronics and Circuit DesignThe following sections depict the electrical and electronic devices utilized by toaccomplish its mission. The main parts are the microcontroller unit, stepper motors, servo
motors, motors interface (Darlington transistor arrays) and operator interface (Hex keypad).
4.1.3.1 Microcontroller UnitThe microcontroller is the most important part of the whole system. Its function is to receive
inputs from operator and provide the necessary signals for the actuators operation. hasone Atmel AVR ATmega32L as its intelligence unit. ATmega32L is a high performance, low
power 8-bit microcontroller. In addition to the basic tasks of every microprocessor, it has a
number of supporting modules which make it ideal for robots application. Some of the
ATmega32L features used by
are:
32 Programmable I/O Lines
One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture
Mode
Four PWM Channels
Internal Calibrated RC Oscillator
Figure 4.7 ATmega32L pin configuration
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
48/88
38
4.1.3.2 Drive motorsTwo stepper motors are used to drive the two rear active wheels of. As mentionedearlier, stepper motors provide considerable advantage over typical DC motors specially when
operating under a micro-controller. Many measures alter the motor selection for the mobile
robot. Estimated robot weight, number of active wheels, maximum incline and maximum
velocity are the major criteria that determines the motor torque, current (power) requirements
and rated voltage. Other measures are static and rolling friction between the wheels and the
ground.
The force applied to the wheel is always tangent to the wheel. The required torque to move a
mobile robot is the force times the radius of the wheel. This torque is afforded by both motors.
The stepper motor model selected is PM55L-048 by Minebea its specifications are shown in
figure 4.8 and dimensions are shown in figure 4.9.
Figure 4.8 PM55L-048 specifications
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
49/88
39
Figure 4.9 PM55L-048 dimensions4.1.3.3 Manipulator Motors manipulator has 3 DOF which requires three motors; the base motor is a stepper with
the first linkage attached to its shaft. Accuracy is not a key issue for this motor operation, thus a
stepper motor is acceptable.
Manipulator base motor model is PM35L-048 also by Minebea and its specifications are shown
in figure 4.10 below and dimensions in figure 4.11.
Figure 4.10 PM35L-048 specifications
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
50/88
40
Figure 4.11PM35L-048 dimensions
The two other motors are servo motors with a B$C maximum rotation. Servo motors havefeedback sensors which provide a great accuracy for the manipulator function.To calculate the torques required for servo motors selections the equations described earlier in
the manipulator statics are used. The torque calculations are done below:
Figure 4.12 manipulator FBDAll torque calculations are worked out at the worst case (
> D$E
B$E)
The wooden linkages are assumed to be homogenous and have their center of mass at their
geometrical centers.
Maximum torque 4> at joint 1 (first servo motor required torque) is given by:
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
51/88
41
4> 27 6 / 7 6:Where:
: second link weight:: bucket weight + load weightMaximum torque 4 at joint 2 (second servo motor required torque) is given by:
4 7= 6:Where:
=: bucket rod length:: bucket weight + load weightServo motors selected arestandard servo (#900-00005) by Parallax. Its technical features are:
Power 6vdc max
Speed 0 deg to 180 deg in 1.5 seconds on average
Weight 45.0 grams/1.59oz
Torque 3.40 kg-cm / 47oz-in
Size in mm (L x W x H) 40.5x20.0x38.0
Figure 4.13 Parallax standard servo (#900-00005)
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
52/88
42
4.1.3.4 Circuit DesignThe circuit simply consists of the microcontroller unit, three ULN2803 ICs for stepper motors
interfacing and the keypad with its pull-up resistors.
One port (PORT C) is set aside for the drive stepper motors. Signals are generated by the MCU
in the proper sequence and they are passed to the ULN2803 input channels. Stepper motors coils
are connected to the ULN2803 output channels and their common wire is connected directly to a
18 V power source. ULN2803 connects the output channel with ground when a high level
voltage is applied to the adjacent input channel, thus a voltage difference is presented across a
coil when the input channel is set to high voltage.
The manipulator stepper motor is assigned to PORTA and its coils are activated by the MCU
through a ULN2803 as described above.
Servo motors control wires are connected directly to the two PWM signal channels in PORTD
and their power wires are connected to a 5.5 V power supply.
PORTB is divided into two parts, the four most significant pins are initialized as an input port
and the four least significant pins are initialized as an output port. Keypad columns are connected
to the higher pins and rows are connected to the lower pins. Four pull-up resistors are connected
between the columns and
FGG.
A push-button is attached to the reset pin and many LEDs are used to show motors status.
A complete circuit schematic is given in appendix A.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
53/88
4.1.4The syst
coordina
global fr
it to ano
robot is
Equation
the rotati
here exte
From the
Softwareem main t
tes and to h
is suppos
ame origin)
ther given
upposed to
s that allow
on angle an
nsively.
given pile
Designo objectiv
ndle materi
ed to mov
to given co
oordinates
forward to t
the transfo
d the distan
oordinates
Figure 4.14
es are to n
als in powd
from kno
rdinates in
in the glob
he global fr
rmation fro
ce to destin
H H ,
Circuit Archi
avigate aro
r form with
n coordin
the global f
al frame
me origin
global to
tion were
new
ecture
und its wo
a 3 DOF m
tes (these
rame H H
I I to de
here the op
local frame
erived in c
orientation i
"
!
"
!
"
!
rk space an
anipulator.
oordinates
to pick the
posit the m
erator is wai
with the re
apter four
is calculated
d reach de
are taken a
sample and
aterial. The
ting.
ations that
nd they are
as follow:
#$%
&
"%$%
43
fined
s the
take
n the
gives
used
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
54/88
44
JKLM> 3
Figure 4.15 takes an orientation toward destinationThe arc length that the wheels need to travel to attain the new orientation is given by
, 7 6 Where:
7: half distance between the two wheels angle in radiansThe distance between current coordinates $$ and destination coordinates is given by:
NH / H
Figure 4.16 moves forward to destination
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
55/88
45
The rotation that the robot should take to be oriented toward the deposit site coordinates is found
as follow:
' I % H OPQH / I % H QRLH' I % H QRLST/I % H OPQH
JKLM> ' '3 Distance from pile to deposit site is:
UI % H/I % HThe above equations are the equations that the program uses to calculate necessary orientation
angles and distances. The movement from deposit site to operator site (global frame origin) is
done in a similar way and the figures below illustrate this.
Figure 4.17 rotates toward deposit site
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
56/88
46
Figure 4.18 moves forward to deposit site
Figure 4.19 rotates toward the origin
Figure 4.20 moves to origin
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
57/88
47
Figure 4.21 takes an orientation in the positive x-direction
A C program code is written to microcontroller flash memory to define its operation. CodeVision
AVR C Compiler was used to write, debug and compile the code and transfer it to the
microcontroller. The entire code is given in appendix B and it mainly consists of functions that
are called repeatedly, these functions are explained next.
Function key_scan takes no parameters and its purpose is to:
1 Set all row pins except one to low level. This is done 16 times to scan all keys
2 Read all column pins.
3 If the read value equals the one in the lookup_table then this key is pressed
int key_scan(void)
{
int lookup_table[] = {0xD7, 0xEE, 0xDE, 0xBE, 0xED, 0xDD, 0xBD, 0xEB, 0xDB, 0xBB, 0x7E, 0x7D, 0x7B,
0x77, 0xE7, 0xB7};
int i=0;
int key=16;
int readback;
int found=0;
while((i < 16) && (found == 0))
{
PORTB = lookup_table[i];
delay_us(500); // adjust this delay to debounce
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
58/88
48
readback = PINB;
if(readback == lookup_table[i])
{
key = i;
found = 1;
}
else
i=i+1;
}
return key;
}
Function get_key calls function key_scan and enters an infinite loop until a key is pressed
(key_scan returns a value).
int get_key(void)
{
int key;
do
{
key = key_scan( );
} while(key == 16);
return key;
}Function wait_for_keyup makes sure that the pressed key is not mistakenly read more the once.
It does so by waiting for the user to release the key before any other actions can take place.
void wait_for_keyup(void)
{ while(key_scan( ) != 16)
{
}
}
Function rotate_steer_cw takes two parameters; the number of steps necessary to steer the robot
a calculated angle in a clockwise direction and the delay period between each step and the other
in milliseconds.
Void rotate_steer_cw(int no_of_steps, int delay_period)
{
while (no_of_steps>0)
{
PORTC=0x3c;
delay_ms(delay_period);
no_of_steps--;
if (no_of_steps>0)
{
PORTC=0x66;
delay_ms(delay_period);
no_of_steps--;
}
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
59/88
49
if (no_of_steps>0)
{
PORTC=0xc3;
delay_ms(delay_period);
no_of_steps--;
}
if (no_of_steps>0)
{
PORTC=0x99;
delay_ms(delay_period);
no_of_steps--;
}
}
}
Function rotate_manip_cw also takes two parameters; one identifies the number of steps for the
manipulator base stepper motor to travel and the delay period between steps.
void rotate_manip_cw(int no_of_steps,int delay_period)
{ while(no_of_steps>0)
{
PORTA=0x03;
delay_ms(delay_period);
no_of_steps--;
if (no_of_steps>0)
{
PORTA=0x06;
delay_ms(delay_period);
no_of_steps--;
}
if (no_of_steps>0)
{
PORTA=0x0c;
delay_ms(delay_period);
no_of_steps--;
}
if (no_of_steps>0)
{
PORTA=0x09;
delay_ms(delay_period);
no_of_steps--;
}
}
}Function servo_OCR1 converts the desired angle for the servo motor into the value to be written
in the OCR1 register which is the control register responsible for the PWM signal duty cycle.
int servo_OCR1(int phi)
{
int servo;
servo=(2.222*phi)+100;
return servo;
}
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
60/88
50
The functions described above are just some of the functions in the code but all other functions
have similar action with slight differences. All function names are meaningful and designate
their tasks.
Function main is executed repeatedly and calls the supporting functions to carry out the complete
mission and its scenario is as follow:
1 Initialize the manipulator servo motors so that the manipulator bucket is high enough
from the ground to allow the unit to move.
2 Get user inputs in the subsequent manner:
Get the hazardous material pile center x-coordinate in five digits (one for sign and
four for magnitude).
Calculate the hazardous material pile center x-coordinate and adjust its sign.
Get the hazardous material pile center y-coordinate in four digits (one for sign and
four for magnitude).
Calculate the hazardous material pile center y-coordinate and adjust its sign.
Get the deposit site center x-coordinate in five digits (one for sign and four for
magnitude).
Calculate the deposit site center x-coordinate and adjust its sign.
Get the deposit site center y-coordinate in five digits (one for sign and four for
magnitude).
Calculate the deposit site center y-coordinate and adjust its sign.
Get the delay periods between steps for drive wheels stepper motors in four digits.
Calculate the delay periods between steps for drive wheels stepper motors.
3 Transform the pile center coordinates which are given with reference to the global frame
to the local frame with reference to the current robot position and orientation.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
61/88
51
4 Identify the local frame quarter and steer the proper number of degrees towardthe new position.
5 From the destination and current coordinates calculate the distance for tomove and energize the wheels motors the required number of steps.
6 Set the new position coordinates as the current coordinates.
7 Start the manipulator action by swiveling the two servo motor for the appropriate angles
so that the bucket is in touch with the ground.
8 Move forward toward the pile.9 Turn the two servo motors again to lift the bucket and pick a sample from the pile.
10 Activate the manipulator base stepper motor to align the bucket right up the container.
11 Turn the manipulator servo motors in a predefined routine to load the sample into the
container.
12 The manipulator base stepper motor is energized again to return the manipulator to its
regular situation.
13 Calculate the local frame coordinates for the deposit site with reference to the current
position.
14 Steer toward the deposit site and move forward to it.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
62/88
52
5 Chapter Five
Results Discussion
was tested for different user inputs to cover the entire work space that the system issupposed to work on. As mentioned earlier the operator enters a four digits spatial coordinates in
millimeters, thus the larger work space that can work within is a $ 6 $ meterssquare shaped region where is located at the square center.Two parameters determines performance; its ability to reach destinations withacceptable accuracies and its manipulator capability to pick samples.
5.1 Locomotion and Navigation PerformanceThe ability to reach specific coordinates depends on two operations, the steering operation and
the driving operation.
Steering was tested for large number of rotation degrees and the results were satisfying. In the
worst case failed to take the right orientation byVWXYE.Forward driving process was also tested for different distances. When
was ordered to
move distances less than four meters, the errors were negligible (about 8-10 mm). But when
larger distances are entered noticeable inaccuracies occurs. These errors were due to wheels
skidding and slippage and they depend on the floor material. Reducing the unit speed decreased
those errors significantly, but this directly affects the system efficiency.
As chapter two suggests, using optical encoders to sense the stepper motors rotations will
eliminate these errors as long as the robot is on flat surfaces.
5.2 Manipulation PerformanceManipulator function was tested also and excellent outcomes were observed.
Manipulator base stepper motor misses at most one step while turning, this is because the stepper
motor usually needs to correct its shaft position by taking one step in the reverse direction since
the microcontroller always assumes that the shaft is at the first position even if it doesnt
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
63/88
53
complete a full four steps the last time it was turned. This error in manipulator stepper motor is
acceptable as this motor function doesnt require great accuracy.
Servo motors performance was very good when tested. They always achieve the desired angular
rotation with a satisfactory speed. Speed was even reduced by moving the motor shaft from one
position to another in discrete increments, thus the sample in the bucket was guaranteed to be
inside it during the manipulator operation and it was loaded gently in the container.
This servo motors performance was expected since they have built-in feedback sensors to sense
their shafts position. The use of these sensors along with PID controllers eliminates errors. This
was anticipated because servo motors are much more expensive than stepper motors.
8/4/2019 Autonomous Hazardous Materials Handling Mobile Robot
64/88
54
6 Chapter Six