Robotics Kinematics and Dynamics

  • Upload
    -

  • View
    240

  • Download
    0

Embed Size (px)

Citation preview

  • 7/30/2019 Robotics Kinematics and Dynamics

    1/24

    Types and classification of robots

    And

    Kinematics and dynamics of robots

    / /

    1

  • 7/30/2019 Robotics Kinematics and Dynamics

    2/24

    Kinematics and Dynamics of Robot

    Description of Position and Orientation

    Rotation Matrix

    A rotation matrix describes the relative orientation of two such frames. Thecolumns of this 3 3 matrix consist of the unit vectors along the axes of one

    frame, relative to the other, reference frame. Thus, the relative orientation of a

    frame with respect to a reference frame is given by the rotation matrix

    :

    Rotation matrices can be interpreted in two ways:

    1. As the representation of the rotation of the first frame into the second(active interpretation).

    2. As the representation of the mutual orientation between two coordinatesystems (passive interpretation).

    2

    http://en.wikibooks.org/wiki/Robotics_Kinematics_and_Dynamics/Description_of_Position_and_Orientationhttp://commons.wikimedia.org/wiki/File:Rigid_body_attached_frame.svghttp://en.wikibooks.org/wiki/Robotics_Kinematics_and_Dynamics/Description_of_Position_and_Orientation
  • 7/30/2019 Robotics Kinematics and Dynamics

    3/24

    The coordinates, relative to the reference frame , of a point , of which the

    coordinates are known with respect to a frame with the same origin, can then

    be calculated as follows: .

    Properties

    Some of the properties of the rotation matrix that may be of practical value, are:

    1. The column vectors of are normal to each other.

    2. The length of the column vectors of equals 1.

    3. A rotation matrix is a non-minimal description of a rigid body's

    orientation. That is, it uses nine numbers to represent an orientation

    instead of just three. (The two above properties correspond to six

    relations between the nine matrix elements. Hence, only three of them are

    independent.) Non-minimal representations often have some numericaladvantages, though, as they do not exhibit coordinate singularities.

    4. Since is orthonormal, .

    Elementary Rotations about Frame Axes

    Rotation by an angle about the z-axis.

    The expressions for elementary rotations about frame axes can easily be derived.

    From the figure on the right, it can be seen that the rotation of a frame by an

    angle about the z-axis, is described by:

    3

    http://commons.wikimedia.org/wiki/File:Rotation_about_z-axis.png
  • 7/30/2019 Robotics Kinematics and Dynamics

    4/24

    Similarly, it can be shown that the rotation of a frame by an angle about the x-

    axis, is given by:

    Derived in exactly the same manner, the rotation of a frame by an angle about

    the y-axis, is described by:

    Compound Rotations

    Compound rotations are found by multiplication of the different elementary

    rotation matrices.

    The matrix corresponding to a set of rotations about moving axes can be foundby postmultiplying the rotation matrices, thus multiplying them in the the sameorder in which the rotations take place. The rotation matrix formed by a rotation

    by an angle about the z-axis followed by a rotation by an angle about the

    moved y-axis, is then given by:

    The composition of rotations about fixed axes, on the other hand, is found bypremultiplying the different elementary rotation matrices.

    Inverse Rotations

    The inverse of a single rotation about a frame axis is a rotation by the negative ofthe rotation angle about the same axis:

    The inverse of a compound rotation follows from the inverse of the matrix

    product:

    4

  • 7/30/2019 Robotics Kinematics and Dynamics

    5/24

    Euler Angles

    Contrary to the rotation matrix, Euler angles are a minimal representation (a setof just three numbers, that is) of relative orientation. This set of three anglesdescribes a sequence of rotations about the axes of a moving reference frame.

    There are, however, many (12, to be exact) sets that describe the sameorientation: different combinations of axes (e.g. ZXZ, ZYZ, and so on) lead to

    different Euler angles. Euler angles are often used for the description of the

    orientation of the wrist-like end-effectors of many serial manipulator robots.

    Note: Identical axes should not be in consecutive places (e.g. ZZX). Also, therange of the Euler angles should be limited in order to avoid different angles for

    the same orientation. E.g.: for the case of ZYZ Euler angles, the first rotation

    about the z-axis should be within . The second rotation, about the moved

    y-axis, has a range of . The last rotation, about the moved z-axis,

    has a range of .

    Forward Mapping

    Forward mapping, or finding the orientation of the end-effector with respect to

    the base frame, follows from the composition of rotations about moving axes.

    For a rotation by an angle about the x-axis, followed by a rotation by an angle

    about the moved y-axis, and a final rotation by an angle about the moved z-

    axis, the resulting rotation matrix is:

    After writing out:

    Note: Notice the shorthand notation: stands for , stands for ,and so on.

    Inverse Mapping

    In order to drive the end-effector, the inverse problem must be solved: given a

    certain orientation matrix, which are the Euler angles that accomplish this

    orientation?

    For the above case, the Euler angles , and are found by inspection of the

    rotation matrix:

    5

    http://en.wikipedia.org/wiki/Euler_angleshttp://en.wikipedia.org/wiki/Euler_angles
  • 7/30/2019 Robotics Kinematics and Dynamics

    6/24

    Coordinate SingularitiesIn the above example, a coordinate singularity exists for . The above

    equations are badly numerically conditioned for small values of : the first and

    last equaton become undefined. This corresponds with an alignment of the first

    and last axes of the end-effector. The occurrence of a coordinate singularity

    involves the loss of a degree of freedom: in the case of the above example,small rotations about the y-axis require impossibly large rotations about the x-

    and z-axes.

    No minimal representation of orientation can globally describe all orientations

    without coordinate singularities occurring.

    Roll-Pitch-Yaw Angles

    The orientation of a rigid body can equally well be described by three

    consecutive rotations about fixed axes. This leads to a notation with Roll-Pitch-Yaw (RPY) angles.

    Forward Mapping

    The forward mapping of RPY angles to a rotation matrix similar to that of Eulerangles. Since the frame now rotates about fixed axes instead of moving axes, the

    order in which the different rotation matrices are multiplied is inversed:

    After writing out:

    Inverse Mapping

    The inverse relationships are found from inspection of the rotation matrix above:

    6

  • 7/30/2019 Robotics Kinematics and Dynamics

    7/24

    Note: The above equations are badly numerically conditioned for values of

    near and .

    Unit Quaternions

    Unit quaternions (quaternionsof which the absolute value equals 1) are another

    representation of orientation. They can be seen as a compromise between the

    advantages and disadvantages of rotation matrices and Euler angle sets.

    Homogeneous Transform

    The notations above describe only relative orientation. The coordinates of a

    point, relative to a frame , rotated and translated with respect to a reference

    frame , are given by:

    This can be compacted into the form of a homogeneous transformation matrixorpose (matrix). It is defined as follows:

    This matrix represents the position and orientation of a frame whose origin,

    relative to a reference frame , is described by , and whose orientation,

    relative to the same reference frame , is described by the rotation matrix .

    is, thus, the representation of a frame in three-dimensional space. If the

    coordinates of a point are known with respect to a frame , then its

    coordinates, relative to are found by:

    This is the same as writing:

    Note that the above vectors are extended with a fourth coordinate equal to one:

    they're made homogeneous.

    As was the case with rotation matrices, homogeneous transformation matrices

    can be interpreted in an active ("displacement"), and a passive ("pose") manner.

    7

    http://en.wikipedia.org/wiki/Quaternionhttp://en.wikipedia.org/wiki/Quaternionhttp://en.wikipedia.org/wiki/Homogeneous_coordinateshttp://en.wikipedia.org/wiki/Quaternionhttp://en.wikipedia.org/wiki/Homogeneous_coordinates
  • 7/30/2019 Robotics Kinematics and Dynamics

    8/24

    It is also a non-minimal representation of a pose, that does not suffer fromcoordinate singularities.

    Compound Poses

    If the pose of a frame is known, relative to , whose pose is known with

    respect to a third frame , the resulting pose is found as follows:

    Serial Manipulator Position Kinematics

    Forward Position Kinematics

    The forward position kinematics problem can be stated as follows: given the

    different joint angles, what is the the position of the end-effector? With the

    previous sections in mind, the answer is rather simple: construct the different

    transformation matrices and combine them in the right way, the result being

    , where is the base frame of the robot manipulator.

    Solution

    Suppose the mutual orientation matrices between adjacent links are known. (As

    the fixed parameters of each link are known, and the joint angles are a given to

    the problem, these can be calculated. One possible way to do this would be to

    make use of the Denavit-Hartenberg convention.) The transformation that relates

    the last and first frames in a serial manipulator arm, and thus, the solution to the

    forward kinematics problem, is then represented by the compound homogeneous

    transformation matrix. The axes are moving, thus, the compound homogeneous

    8

    http://en.wikibooks.org/wiki/Robotics_Kinematics_and_Dynamics/Serial_Manipulator_Position_Kinematicshttp://en.wikibooks.org/wiki/Robotics_Kinematics_and_Dynamics/Serial_Manipulator_Position_Kinematics
  • 7/30/2019 Robotics Kinematics and Dynamics

    9/24

    transformation matrix is found by premultiplying the individual transformation

    matrices:

    Examples

    The Planar Three-Link Manipulator

    A planar three link manipulator. Each -axis lies along the th link. Each -

    axis lies perpendicular to the corresponding -axis in such a way that a positive

    corresponds with a rotation from to .

    The equations below use 3 3 pose matrices, as this is just a 2-dimensional case

    (cf. the figure on the right).

    The pose of the first link, relative to the reference frame, is given by (recall the

    elementary rotation about the z-axis from the previous section):

    The pose of the second link, relative to the first link, is given by:

    This corresponds to a rotation by an angle and a translation by a distance ,

    where is the length of the first link.

    The pose of the third link, relative to the second link, is given by:

    9

    http://commons.wikimedia.org/wiki/File:Planar-three-link-manipulator.svg
  • 7/30/2019 Robotics Kinematics and Dynamics

    10/24

    The pose of the end effector, relative to the third link, is given by:

    The solution to the forward kinematics problem is then:

    Hence:

    The resulting kinematic equations are:

    Inverse Position Kinematics

    The inverse kinematics problem is the opposite of the forward kinematics

    problem and can be summarized as follows: given the desired position of the end

    effector, what combinations of the joint angles can be used to achieve this

    position?

    10

  • 7/30/2019 Robotics Kinematics and Dynamics

    11/24

    An example of two different solutions for the inverse kinematics problem

    leading to the same end-effector position and orientation.

    Two types of solutions can be considered: a closed-form solution and a

    numerical solution. Closed-form or analytical solutions are sets of equations thatfully describe the connection between the end-effector position and the joint

    angles. Numerical solutions are found through the use of numerical algorithms,

    and can exist even when no closed-form solution is available. There may also be

    multiple solutions, or no solution at all.

    Example: Planar Three-Link Manipulator

    The inverse kinematics problem for this 2D manipulator can quite easily be

    solved algebraically.

    From the earlier results (for simplicity, the displacement over the distance shallbe omitted here):

    Now assume a given end-effector orientation in the following form:

    Equating the two previous expressions results in:

    11

    http://commons.wikimedia.org/wiki/File:Inverse-kinematics-multiple-solutions.svg
  • 7/30/2019 Robotics Kinematics and Dynamics

    12/24

    As:

    ,

    squaring both the expressions for and and adding them, leads to:

    Solving for leads to:

    ,

    while equals:

    ,

    and, finally, :

    Note: The choice of the sign for corresponds with one of the two solutions inthe figure above.

    The expressions for and may now be solved for . In order to do so, write

    them like this:

    where , and .

    Let:

    Then:

    12

  • 7/30/2019 Robotics Kinematics and Dynamics

    13/24

    Applying these to the above equations for and :

    ,

    or:

    Thus:

    Hence:

    Note: If , actually becomes arbitrary.

    may now be solved from the first two equations for and :

    Types and Classification ofRobots

    13

    http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#2%232http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#2%232http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#2%232http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#2%232
  • 7/30/2019 Robotics Kinematics and Dynamics

    14/24

    I. INTRODUCTION

    Industrial robots are programmable multifunctionalmechanical devices designed to move material, parts,

    tools, or specialized devices through variable programmed

    motions to perform a variety of tasks. An industrial robotsystem includes not only industrial robots but also any

    devices and/or sensors required for the robot to performits tasks as well as sequencing or monitoring

    communication interfaces.

    Robots are generally used to perform unsafe, hazardous,highly repetitive, and unpleasant tasks. They have manydifferent functions such as material handling, assembly,arc welding, resistance welding, machine tool load and

    unload functions, painting, spraying, etc. See AppendixIV:4-1 for common definitions. Most robots are set up foran operation by the teach-and-repeat technique. In thismode, a trained operator (programmer) typically uses a

    portable control device (a teach pendant) to teach a robotits task manually. Robot speeds during these

    programming sessions are slow.

    This instruction includes safety considerations necessaryto operate the robot properly and use it automatically in

    conjunction with other peripheral equipment. This

    instruction applies to fixed industrial robots and robotsystems only. See Appendix IV:4-2 for the systems that

    are excluded.

    A. Accidents: Past Studies

    1. Studies in Sweden and Japan indicate thatmany robot accidents do not occur undernormal operating conditions but, instead

    during programming, program touch-up orrefinement, maintenance, repair, testing,

    setup, or adjustment. During many of theseoperations the operator, programmer, or

    corrective maintenance worker maytemporarily be within the robot's working

    envelope where unintended operations couldresult in injuries.

    2. Typical accidents have included the following:

    14

    http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#app_iv:4_1%23app_iv:4_1http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#app_iv:4_1%23app_iv:4_1http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#app_iv:4_2%23app_iv:4_2http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#app_iv:4_1%23app_iv:4_1http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#app_iv:4_1%23app_iv:4_1http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#app_iv:4_2%23app_iv:4_2
  • 7/30/2019 Robotics Kinematics and Dynamics

    15/24

    A robot's arm functioned erraticallyduring a programming sequence and

    struck the operator. A materials handling robot operator

    entered a robot's work envelope during

    operations and was pinned between theback end of the robot and a safety pole.

    A fellow employee accidentally trippedthe power switch while a maintenance

    worker was servicing an assembly robot.The robot's arm struck the maintenance

    worker's hand.

    B. Robot Safequarding1. The proper selection of an effective robotic

    safeguarding system should be based upon ahazard analysis of the robot system's use,

    programming, and maintenance operations.Among the factors to be considered are the

    tasks a robot will be programmed to perform,start-up and command or programmingprocedures, environmental conditions,location and installation requirements,

    possible human errors, scheduled andunscheduled maintenance, possible robot and

    system malfunctions, normal mode ofoperation, and all personnel functions and

    duties.2. An effective safeguarding system protects not

    only operators but also engineers,programmers, maintenance personnel, and

    any others who work on or with robot systemsand could be exposed to hazards associatedwith a robot's operation. A combination of

    safeguarding methods may be used.Redundancy and backup systems are

    especially recommended, particularly if arobot or robot system is operating in

    hazardous conditions or handling hazardousmaterials. The safeguarding devices employedshould not themselves constitute or act as ahazard or curtail necessary vision or viewing

    by attending human operators.

    15

  • 7/30/2019 Robotics Kinematics and Dynamics

    16/24

    II. TYPES AND CLASSIFICATION OFROBOTS

    Industrial robots are available commercially in a widerange of sizes, shapes, and configurations. They are

    designed and fabricated with different designconfigurations and a different number of axes or degreesof freedom. These factors of a robot's design influence its

    working envelope (the volume of working or reachingspace). Diagrams of the different robot design

    configurations are shown in Figure IV: 4-1.

    FIGURE IV:4-1. ROBOT ARM DESIGN CONFIGURATIONS

    A. Servo and Nonservo

    All industrial robots are either servo or nonservo

    16

  • 7/30/2019 Robotics Kinematics and Dynamics

    17/24

    controlled. Servo robots are controlled through theuse of sensors that continually monitor the robot'saxes and associated components for position andvelocity. This feedback is compared to pretaught

    information which has been programmed and stored

    in the robot's memory. Nonservo robots do not havethe feedback capability, and their axes are

    controlled through a system of mechanical stopsand limit switches.

    B. Type of Path Generated

    Industrial robots can be programmed from a distanceto perform their required and preprogrammed

    operations with different types of paths generated

    through different control techniques. The threedifferent types of paths generated are Point-to-PointPath, Controlled Path, and Continuous Path.

    1. Point-to-Point Path. Robots programmedand controlled in this manner are

    programmed to move from one discrete pointto another within the robot's working

    envelope. In the automatic mode of operation,the exact path taken by the robot will varyslightly due to variations in velocity, joint

    geometries, and point spatial locations. Thisdifference in paths is difficult to predict and

    therefore can create a potential safety hazardto personnel and equipment.

    2. Controlled Path. The path or mode ofmovement ensures that the end of the robot'sarm will follow a predictable (controlled) pathand orientation as the robot travels from point

    to point. The coordinate transformationsrequired for this hardware management are

    calculated by the robot's control systemcomputer. Observations that result from this

    type of programming are less likely to presenta hazard to personnel and equipment.

    3. Continuous Path. A robot whose path iscontrolled by storing a large number or closesuccession of spatial points in memory during

    a teaching sequence is a continuous pathcontrolled robot. During this time, and while

    the robot is being moved, the coordinate

    points in space of each axis are continually

    17

  • 7/30/2019 Robotics Kinematics and Dynamics

    18/24

    monitored on a fixed time base, e.g., 60 ormore times per second, and placed into the

    control system's computer memory. When therobot is placed in the automatic mode ofoperation, the program is replayed from

    memory and a duplicate path is generated.C. Robot Components

    Industrial robots have four major components: themechanical unit, power source, control system, and

    tooling (Figure IV: 4-2).

    1. Mechanical Unit. The robot's manipulativearm is the mechanical unit. This mechanical

    unit is also comprised of a fabricated

    structural frame with provisions for supportingmechanical linkage and joints, guides,actuators (linear or rotary), control valves, andsensors. The physical dimensions, design, andweight-carrying ability depend on application

    requirements.

    FIGURE IV:4-2. INDUSTRIAL ROBOTS: MAJORCOMPONENTS

    2. Power Sources

    18

  • 7/30/2019 Robotics Kinematics and Dynamics

    19/24

    a a Energy is provided to various robotactuators and their controllers aspneumatic, hydraulic, or electrical

    power. The robot's drives are usuallymechanical combinations powered by

    these types of energy, and the selectionis usually based upon application

    requirements. For example, pneumaticpower (low-pressure air) is used

    generally for low weight carrying robots.a a Hydraulic power transmission (high-pressure oil) is usually used for mediumto high force or weight applications, orwhere smoother motion control can be

    achieved than with pneumatics.Consideration should be given to

    potential hazards of fires from leaks ifpetroleum-based oils are used.

    a a Electrically powered robots are the mostprevalent in industry. Either AC or DC

    electrical power is used to supplyenergy to electromechanical motor-

    driven actuating mechanisms and theirrespective control systems. Motioncontrol is much better, and in an

    emergency an electrically powered

    robot can be stopped or powered downmore safely and faster than those witheither pneumatic or hydraulic power.

    B. Control Systems1. Either auxiliary computers or embedded

    microprocessors are used for practically allcontrol of industrial robots today. These

    perform all of the required computationalfunctions as well as interface with and control

    associated sensors, grippers, tooling, and

    other associated peripheral equipment. Thecontrol system performs the necessarysequencing and memory functions for on-linesensing, branching, and integration of otherequipment. Programming of the controllers

    can be done on-line or at remote off-linecontrol stations with electronic data transfer

    of programs by cassette, floppy disc, ortelephone modem.

    2. Self-diagnostic capability for troubleshootingand maintenance greatly reduces robot

    19

  • 7/30/2019 Robotics Kinematics and Dynamics

    20/24

    system downtime. Some robot controllershave sufficient capacity, in terms of

    computational ability, memory capacity, andinput-output capability to serve also as systemcontrollers and handle many other machines

    and processes. Programming of robotcontrollers and systems has not beenstandardized by the robotics industry;

    therefore, the manufacturers use their ownproprietary programming languages which

    require special training of personnel.

    C. Robot Programming By TeachingMethods.

    A program consists of individual command steps which

    state either the position or function to be performed,along with other informational data such as speed,dwell or delay times, sample input device, activate

    output device, execute, etc.

    When establishing a robot program, it is necessary toestablish a physical or geometrical relationship

    between the robot and other equipment or work to beserviced by the robot. To establish these coordinate

    points precisely within the robot's working envelope, itis necessary to control the robot manually and

    physically teach the coordinate points. To do this aswell as determine other functional programming

    information, three different teaching or programmingtechniques are used: lead-through, walk-through, and

    off-line.

    1. Lead-Through Programming or Teaching.This method of teaching uses a proprietary

    teach pendant (the robot's control is placed ina "teach" mode), which allows trained

    personnel physically to lead the robot throughthe desired sequence of events by activating

    the appropriate pendant button or switch.Position data and functional information are"taught" to the robot, and a new program is

    written (Figure IV:4-3). The teach pendant canbe the sole source by which a program is

    established, or it may be used in conjunctionwith an additional programming console

    and/or the robot's controller. When using thistechnique of teaching or programming, the

    20

  • 7/30/2019 Robotics Kinematics and Dynamics

    21/24

    person performing the teach function can bewithin the robot's working envelope, with

    operational safeguarding devices deactivatedor inoperative.

    FIGURE IV:4-3. ROBOT LEAD-THROUGHPROGRAMMING OR TEACHING

    2. Walk-Through Programming or Teaching.A person doing the teaching has physical

    contact with the robot arm and actually gainscontrol and walks the robot's arm through thedesired positions within the working envelope

    (Figure IV:4-4).

    FIGURE IV:4-4. WALK-THROUGH PROGRAMMING ORTEACHING

    During this time, the robot's controller isscanning and storing coordinate values on a

    21

  • 7/30/2019 Robotics Kinematics and Dynamics

    22/24

    fixed time basis. When the robot is laterplaced in the automatic mode of operation,

    these values and other functional informationare replayed and the program run as it wastaught. With the walk-through method of

    programming, the person doing the teachingis in a potentially hazardous position because

    the operational safeguarding devices aredeactivated or inoperative.

    Off-Line Programming. The programmingestablishing the required sequence of

    functional and required positional steps iswritten on a remote computer console (FigureIV:4-5). Since the console is distant from therobot and its controller, the written programhas to be transferred to the robot's controller

    and precise positional data established toachieve the actual coordinate information forthe robot and other equipment. The programcan be transferred directly or by cassette or

    floppy discs. After the program has beencompletely transferred to the robot's

    controller, either the lead-through or walk-through technique can be used for obtainingactual positional coordinate information for

    the robot's axes.

    FIGURE IV:4-5. OFF-LINE PROGRAMMING ORTEACHING

    22

  • 7/30/2019 Robotics Kinematics and Dynamics

    23/24

    When programming robots with any of thethree techniques discussed above, it isgenerally required that the program be

    verified and slight modifications in positionalinformation made. This procedure is calledprogram touch-up and is normally carried outin the teach mode of operation. The teacher

    manually leads or walks the robot through theprogrammed steps. Again, there are potential

    hazards if safeguarding devices aredeactivated or inoperative.

    3. Degrees of Freedom. Regardless of theconfiguration of a robot, movement along

    each axis will result in either a rotational or atranslational movement. The number of axesof movement (degrees of freedom) and theirarrangement, along with their sequence of

    operation and structure, will permit movementof the robot to any point within its envelope.

    Robots have three arm movements (up-down,in-out, side-to-side). In addition, they can haveas many as three additional wrist movements

    on the end of the robot's arm: yaw (side to

    23

  • 7/30/2019 Robotics Kinematics and Dynamics

    24/24

    side), pitch (up and down), and rotational(clockwise and counterclockwise).

    24