SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
Robotica (2006) volume 24, pp. 355–363. © 2005 Cambridge University Press
doi:10.1017/S0263574705002274 Printed in the United Kingdom




Joint angle variations analyses of the two link planar manipulator
in welding by using inverse kinematics
S. Bulut∗ and M. B. Terzioˇ lu
                          g
Cumhuriyet University, Mechanical Engineering Department, 58140, Sivas
e-mail: sbulut@cumhuriyet.edu.tr
(Received in Final Form: June 7, 2005, first published online 23 November 2005)




SUMMARY                                                                        In Fig. 1, l1 and l2 are the lenghts of the first and second link
In this paper, the joint angles of a two link planar manipulator            of the manipulator, θ1 is the joint angle between x coordinate
are calculated by using inverse kinematics equations together               frame and the first link of the manipulator, θ2 is the angle
with some geometric equalities. For a given position of                     between the first and second link of the manipulator. While
the end-effector the joint angle and angular velocity of the                the end-effector is moving between A and B in a linear
links are derived. The analyses contains many equations                     motion, the workspace of the manipulator will be as shown
which have to be solved. However, the solutions are rather                  in Fig. 2.
cumbersome and complicated, therefore a program is written                     This type of linear movement is desired, especially
in Fortran 90 in order to do, the whole calculation and data                in welding applications in order to have a linear and
collection. The results are given at the end of this paper.                 homogeneous welding seam. The welding seam [AB] can
                                                                            be divided into many steps as shown in Fig. 3. Every point
                                                                            coressponds to diferent links position and joint angles which
KEYWORDS: Two link planar manipulator; Inverse
                                                                            may calculated by using inverse kinematics equations.3
kinematics; Joint angles; Angular velocity; Forward
kinematics.
                                                                            III. INVERSE KINEMATIC ANALYSES
                                                                            When the end-effector of the manipulator is moving from A
I. INTRODUCTION                                                             to B in a linear motion, as it is shown in Fig. 1, the joint
The forward kinematics problem always has a unique                          angles θ1 and θ2 change according to the manipulator links
solution which can be obtained simply by evaluating the                     position l1 and l2 .
forward equations.1 On the contrary, inverse kinematics does                   Let’s assume that the end-effector is doing a welding
the reverse. In inverse kinematics, given a desired position                operation between A and B points, as it is shown in Fig 1.
and orientation for the end-effector of the robot a set of joint            In this figure, A is the starting point, where the welding
variables can be determine that achieve the desired position                starts and B is the final point where it ends. In order to
and orientation. Generally, an inverse kinematic problem may                figure out the joint angles of the manipulator along [AB],
or may not have a solution. Also, if a solution exists it may               inverse kinematics equations are used. Finding the inverse
not be a unique. Furthermore, inverse kinematic equations are               kinematics solutions at the point A and B will not give
complicated and nonlinear functions of the joint variables,                 us clear idea how the end-effector is behaving along the
therefore the solutions may be difficult to obtain even if they              welding seam. Therefore it is necessary to find the inverse
exist.2                                                                     kinematic solution of every step points along [AB]. Doing
   In inverse kinematics, the equations are much more                       this computation by hand is rather difficult, complicated
difficult to solve directly. Generally, it is necessary to develop           and cumbersome. For this reason, a program is written
efficient and systematic techniques that exploit the paticular               in Fortran 90 which calculates the joint angles and links
kinematic structure of the manipulator. Although, in one way                position of the manipulator. The program is written based on
the method is very effective in finding the solution because                 forward and inverse kinematic equations. In order to drive
it uses geometric approaches as well, still there is not one                inverse kinematics equations,4 homogeneous equations are
solution which can be apply to all robots. Therefore, for                   used together with some geometric equalities according to
different robots different solutions are needed.                            the Denavit Hartenberger (D-H) representation.
                                                                               For any given starting and ending points, the program
II. TWO LINK PLANAR MANIPULATOR                                             calculates the manipulators links positions, joint angles and
The manipulator is consist of two links and a end-effector                  joint angle velocities which will presented at the end of this
which is fixed at the end of the second link, as it is shown                 paper. The main purpose of this program is to figure out the
in Fig. 1. In this figure, the end-effector is moving linearly               end effector position by calculating the variations in the first
between the points A and B.                                                 and second joint angles θ1 and θ2 , respectively.
                                                                               Let’s assume that the end-effector is passing [AB] in
* Corresponding author.                                                     limited step points. Under this condition, x and y coordinates
356                                                                                                                                                                       Welding


                                                                                           y
       y                                                                                                                                                        x2
                                                                                                                          y2
                                         A                B
                                                                                                                                     s            a
                                                                                                                                     o2                     n


                                    l2       θ2                                                                 y1        l2              θ2      z2

                                                                                                                                          x1
                                                                                           y0        l1                        o1
                 l1
                              θ1                                                                                     z1
                                                                                       o              θ1
   o                                                                                            o0         x0                                                               x
                                                                       x
Fig. 1. Linear movement of the end effector from A to B                           z0

                                                                                 Fig. 4. Coordinate frames attached to two link planar manipulator
                                              y
                                                                                 end-effector or tool frame. The origin of the tool frame is
                       l -l
                          1   2                                                  most often placed symmetrically between the fingers of the
                                                      l +l
                                                      1   2                      gripper.6 The unit vectors along the xn , yn and zn axes are
                                                                                 labelled as n, s and a, respectively. According to the D-
                                                                                 H representation, the transformation matrix in general form
                                                              x                  can be written as below:
                                                                                                                                     
                                                                                             Cosθi −Cosβi Sinθi Sinαi Sinθi ai Cosθi
                                                                                             Sinθi Cosαi Sinθi −Sinαi Cosθi ai Sinθi 
                                                                                  Ai       =
                                                                                                                                di 
Fig. 2. The workspace of the two link planar manipulator
                                                                                   i−1          0     Sinαi       Cosαi
                                                                                                0       0            0           1
           A(x1 , y1 ) C x 0 , y 0                     B(x 2 , y 2 )                                                                                                            (4)

                      m                           n                              where i = 1, 2. Equation (4) describes the transformation
                                                                                 matrix between two coordinate frames i and (i − 1) attached
                                                                                 to links i and i − 1 which are connected by a rotational joint.
Fig. 3. Dividing the welding seam into step points                               In the above equation θi is the angle, αi is the twist angle,
                                                                                 ai is the length and di is the distance between the links. The
of a given step point may calculated. Consider point C                           joint variables of the two link planar manipulator are given
in Fig. 3; x0 and y0 coordinates are calculated by using                         in Table I.
geometric equalities as below:                                                      According to (4), the transformation matrices A1 and A2 ,
                                                                                                                                      0       1
                                                                                 which relates to the first and second coordinate frames, can
                                  [CA]   m                                       be written as follows:
                                       =   =k                              (1)
                                  [CB]   n                                                                                                            
                                                                                                           c1                       −s1        0 l1 c1
then, x0 and y0 are written as follow:                                                                    s1                       c1         0 l1 s1 
                                                                                                     A0 = 
                                                                                                      1
                                                                                                            0                        0         1   1 
                                          x1 + kx2                                                          0                        0         0   1
                                   x0 =                                    (2)                                                                        
                                           1+k                                                             c2                       −s2        0 l2 c2
                                                                                                          s2                       c2         0 l2 s2 
                                                                                                     A1 = 
                                                                                                      2
                                                                                                                                                   1 
and                                                                                                                                                                             (5)
                                                                                                            0                        0         1
                               y1 + ky2                                                                     0                        0         0   1
                                   y0 =                       (3)
                                1+k
In Fig. 4 coordinate frames of the two link planar manipulator                                            Table I. The joints variables.
is given. In this figure, oxyz, ox1 y1 z1 and ox2 y2 z2 coordinate
                                                                                                Link (i)                  di              ai           αi            θi
frames are placed on the manipulator links according to
                                                                                                1                         0               l1           0             θ1
the Denavit Hartenberger (D-H) representation.5 The final                                        2                         0               l2           0             θ2
coordinate system on xn yn zn is commonly referred to as the
Welding                                                                                                                                                           357
where c1 = cosθ1 , s1 = sinθ1 , c2 = cosθ2 and s2 = sinθ2 .
                                                                                                y
The homogeneous transformation matrix is,

                                                                                                                                          (Px0, Py0)
                        T = A2 = A1 A2
                             0    0 1                                       (6)

                                                          
                   c12      −s12      0     l1 c1 + l2 c12                                                                                           l2
                                            l1 c1 + l2 c12                                                                      r
                  s12      c12       0                                                                                                         θ2
             A2 = 
              0                                                            (7)
                    0        0        1           1
                    0        0        0           1                                                                   ρ
                                                                                                       l1
In the above equation, c12 = c1 c2 − s1 s2 = cos(θ1 + θ2 ) and                                                              θ1
s12 = s1 c2 + c1 s2 = sin(θ1 + θ2 ). The matrix A2 relates the
                                                 0
end-effector coordinates to the base coordinate frame. From                                                                                                   x
Equations (6) and (7), the position of the end-effector in the
base coordinate system can be obtained. From (6), A2 can be
                                                      1
                                                                                        Fig. 5. The manipulator joint angles
written as follows:

                                          −1
                         A2 = A1
                          1    0               T                            (8)         where,

where                                                                                                                 px0 = r cosρ
                                                                                                                      ¯
                                                                                                                                                                  (13)
                                                                                                                      py0 = sinρ
                                                                                                                      ¯
                                                         
                              c1            s1      0 −l1                                                             r=    px0 + py0
                                                                                                                            ¯2    ¯2                              (14)
                −1          −s1            c1      0 0 
             A1      = A0 = 
                                                    1 0                                and ρ = tan−1 ( py0 ). By using (13) and the equality
                                                            ,                                                    ¯
                                                                                                                 p
              0         1     0             0                                                             ¯ x0
                              0             0       0 1                                 cosθ1 cosρ + sinθ1 sinρ = cos(θ1 − ρ), the Equation (12) is
                                                                                        rewritten as below:
and                                                                                                    2l1 r cos(θ1 − ρ) = px0 + py0 + l1 − l2
                                                                                                                           ¯2    ¯2     2    2
                                                                                                                                                                  (15)
                                                   ¯                                  The above equation can be rewritten by using (14) as;
                     nx0       sx0        ax0      Px0
                    ny0       sy0        ay0       ¯
                                                   Py0 
                 T =
                                                   Pz0 
                                                         .
                      nz0      sz0        az0       ¯                                      2l1 px0 + py0 cos(θ1 − ρ) = px0 + py0 + l1 − l2
                                                                                               ¯2    ¯2                ¯2    ¯2     2    2
                                                                                                                                                                  (16)
                       0        0          0        1

Then, Equation (8) can be rewritten as follows

                                                                                                  ¯ 
                                   c1               s1   0        −l1   nx0       sx0     ax0       Px0
                                 −s1               c1   0         0  ny0       sy0     ay0        ¯
                                                                                                    Py0 
                          A0 T = 
                           1       0                0    1         0   nz0      sz0     az0       Pz0 
                                                                                                     ¯
                                   0                0    0         1      0        0       0         1
                                                                                                                                          
                                        c1 nx0 + s1 ny0                    c1 sx0 + s1 sy0          c1 ax0 + s1 ay0   c1 px0 + s1 py0 − 11
                                                                                                                         ¯         ¯
                                                                                                                                                                   (9)
                                  0 −s1 nx0 + c1 ny0                      s1 sx0 + c1 sy0          s1 ax0 + c1 ay0      s1 px0 + c1 py0 
                                                                                                                            ¯        ¯
                            A1 = A1 T 
                             2
                                                                                                                                           
                                              nz0                                sz0                      az0                   ¯
                                                                                                                               pz0
                                               0                                  0                        0                     1

The corresponding entries in (5) and (9) are set equal,                                 From (16),
therefore the following equations can be written:
                                                                                                                            px0 + py0 + l1 − l2
                                                                                                                            ¯2    ¯2     2    2

                   c1 px0 + s1 py0 − l1 = l2 c2
                      ¯        ¯                                           (10)                             cos(θ1 − ρ) =                                         (17)
                                                                                                                                 2l1 px0 + py0
                                                                                                                                     ¯2    ¯2
                     −s1 px0 + c1 py0 = l2 s2
                         ¯        ¯                                        (11)
                                                                                        and
The first and second joint angles, θ1 and θ2 in Fig. 5 can be
                                                                                                                                                          2
calculated from Equations (10) and (11). Taking the square                                                                  px0 + py0 + l1 − l2
                                                                                                                            ¯2    ¯2     2    2
of (10) and (11) and adding them side by side the following                                            cos (θ1 − ρ) =
                                                                                                             2
                                                                                                                                                                  (18)
equation results                                                                                                                     4l1 px0 + py0
                                                                                                                                       2
                                                                                                                                         ¯2    ¯2
                                                                                        can be written. By using the equality cos2 (θ1 − ρ) +
      (2l1 px0 )c1 + (2l1 py0 )s1 =
           ¯              ¯           ¯2
                                      px0   +      ¯2
                                                   py0   +    2
                                                             l1   −    2
                                                                      l2   (12)         sin2 (θ1 − ρ) = 1 and Equation (18), the following equation
358                                                                                                                                                           Welding
Table II. The joint variables of the manipulator which are used in                         8
                           the program.                                                    6

       The length of the first link                             l1 = 10 cm                  4
       The length of the second link                           l2 = 9 cm                   2
                                                                                                                                                          Time (Second)
       x Coordinate (starting point)                           7                       x   0
       y Coordinate (starting point)                           5                           -2 0            5        10        15           20   25          30       35
       x Coordinate (ending point)                             −7
                                                                                           -4
       y Coordinate (ending point)                             2
       Step Number (n)                                         50                          -6
       Total Loggin Time                                       30 sn                       -8


follows                                                                                Fig. 6. The position of the end-effector on x-axis

                                                                        2                  6
                                      px0 + py0 + l1 − l2
                                      ¯2    ¯2     2    2                              y
      sin(θ1 − ρ) =        1−                                               (19)           5
                                          4l1 px0 + py0
                                            2
                                              ¯2    ¯2
                                                                                           4

From (17) and (19),                                                                        3

                                                                                           2
                      px0 +py0 +l1 −l2
                      ¯2 ¯2      2   2
                               √                                                           1
                         2l1       px0 +py0
                                   ¯2 ¯2
tan(θ1 − ρ) =
                                                  2                                        0
                               px0 +py0 +l1 −l2
                               ¯2 ¯2      2   2
                    1−                                                                          0          5        10        15           20   25       30       35
                                4l1 px0 +py0
                                  2
                                    ¯2 ¯2                                                                                                             Time (Second)
                                                                                 2
                    4l1 px0 + py0 − px0 + py0 + l1 − l2
                      2
                        ¯2    ¯2    ¯2    ¯2     2    2
                                                                                       Fig. 7. The position of the end-effector on y-axis
tan(θ1 − ρ) =
                                     ¯2
                                     px0   +   ¯2
                                               py0    +    2
                                                          l1   −    2
                                                                   l2
                                                                            (20)                                              6        y
can be written. Then above equation is;                                                                                       5
                                                                           2
                                                                                                                             4
                    4l1 px0 + py0 − px0 + py0 + l1 − l2
                      2
                        ¯2    ¯2    ¯2    ¯2     2    2
             −1                                                                
θ1 = ρ + tan                                                                                                                  3
                                     px0 + py0 + l1 − l2
                                     ¯2    ¯2     2    2
                                                                                                                              2

                                                                                (21)                                          1
                                                                                                                                                                    x
                                                                                                                              0
The second joint angle, θ2 can be solved by dividing (11) to                           -10                     -5                  0             5                  10
(10) as below:
                                                                                       Fig. 8. The position of the end-effector on xoy coordinate frame
                    −1          −px0 s1 + py0 c1
                                   ¯        ¯
          θ2 = tan                                              + kπ        (22)
                               px0 c1 + py0 s1 − l1
                               ¯        ¯                                                                                                            Time (Second)
                                                                                         Teta 1       0
The program is written acccording to variables which are                               (Gradient)    0                   10                20        30                 40
                                                                                                 -20
given in Table II and Equations (21), (22). The algorithm of
the program is given in detail in Appendix I.                                                        -40
  As it is shown in Table II, the program is run for 30 seconds
and 50 step points. After running the program data in Table III                                      -60
are obtained.
                                                                                                     -80

IV. RESULTS AND DISCUSSION                                                                          -100
The position of the end-effector on the x-axis is shown in
Fig. 6. There is a linear relationship between time and posi-                                       -120
tion. After the middle of the sampling time (after 15 seconds),
                                                                                                    -140
the end-effector is moving along the negative part of the x-
axis in order to reach to final point set in the program.                                            -160
   Similarly, the variation in the end effector position on the
y-axis is shown in Fig. 7. As it is shown in this figure, the start-                    Fig. 9. The variations in the first joint angle, θ1
ing and ending points of the end-effector matches the values
that are given in the program which is rather desirable. It                              The variations in the first joint angle, θ1 are shown in Fig. 9.
follows from the above two figures the position of the end                              In this figure there is a linear relationship between time and
effector on the xoy coordinate frame is shown in Fig. 8.                               the joint angle until 10 sn. After this point, linearity no longer
Welding                                                                                                                        359
                        Table III. The joint variables of the manipulator which are derived from the program.

               Step          Time          θ1 (Gradient)          θ2 (Gradient)         ω1 (rad/sn)         ω2 (rad/sn)

                0               0           −2,816486                126,473                 0,00                     0,00
                1             0,6           −4,252487               128,2504             −0,0418                   0,0517
                2             1,2           −5,715397               130,0042             −0,0426                    0,051
                3             1,8           −7,208878               131,7343             −0,0434                   0,0503
                4             2,4           −8,736984               133,4404             −0,0445                   0,0496
                5               3           −10,30421                135,122             −0,0456                   0,0489
                6             3,6           −11,91557               136,7784             −0,0469                   0,0482
                7             4,2           −13,57665               138,4088             −0,0483                   0,0474
                8             4,8            −15,2937               140,0119             −0,0499                  0,0466
                9             5,4           −17,07373               141,5863             −0,0518                  0,0458
               10               6           −18,92464               143,1301             −0,0538                  0,0449
               11             6,6           −20,85528               144,6412             −0,0562                    0,044
               12             7,2            −22,8756                146,117             −0,0588                  0,0429
               13             7,8           −24,99669               147,5543             −0,0617                  0,0418
               14             8,4           −27,23099               148,9493              −0,065                  0,0406
               15               9           −29,59219               150,2976             −0,0687                  0,0392
               16             9,6           −32,09529               151,5941             −0,0728                  0,0377
               17            10,2           −34,75644               152,8328             −0,0774                    0,036
               18            10,8           −37,59261               154,0066             −0,0825                  0,0341
               19            11,4           −40,62097               155,1076             −0,0881                    0,032
               20              12           −43,85803                156,127             −0,0942                  0,0297
               21            12,6           −47,31818               157,0547              −0,101                    0,027
               22            13,2           −51,01178               157,8804              −0,107                    0,024
               23            13,8           −54,94283                158,593              −0,114                  0,0207
               24            14,4           −59,10625               159,1815              −0,121                  0,0171
               25              15           −63,48522               159,6359              −0,127                  0,0132
               26            15,6           −68,04936               159,9473              −0,133                 0,00906
               27            16,2           −72,75414               160,1095              −0,137                 0,00472
               28            16,8           −77,54247               160,1188              −0,139                0,000272
               29            17,4           −82,34827               159,9752               −0,14                −0,00418
               30              18           −87,10191               159,6816              −0,138                −0,00854
               31            18,6           −91,73608               159,2443              −0,135                 −0,0127
               32            19,2           −96,19121               158,6716               −0,13                 −0,0167
               33            19,8           −100,4192               157,9736              −0,123                 −0,0203
               34            20,4           −104,3854               157,1611              −0,115                 −0,0236
               35              21           −108,0681               156,2452              −0,107                 −0,0266
               36            21,6           −111,4578               155,2365             −0,0986                 −0,0293
               37            22,2           −114,5544               154,1449             −0,0901                 −0,0318
               38            22,8            −117,365               152,9796             −0,0818                 −0,0339
               39            23,4           −119,9021               151,7484             −0,0738                 −0,0358
               40              24           −122,1811               150,4586             −0,0663                 −0,0375
               41            24,6            −124,219               149,1163             −0,0593                  −0,039
               42            25,2           −126,0335               147,7267             −0,0528                 −0,0404
               43            25,8           −127,6423               146,2944             −0,0468                 −0,0417
               44            26,4           −129,0621               144,8232             −0,0413                 −0,0428
               45              27           −130,3088               143,3162             −0,0363                 −0,0438
               46            27,6           −131,3971               141,7762             −0,0317                 −0,0448
               47            28,2           −132,3404               140,2054             −0,0274                 −0,0457
               48            28,8           −133,1511               138,6058             −0,0236                 −0,0465
               49            29,4           −133,8403               136,9787               −0,02                 −0,0473
               50              30           −134,4179               135,3254             −0,0168                 −0,0481




exist and the joint angle is varying rapidly. Similar behaviour     of the end-effector, the variation in the second joint angle
can be seen in the angular velocity of the first joint angle, as     is rather nonlinear, but still there are no sudden increases or
shown in Fig. 10. There, after 1.5 seconds the variations in        decreases, therefore it assumes a gradual form. As a result, the
the joint angle velocity are rapid and nonlinear.                   angular velocity of the second joint angle is varying linearly
  Similarly, the variation in the second joint angle, θ2 is         for about 2 seconds, as shown in Fig. 12. After that time the
shown in Fig. 11. In order to reach the required position           changes are rather nonlinear, but they are still gradual.
360                                                                                                                                        Welding
                                                               Time (Second)       kinematic equations together with some geometric equalities.
                   0
                                                                                   The joint angles variations and angular velocities are shown
Velocity 1      0                  10          20         3                   0
                                                                                   in Fig. 6–12. The results derived in this work are completely
 (rad/sn) -0,02
                                                                                   theoretical.
             -0,04                                                                    The program results may give us an idea how the real robot
                                                                                   may behave under same condition. Obviously, the real robot
             -0,06
                                                                                   may not give same responses. This is due to the fact that
             -0,08                                                                 in this analyses the mass of the end-effector and links, the
                                                                                   friction forces in the joints are not considered.
              -0,1                                                                    The variation in the first joint angle, θ1 is rapid and
             -0,12
                                                                                   nonlinear are shown in Fig. 9. This could cause problems, in
                                                                                   real life applications due to the fact that under this condition
             -0,14                                                                 the inertial forces could become very effective; hence, this
                                                                                   could lead to instability.
             -0,16
                                                                                      In welding application, the linear movements of the end-
                                                                                   effector is crucial in order to have a homogeneous (in terms
Fig. 10. The changes of the first joint angle velocity, ω1
                                                                                   of materials) welding seam. For that reason, the stability and
                                                                                   linear movement of the end-effector is very important. In this
             180                                                                   case, the stability of the manipulator may be assured by using
 Teta 2 160                                                                        one of the adaptive control strategies which can adapt itself
(Gradient)                                                                         to changes in the system and working condition.7
        140
                                                                                      One could consider modelling the manipulator dynamic-
             120                                                                   ally by using one of the dynamic system modelling packages
             100
                                                                                   program, like simulink. The joint angles and position of the
                                                                                   links may be found by using this mathematical model of
             80
                                                                                   the system. Later on, a prototype of the real manipulator
             60                                                                    may be built, and the two theoretical results (the inverse
             40
                                                                                   kinematic analyses results and the dynamic model results)
                                                                                   may be compared with real robot responses in order to see
             20
                                                                                   which method is of an effective and practical in use. It is also
              0                                                                    possible to find which method gives better understanding of
                   0       5       10    15         20   25       30      35       the real robot.
                                                              Time (Second)


Fig. 11. The variations in the second joint angle, θ2
                                                                                   References
                                                                                   1. J. C. Colson and N. D. Perreira, “Kinematic Arrangements Used
              0,06
                                                                                      in Industrial Robots”, Proc. 13th International Symposium on
                                                                                      Industrial Robots (1983). pp. 28–37.
              0,04                                                                 2. J. M. Hollerbach and S. Gideon, “Wrist-Partitioned Inverse
                                                                                      Kinematic Accelerations and Manipulator Dynamics”, Int. J.
              0,02                                                                    Robotics Res. 4, 61–76 (1983).
                                                              Time (Second)        3. A. J. Koivo, Fundamentals for Control of Robotic Manipulators,
Velocity 2
 (rad/sn)
                   0                                                                  (John Wiley and Sons, 1989).
                       0       5    10    15        20   25        30         35   4. A. A. Goldenberg, B. Benhabib and R. G. Fenton, “A Complete
             -0,02                                                                    Generalized Solution to the Inverse Kinematics of Robots”,
                                                                                      IEEE Journal of Robotics and Automation, RA-1, No. 1, 14–20
             -0,04                                                                    (March 1985).
                                                                                   5. M. W. Spong and M. Vidyasagar, Robot Dynamics and Control
             -0,06
                                                                                      (John Wiley and Sons, 1989).
                                                                                   6. R. P. Paul, B. E. Shimano and G. Mayer, “Kinematic Control
Fig. 12. The changes of the second joint angle velocity, ω2                           Equations for Simple Manipulators” IEEE Trans. Systems,
                                                                                      Man., and Cybernetics SMC-11, No. 6, 339–455 (1981).
                                                                                   7. S. Bulut, “The robustness of Reduced Order Minimal Controller
V. CONCLUSIONS                                                                        Synthesis Control in Plastic Region”, Proc. Instn Mech. Engrs,
In this paper, the joint angles and angular velocities of the                         Part I, Journal of Systems and Control Engineering 214, 185–
two link planar manipulator are derived by using inverse                              195 (1999).
Welding                                                                     361

APPENDIX I
The calculation program which is written in Fotran 90


                                          START



                                    ul1, ul2, bax, bay
                                    bix, biy, adim, time



                                baku = (bax**2 + bay**2)**0.5



                                biku = (bix**2 + biy**2)**0.5



                                   top1 = ul1 + ul2
                                   fark1 = ABS(ul1 – ul2)



                                     time1 = time/adim



                                                                H
                                          top1 < baku

                                                 E
                                                                H
                                          baku < fark1

                                                 E
                                                                H
                                        top1 < biku

                                                 E
                                                                H
                                        biku < fark1

                                                 E
                                                                H
                                           bay < 0

                                                 E
                                                                H
                                           biy < 0

                                                 E
                                             m=0



                                             A                      B   C
362                                                                                                     Welding

                                            A                                       B               C




                                       Create “results”
                                          Data file
                                                                              If the given
                                                                            coordinates are
                                                                             outside of the
                                          I = 0,adim                      working space then
                                                                          enter button“1” for
                                                                                the new
                                                                              coordinates
                         E
                                           i = adim

                                                 H
          bulx = bix
          buly = biy                     n = adim-m
                                                                               Vgir


                                         saykat = m/n                                           E
                                                                              Vgir = 1


                             bulx = (bax + saykat*bix)/(1 + saykat)                 H



                             buly = (bax + saykat*biy)/(1 + saykat)



                       teta1 = atan(buly/bulx) +
                       atan(((44*ul1**2*(bulx**2 + buly**2) –
                       (bulx**2 + buly**2 + ul1**2 – ul2**2)**0.5)/
                       (bulx**2 + buly**2 + ul1**2 – ul2**2))


                       teta2 = atan((bulx*sin(teta1) + buly*cos(teta1)/
                       (bulx*cos(teta1) + buly*sin(teta1) – ul1))



                              E
                                             i=0

                                                 H
                                     t1fark = teta1 – teta1s
                                     t2fark = teta2 – teta2s



                                        teta1s = teta1
                                        teta2s = teta2



      F                                      D                                  E
Welding                                                                                                                      363


                      F                                  D                                                 E



                                                hız1 = t1fark/time1
                                                hız2 = t2fark/time1



                                                 time t = time1*i



                                                         I




                                        Write all data accordinly into teta1s,
                                        teta2s, hız1, hız2 and timet data files




                                                    Close the
                                                “results” data file




                                                      STOP




                             Table IV. The description of notations that are in the Fortran 90 program.

          adim: the total step number                                   n: the total step number along [CB]
          baku: the distance between o0 , origin of the base            saykat: the coefficient k, k = m /n
             coordinate frame and the starting point
          bax: x coordinate of the starting point                       teta1: the first joint angle, θ1
          bay: y coordinate of the starting point                       teta2: the second joint angle, θ2
          biku: the distance between o0 , origin of the base            teta1s = teta1 − t1fark
             coordinate frame and the ending point                      teta2s = teta2 − t2fark
          bix: x coordinate of the ending point                         t1fark: θ1 (t + 1) − θ 1 (t)
          biy: y coordinate of the ending point                         t2fark: θ2 (t + 1) − θ 2 (t)
          bulx: x coordinate of the every step point                    t: time
          buly: y coordinate of the every step point                    time: one cycle of time
          fark1: the subtractive length of the first and second link     time1: one step of time
                                                                        timet: the total time
          hız1: the angular velocity of the first joint angle, θ1        top1: the total length of the first and second link
          hız2: the angular velocity of the second joint angle, θ2      ul1: the length of the first link
          m: the total step number along [AC]                           ul2: the length of the second link
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

Contenu connexe

Similaire à Joint angle variations

Vector lesson and problems
Vector lesson and problemsVector lesson and problems
Vector lesson and problemsJohn Trinh
 
S-functions Paper: Switching Amplifier Design With S-functions
S-functions Paper: Switching Amplifier Design With S-functionsS-functions Paper: Switching Amplifier Design With S-functions
S-functions Paper: Switching Amplifier Design With S-functionsNMDG NV
 
Business Proposal Presentation in Purple Monochrome Corporate Style.pptx
Business Proposal Presentation in Purple Monochrome Corporate Style.pptxBusiness Proposal Presentation in Purple Monochrome Corporate Style.pptx
Business Proposal Presentation in Purple Monochrome Corporate Style.pptxJOHN35307
 
Jacobian inverse manipulator
Jacobian inverse manipulatorJacobian inverse manipulator
Jacobian inverse manipulatorHitesh Mohapatra
 
Curves wire frame modelling
Curves wire frame modellingCurves wire frame modelling
Curves wire frame modellingjntuhcej
 
Synchronverters: Inverters that Mimic Synchronous Generators
Synchronverters: Inverters that Mimic Synchronous GeneratorsSynchronverters: Inverters that Mimic Synchronous Generators
Synchronverters: Inverters that Mimic Synchronous GeneratorsQing-Chang Zhong
 
Variational Principle
Variational PrincipleVariational Principle
Variational PrincipleAmeenSoomro1
 
Types of armature winding of dc generator
Types of armature winding of dc generator Types of armature winding of dc generator
Types of armature winding of dc generator manoharpitchai
 
2A_ROBOT KINEMATICS.pptx
2A_ROBOT KINEMATICS.pptx2A_ROBOT KINEMATICS.pptx
2A_ROBOT KINEMATICS.pptxTanujBanerji1
 
Fundamentals of inertial navigation, satellite based positioning and their in...
Fundamentals of inertial navigation, satellite based positioning and their in...Fundamentals of inertial navigation, satellite based positioning and their in...
Fundamentals of inertial navigation, satellite based positioning and their in...Springer
 
Lecture 08 hibridequivalentmodel
Lecture 08 hibridequivalentmodelLecture 08 hibridequivalentmodel
Lecture 08 hibridequivalentmodelIsmael Cayo Apaza
 
Solution of the Special Case "CLP" of the Problem of Apollonius via Vector Ro...
Solution of the Special Case "CLP" of the Problem of Apollonius via Vector Ro...Solution of the Special Case "CLP" of the Problem of Apollonius via Vector Ro...
Solution of the Special Case "CLP" of the Problem of Apollonius via Vector Ro...James Smith
 
Position analysis and dimensional synthesis
Position analysis and dimensional synthesisPosition analysis and dimensional synthesis
Position analysis and dimensional synthesisPreetshah1212
 
Mae 493 Final Google
Mae 493 Final GoogleMae 493 Final Google
Mae 493 Final Googleguest1e1a27
 

Similaire à Joint angle variations (20)

Dc machines2
Dc machines2Dc machines2
Dc machines2
 
HYDROGEN ATOM.ppt
HYDROGEN ATOM.pptHYDROGEN ATOM.ppt
HYDROGEN ATOM.ppt
 
Vector lesson and problems
Vector lesson and problemsVector lesson and problems
Vector lesson and problems
 
S-functions Paper: Switching Amplifier Design With S-functions
S-functions Paper: Switching Amplifier Design With S-functionsS-functions Paper: Switching Amplifier Design With S-functions
S-functions Paper: Switching Amplifier Design With S-functions
 
Business Proposal Presentation in Purple Monochrome Corporate Style.pptx
Business Proposal Presentation in Purple Monochrome Corporate Style.pptxBusiness Proposal Presentation in Purple Monochrome Corporate Style.pptx
Business Proposal Presentation in Purple Monochrome Corporate Style.pptx
 
Matrices 2
Matrices 2Matrices 2
Matrices 2
 
Jacobian inverse manipulator
Jacobian inverse manipulatorJacobian inverse manipulator
Jacobian inverse manipulator
 
Joukowski
JoukowskiJoukowski
Joukowski
 
Curves wire frame modelling
Curves wire frame modellingCurves wire frame modelling
Curves wire frame modelling
 
Synchronverters: Inverters that Mimic Synchronous Generators
Synchronverters: Inverters that Mimic Synchronous GeneratorsSynchronverters: Inverters that Mimic Synchronous Generators
Synchronverters: Inverters that Mimic Synchronous Generators
 
Variational Principle
Variational PrincipleVariational Principle
Variational Principle
 
Types of armature winding of dc generator
Types of armature winding of dc generator Types of armature winding of dc generator
Types of armature winding of dc generator
 
2A_ROBOT KINEMATICS.pptx
2A_ROBOT KINEMATICS.pptx2A_ROBOT KINEMATICS.pptx
2A_ROBOT KINEMATICS.pptx
 
Fundamentals of inertial navigation, satellite based positioning and their in...
Fundamentals of inertial navigation, satellite based positioning and their in...Fundamentals of inertial navigation, satellite based positioning and their in...
Fundamentals of inertial navigation, satellite based positioning and their in...
 
Lecture 08 hibridequivalentmodel
Lecture 08 hibridequivalentmodelLecture 08 hibridequivalentmodel
Lecture 08 hibridequivalentmodel
 
Solution of the Special Case "CLP" of the Problem of Apollonius via Vector Ro...
Solution of the Special Case "CLP" of the Problem of Apollonius via Vector Ro...Solution of the Special Case "CLP" of the Problem of Apollonius via Vector Ro...
Solution of the Special Case "CLP" of the Problem of Apollonius via Vector Ro...
 
Position analysis and dimensional synthesis
Position analysis and dimensional synthesisPosition analysis and dimensional synthesis
Position analysis and dimensional synthesis
 
Mae 493 Final Google
Mae 493 Final GoogleMae 493 Final Google
Mae 493 Final Google
 
8.mostafa a. merazy 70 77
8.mostafa a. merazy 70 778.mostafa a. merazy 70 77
8.mostafa a. merazy 70 77
 
Vertical Curves (Part 2)
Vertical Curves (Part 2)Vertical Curves (Part 2)
Vertical Curves (Part 2)
 

Dernier

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Dernier (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Joint angle variations

  • 1. Robotica (2006) volume 24, pp. 355–363. © 2005 Cambridge University Press doi:10.1017/S0263574705002274 Printed in the United Kingdom Joint angle variations analyses of the two link planar manipulator in welding by using inverse kinematics S. Bulut∗ and M. B. Terzioˇ lu g Cumhuriyet University, Mechanical Engineering Department, 58140, Sivas e-mail: sbulut@cumhuriyet.edu.tr (Received in Final Form: June 7, 2005, first published online 23 November 2005) SUMMARY In Fig. 1, l1 and l2 are the lenghts of the first and second link In this paper, the joint angles of a two link planar manipulator of the manipulator, θ1 is the joint angle between x coordinate are calculated by using inverse kinematics equations together frame and the first link of the manipulator, θ2 is the angle with some geometric equalities. For a given position of between the first and second link of the manipulator. While the end-effector the joint angle and angular velocity of the the end-effector is moving between A and B in a linear links are derived. The analyses contains many equations motion, the workspace of the manipulator will be as shown which have to be solved. However, the solutions are rather in Fig. 2. cumbersome and complicated, therefore a program is written This type of linear movement is desired, especially in Fortran 90 in order to do, the whole calculation and data in welding applications in order to have a linear and collection. The results are given at the end of this paper. homogeneous welding seam. The welding seam [AB] can be divided into many steps as shown in Fig. 3. Every point coressponds to diferent links position and joint angles which KEYWORDS: Two link planar manipulator; Inverse may calculated by using inverse kinematics equations.3 kinematics; Joint angles; Angular velocity; Forward kinematics. III. INVERSE KINEMATIC ANALYSES When the end-effector of the manipulator is moving from A I. INTRODUCTION to B in a linear motion, as it is shown in Fig. 1, the joint The forward kinematics problem always has a unique angles θ1 and θ2 change according to the manipulator links solution which can be obtained simply by evaluating the position l1 and l2 . forward equations.1 On the contrary, inverse kinematics does Let’s assume that the end-effector is doing a welding the reverse. In inverse kinematics, given a desired position operation between A and B points, as it is shown in Fig 1. and orientation for the end-effector of the robot a set of joint In this figure, A is the starting point, where the welding variables can be determine that achieve the desired position starts and B is the final point where it ends. In order to and orientation. Generally, an inverse kinematic problem may figure out the joint angles of the manipulator along [AB], or may not have a solution. Also, if a solution exists it may inverse kinematics equations are used. Finding the inverse not be a unique. Furthermore, inverse kinematic equations are kinematics solutions at the point A and B will not give complicated and nonlinear functions of the joint variables, us clear idea how the end-effector is behaving along the therefore the solutions may be difficult to obtain even if they welding seam. Therefore it is necessary to find the inverse exist.2 kinematic solution of every step points along [AB]. Doing In inverse kinematics, the equations are much more this computation by hand is rather difficult, complicated difficult to solve directly. Generally, it is necessary to develop and cumbersome. For this reason, a program is written efficient and systematic techniques that exploit the paticular in Fortran 90 which calculates the joint angles and links kinematic structure of the manipulator. Although, in one way position of the manipulator. The program is written based on the method is very effective in finding the solution because forward and inverse kinematic equations. In order to drive it uses geometric approaches as well, still there is not one inverse kinematics equations,4 homogeneous equations are solution which can be apply to all robots. Therefore, for used together with some geometric equalities according to different robots different solutions are needed. the Denavit Hartenberger (D-H) representation. For any given starting and ending points, the program II. TWO LINK PLANAR MANIPULATOR calculates the manipulators links positions, joint angles and The manipulator is consist of two links and a end-effector joint angle velocities which will presented at the end of this which is fixed at the end of the second link, as it is shown paper. The main purpose of this program is to figure out the in Fig. 1. In this figure, the end-effector is moving linearly end effector position by calculating the variations in the first between the points A and B. and second joint angles θ1 and θ2 , respectively. Let’s assume that the end-effector is passing [AB] in * Corresponding author. limited step points. Under this condition, x and y coordinates
  • 2. 356 Welding y y x2 y2 A B s a o2 n l2 θ2 y1 l2 θ2 z2 x1 y0 l1 o1 l1 θ1 z1 o θ1 o o0 x0 x x Fig. 1. Linear movement of the end effector from A to B z0 Fig. 4. Coordinate frames attached to two link planar manipulator y end-effector or tool frame. The origin of the tool frame is l -l 1 2 most often placed symmetrically between the fingers of the l +l 1 2 gripper.6 The unit vectors along the xn , yn and zn axes are labelled as n, s and a, respectively. According to the D- H representation, the transformation matrix in general form x can be written as below:   Cosθi −Cosβi Sinθi Sinαi Sinθi ai Cosθi  Sinθi Cosαi Sinθi −Sinαi Cosθi ai Sinθi  Ai = di  Fig. 2. The workspace of the two link planar manipulator i−1 0 Sinαi Cosαi 0 0 0 1 A(x1 , y1 ) C x 0 , y 0 B(x 2 , y 2 ) (4) m n where i = 1, 2. Equation (4) describes the transformation matrix between two coordinate frames i and (i − 1) attached to links i and i − 1 which are connected by a rotational joint. Fig. 3. Dividing the welding seam into step points In the above equation θi is the angle, αi is the twist angle, ai is the length and di is the distance between the links. The of a given step point may calculated. Consider point C joint variables of the two link planar manipulator are given in Fig. 3; x0 and y0 coordinates are calculated by using in Table I. geometric equalities as below: According to (4), the transformation matrices A1 and A2 , 0 1 which relates to the first and second coordinate frames, can [CA] m be written as follows: = =k (1) [CB] n   c1 −s1 0 l1 c1 then, x0 and y0 are written as follow: s1 c1 0 l1 s1  A0 =  1 0 0 1 1  x1 + kx2 0 0 0 1 x0 = (2)   1+k c2 −s2 0 l2 c2 s2 c2 0 l2 s2  A1 =  2 1  and (5) 0 0 1 y1 + ky2 0 0 0 1 y0 = (3) 1+k In Fig. 4 coordinate frames of the two link planar manipulator Table I. The joints variables. is given. In this figure, oxyz, ox1 y1 z1 and ox2 y2 z2 coordinate Link (i) di ai αi θi frames are placed on the manipulator links according to 1 0 l1 0 θ1 the Denavit Hartenberger (D-H) representation.5 The final 2 0 l2 0 θ2 coordinate system on xn yn zn is commonly referred to as the
  • 3. Welding 357 where c1 = cosθ1 , s1 = sinθ1 , c2 = cosθ2 and s2 = sinθ2 . y The homogeneous transformation matrix is, (Px0, Py0) T = A2 = A1 A2 0 0 1 (6)   c12 −s12 0 l1 c1 + l2 c12 l2 l1 c1 + l2 c12  r s12 c12 0 θ2 A2 =  0  (7) 0 0 1 1 0 0 0 1 ρ l1 In the above equation, c12 = c1 c2 − s1 s2 = cos(θ1 + θ2 ) and θ1 s12 = s1 c2 + c1 s2 = sin(θ1 + θ2 ). The matrix A2 relates the 0 end-effector coordinates to the base coordinate frame. From x Equations (6) and (7), the position of the end-effector in the base coordinate system can be obtained. From (6), A2 can be 1 Fig. 5. The manipulator joint angles written as follows: −1 A2 = A1 1 0 T (8) where, where px0 = r cosρ ¯ (13) py0 = sinρ ¯   c1 s1 0 −l1 r= px0 + py0 ¯2 ¯2 (14) −1 −s1 c1 0 0  A1 = A0 =  1 0  and ρ = tan−1 ( py0 ). By using (13) and the equality , ¯ p 0 1 0 0 ¯ x0 0 0 0 1 cosθ1 cosρ + sinθ1 sinρ = cos(θ1 − ρ), the Equation (12) is rewritten as below: and 2l1 r cos(θ1 − ρ) = px0 + py0 + l1 − l2 ¯2 ¯2 2 2 (15)  ¯  The above equation can be rewritten by using (14) as; nx0 sx0 ax0 Px0 ny0 sy0 ay0 ¯ Py0  T = Pz0  . nz0 sz0 az0 ¯ 2l1 px0 + py0 cos(θ1 − ρ) = px0 + py0 + l1 − l2 ¯2 ¯2 ¯2 ¯2 2 2 (16) 0 0 0 1 Then, Equation (8) can be rewritten as follows   ¯  c1 s1 0 −l1 nx0 sx0 ax0 Px0 −s1 c1 0 0  ny0 sy0 ay0 ¯ Py0  A0 T =  1 0 0 1 0   nz0 sz0 az0 Pz0  ¯ 0 0 0 1 0 0 0 1   c1 nx0 + s1 ny0 c1 sx0 + s1 sy0 c1 ax0 + s1 ay0 c1 px0 + s1 py0 − 11 ¯ ¯ (9) 0 −s1 nx0 + c1 ny0 s1 sx0 + c1 sy0 s1 ax0 + c1 ay0 s1 px0 + c1 py0  ¯ ¯ A1 = A1 T  2  nz0 sz0 az0 ¯ pz0 0 0 0 1 The corresponding entries in (5) and (9) are set equal, From (16), therefore the following equations can be written: px0 + py0 + l1 − l2 ¯2 ¯2 2 2 c1 px0 + s1 py0 − l1 = l2 c2 ¯ ¯ (10) cos(θ1 − ρ) = (17) 2l1 px0 + py0 ¯2 ¯2 −s1 px0 + c1 py0 = l2 s2 ¯ ¯ (11) and The first and second joint angles, θ1 and θ2 in Fig. 5 can be 2 calculated from Equations (10) and (11). Taking the square px0 + py0 + l1 − l2 ¯2 ¯2 2 2 of (10) and (11) and adding them side by side the following cos (θ1 − ρ) = 2 (18) equation results 4l1 px0 + py0 2 ¯2 ¯2 can be written. By using the equality cos2 (θ1 − ρ) + (2l1 px0 )c1 + (2l1 py0 )s1 = ¯ ¯ ¯2 px0 + ¯2 py0 + 2 l1 − 2 l2 (12) sin2 (θ1 − ρ) = 1 and Equation (18), the following equation
  • 4. 358 Welding Table II. The joint variables of the manipulator which are used in 8 the program. 6 The length of the first link l1 = 10 cm 4 The length of the second link l2 = 9 cm 2 Time (Second) x Coordinate (starting point) 7 x 0 y Coordinate (starting point) 5 -2 0 5 10 15 20 25 30 35 x Coordinate (ending point) −7 -4 y Coordinate (ending point) 2 Step Number (n) 50 -6 Total Loggin Time 30 sn -8 follows Fig. 6. The position of the end-effector on x-axis 2 6 px0 + py0 + l1 − l2 ¯2 ¯2 2 2 y sin(θ1 − ρ) = 1− (19) 5 4l1 px0 + py0 2 ¯2 ¯2 4 From (17) and (19), 3 2 px0 +py0 +l1 −l2 ¯2 ¯2 2 2 √ 1 2l1 px0 +py0 ¯2 ¯2 tan(θ1 − ρ) = 2 0 px0 +py0 +l1 −l2 ¯2 ¯2 2 2 1− 0 5 10 15 20 25 30 35 4l1 px0 +py0 2 ¯2 ¯2 Time (Second) 2 4l1 px0 + py0 − px0 + py0 + l1 − l2 2 ¯2 ¯2 ¯2 ¯2 2 2 Fig. 7. The position of the end-effector on y-axis tan(θ1 − ρ) = ¯2 px0 + ¯2 py0 + 2 l1 − 2 l2 (20) 6 y can be written. Then above equation is; 5  2  4 4l1 px0 + py0 − px0 + py0 + l1 − l2 2 ¯2 ¯2 ¯2 ¯2 2 2 −1   θ1 = ρ + tan 3 px0 + py0 + l1 − l2 ¯2 ¯2 2 2 2 (21) 1 x 0 The second joint angle, θ2 can be solved by dividing (11) to -10 -5 0 5 10 (10) as below: Fig. 8. The position of the end-effector on xoy coordinate frame −1 −px0 s1 + py0 c1 ¯ ¯ θ2 = tan + kπ (22) px0 c1 + py0 s1 − l1 ¯ ¯ Time (Second) Teta 1 0 The program is written acccording to variables which are (Gradient) 0 10 20 30 40 -20 given in Table II and Equations (21), (22). The algorithm of the program is given in detail in Appendix I. -40 As it is shown in Table II, the program is run for 30 seconds and 50 step points. After running the program data in Table III -60 are obtained. -80 IV. RESULTS AND DISCUSSION -100 The position of the end-effector on the x-axis is shown in Fig. 6. There is a linear relationship between time and posi- -120 tion. After the middle of the sampling time (after 15 seconds), -140 the end-effector is moving along the negative part of the x- axis in order to reach to final point set in the program. -160 Similarly, the variation in the end effector position on the y-axis is shown in Fig. 7. As it is shown in this figure, the start- Fig. 9. The variations in the first joint angle, θ1 ing and ending points of the end-effector matches the values that are given in the program which is rather desirable. It The variations in the first joint angle, θ1 are shown in Fig. 9. follows from the above two figures the position of the end In this figure there is a linear relationship between time and effector on the xoy coordinate frame is shown in Fig. 8. the joint angle until 10 sn. After this point, linearity no longer
  • 5. Welding 359 Table III. The joint variables of the manipulator which are derived from the program. Step Time θ1 (Gradient) θ2 (Gradient) ω1 (rad/sn) ω2 (rad/sn) 0 0 −2,816486 126,473 0,00 0,00 1 0,6 −4,252487 128,2504 −0,0418 0,0517 2 1,2 −5,715397 130,0042 −0,0426 0,051 3 1,8 −7,208878 131,7343 −0,0434 0,0503 4 2,4 −8,736984 133,4404 −0,0445 0,0496 5 3 −10,30421 135,122 −0,0456 0,0489 6 3,6 −11,91557 136,7784 −0,0469 0,0482 7 4,2 −13,57665 138,4088 −0,0483 0,0474 8 4,8 −15,2937 140,0119 −0,0499 0,0466 9 5,4 −17,07373 141,5863 −0,0518 0,0458 10 6 −18,92464 143,1301 −0,0538 0,0449 11 6,6 −20,85528 144,6412 −0,0562 0,044 12 7,2 −22,8756 146,117 −0,0588 0,0429 13 7,8 −24,99669 147,5543 −0,0617 0,0418 14 8,4 −27,23099 148,9493 −0,065 0,0406 15 9 −29,59219 150,2976 −0,0687 0,0392 16 9,6 −32,09529 151,5941 −0,0728 0,0377 17 10,2 −34,75644 152,8328 −0,0774 0,036 18 10,8 −37,59261 154,0066 −0,0825 0,0341 19 11,4 −40,62097 155,1076 −0,0881 0,032 20 12 −43,85803 156,127 −0,0942 0,0297 21 12,6 −47,31818 157,0547 −0,101 0,027 22 13,2 −51,01178 157,8804 −0,107 0,024 23 13,8 −54,94283 158,593 −0,114 0,0207 24 14,4 −59,10625 159,1815 −0,121 0,0171 25 15 −63,48522 159,6359 −0,127 0,0132 26 15,6 −68,04936 159,9473 −0,133 0,00906 27 16,2 −72,75414 160,1095 −0,137 0,00472 28 16,8 −77,54247 160,1188 −0,139 0,000272 29 17,4 −82,34827 159,9752 −0,14 −0,00418 30 18 −87,10191 159,6816 −0,138 −0,00854 31 18,6 −91,73608 159,2443 −0,135 −0,0127 32 19,2 −96,19121 158,6716 −0,13 −0,0167 33 19,8 −100,4192 157,9736 −0,123 −0,0203 34 20,4 −104,3854 157,1611 −0,115 −0,0236 35 21 −108,0681 156,2452 −0,107 −0,0266 36 21,6 −111,4578 155,2365 −0,0986 −0,0293 37 22,2 −114,5544 154,1449 −0,0901 −0,0318 38 22,8 −117,365 152,9796 −0,0818 −0,0339 39 23,4 −119,9021 151,7484 −0,0738 −0,0358 40 24 −122,1811 150,4586 −0,0663 −0,0375 41 24,6 −124,219 149,1163 −0,0593 −0,039 42 25,2 −126,0335 147,7267 −0,0528 −0,0404 43 25,8 −127,6423 146,2944 −0,0468 −0,0417 44 26,4 −129,0621 144,8232 −0,0413 −0,0428 45 27 −130,3088 143,3162 −0,0363 −0,0438 46 27,6 −131,3971 141,7762 −0,0317 −0,0448 47 28,2 −132,3404 140,2054 −0,0274 −0,0457 48 28,8 −133,1511 138,6058 −0,0236 −0,0465 49 29,4 −133,8403 136,9787 −0,02 −0,0473 50 30 −134,4179 135,3254 −0,0168 −0,0481 exist and the joint angle is varying rapidly. Similar behaviour of the end-effector, the variation in the second joint angle can be seen in the angular velocity of the first joint angle, as is rather nonlinear, but still there are no sudden increases or shown in Fig. 10. There, after 1.5 seconds the variations in decreases, therefore it assumes a gradual form. As a result, the the joint angle velocity are rapid and nonlinear. angular velocity of the second joint angle is varying linearly Similarly, the variation in the second joint angle, θ2 is for about 2 seconds, as shown in Fig. 12. After that time the shown in Fig. 11. In order to reach the required position changes are rather nonlinear, but they are still gradual.
  • 6. 360 Welding Time (Second) kinematic equations together with some geometric equalities. 0 The joint angles variations and angular velocities are shown Velocity 1 0 10 20 3 0 in Fig. 6–12. The results derived in this work are completely (rad/sn) -0,02 theoretical. -0,04 The program results may give us an idea how the real robot may behave under same condition. Obviously, the real robot -0,06 may not give same responses. This is due to the fact that -0,08 in this analyses the mass of the end-effector and links, the friction forces in the joints are not considered. -0,1 The variation in the first joint angle, θ1 is rapid and -0,12 nonlinear are shown in Fig. 9. This could cause problems, in real life applications due to the fact that under this condition -0,14 the inertial forces could become very effective; hence, this could lead to instability. -0,16 In welding application, the linear movements of the end- effector is crucial in order to have a homogeneous (in terms Fig. 10. The changes of the first joint angle velocity, ω1 of materials) welding seam. For that reason, the stability and linear movement of the end-effector is very important. In this 180 case, the stability of the manipulator may be assured by using Teta 2 160 one of the adaptive control strategies which can adapt itself (Gradient) to changes in the system and working condition.7 140 One could consider modelling the manipulator dynamic- 120 ally by using one of the dynamic system modelling packages 100 program, like simulink. The joint angles and position of the links may be found by using this mathematical model of 80 the system. Later on, a prototype of the real manipulator 60 may be built, and the two theoretical results (the inverse 40 kinematic analyses results and the dynamic model results) may be compared with real robot responses in order to see 20 which method is of an effective and practical in use. It is also 0 possible to find which method gives better understanding of 0 5 10 15 20 25 30 35 the real robot. Time (Second) Fig. 11. The variations in the second joint angle, θ2 References 1. J. C. Colson and N. D. Perreira, “Kinematic Arrangements Used 0,06 in Industrial Robots”, Proc. 13th International Symposium on Industrial Robots (1983). pp. 28–37. 0,04 2. J. M. Hollerbach and S. Gideon, “Wrist-Partitioned Inverse Kinematic Accelerations and Manipulator Dynamics”, Int. J. 0,02 Robotics Res. 4, 61–76 (1983). Time (Second) 3. A. J. Koivo, Fundamentals for Control of Robotic Manipulators, Velocity 2 (rad/sn) 0 (John Wiley and Sons, 1989). 0 5 10 15 20 25 30 35 4. A. A. Goldenberg, B. Benhabib and R. G. Fenton, “A Complete -0,02 Generalized Solution to the Inverse Kinematics of Robots”, IEEE Journal of Robotics and Automation, RA-1, No. 1, 14–20 -0,04 (March 1985). 5. M. W. Spong and M. Vidyasagar, Robot Dynamics and Control -0,06 (John Wiley and Sons, 1989). 6. R. P. Paul, B. E. Shimano and G. Mayer, “Kinematic Control Fig. 12. The changes of the second joint angle velocity, ω2 Equations for Simple Manipulators” IEEE Trans. Systems, Man., and Cybernetics SMC-11, No. 6, 339–455 (1981). 7. S. Bulut, “The robustness of Reduced Order Minimal Controller V. CONCLUSIONS Synthesis Control in Plastic Region”, Proc. Instn Mech. Engrs, In this paper, the joint angles and angular velocities of the Part I, Journal of Systems and Control Engineering 214, 185– two link planar manipulator are derived by using inverse 195 (1999).
  • 7. Welding 361 APPENDIX I The calculation program which is written in Fotran 90 START ul1, ul2, bax, bay bix, biy, adim, time baku = (bax**2 + bay**2)**0.5 biku = (bix**2 + biy**2)**0.5 top1 = ul1 + ul2 fark1 = ABS(ul1 – ul2) time1 = time/adim H top1 < baku E H baku < fark1 E H top1 < biku E H biku < fark1 E H bay < 0 E H biy < 0 E m=0 A B C
  • 8. 362 Welding A B C Create “results” Data file If the given coordinates are outside of the I = 0,adim working space then enter button“1” for the new coordinates E i = adim H bulx = bix buly = biy n = adim-m Vgir saykat = m/n E Vgir = 1 bulx = (bax + saykat*bix)/(1 + saykat) H buly = (bax + saykat*biy)/(1 + saykat) teta1 = atan(buly/bulx) + atan(((44*ul1**2*(bulx**2 + buly**2) – (bulx**2 + buly**2 + ul1**2 – ul2**2)**0.5)/ (bulx**2 + buly**2 + ul1**2 – ul2**2)) teta2 = atan((bulx*sin(teta1) + buly*cos(teta1)/ (bulx*cos(teta1) + buly*sin(teta1) – ul1)) E i=0 H t1fark = teta1 – teta1s t2fark = teta2 – teta2s teta1s = teta1 teta2s = teta2 F D E
  • 9. Welding 363 F D E hız1 = t1fark/time1 hız2 = t2fark/time1 time t = time1*i I Write all data accordinly into teta1s, teta2s, hız1, hız2 and timet data files Close the “results” data file STOP Table IV. The description of notations that are in the Fortran 90 program. adim: the total step number n: the total step number along [CB] baku: the distance between o0 , origin of the base saykat: the coefficient k, k = m /n coordinate frame and the starting point bax: x coordinate of the starting point teta1: the first joint angle, θ1 bay: y coordinate of the starting point teta2: the second joint angle, θ2 biku: the distance between o0 , origin of the base teta1s = teta1 − t1fark coordinate frame and the ending point teta2s = teta2 − t2fark bix: x coordinate of the ending point t1fark: θ1 (t + 1) − θ 1 (t) biy: y coordinate of the ending point t2fark: θ2 (t + 1) − θ 2 (t) bulx: x coordinate of the every step point t: time buly: y coordinate of the every step point time: one cycle of time fark1: the subtractive length of the first and second link time1: one step of time timet: the total time hız1: the angular velocity of the first joint angle, θ1 top1: the total length of the first and second link hız2: the angular velocity of the second joint angle, θ2 ul1: the length of the first link m: the total step number along [AC] ul2: the length of the second link
  • 10. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.