2 05 abb robot project

Upload: adityakurniawan

Post on 12-Oct-2015

10 views

Category:

Documents


0 download

TRANSCRIPT

  • POSITION KINEMATICS OF THE ABB IRB6400

    PATRICK WILLOUGHBY COURSE 2.05

    DECEMBER 5, 2000

  • 1

    Figure 1- Axis Notation

    INTRODUCTION

    The ABB IRB6400 robot is a large six-degree of freedom open loop robot. While the IRB6400

    is used for a wide variety of applications, it is predominantly used for automotive applications such as

    body painting and welding. The robot is capable of carrying up to a 200 kg load at the end of its 3-

    meter maximum reach. Typically, the motors are constrained to have the tool center point (TCP)

    move at a velocity around 2 meter per second, although the robot can travel at greater speeds.

    As with most commercial robots, the forward and reverse kinematics are built into the controller

    programming. For this project, some of the kinematics for the IRB 6400 will be calculated and

    discussed. The goals of this project are:

    To develop the basic vector equations that describe the position of the robots TCP

    To assemble the transformation matrices for the robots six joint axes and to combine these matrices to form the global transformation matrix for the robot base to the TCP

    To construct a WorkingModel3D representation of the IRB 6400 and to compare some position data from the model to the matrix method

    To perform an inverse kinematics analysis of several points using the transformation matrix to obtain joint angles and put these angles into the model to see the robot configuration

    To describe some of the basic redundancies and singularities of the IRB 6400.

    ANALYSIS AND DISCUSSION

    Vector Method

    The first step for the project was to develop the vector equations to

    describe the relationships of the different joints. Before writing these

    equations, the presence of multiple loops in the robot had to be

    considered. The IRB 6400 actually consists of two coupled loops: the

    standard open loop that connect the base to the TCP and a parallel four

    bar linkage that connects the axis three motor above the base to the

    actual axis of revolution on the arm. As this parallel linkage is just a

    standard double crank, the kinematic analysis was simple. This analysis

    is shown in the Calculations section. The conclusion of this analysis was

  • 2

    that the double crank linkage has no effect on the kinematics of the robot.

    For a change in the angle of the driving link, an equal change occurs at the

    driven arm. Because the linkage has equal dimensions on opposite sides of

    the linkage, the transmission ratio for torque is one, so every change in

    input torque produces an equivalent output change. This statement neglects

    friction and other losses for each of the joints, which would cause a

    decrease in the ratio. By incorporating this linkage into the design of the

    IRB 6400, the axis three motor can be located next to the axis two motor,

    rather then extended out at the actual axis of revolution. This relocation

    relieves the weight of the axis three motor off of the axis two motor,

    allowing the robot to carry more weight. In addition, the robot can travel at

    higher speeds (at axes one and two) without requiring additional brakes to

    halt the increased momentum. The large mass at the end of the input

    cranks arm is used to balance the robot and help tipping at full arm

    extension.

    After working through the vector analysis, it became obvious that the vector analysis was

    extremely complex. The equations for the vector method are shown in the Calculations section. The

    loop equation for the open loop consists of the link lengths multiplied with the unit vectors for each

    joint in terms of the global coordinate system. For the first and second links, the vector equations

    are relatively simple, however, the complexity increases drastically with each additional joint. Because

    of the extremely complex nature of the vector equations, the vector analysis was stopped at this

    point. The development of velocities or accelerations and the use of inverse kinematics are

    extremely mathematically intensive and are beyond the scope of this project.

    Transformation Matrices

    The next step for this project is to develop the homogeneous

    transformation matrices for each joint and the global transformation

    matrix to the end of the robot. The notation of axes for this

    method remains consistent with the notation used for the vector

    analysis above. As a starting point, the Denavit-Hartenberg

    notation was investigated as a convention to use for describing the

    kinematics of the IRB 6400. This convention was rejected, since the

    tFigure 2 Parallel Linkage

    Figure 3: Coordinate Systmes

  • 3

    axis 5

    X6

    tool flange

    formulaic version presented in class cannot accommodate the translations in directions other than

    the current z direction and the following x direction. Instead, the standard homogenous

    transformation matrix procedure given earlier in the course was used. This procedure consists of

    combining a rotation matrix Qi with a translation matrix qi in a four by four, homogeneous matrix.

    Applying this procedure to the robot creates a total of seven transformation matrices, with one

    matrix for each joint and an extra translation out to the tool center point. Figure 3 shows the

    directions of the unit vectors for the starting configuration of the robot. For this configuration, the

    coordinate systems for each joint have the same directions, but are translated to each joint axis. The

    following list shows all transformations:

    T1 Translation on Z1 and Rotation on Z1

    T2 Translation on X2 and Rotation on Y2

    T3 Translation on Z3 and Rotation on Y3

    T4 Translation on Z4 and Rotation on X4

    T5 Translation on X5 and Rotation on Y5

    T6 Translation on X6 and Rotation on X6

    Tp Translation on X6

    The coordinate systems and corresponding matrices

    are shown in the Calculations section, while one example

    of a transformation, T6, is shown here. This

    transformation consists of a translation from axis five to

    the end of the tool flange along axis six (x6) and a

    rotation of the flange, also about axis six. The assembled

    matrix for this transformation contains a standard

    homogenous rotation transformation matrix around an x-

    axis combined with a translation of h5 in the x direction. The matrix for T6 is shown in equation 1.

    The result for the complete transformation matrix

    analysis has the same conclusion as the vector analysis

    method. The matrices for the individual transformations

    from joint to joint are simple, as they are only functions of

    the joint angle and distance. The combined matrices for

    multiple joints become increasingly complex as joints are

    added, while the global transformation becomes so complex that MathCAD refuses to symbolically

    display the formula for an individual cell in the matrix. The global matrix can be solved numerically

    Figure 4 T6 Transformation Diagram

    T 6

    1

    0

    0

    0

    0

    cos q 6( )sin q 6( )

    0

    0

    sin q 6( )-cos q 6( )

    0

    h 5

    0

    0

    1

    :=

    Equation 1: T6 Matrix

  • 4

    in MathCAD by inputting angles to obtain the position and orientation of a vector extending from

    the flange to the TCP. A printed copy of the MathCAD worksheet is included in the Calculations

    section. To match the angle values used by ABB, q3 is defined as - q2 + q3. This constraint allows

    the robots arm to remain horizontal after a rotation on axis two, but has no effect on the kinematics.

    Because of the complexity of the matrices, further analysis was stopped, although forward kinematics

    in the MathCAD worksheet will be used to compare the WorkingModel3D model to the matrices.

    Working Model 3D Representation

    The next section of the project was to develop an accurate kinematic model of the IRB 6400 in

    Working Model 3d. To ensure the validity of the decision not to model the parallel linkage, two

    models were constructed to observe its effect: one with and one without the parallel linkage. In both

    cases, the resulting TCP data and orientation data matched for all joint angles attempted. A

    screenshot of the Working Model window for the parallel version of the robot is shown at the end of

    this report. In the simulation, accurate length dimensions were used as described in the ABB

    manual. Accurate data for the radius, mass, etc of the links were not required so a diameter of 25

    mm was assumed for all links and the default density was used. For all joints, revolute motors were

    used with the rotational axis aligned to the robots motion. Motion of the joints was specified by

    inputting the angular orientation of the joints. The block of six sliders on the right side of the

    window was used to input the angle values into the robot. Design limits were built into the sliders to

    simulate physical stops put on the robot by ABB to prevent motor damage or dangerous motions.

    Three digital meters are shown on the lower right to measure the orientation and position of the

    TCP and the position of axis five. ABB commonly uses the position of axis five to set the working

    space limits and describe motion of the significantly larger section of the robot.

    After building the model, several joint angle set were put into the model. This variety of

    positions was compared to data from the transformation matrices and ABB data to validate the

    model. Since the data points, matrix values, and ABB data values correlated for all points, lengthy

    tables of data points were not included in this report. Examples of working plane data are shown

    below.

    The next step was to plot the working volume of the model using WorkingModel3D. Since the

    physical limits of the joints were provided by ABB, the working volume was determined using these

    numbers rather than a generic kinematic analysis without regard to the robots physical presence.

    This generic analysis would only show that the robots working space could be contained within a

    complete sphere with center at axis two. After observing the motion of the IRB 6400, it is clear that

  • 5

    this could be the desired range of the robot, but this motion is physically impossible with current

    geometry. Table 1 shows joint values for axes two and three at their physical limits. Since these two

    axes give the major component of motion for the robot, they are the only values that need to be

    simulated for the working plane. The axis one angle can be varied to rotate the working plane into a

    working volume.

    Position Number

    Axis 2 Angle (deg)

    Axis 3 Angle (deg)

    X Value of TCP (mm)

    Z Value of TCP (mm)

    0 0 0 1415 2075 1 -70 -28 185 1909 2 -70 -3 415 1445 3 43 110 766 387 4 85 110 1096 -290 5 85 20 2467 701 6 37 -28 1804 2389

    Table 1: Working Space Limits on Axes 2 and 3 and Corresponding Position

    The result of inputting these

    values into WorkingModel3D was an

    animation that shows the robot

    moving through the 2D working

    plane. This animation cannot be

    shown in this report, although a

    rough sketch of the working plane is

    shown in figure 5. This Lima beanish

    shape can be rotated around the joint

    one axis to give its complete working

    volume, which would appear like a

    very strange doughnut.

    Figure 5 Working Plane for Robot

  • 6

    Redundancies and Singularities

    The final part of this project was to describe the redundancies and singularities of the system.

    No redundancies were built into the IRB 6400, as all six degrees of freedom are needed to completely

    position and orient the end effector. If any one of the joints were immobilized, the robot could still

    operate, but it could not locate or orient properly. Quite a bit of research is under way at ABB to

    make the robot joints easier to maintain, so that they can be replaced or repaired quickly if they fail.

    One critical singularity exists for the robot when the axis five angle is set to zero. By setting joint

    five to zero in the MathCAD worksheet, this singularity can be observed by changing the joint four

    and six angles. In this case, either axis four or six can rotate and identical motions can occur. To

    remove this singularity, ABB has included programming in the controller system to prevent the robot

    from becoming locked in this position.

    RESULTS

    Results for the vector and transformation matrix methods are shown in the Calculations section.

    In addition, a screenshot of the WorkingModel3D simulation is shown in the Calculations section.

    Copies of both the WorkingModel3D simulations and the MathCAD worksheet can be provided

    electronically, if desired or required.

    CONCLUSION

    In conclusion, much was learned about the process of kinematically describing the position of a

    robot. Primarily, a large lesson was learned about the mathematical complexity involved with

    working on even a relatively simple robot, without involving dynamics. By adding any number of

    joints, the complexity of the mathematics increases drastically. The incorporation of dynamics into

    the IRB 6400 control system must be a mathematical monster. Another learning experience was the

    development of the WorkingModel3D representation of the robot. Not only was the process of

    creating the model educational, it was rather entertaining to run the simulation and send the robot all

    over the screen. It was interesting to note that WorkingModel3D simulates the dynamics of the

    motion, even though it is not requested. Finally, it was interesting to have the opportunity to do a

    moderate level of research on the object of thesis study, yet in a very different area.

  • 7

    C A L C U L A T I O N S

  • 8

    T

    0.66

    0.047-

    0.75-

    0

    0.683

    0.377-

    0.625

    0

    0.313-

    0.925-

    0.217-

    0

    1.147 103

    991.436

    2.432 103

    1

    =Twrist

    0.66

    0.047-

    0.75-

    0

    0.436

    0.789-

    0.433

    0

    0.612-

    0.612-

    0.5-

    0

    1.002 103

    1.002 103

    2.597 103

    1

    =

    T T1 T2 T3 T4 T5 T6 TTCP:=Twrist T1 T2 T3 T4 T5:=

    TTCP

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    0

    hp

    0

    0

    1

    :=

    T6

    1

    0

    0

    0

    0

    cos q6( )sin q6( )

    0

    0

    sin q6( )-cos q6( )

    0

    h5

    0

    0

    1

    :=T5

    cos q5( )0

    sin q5( )-0

    0

    1

    0

    0

    sin q5( )0

    cos q5( )0

    h4

    0

    0

    1

    :=

    T4

    1

    0

    0

    0

    0

    cos q4( )sin q4( )

    0

    0

    sin q4( )-cos q4( )

    0

    0

    0

    h3

    1

    :=T3

    cos q3( )0

    sin q3( )-0

    0

    1

    0

    0

    sin q3( )0

    cos q3( )0

    0

    0

    h2

    1

    :=

    T2

    cos q2( )0

    sin q2( )-0

    0

    1

    0

    0

    sin q2( )0

    cos q2( )0

    L1

    0

    0

    1

    :=T1

    cos q1( )sin q1( )

    0

    0

    sin q1( )-cos q1( )

    0

    0

    0

    0

    1

    0

    0

    0

    h1

    1

    :=

    q3 q2- q3d+:=

    L1 240:=h1 800:=q1 45deg:=

    h2 1050:=q2 15deg:=

    h3 225:=q3d 30- deg:=

    h4 1175:=q4 150deg:=

    h5 200:=q5 90- deg:=

    hp 20:=q6 30- deg:=

  • 9

    b atanT( )2 0,

    T0 0,( )2 T1 0,( )2+-

    :=

    a atanT1 0,

    T0 0,

    :=

    g atanT2 1,

    T2 2,

    :=

    If b, a, and g are reported to be singular, then the Euler ZYX angles are:b = 90 dega = 0 degg = Shown Below

    b 48.59deg=

    a 4.107- deg=

    g 70.893- deg=

    gsingular atanT0 1,

    T1 1,

    :=

    gsingular 1.066-=

  • 10

    Figure 6 Screenshot of Working Model 3D Simulation