Download as pdf
Download as pdf
You are on page 1of 81
mentals base and Kinematics of Robots: Position Analysis 2.1 Introduction In this chapter, we will stu kinematic equations, we variables are known. Inv forward and inverse kinematics of robots. With forward determine where the robot's end (hand) will be ifall joint 3 kinematics the ha nables us to calculate what each joint variable ata particular point and a particular orientation. Using matrices, we will fist establish a method of describing objects, locations, otientations and movements. Then we will study the forward and inverse kinematics of differen: robot configurations such as Cartesian, cylindrical, and spherical coordinates. Finally, we will use the Denavit-Hartenberg representation to detive forward and inverse kinematic equations ofall possible con gardless of number ofjoints, order of joints, and presence (or lack) of offets and twists Jeis important to realize that in practice, manipulator-type robots are delivered with no end effector. In most cases, there may be a gripper attached to the robot, however depending on the actual application, different end effectors are attached to the roborb the user. Obviously, the end effectors size and length determine where the end of the robot will be. For a short end effector, the end will be at a differen location compared toa long end effector. In this chapter, we will assume that the end ofthe robot ia plate to which the end effector can be necessary. We will call this the “hand” or the “end plate” of the robot. If necessary, we can always add the length of the end effector to the robot for determining the location and orientation of the end effector. le should be mentioned here that a real robot manipulator, for which the length of the nd effector is not defined, will calculate its joint values based on the end plate location and orientation, which may be different from the position and orientation perceived by the user must be in order to locai rations of robots—t 33 34 Chapter 2. Kinematics of Robots: Position Analysis 2.2 Robots as Mechanisms Manipulator-type robors are mulki-degr ;eedom (DOF), three-dimensional, open Joop, chain mechanisms, and are discussed in this section, Mulki-degree-of-fteedom means that robots possess many joints, allowing them to move freely within their envelope. In a 1-DOF system, when the variable is set to a particular value, the mechanism is totally set and all its other variables are known, For example, in the 1-DOF 4-bar mechanism of Figure 2.1, when the crank is set to 120°, the les of the coupler link and the rocker arm are ao known, whereas in a muilti-DOF mechanism, all input variables must be individually defined in order to know the remaining parameters. Robots are multi-DOF machines, where each joint variable must be known in order to determine the location of the robot's hand. Robots are three-dimensional machines if they are to move in space, Although it is possible to have a two-dimensional multi-DOF robot, they are not common (or wsefil) Roboss are open-loop mechanisms, Unlike mechanisms that are closed-loop (¢.g.. 4 bar mechanisms), even if all joint variables are set to particular values, there is no guarantee that the hand will be at the given location, This is because deffections in any joint or link will change the location of all subsequent links without feedback. For example, in the 4-bar mechanism of Figure 2.2, when link AB deflects as a result of load F, link BO, will also move; cherefore, the deflection can be detected. In an open-loop ystem such as the robot, the deflections will move all succeeding members without any re 2.1 A L-DOF closed-loop 4-bar mechanism Figure 2.2 Closed-loop (a) versus open-loop (b) mechanisms. 2.3 Convention: 35 pen For the 1OF the Figure 2.3 feedback. Therefore, in operi-loop systems, either all joint and link parameters must continuously be measured, or the end of the system must be monitored otherwise, the kinematic position of th expressed by is not completely known, mparing the vector equations describing any different links of the two mechanisms as follows: Fot 7 load For the 4-bar mechanism: O|A + AB = 0,03 + OB oop any For the robot OA +AB+ BC =O. s you can see, if there is a deflection in link of Equation (2.1) have the links. On the other hand, if link AB of the robot deflects, known, To constantly measu: 4B, link OB changed remed) standard practice, the deflections. This will render the robot ve payload will be very low compared to Alternat arallel heavy, massive, and slow what it can actually carry 8, also called ure 2.3). The tradeoff is much-reduced 2.3 Conventions Throughout this book, we will use the following conventions fo ames, transformations, and so on Vector ii Ys 50, 085 p Vector components thy ty yds dy Transformations T, ®P, &Tp (qansformation of robot relative where Universe isa fixed frame) This difference can be © relationship ill move accordingly orresponding ¢o the chat Il subsequent links will ever, unless O,C is measured by other means, the change will not b his problem in open loop robots, either the position of the hand is with devices such as a camera, the robot is made into a elosed loop system with external means sich as the use of secondary arms or laser beams," or as >bot links and joints are made excessively strong co eliminate all n closed-loop nd workspace describing 36 er rematics of Robots: Position Analysis 2.4 Matrix Representation Matrices can be used to represent points, vectors, frames, translations, rotations, trans formations, as well as objects and other kinematic elements. We will use this represent ation throughout the book. 2.4.1 Representation of a Point in Space A point P in space (Figure 2.4) can be represented by is three coordinates relative t bj + coke 23) where ag by, and c. are the three coordinates of the point represented in the reference frame. Obviously, other coordinate representations can also be sed to describe the location of a point in space 2.4.2 Representation of a Vector in Space A vector can be represented by three coordinates of its tail and its head, [Fthe vector starts at point A and ends at point B, then it can be represented by Pay = (By — Ay}i + (B, ~ A,)i + (Be — A.)k. Specifically, if the vector starts at the origin (Figure Figure 2.4 Representation ofa point in spac Figure 2.5 Representation of a vector in space EEE atrix: Representation 37 then: PH aitbj tok (24) rans where a by, and ¢, are the three components of the vector in the reference frame. In “nr fact, point !in the previous section is in reality represented by a vector connected to tat point P and expressed by the three components of the vector. The three components of the vector can also be written in matrix form, asin Equation (2.5). This format will be used throughout this book to represent al kinematic elemenes bb P= 15, (25) e the This representation can be slightly modified to also include a seal factor w such that if P, Py and P. ate divided by w, they will yield a,, b,, and c. Therefore the vector can be written as sea Py arts >, > , ie sheet 2.6) ‘may be any number and, asit changes, itcan change the overall size of the vector. This i similar to the zooming function in computer graphics. As the value of w changes, the size of the vector changes accordingly. If w is bigger than 1, all veetor components enlarge; if w is smaller than 1, all vector components become smaller When w is 1, the size of these components remains unchanged. However, ifw = 0, them ays by anc will be infinity. In this case, P,, Py and (as well asa, band ¢) will representa vector whose length is infinite but nonetheless isin the direetion represented by the vector. This means that a dization vector can be represented by a seale factor of ©, where the length is not important, but the direction is represented by the three components of the vector. This will be used throughout the book to represent direction vectors. Jn computer graphics applications, the addition of a scale factor allows the user to zoom in or out simply by changing this value, Since the scale factor increases or decreasen all vector dimensions accordingly, the size ofa vector (or drawing) can be easly changed without the need to redraw it. However, our reason for this inclusion is different, and it will become apparent shordy Example 2.1 A vector is described as P= 3i +5) + 2k. Express the vector in matrix form: (a) With a scale factor of 2. (b) If it were to describe a direction as a unit vector, Chapter 2. Kinematics of Robots: Position Analysis Solution: The vector can be expressed in matrix form with a scale factor of 2-48 well as 0 for direction as: However, in order to make the vector into a unit vector, we normalize the length to be equal to 1, To do this, each component of the vector is divided by the square root of the sum of the squares of the three components (VPE+ PEEP = 6.16and Py = 9/5 = 0.487, ete. Therefore 0.487 Note that v0.487? + 0.81 Example 2.2 ‘A vector p is 5 units long and is in the direction of a unit vector q described below Express the vector in matrix form, 0.371 0.557 % 0 2.4.3 Representation of a Frame at the Origin of a Fixed Reference Frame AA fiame is generally represented by three mutually orthogonal axes (such asx, y, and 2) ce we may have more than one frame at any given time, we will use axes x, y, and 2 to ixed Universe reference frame Fgy,. anda set of axes n, o,and ato represent, of to 2.4 Matrixc Representation 39 nother (moving) frame Fa, relative to the reference frame. This way, there should be no confusion about which frame is referenced, The letters n, o, and a are derived from the words normal, orientaion, and. approach Referring to Figure 2.6, it should be clear that in order to avoid hiteing the part while trying to pick it up, the robot would have to approach axis of the grips avis and is referred to as the a-axis. The orientation with which the gripper frame approaches the partis calle crientation-axis, and it is referred to asthe o-axis. Since the x-axis is normal to both, itis referred to as n-axis. Throughout this book, we will refer to a moving frame as F,, swith normal, oriemation, and approach axes. along the In robotic nomenclature, this axis is called approad Figure 2.6 The normal-, orientation-, and approach-axis of a moving fame Each direction of each axis of frame F.,., located at the origin ofa reference frame F, (Figure 2.7) is represented by its rectional cosines relative to the reference frame as in section 2.4.2. Consequently, the three axes of the frame can be represented by three Figure 2.7 Representation of a frame at the origin of the reference frame 40 Chapter 2. Kinematics of Robots: Position Analysis Figure 2.8 Representation ofa frame in a fiame. 2.4.4 Representation of a Frame Relative to a Fixed Reference Frame To fully describe a frame relative to another frame, bath the location ofits origin and the directions ofits axes must be specified. Ifa frame is not atthe origin (or, in fact, even ifitis at the origin) of the reference frame, its location relative to the reference described by a vector between the origin of the frame and the origin of the refer frame (Figure 2.8). Similarly, this vector is expressed by its components relative to the reference frame. Therefore, the fiame can be expressed by three vectors describing its directional unit vectors and a fourth vector describing its location as: le Oe de Pry pe|™ % 2 (8) °, P. 001 [As shown in Equation (2.8), the first three vectors are directional vectors with w = 0, representing the directions of the three unit vectors of the frame Fyo, While the fourth jor with w = 1 represents the location of the origin of the frame relative to the rence frame. Unlike the unit vectors, the length of vector p is important. Conse: quently, we use a scale factor of 1 A frame may also be represented by a 3 x 4 matrix without the scale factors, but itis not common. Adding the fourth row of scale factors to the matrix makes ita 4 x 4 01 homogeneous matrix. Example 2.3 The frame F shown in Figure 2.9 is located a its o-axis at 45° relative to the y-axis, and its frame can be described by 7 units, with its n-axis parallel to x, axis at 45° relative to the 2-axis. The 1 3 t 5 r= |? 5 0 0 oot ysis The 2.4 Matrix: Representa 41 Figure 2.9 An example of representation of a fame 2.4.5 Representation of a Rigid Body ‘An object can be represented in space by attaching a fiame to it and representing the frame. Since the object is permanently attached to this frame, relative to the fi position and orientation ne isalways known. Asa result, so long as the frame can be scribed in space, the object’s location and orientation relative to the fixed fiame will be known (Figure 2.10). As before, a ffame can be represented by a matrix, frame and the three vectors representing its orientation relative to the refe tun | aD es As we discussed in Chapter 1, a point in space has only three degrees of freedom: it can only move along the three referen c axes. However, a rigid body in space has six degrees of freedom, meaning that not only can it move along x, )-, and z-axes, it can also rotate about these three axes. Consequently ll that is needed to completely define an object in space is sx pieces of information describing the location ofthe origin of the object in the reference fame and its orientation about the three axes. However, as can be seen in Equation (2.9), twelve pieces of info postion (this excludes the scale fictors on the last row of the matrix because they do not add to this information), Obviously, there must be some constraints present in this nation are given: nine for orientation, and three for Figure 2.10 Representation of an object in space ties of Robots: Position Analysis representation to limit the above to six. Therefore, we need 6 constraint equations to JBnee the above from twelve to six. The constraints come from the known character istics of a flame that have not been used yet, that # the three unit vectors n, ©, a are mutually perpendicubs, and © each unit vector’s length, represented by its directional cosines, must be equal to L These constraints translate into the following six constraint equations: 1. n- 0 = 0 (the dot-product of m and o vectors must be zer0) 4, [nl = 1 (the magnitude of the length of the vector must be 1) 5. Jol =1 6. Jal = Asa result, the values representinga frame ina matrix mustbe such thatthe above equations remain tue, Otherwise, the frame will not be correct. Akematively, the first three (2.1 equations in Equation (2.10) can be replaced by a cross product of the (2.11) inchdes the correct right-hand-rule relationship too, it is Since Equation 3 to determine the correct relationship between .commended that this equation be used Example 2.4 For the following frame, find the values ofthe missing elements and comple the fan matrix representation ting alues repres position of the origin of the Solution: Obviously, the fame do not affect the constraint equations. Ple: directional vectors are given. This is all that is ne ied. Using Equation (2.10), we Ingoy + myo, + Ae0e =O oF (0) +0-707(0,) + msC02) ition Analysis the first chree (a1 aip too, it is iship between complete the 2.4 Matrix: Represen 43 Simplifying these equations yields: 0.707 6, + neo. = 0 e+ o2=1 1 Solving these six yield ny = £0.707, ne =0, 0,=0, 06 =1 a, = £0.707, and a, = —0.707, Notice that both my and a, must have the same sign. The reason for multiple solutions is that with the given parameters itis possible to have two sets of mutually perpendicular vectors in opposite directions, The final matrix will be [0.707 0 5 ) 0.707 5 i 0 1 0 2 i : 0 1 0 2 As you can see, both matrices satisfy all the requirements set by the constraint equations. It is important to realize that the values representing the three direction vectors are not arbitrary but bound by these equations, Therefore, you may not randomly use any desired values in the matrix. The same problem may be solved using n x @ = a, or i jk tie 9 Sad-taj tack ~ 120) — i(te0z ~ nox) + kno) — 10.) = ai Substitut the values into this equation yie 5(0.7070, ~ ns0}) ~ j(nox) + k(1%.0)) aj + 0k Solving the three simultancous equations will resule in which replace the three equations for the dot products. Together with the three unit ctor length constraint equations, there will be six equations. However, as you will Il satisfy and therefore, same whether the unit vectors are right-handed or left-handed frames, whereas the sce, only one of the two solutions (F,) obtained in the first part v equations. This is because the dot-product equations are scala et “4 2. Kinematic of Robots: Postion Analysis Consequcntly its recommended thac the cros-produict equation be used. Ml Example 2.5 023 D001 402 =1 + m= 0.866 (0.866)(0) + (0-5)(o,) + (0)(os) = ¢ 4 =0 =1 (0.5) —j(0.866) +k(0) = agi + aj + ask 2.5 Homogeneous Transformation Matrices For a variety of reasons, it is desirable to keep matrices in square form, either 3 x 3 ot 4 x 4, First, as we will ee later, it is much easier to calculate the xse of square matrices than rectangular matrices. Second, in order to multiply two matrices, their dimensions must match, such that the number of columns of the first matrix must be the same as the number of rows of the second matrix, as in (m x n) and (n x p), which results in a matrix of (m x p) dimensions. If ewo tmatices, A and B, are square with (m x m) and (mm Xm) dimensions, we may multiply A by B, or B by A, both resulting in the same ‘m x m) dimensions, However, ifthe two matrices are not square, with (m x n) and (aX p) dimensions respectively, A can be multiplied by B, but B may not be multiplied by A, and the result of AB has a dimension different ftom A and B. Since we will have to multiply many matrices together, in different orders, to find the equations of motion of the robots, we want to have square mat nt both orientation and position in the same matrix, we will add the scale factors to the matrix to make it 4 x 4 Ifwe represent the orientation alone, we may either drop the scale factors and use 3 x 3 mattices, or add a fourth column with zeros for position in order to keep the matrix square, Matrices of this form are called homo In order to keep representation matrices square, iff we repre: F a oy A (2.13) ion Analysis nfiguration, wed. 3x 3 or matrices as the ats ina m) and 1) and lkiplied have to tion of on and 4x4. 3x3 2.6 Representation of Transformations 45 2.6 Representation of Transformations ‘A transformation is defined as making a movement in space. When a frame (a vector, an object, or a moving frame) moves in space relative to a fixed reference fri represent this motion in a form similar to a frame representation, This is because ‘transformation is a change in the state of a frame (repre tion and orientation); therefore, it can be represented like a frame. A transformation may be in one of the following forms: nnting the change in its lo © A pure eanshation © A pure rotation about an axis © A combination of translations and/or rotations In order to see how these can be represented, we will study each one separately 2.6.1 Representation of a Pure Translation Ifa frame (that may also be representing an obj tion, the transformation is a pure translation. In this case, the dit vectors remain in the same direction, and therefore, do not change. The only thing that 5 feam¢ asshown fame can be changes isthe location of the origin of the frame relative to the re in Figure 2.11, The new location of the frame relative to the fixed refer found by adding the vector representing the translation to the vector representing the original location of the origin of the frame. In matrix form, the new frame representation may be found by pre-multiplying the frame with a matrix representing the transforma- tion. Since the directional v transformation T will simply be: cors do not change in a pure translation, 100 r=-|0 1° (2.14) oo ooo01 where dy, d,, and d_ are the three components ofa pure translation vector d relative to the and Z-axes of the ment (equivalent of a 1), while the last column represents the srence frame. The first three columns represent no rotational sslation. The new \ MN Figure 2.11 Representation of « pure translation in space. Kinematics of Robots: Position Analysis location of the frame will be [1 00 dy 0 ‘This equation is also symbolically written as: F ) & Fas First, as you ca see, pre-multiplying the frame matcix by the transformation matrix will yield the new location of the frame. Second, notice that the directional vectors remain "ra pure translation, but the new location of the frame is at d+p. Third notice how homogeneous transformation matrices facilitate matrices, re in the same dimensions as before. Example 2.6 A frame Phas been moved 10 unitsalong the y Find the new location of the frame axis and 5 unitsalong the 2-axis of the reference frame S27 0.574 0.628 0.369 0819 04° 0.766 1.643, quation (2.15) or (2.16), we ge = Trans(dyy dy, ds) X Fou = Trans(0, 4 0527 -0.574 0.628 5 0.369 0.819 0.439. 3 0.166 0 0.643 8 0 f 0 0.628 0.43913 0.643 2.6.2 Representation of a Pure Rotation about an Axis ation of rotations about an axis, lets first assume that the frame is at To simplify the de will later expand the resus (0 a of the reference fiame and is parallel to it. We the orig jons as well as combinations of rotations. other rot rhe 2.6 Representation of Tiansformat 47 hr Ife Te, * ye 7 Before vation Aer otation Figure 2.12 Coordinates of a point in a rotating frame before and after rotation Ler’s assume that fame F,,., located a the origin of the reference frame Faye rotates an angle of @ about the x-axis of th We frame. Let's abo assume that attached to the rotating frame Fay, is @ point p, with coordinates Px Py» and p. relative to the reference frame and p,, P and p, relative to the moving fame. As the frame rotates about the x-axis, point p attached to the frame wall also rotate with it. Before rotation, the coordinates of the point in both frames are the same (remember thatthe tw t the same location and are parallel to each other). Afier rotation, the py, Po and p, co ordinates ofthe point remain the same in the rotating frame Fyoq, but pe, py, and p- will be diferent in the Fy). frame (Figure 2.12). We want to find the new coordinates of the point relative to the fixed reference frame after the moving frame has rotated Now let's look at the same coordinates in 2-D as if we w standing on the x-axis, The coordinates of point p are shown before and after rotation in Figure 2.13. The coordinates of point p relative to the reference frame are Px, Py and p., While its coordinates relative to the rotating fiame (to which the point is attached) remain a8 pqs Py and py Figure 2.13 Coordinates of a point relative to the reference fiame and rotating frame as viewed from the x-axis 48 ter 2. Kinematics of Robots: Position Analysis as the frame rotates verify that wre 2.13, you can see that the value of p, does not cha axis, but the values of p, and p. do change. Ple p 1,c0s 0 = p, sind (2.17) po = +h =p,in8 + p, cosé and in matrix form: Ps 1 00 Tfp, p,| =| 0 cose sine | p, (2.18) Ps 0 sine cosd | Lp, coordinates of the point p (or vector p) in the rotated fiame must be This means that t pre-multiplied by the rotation matrix, as shown, to g frame, This rotation matrix is only for a pute rotation and is denoted as: the coordinates in the out the x-axis 0 fi = Rot(x,8) x p, 2.19) Notice that the first column of the rotation matrix in Equation (2.18)—which expresses the location relative o the x-axis—has1,0,0 values, indicating thatthe coordinate along the s-axis has not changed “To simplify writing these matrices, itis customary to designate C to denote cos and to denote sin 8. Therefore, the rotation matrix may be also written as: 20) so=[p co $0] 0 se@ ce and z-axes of the You may want to do the same forthe rotation ofa fame about they nce frame. Please verify chat the results willbe: [ce o seq} ce -sé 0 Rotly, @) 0 1 0 | and Rofz,6)=]}se@ ce of (221 |-se o col 0 0 1 Equation (2.19) can also be written in a conventional form that assists in easily follow the relationship between different frames. Denoting the transformation as ( nd reading it as the transformation of fame R relative to frame U (for Universe)) (prelative to frame R), and denoting p,,. as “p (p relative to frame U), P (2.22) canceling the Rs will yield the coordinates of point p relative to U. The same hout this book to relate to multiple transformations, notation will be wsed throu EEE EEE EEE oa, 6 Representation of Transformal 49 tates Example 2.7 A point p(2,3,4)""is attached to a rotating frame. The frame rotates 90° about the reference frame after the rotation, and verify the resule graphically Solution: Of course, since the point is attached to the rotating fame, the coordinates of the point relative to the rotating frame remain the same after the rotation. The coordinates of the point relative to the reference frame will be = I-E s S1-EJ-B 8 4)-B-E As shown in Figure 2.14, the coordinates of point p relative to the reference frame 2.19) me reses A =e along ps ee Band * Figure 2.14 Roution of fame relative o the ans of the sefrence fame. Ml “ 2.6.3 Representation of Combined Transformations about the fixed reference fiame axes or the moving current frame axes. Any transfor mation can be resolved into a set of translations and rotations in a particular order, For example, we may rotate a frame about the x-axis, then translate about the *-, y-, and 2-axes, then rotate about the y-axis in order to accomplish the desited transformation As we will see later, this order is very important, such that if the o transformations changes, the result may be completely different To see how combined transformations are handled, let's assume that frame F Oy frame Pye 2: Followed by 3 tadaton of yuh elie to the ays and -axesespectvey) 3. Followed by a rotation of B degrces about the “ Also, let's say chat a point jy is attached to the rotating fiame at the origin of the reference frame. As the frame Fy, rotates or translates relative to the reference fiam point ‘moves as well, and the coordinates of the point relative to the within the frame 50 Kinematics of Robots: Position reference fiame change. After the first transformation, as we saw in the previous sectio the coordinates of point p relative to the reference framne can be calculated by Prape == Rot(aset) X p (2.23) sere Peis the coordinates of the point after the ftse transformation relative to the reference ame. The coordinates of the point relative to the refere jonclusion of the second transformation will be: Similatly, after the third transformation, the coordinates of the point relative to the nce frame will be X Page = Rot(y, B) X Trans(h, tay ls) % Rot( x0”) * p, you can see, the coordinates of the point relative to the reference fiame at the conclusion of each transformation is found by pre-mulkiplying the coordinates of the point by each transformation matrix. OF course, as shown in Appendix A, the order of matrices cannot be changed, therefore this order is very important. You will also notice that for each transformation relative to the reference frame, che matrix is pre-mulkiplied. Consequently, the order of matrices writen is the opposite ofthe order of transformations Kample 2.8 J is attached to a frame Fy, and is subjected to the following, A point transformations, Find the coordinates of the point relative to the reference fiame at . Rotation of 90° about the 2-axis, 1 2. Followed by a rotation of 90” about the y-axis, 3 . Followed by a translation of [4,-3.7] Solution: ‘The matrix equation representing the transformation is: ))Rot(z,90)p RSPR SPEDE As you ean sce, the first transformation of 90° about the z-axis rotates the Fy fram as shown in Figure 2.15, followed by the second rotation about the y-axis, follow by the translation relative to the reference frame Fy).. The point p in then be found relative to the Fy, &8shown, The final coordinates of the point ean be 24 ative lied 2.6 Represen on of Transformations 51 gure 2.15 Eiects of thre successive wansfoemations traced on thea raxestobe4-+1=5, —3-+7=4,and7-+3 = 10, Besure to follow this graphically 7 Y Example 2.9 In this case, assume the same point p(7,3,1)", attached to Fyay is subjected to the same ansformations, but the transformations are performed in a different order, as shown Find the coordinates of the point relative to the reference frame at the conclusion of 1. A rotation of 90° about the z-axis, 2. Followed by a translation of [4,—3,7] 3. Followed by a rotation of 90” about the y-axis, As you can see, although the transformations ate exactly ¢ ple 2.8, since the order of transformations is ch: point are ame as in Exam- zed, the final coordinates of the letely different. This can clearly be demonstrated graphically as in Figure 2.16. In this case, you can see that although the first transformation creates exactly the same change in the frame, the second transformation’ result is very different because the translation relative to the reference frame axes will move the rotating frame Fy, outwardly. Asa resule of the ehird transformation, this frame will rotate about the y-axis, therefore rotating downwardly. The location of point p, attached to the frame is also shown, Please verify that the coordinates of this point 52, Chapter 2.. Kinematics of Robots: Position Analysis ‘tor the et eramformstion ‘er the 2nd tamformation [Aft the Sel eansformation Figure 2.16 Changing the order of transformations will change the final result relative to the reference frame are 7-+1=8, —3+7=4, and —4+ which is the same as the analytical resul 2.6.4 Transformations Relative to the Rotating Frame All transformations we have discussed so far have been relative to the fixed refe fame. This means that all translations, sotations, and distances (except for the location of a point relative to the moving frame) have been measured relative tothe reference fiame auces. However, itis posible to make transformations relative to the axes of a mov current frame. This means that, for example, a rotation of 9° may be made relative to the is of the moving frame (also referred to as the current frame), and not the x-axis of the reference frame. To calculate the changes in the coordinates ofa point attache current fame relative to the reference frame, the transformation matrix is post instead. Note that since the position of a point or an object attached to a moving frame is always measured relative to that moving frame, the position matrix describing the point or object is also always post-multiplied ‘Example 2.10 Assume that the same point as in Example transformations, but all relative to the current moving frame, as listed below Find the coordinates of the point relative to the reference frame after transformations are completed. 9 is now subjected to the same 41. A rotation of 90° about the a-axis, 2. Then a translation of [4,—3,7] along n-, o-, a-axes 3. Followed by a rotation of 90° about the o-axis, Solution: In this case, since the transformations are made relative to the current frame, each transformation matrix is post-multiplied. As a result, the equation ysis ion of ing or tothe ais of iplied point 2.6 Representation of Transformations 53 | Le Figure 2.17 Transformations relative to the current frames 0 0107 77 » o 100] fs 5 1000 1 0 0 001 1 As expected, the result is completely d the matrices is now different. Figure 2.17 shows the results graphik the transformations are accomplished relative to the current frames. ferent from the other cases, both because the relative to the current frame, and ause the order of ly. Notice how Notice how the 7,3,1 coordinates of point p in the current frame wil result in Example 2.11 A frame B was rotated about the x-axis 90°, then it was translated about the current, xis 3 inches before it was rotated about the z-axis 90°, Finally, it was translated about current o-axis 5 inches. (@) Write an eqution that describes the motions @ Ge Find the inal locaton of poine pt Se attached to the fame relative to the Solution: In this case, motions alternate relative to the reference frame and current frame, (a) Pre- or post-multiplying each motion’s m: cordingly, we will gee "Ty = Rot(z,90)Rot(x, 90) Trans(0, 0, 3) Trans(0, 5,0) Chapter 2. Kinematics of Robots: Position Analysis the matrices and multiplying them, 12 Example A frame Fowas rotated about the y-axis 90°, followed by a rotation about the c-axis of 30°, followed by a translation of 5 units along ‘units along the x-axis, Find the total transformation matrix. Solution: The following set of matrices, written in the proper order to represent transformations relative to the reference fame or the current frame describes th transformation: T= Trans(4,0,0)R er) 0 100 yd ( 0100 o 1 ol*f-1 00 05 0 0.86 oot D0 004 o 0 o tf boo 01 o 1 0 =| 0866 0 -05 -43 Loo ¢ L Please verify graphically that this is true 2.7 Inverse of Transformation Matrices ‘As mentioned earlier, there are many situations where the inverse of a matrix will be needed in robotic analysis. One situation where transformation matrices may be involved an be scen in the following example, Suppose the robot in Figure 2.18 is to be moved toward part Pin order to drill a hole in che part, The robot's base position relative to th the robot's hand is described by frame H,, and reference frame Uis described by a frame the end effector (let's say the end of the drill bit chat will be used to drill the hole) is described by frame E. The patt's position is also described by frame P. The location of the point where the hole will be drilled can be related co the reference frame U through two independent paths: one through the part, one through the robot. Therefore, the of + sent Il be olved i.and le) is ofthe ough 2, the 2.7 Inverse of Transformation Matrices 55 Figure 2.18 The Universe, robot, hand, part, and end effector flames. following equation can be written: ’Te (2.25) ‘The location of point E on the part can be achieved by moving from U to P and ftom P to E, ori can alternately be achieved by a transformation from Uto R, from R to H, from H to E Ine lity, the transformation of frame R relative to the Universe frame (Ty) is known since the location of the robot's base must be known in any set-up. For example, if'a robot is installed in a ork cell, the location of the robot's base will be known since it is bolted to a table. Even ifthe robot is mobile or attached to a conv any instant is known because a controller must be followin, base atall times, The "Tj, of the transformation of ‘or belt, its location at the position of the robot's nd elfector relative tothe robot's hand, is also known since any tool used at the end effector is a known tool and its dimensions and configuration is known. “Tor the transformation ofthe part relative to the universe, i also known since we must know where the partis located if we ate to drill athole in it, This location is known by putting the part in ajig, through the use of a camera and vision system, through the use of a conveyor belt and sensors, or other similar devices. "Ty is ao known since we need to know where the hole isto be drilled on the part. Consequently, the only unknown transformation is ®Ty, or the transformation of the robot's hand relative to the robot's robot's joint variables—th joints of the robot—amust b se. This means we need to find out what th angle of the revolute joints and the length of the prismatic in order to place the end effector at the hole for drilling, As you can see, itis necessary to calculate this transformation, which will tell us what needs to be accomplished. The transformation will later be used to actually solve for joint angles ind link lengths, To calculate this matrix, unlike in an algebraic equation, we cannot simply divide the right side by the left side of the equation, We need to pre- or post-multiply by inverses of appropriate matrices to eliminate them. As a result, we will have: (°TR) ' Ta® TH" Ts)("T;) = (°Tx)"( (Fr: (2.26) or, since (Tp) (TR) = Fand ("1'g)("T x)! = 1, the leftside of Equation (2.26) simplifies to ® Ty and we get ® Te"; 2.27) Chapter 2. Kinematics of Robots: Position Analysis that (!Tp)"' is the same as "Ty. We can check the accuracy of this equation by realizin Therefore, the equation can be rewritten as: TH 2.28) HT ery YT; to be able to calculate the inverse of transformation late Ie is now clear that we for kinematic analysis as well. In order to see what transpires, let's cal erse of a simple rotation matrix about the x-axis. Please review the process The rotation matrix about the the im for calculation of square matrices in Appendix A Rot(x,0)=|0 C (2.29) calculate the inverse of a matrix: Recall that the following steps must be take © Calculate the determinant of the matrix. © Transpose the matrix, © Replace cach element of the transposed ® Divide the converted matrix by the determinant. natrix by its own minor (adjoint matrix). Applying the process to the rotation matrix, we will get: dee[Rot(,6)] = 1(C70 + °8) +0 1 0 0 Roi(x,0)? =|0 Co so 0 -sé cé 2 element will Now calculate each minor. As an example, the minor for the and s0 on. minor for 1,1 element will be C76 + S be C8-0= C0, As you will notice, the minor for each element will be the same as the element itself Therefore Adj{Rot(x, )] = Rot(x,9) nur (x, 8)" Since the determinant of the original rotation matrix is 1, dividing the Adj[Rot (x, 6)] matrix by the determinant will yield the same result, Consequently, the inverse of a rotation matrix about the x-axis is the same as its transpose, or Rot(x,0)" = Rot(x, 8)" 2.30) OF course, you would get the same result with the second method mentioned in Appendix A. A matrix with this characteristic rotation matrices are unitary matrices. Therefore, atrix is to transpose it, Please verify that rotation matrices about the i called a unitary matrix. Ierurns out that all all we need to do to calculate the inverse of rotation tion late 29) will wel. “ O) ofa sd in iatall e the athe 2.7 Inverse of Transformation Matrices 37 yr and z-axes are also unitary in nature, Beware that only rotation matrices are unitary; if 1 matrix is not a simple rotation matrix, it may not be unitary The preceding result is also true only for a simple 3 x 3 rotation matrix without representation of a location. For a homogenous 4 x 4 transformation matrix, it can be shown that the matrix inverse can be written by dividing t the rotation portion of the matrix positi ix into two portions; 1 be simply transposed, as itis still unitary. The ortion of the homogeneous matrix is the negative of the dot product of the p-vector with each of the n-, 0-, and a-vectors, as follows: he Ov de Pe mone — pen T=|" °% Pr) and Tota [& SY o% —P°o (2.31) ne 0. p 4 a pea 00 t 000 4 As show the rotation portion of the matrix is simply transposed; the position portion is replaced by the negative of the dot products, and the last row (ecale factors) is not affected. This is very helpful, since we will need to calculate inverses of transformation matrices, but direct calculation of 4 x 4 matrices is a lengthy process. Example 2.13 Calculate the matrix repre Solu ting Rot(x, yn: The matrix representing a 40° rotation about the x-axis is: fio ar) 0 0.766 ~0.643 0 ) 0.643 0.766 0 0 0 oo1 The inverse of this matrix is: 1 0 0 0 0 0.766 0.643 0 Rol 40") = 19 0.643 0.766 0 en) o4 AAs you can see, since the position vector of the matrix is zero, its dot product with the n-, 0-, and a-vectors is also zero. a Example 2.14 Calculate the in ¢ of the given transformation matrix: 05 0 0866 3 0.866 0 05 2 0 1 0 5 o 0 0 1 Kinematics Solution: Based on the above, the inverse of the transformation wil 5 0.866 0 —(3x05 f ) 3x 042K 045%1 0.866 0.5 0 —(3 x 0.866 0.5 0.866 0 —3.23 0 D1 8 = lo.8o6 05 0 —1.598 0 0 0 1 You may want to verify that TT~! will be an identity maerix Example 2.15 cameraisatached to the fifth ink ofa 6-DOF rot Inarobotic set-up, an object and determin information, determine a | 0 0 0 0012 fr 00 10 02 O10 : o104 Ty 3 lo oo1 0001 Solution: Referring to Equation relates the different transformation: ‘and frames together as Since", appears on both sides of th matrices, with the exception of Ty, are known. Then: Tay = "TE! x Ty! oe Tay = Ty x MTs x ST Do 4 0 0 0 010 07 say 100 ¢ aia po 1 3 o 04 -4 ooo 1 0001 ame, Using the followin rosition Analysis ot. [Lobserves make to get t© 1 equation that uation, we can simply neglect it, All other alysis 2.8 Fonvard and Inverse Kinematics of Robots 59 Substituting the matrices and the inverses in the ab 100 0)fF0 10 o}fo 0 -1 377001 [e106 off-1 00 ofJo -1 0 off1 0 0 2 ‘=lo 01 -3]]0 01 -41]-1 0 0 s{fo 10 4 000 0 00 1Jlo 0 0 tffooo14 2.8 Forward and Inverse Kinematics of Robots Suppose we have a robot whose configuration is known. This means that all the link hs and joint angles of the robot are known, Calculating the position and orientation, of the hand of the robot is called forward kinematic analysis. In other words, fall Joint variables are known, using forward kinematic equiations, we can calcula robot is at any instant. However, if we want to place the hand of the robot at a desi location and orientation, we need to know how much each link length or joint angle of the robot must be such that—at those values—the hand will be at the desired position and orientation, This is called inverse kinematic analysis, This means that instead of substituting the known robot variables in the forward kinematic equations of the robot we need to find the inverse of these equations to enable us to find the necessary joint lues to place the robot at the desired location and orientation. In reality, the inverse kinematic equations are more important since the robot controller will calculate the joint hese equations and it will run the robot to the desired position and fe will first develop the forward kinematic equations of robots; then, using these equations, we will calculate the inverse kinematic equations, ied kinematics, we will have to develop a set of equations that relate to the particular configuration of robot (the way its put together) such hat by substituting the joint and link variables in these equations, we may calculate the position and orientation of the robot. These equations will then be used to derive the inverse kinematic equations. You may recall from Chapter 1 that in order ¢o position and orientate a rigid body in © attach a frame to the body and chen describe the position of the origin of the frame and the orientation of its three axes, This requires a total of 6 DOF, or alternately, six pieces of information, to completely define the position and orientation of the body. Hete too, if we want to define or find the position and orientation of the hand of the robot in space, we will attach a frame to it and define the position and nntation of the hand frame of the robot. The means by which the nines the forward kinematic equations. In other word the configuration of the links and joints of the robot, a particular set of equations will nice frame. Figure 2.19 shows a hand fame, the reference frame, and their relative positions and orientations. The undefined ot. OF orientation, a that other accom. plishes this de depending on the hand frame of the robot to the ref ‘onnection between the two fiames is related to the configuration of the Kinematics of Robots: Position Analysis: Qt Figure 2.19 The hand frame of the robot relative co the reference fiame ation, and we will ater see course, there ate many different possibilities for this cos how we can develop the equations relating the two frames, depending on the robot configuration. In order to simplify the process, we will analyze the position and orientation issues will develop the position equations, then we will do the same for any separately. First orientation. Later, will see about the use of the Denavit-Hartenberg representation, which can mode robot configuration .e will combine the two fora complete set of equations, Finall 2.9 Forward and Inverse Kinematic Equations: Position ill study the forward and inverse kinematic equations for position. As the position of the origin of a frame attached to a rigid body has pieces of In this section, we was mentioned earlie thre customary coordinates, As an example, we n Cartesian coordinates, meaning there will be axes. Alternately, it may be accomplished through spherical coordina nd two rotary motions. The following sn be completely defined by thr sgrees of freedom, and therefore tation. AS a result, the position of the origin of the frame may be defined in any 'y position a point in space based on ‘movements relative to the x- ee linea yo and meaning there will be one linear motion s will be discussed: possibilic antry, rectangular) coordinates (a) Cartesian (b) Cylindrical coordinates (c) Spherical coordinates (@) Articulated (anthropomorphic or all-revolute) coordinates 2.9.1 Cartesian (Gantry, Rectangular) Coordinates In this case, there will be three linear movements along the x-, y-, and 2-axes. In this type of robot, al actuators ate linear (such asa hydraulic ram ora linear power screw), and the positioning of the hand of the robot is accomplished by moving the three linear joints ‘A gantry robot is basically a Cartesian coordinate along the three axes (Figure 2 robot, except that the robot is usually atached t0 a gular frame upside down. tions, the transformation matrix representing this Of course, since there are no 1 motion to point p is a simple translation matrix (shown next). Note that here we are only alysis robot efor yn. AS ty has ces of sd on wing stype ad the joints dinate ig this, 2.9 Fonw rd and Inverse Kinematic Equations: Position 61 Figure 2.20 Cartesian coordinates concerned with the position of the origin of the frame—aor its orientation. The transformation matrix representing the forward kinematic equation of the position of the hand of the robot in a Cartesian coordinate system will be: 100% 010 », Ry y= p pat O01: ooo where "7, is the transformation between the reference frame and the origin of the hand P,and T.(Py3 Py P=) denotes Cartesian transformation matrix. For the inverse kinematic solution, simply set the desired position equal to p Example 2.16 Ieis desired to position the origin of the hand frame of a Cartesian robot at point p = [3.4,7]". Calculate the necessary Cartesian coord notions that need to be made. Solution: Setting the forward kinematic equation, represented by the ®T;, matrix of Equation (2.32), equal to the desired position will yield the following result: 10 0p 1003] 01 P, 0104 ®p = 7 orp =3, = 4,7, =7 T= lo 04 p 0017 =F, Py =A Pe 00014 ooot 2.9.2 Cylindrical Coordinates A cylindrical coordinate system includes two linear translations and one rotation. The sequence is a translation of r ale g the x-axis, a rotation of @ about the z-axis, and a 6 Chapter 2. Kinematies of Robots: Position Analysis Figure 2.21 Cylindrical coordinates transformations are translation of along the 2-axis, as shown in Figu all relative to the Universe frame, the total transformation caused by these three ‘transformations is found by pre-multiplying by each matrix, as follow: Tou (rsasl) = Trans(0,0,1)Ror(2a) Trans(r,0,0) (2.33) 1000) [Ca -sa 00) floor 0100) [sa ca oof Jo1o 0 D0 I 0 0 1 “Jo 0 10 000 Lo o o1] loo 2.34) Ca -Sa 0 1Ca The first three columns represent the orientation of the frame after this series of transformations. However, at this point, we are only interested in the position of # origin of the frame, or the last column. Obviously, in cylindrical coordinate movements, due to the rotation of @ about the z-axis, the orientation of the moving frame change. This orientation change will be discussed later ‘You may restore the original orientation of the frame by rotating the Je of —a, which is equivalent of post-multiph fame about indi the a-axis an ang ng the coordinate matrix by a rotation matrix of Ret(a, ~@). Asa result, the frame will be at the same location but will be parallel to the reference frame again, as follows: EEN hil a Analysis 2.9 Forward and Inverse Kinematic Equations: Position 6 Ca ~Ssa 0 Ca} s(-«) 0 0 Sa Ce 0 1a c-a) 0 0 Toy x Rot(a, ~c ot hx , Lo 0 0 0 1] [1 00 re 10 We As you cansee, the location of the origin of the movi frame has not changed, but it was restored back to being parallel to the reference frame. Notice that the last rotation an performed about the local a-axis in ord frame, but only in its orientation, 10 not cause any ch in the location of the ton are Example 2.17 ve three Suppose we desite to place the ot (3.4.7" Calculate the joine vatiab in of the hand frame of a cylindrical robot at of the robot, (2.33) Solution: Setting the components of the location ofthe origin of the fame from the Ts matrix of Equation (2.34) to the desired values, we (Ca=3 and 1Sa=4 andtherefore, tana = 4/5 anda = §3.1° Substcating into either equation will yield r= 5. The final answer is r= $ unis and 1 7 units, Note: As discussed in Appendix A, itis necessary to {hat the angles calculated in robot kinematics are in correct quadrants ln the sample, rCar and 1S are both positive and the length ris always positive, thereline (2.34) : Sand Ca are abo both postive. Consequently the mule hn gueieae ee correctly 53.1" 7 Example 2.18 tmatrix representing the oxiginal postion and orientation of the roles being wens of the 0 0 23987 ment, 010 6578 dor 9 rat the Solutions Since ris always postive, i is clear tht Sa’ and Cat are postive and “egative, respectively. Therefore, a isin the second quadrant, From 1. we get

You might also like