Autonomous Hazardous Materials Handling Mobile Robot

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