Mech3460 Robotics 11 12

Embed Size (px)

DESCRIPTION

nnnnnnnnnnnnnnnnn

Citation preview

  • 1

    MECH3460, PART I

    ROBOTICS

    School of Mechanical Engineering

    Dr. A. Dehghani

    Room no. 448

    [email protected]

    ROBOTICS AND

    MACHINE INTELLIGENC E

  • 2

  • 3

    SCHOOL OF MECHANICAL ENGINEERING

    MECH3460 ROBOTICS AND MACHINE INTELLIGENCE

    PART I

    ROBOTICS

    MODULE INFORMATION

    Module Specification

    Programme of study:

    Compulsory: BEng/MEng Mechatronics and Robotics, Level 3

    Number of credits: 20 (Part I and II)

    Semester in which taught: 1 and 2

    Timetabled teaching sessions: 22 fifty minute lecture periods in the first semester (Part I)

    Form of assessment: Each part of the module has 50% (20% final exam and 30% course work)

    Module lecturer: Dr. A. Dehghani, Room 448, [email protected]

  • 4

    CONTENTS

    INDUSTRIAL ROBOT MANIPULATORS

    1. Introduction 8 1.1 Robotics: a definition

    1.2 History

    1.3 The parts of a robot manipulator system

    1.4 Robot manipulator classification

    1.5 Industrial, economic and social impact of robots.

    2. Kinematics 13 2.1 Definitions

    2.2 Transformations

    2.3 Properties of transformation matrices

    2.4 Forward kinematics

    2.5 Matlab and the robotics toolbox

    2.6 Inverse kinematics

    3. Design 28 3.1 Actuators

    3.2 Internal state sensors

    3.3 External state sensors

    3.4 End effectors

    3.5 Mechanical arrangement and specification: PUMA 500 series

    4. Dynamics and control 37 4.1 Inverse Dynamics

    4.2 Forward Dynamics

    4.3 Control

    5. Programming 46 5.1 Introduction

    5.2 Drive-through teaching

    5.3 Programming using the VAL II language

    5.4 VAL II trajectory generation

    5.5 Trajectory calculation

    EMERGING ROBOTIC TECHNOLOGY AND APPLICATIONS

    6. Vision systems 55 6.1 Introduction

    6.2 Vision Hardware

    6.3 Image processing

    6.4 Object recognition

  • 5

    7. Advanced robotic applications 65 7.1 Introduction

    7.2 Examples of selected robot systems

    8. Mobile robots 66 8.1 Introduction

    8.2 Space Robotics: planetary rovers

    8.3 Characteristic functions of mobile robots.

    Appendix A

    Matrix review 76

    Appendix B

    Formula sheets 84

  • 6

    MODULE AIMS AND OBJECTIVES

    Aim: to provide an understanding of robot analysis and technology, including the study of robot manipulators currently

    used in manufacturing industry, and an introduction to other applications for robotics (space, medical etc.)

    At the end of this part of the module you should be able to :

    describe the different mechanical configurations for robot manipulators

    choose robot actuator and sensor technology appropriate for a given application

    undertake kinematic analysis of robot manipulators

    understand robot programming concepts

    analyze the dynamics of planar manipulators

    design, in concept, robot control systems

    understand basic concepts in machine vision

    describe the social and economic impact of industrial robotics

    appreciate the current state and potential for robotics in new application areas (e.g. medical)

    Books

    No books are essential for this course. However the following books are recommended:

    1. K S Fu, R C Gonzalez & C S G Lee Robotics. McGraw-Hill, 1987.

    2. RP Paul Robot Manipulators MIT Press, 1981

    3. R D Klafter, T A Chmielewski, M Negin Robotic Engineering: An integrated approach Prentice-Hall, 1989

    4. J J Craig Introduction to Robotics Addison-Wesley, 1986.

    5. F N-Nagy & A Siegler, Engineering Foundations of Robotics. Prentice-Hall, 1987.

    6. M C Fairhurst, Computer Vision for Robotic Systems. Prentice-Hall, 1988.

    7. S B Niku, Introduction to Robotics, Analysis, Systems, Applications, Prentice Hall, 2001.

    These texts are referred to in the handouts as [1], [2] etc.

  • 7

    Planned content of teaching sessions

    Week Session theme

    1 Introduction

    Kinematics

    2 Kinematics

    Kinematics

    3 Kinematics

    Example Class

    4 Design

    Design

    5 Dynamics

    Dynamics

    6 Examples Class

    Control

    7 Control

    Vision systems

    8 Mobile robots

    Mobile robotics: localization

    9 Examples Class

    Navigation

    10 Example Class

    Autonomous robots

    11 Advanced robot applications

    Examples Class

  • 8

    1. INTRODUCTION

    1.1 Robotics: a definition

    What is a robot?

    One dictionary definition of a robot is:

    An automatic apparatus or device that performs functions ordinarily ascribed to humans or operates

    with what appears to be almost human intelligence.

    The Robot Industries Association (RIA) in the USA uses a more restrictive definition:

    A robot is a reprogrammable, multifunctional manipulator designed to move material, parts, tools, or

    specialised devices through variable programmed motions for the performance of a variety of tasks.

    Defining a robot is tricky, but the key features are that it should be adaptable to a variety of tasks, and be able to operate

    with a degree of autonomy, i.e. without constant human supervision. Both these features suggest a robot should have a

    programmable memory, so that it can be reprogrammed for different tasks, and operate according to the stored

    programme rather than direct human control. The adaptability also implies that the mechanical configuration cannot be

    too specialised for a particular function. The main problem with most definitions is how to interpret "a variety of tasks";

    how wide a range of tasks is required before a machine becomes a robot?

    The origin of a word

    The word robot was first used by the Czech writer Karel Capek in a play entitled in 1921.

    -working humanoid machines. The word derives from robota, the Czech word for slave

    labourer.

    The term robotics, meaning the technical field encompassing robot technology, was first used by Isaac Asimov in 1942

    in a short story entitled Runaround.

    Examples of robots

    There are two main types of robots:

    Robot manipulators: jointed robot arms which are now quite common in manufacturing industry. This type of robot has had a significant impact and is by far the most important industrially and economically.

    Mobile robots: vehicles capable of autonomous motion.

    Of course some devices come into both categories, i.e. a mobile robot which carries a manipulator.

    Table 1.1 lists examples of robots and robot-like devices

    Table 1.1 Robot examples

    Robot

    (Fulfills all usual criteria)

    "Near-relation"

    (Has some robot-like features)

  • 9

    1.2 History

    1.3 The parts of a robot manipulator system

    The manipulator

    The manipulator is the mechanical arm, containing actuators, sensors and structural components. The number of degrees-

    of-freedom (DOF) of the manipulator is the number of independent position variables which would have to be specified

    to locate all parts of the mechanism. Six DOF manipulators are common, as when appropriately designed, they allow

    independent control of all three linear displacements (XYZ) and all three angular displacements.

  • 10

    The manipulator can usually be divided into two elements (see Figure 1.1): the arm, designed to provide linear position

    control within the working envelope (usually 3 DOF), and the wrist, attached to the end of the arm and providing angular

    position control (again, usually 3 DOF).

    The end-effector

    The end-effector is the robot hand, i.e. a gripper or other device attached to the moving end of the manipulator. There is a

    great variety of gripper designs, with varying degrees of adaptability to handling different workpieces. Alternatively the

    end-effector may be a specific tool, such as a paint sprayer or a welding torch.

    The controller

    The controller is usually a dedicated robot control computer system, with VDU, disk and printing facilities, allowing

    efficient creation of robot control programs. A teach pendant is often included; this is a small hand-held keyboard in

    which each key moves the robot in a particular way.

    The controller cabinet often contains the power conversion unit for the robot, i.e. power supply and amplifiers for the

    electric motors in an electrically driven manipulator. A separate power conversion unit would be used for hydraulic or

    pneumatically actuated manipulators, containing a hydraulic pump or pneumatic compressor as appropriate (Figure 1.2).

    External sensing system

    Sometimes additional sensing systems are used to help monitor and control the robot; these would be interfaced to the

    robot controller. For example a vision system might be used.

    1.4 Robot manipulator classification

    Industrial robots can be classified in a number of ways. These classifications try to place a particular robot into a

    category or group whereby it can be compared with like robots in the same group. Robots are commonly grouped by

    consideration of the following characteristics: configuration, control method, actuator type, application.

    Configuration

    This is the most established form of classification of a robot system. Under this characteristic robot manipulators are

    grouped according to their physical design or geometrical structure, which is known as their configuration. Manipulators

    can have serial links or parallel links; a serial manipulator, with a sequence of links attached one after the other by joints

    like a human arm, is almost universal in current industrial practice. Each joint is either revolute (rotary) or prismatic

    (sliding). If the end-effector (e.g. gripper) of the robot is to be positioned anywhere in three dimensional space, then at

    least three joints are required in the robot arm. The combination of revolute and prismatic joints chosen for the three

    joints in the arm dictates the configuration; there are five common configurations in industrial use (Figure 1.3):

    Cartesian or rectangular configuration (prismatic-prismatic-prismatic)

    Cartesian configuration provides movements in X, Y and Z axes, as those provided by a milling machine. It is also called

    rectangular since it covers a three-dimensional rectangular volume. Some of the advantages of this configuration are:

    Easily controlled/programmed movements. High accuracy.

    Inherently stiff structure. Large payload capacity.

    This configuration is applicable in those areas where linear movement and high accuracy are demanded, such as

    manipulation of components through apertures, or pick-and-place applications where the workplace is essentially flat.

    Cylindrical configuration (revolute-prismatic-prismatic)

    The movements in this configuration are rotation about the base and linear travel in the vertical and horizontal planes.

    Some of the advantages are:

    Easily controlled/programmed movements. Good accuracy.

    Structural simplicity, offering good reliability. Fast operation.

  • 11

    This configuration is applied in a radial workplace layout where the work is approached primarily in the horizontal plane

    - for example, small circular manufacturing cells.

    Polar or spherical configuration (revolute-revolute-prismatic)

    This configuration combines rotational movement in both vertical and horizontal planes with a single linear (in/out)

    movement of the arm. It presents the following advantages:

    Easily controlled/programmed movements. Large payload capacity.

    Fast operation. Accuracy and repeatability at a long reach.

    It is suited to lifting and shifting applications which do not require sophisticated path movements to be traced.

    Jointed or articulated or revolute configuration. (revolute-revolute-revolute)

    Jointed configuration consists of a number of rigid arms connected by rotary joints. In addition, the whole structure has a

    rotary movement arou

    of a human body. Some of the advantages of this configuration are:

    Extremely good maneuverability. Ability to reach over obstructions.

    Large reach for small floor area. Fast operation due to rotary joints, but less accuracy.

    SCARA configuration. (prismatic-revolute-revolute)

    Selective Compliance Assembly Robot Arm (SCARA) configuration is a combination of the cylindrical and the jointed

    configuration operating in the horizontal plane. Links connected by rotary joints provide movement in the horizontal

    plane, while vertical movement is provided at the base of the arm. (or sometimes at the end-effector). Advantages of this

    configuration include:

    Extremely good manoeuvrability. Fast operation.

    Relatively high payload capacity. High accuracy.

    This configuration was developed for assembly-type operations.

    Figure 1.4 shows some specific examples of a variety of manipulator configurations.

    Control method

    Many industrial manipulators are servo-controlled. Thus each joint actuator is operated under closed-loop control,

    allowing the joint to be positioned accurately anywhere within its range of movement; also the velocity and acceleration

    of the joint can be controlled as required. A dedicated computer system with its own robot programming language will be

    used to control the robot. Servo-controlled robots will be the main subject of this course.

    At the cheaper, less sophisticated, end of the market are pick-and-place or bang-bang robots. These have non servo-

    controlled actuators which will only stop moving when they reach a mechanical end-stop; hence each actuator will only

    be stationary at one or other ends of its stroke. Also the velocity and acceleration is not controlled during motion. This

    type of robot is controlled by a sequencer (e.g. a programmable logic controller, PLC) which operates the joints in the

    setting up the sequencer and altering the end-stop positions.

    1.5 Industrial, economic and social impact of robots

    Robot manipulators have the potential to remove the need for people to perform many dangerous, dirty or difficult tasks

    within industry, particularly in the manufacturing sector. They can also:

    ty, which may reduce costs.

    improve repeatability and hence quality in manufacturing operations.

    relieve human operators of boring repetitive tasks.

  • 12

    However, apart from in the automotive sector, the take up of robot technology has been slow, particularly in the UK. This

    has been due to the large capital investment required, and concerns over reliability of high technology, and adaptability to

    product changes. The social impact has also been a concern in some quarters, as robots reduce the need for unskilled

    labour.

    The attached extract from the Computing and Control Engineering Journal summarises the current industrial impact of

    robotics and predicts future trends. Further information can be found in the library (Edward Boyle, mainly Mechanical

    Engineering K-13), e.g. R D Klafter, T A Chmielewski, M Negin Robotic Engineering: An integrated approach, Sections

    1.6-1.9.

  • 13

    2. KINEMATICS

    2.1 Definitions

    Kinematics is the study of motion without regard to the forces which are required to produce that motion. It includes the

    study of position, velocity and acceleration (both linear and angular) of one point in a mechanism and how that inter-

    relates with the motion of other points. For a robot manipulator the two most important analytical problems are:

    the forward kinematics: this is the calculation of the linear position and orientation of the end-effector from the joint positions.

    the inverse kinematics: this is the calculation of the joint positions from the position and orientation of the end-effector.

    The inverse kinematics can be very complex for some manipulator configurations, but it is usually essential to be able to

    calculate the joint positions (i.e. angles for revolute joints) required to move the end-effector to a desired position and

    orientation.

    Careful definition of co-ordinate frames is very important in kinematic analyses. For example Figure 2.1 shows co-

    ordinate frames chosen to define the positions and orientations of the base of a robot {B}, its end-effector{E}, and a

    work surface {W}. The position of a component C on the work surface is specified by a vector defined in the work

    surface co-ordinate frame. It is important to realise the frame {E} is attached to the end-effector, i.e. it moves as the

    robot moves.

    2.2 Transformations

    In robot kinematic analysis, we need to be able to transform or map a vector specified in one co-ordinate frame to a

    vector which defines the same point but relative to another co-ordinate frame. For example in Figure 2.1, the vector

    defining C is given in the {W} frame; we would need to transform this into the robot base co-ordinate frame {B} to make

    a start on calculating how to move the end-effector to pick up the component. Figure 2.2 shows frames {B} and {W} in

    more detail. The vectors W

    C, BC and

    BWo are 3x1 column vectors; e.g. the vector

    BC that we need to calculate is given by:

    (2.1)

  • 14

    Pure translation

    Consider the situation shown in Figure 2.3, where frames {B} and {W} have the same orientation. The difference

    between the two frames is purely a translation, and BC can be calculated by vector addition:

    (2.2)

    Pure rotation

    Consider the situation shown in Figure 2.4, where frames {B} and {W} have the same origin position. The difference

    between the two frames is purely a rotation. BC can be found by taking the x, y and z components of

    WC in turn, and

    projecting them onto the {B} axes. Thus taking the x component first, W

    cx will in this example give W

    cx cosq when

    projected onto the XB axis, W

    cx sinq when projected onto the YB axis and zero when projected onto the ZB axis (see

    Figure 2.5); these three components are the transformation of W

    cx into the {B} frame. Transforming W

    cy and W

    cz into the

    {B} frame as well, and adding the results gives:

  • 15

    (2.3)

    These equations can be expressed in matrix form:

    (2.4)

    where (2.5)

    BRW is described as the rotation matrix for transforming from {W} to {B}. The element values depend on the relative

    orientation of the frames; the elements in equation (2.5) are only valid for this example i.e. where the difference between

    the frames is just due to a rotation about the Z axis. In general terms, the columns of the rotation matrix can be defined as

    the unit vectors i, j, k for frame {W} projected into frame {B}:

    (2.6)

    Example 2-1: Rotational transformation. See class notes.

  • 16

    Combined translation and rotation

    Returning to Figure 2.2, a transformation involving both translation and rotation can be performed by first expressing W

    C

    in a frame aligned with {B} but with origin at Wo, and then adding in the translation:

    (2.7)

    This whole transformation can be expressed in one matrix operation:

    (2.8)

    or (2.9)

    The matrix BTW is called the homogeneous transformation matrix, or simply the 4x4 transformation matrix, and plays

    a crucial role in robot kinematics. The 4x1 position vectors B W

    element simply to allow the

    transformation to be expressed as this single matrix multiplication. There is no accepted notation to differentiate 4x1

    from 3x1 position vectors: the context is sufficient to determine whether the additional "1" should be present.

    Example 2-2: Constructing and using a homogeneous transformation matrix. See class notes.

    2.3 Properties of transformation matrices

    Using transformation to move vectors

  • 17

    The homogeneous transformation matrix has been used to map a vector from one reference frame to another. The actual

    point to which the vector refers (C in the examples above) does not change position. However the transformation matrix

    can also be considered as an operator which moves objects, i.e. rotates and translates them to another position. For

    example in Figure 2.6 C1 is moved to C2.

    So the transformation matrix must calculate BC2 from

    BC1:

    (2.10)

    To construct T it is convenient to break down the movement into separate rotations and translations. In Figure 2.6 the

    first part of the movement is a rotation by angle q about the Z axis. A shorthand notation for the 4x4 transformation

    matrix which gives this rotation is ROT(Z, q ). Thus the intermediate vector formed by the rotation is given by:

    (2.11)

    The second part of the movement is a translation represented by vector D, and denoted TRANS(dx, dy, dz). Thus:

    (2.12)

    Hence from equation (2.10):

    Hence (2.13)

    The TRANS() and ROT() operators are given by:

    (2.14)

  • 18

    (2.15)

    (2.16)

    (2.17)

    Note that each rotation matrix is for clockwise rotation when looking in the direction of the axis about which rotation is

    taking place (thus q is negative for anticlockwise rotation).

    In this case equation (2.13) gives:

    (2.18)

    Using transformation to describe frames

    Just as transformation matrices can be used to move objects described by vectors, they can be used to move between

    frames in exactly the same way. Furthermore, the transformation required to move from frame {B} to frame {W} can be

    used as a description of the position and orientation of {W} relative to {B}. This is exactly the same transformation,BTW,

    as that needed to map a vector defined in frame {W} to frame {B}.

    To understand this, consider Figure 2.7, in which frame {W} is the same as frame {B} rotated about the Z axis and then

    translated. The matrix BTWB can be used to map

    W C2 to

    B C2 (equation 2.9):

    (2.19)

    However if in the figure vector B C1 is numerically identical to vector

    W C2 we can write:

    (2.20)

    Thus BTW moves C1 to C2 . Since

    B C1 and

    W C2 are actually the same vector, just in different frames, this movement must

    be the movement required to map {B} onto {W}, as postulated above.

  • 19

    Example 2-3: Transformation matrix to describe relative frame positions. See class notes.

    Summary of interpretations of transformation.

    Transformation matrix QTR can be used to change the frame in which the position of a point is

    defined:

    Transformation matrix T can be used to move a point or vector:

    Transformation matrix QTR describes the position and orientation of frame {R} relative to frame {Q}.

    Mathematical properties of transformation matrices

    Compound transformations

    In Figure 2.8 the vector W

    C may be known, but E C needs to be calculated. If the transformations representing the

    position and orientation of {W} relative to {B} and {B} relative to {E} are known, the following calculations can be

    performed:

    (2.21)

    (2.22)

  • 20

    or equations (2.21) and (2.22) can be combined to give:

    (2.23)

    Combining the transformations we can define:

    (2.24)

    Commutativity

    As expected in matrix multiplication, transformations are not commutative:

    (2.25)

    Inversion

    In Figure 2.8 we may know BTE rather than the

    ETB transformation required for equation (2.23).

    ETB is found from:

    (2.25)

    A useful formula for inversion is (see e.g. [4]):

    (2.26)

    Example 2-4: Inverting a transformation matrix. See class notes.