英文原文THE STRUCTURE DESIGN AND KINEMATICS OF A ROBOTMANIPULATORml. THEORYKESHENG WANG and TERJE K . LIENProduction Engineering Laboratory, NTH-SINTEF, N-7034 Trondheim, NorwayA robot manipulator with six degrees of freedom can be separated into two parts: the arm with the first three joints for major positioning and the wrist with the last three joints for major orienting. If we consider theconsecutive links to be parallel or perpendicular, only 12 arm and two wrist configurations are potentially usefuland different for robot manipulator mechanical design. This kind of simplification can lead to a generalalgorithm of inverse kinematics for the corresponding configuration of different combinations of arm and wrist.The approaches for calculating the inverse kinematics of a robot manipulator are very efficient and easy.The approaches for calculating the inverse kinematics of a robot manipulator are very efficient and easy.1. INTROUCTIONA robot manipulator consists of a number of linksconnected together by joints. In robot manipulatordesign, the selection of the kinematic chain of therobot manipulator is one of the most importantdecisions in the mechanical and controller designprocess.In order to position and orient the end effector ofthe robot manipulator arbitrarily, six degrees offreedom are required: three degrees of freedom forposition and three degrees of freedom for orient-ation. Each manipulator joint can provide onedegree of freedom, and thus a manipulator musthave a minimum of six joints if it is to provide sixorthogonal degrees of freedom in position andorientation.The construction of manipulators depends on thedifferent combination of joints. The number of poss-ible variations of an industrial robot structure can bedetermined as follows:V =6 thwhere V= number of variations.D F = n u m b e r of degrees of freedomThese considerations show that a very largenumber of different chains can be built, for examplesix axis 46,656 chains are possible. 6 However, alarge number is not appropriate for kinematicreasons.We may divide the six degrees of freedom of arobot manipulator into two parts: the arm whichconsists of the first three joints and related links; andthe wrist which consists of the last three joints andrelated links. Then the variations of kinematic chainswill be tremendously reduced. Lien has developedthe constructions of arm and wrist, i.e. 20 differentconstructions for the arm and eight for the wrist.2In this paper, we abbreviate the 20 different armsinto 12 kinds of arms which are useful and different.We conclude that five kinds of arms and two kinds ofwrists are basic constructions for commercial indus-trial robot manipulators. This kind of simplificationmay lead to a general algorithm of inverse kinema-tics for the corresponding configuration of differentcombinations of arm and wrist. 2.STRUCTURE DESIGN OF ROBOT MANIPULATORSIn this paper, for optimum workspace and sim-plicity, we assume that:(a) A robot with six degrees of freedom may beseparated into two parts: the linkage consistingof the first three joints and related links is calledthe arm; the linkage of the remaining joints andrelated links is called the wrist.(b) Two links are connected by a lower pair joint.Only revolute and linear joints are used in robotmanipulators.(c) The axes of joints are either perpendicular orAccording to the authors' knowledge, thisassumption is suitable for most commercially usedindustrial robot manipulators. We can consider thestructure of arm and wrist separately.2.1. The structure o f the arm o f robot manipulator(a) Graphical representation. To draw a robot inside view or in perspective is complicated and doesnot give a clear picture of how the various segmentsmove in relation to each other. To draw a robot in aplane sketched diagram is too simple and does notgive a clear construction picture. We compromisethis problem in a simple three-dimensional diagramto express the construction and movements of arobot manipulator. A typical form of representationfor different articulations is shown in Table 1.(b) Combination of joints. We use R to representa revolute joint and L to represent a linear joint.Different combinations of joints can be obtained asfollows:According to the different combinations with theparallel or perpendicular axes, each previous combin-ation has four kinds of sub-combination. Thus, 32combinations can be arrived at:If the second joint is a linear joint and both the otherjoints are perpendicular to it, two choices in relationto the first and the third joints are considered paral-lel or perpendicular.In all, there are 36 possible combinations of a simplethree-joint arm.Nine of 36 possible combinations degenerate intoone or two degrees of freedom.Seven of the remainder are planar mechanisms.Thus, there are 20 possible spatial simple arms.Let us consider R1 [1 L2 I L3 in whichthe first joint permits rotation about the vertical axis,the second joint is a vertical linear joint (i.e. parallelto the first), and the third joint is a horizontal linearjoint (i.e. perpendicular to the second). This armdefines a typical cylindrical robot. Changing thesequential order of the joints so that either (a) thevertical linear joint precedes the rotary joint, or (b)the vertical linear joint follows the horizontal one,will result in no change in the motion of the arm. Inthis case there are two linkages which are both“equivalent“ to the standard cylindrical linkage. Inall such cases where two or more equivalent linkagesexist, the representative of the group will be the onein which the linear joint that is parallel to a rotaryjoint is in the middle (joint No. 2). Counting onlyone linkage to represent the group of equivalentswill eliminate eight of the 20 combinations. Theremaining 12 categories of links are useful and dif-ferent shown in Fig. 1. We get the same results as inRef. 4.(c) Five basic types o f manipulator arm. Althoughthere are 12 useful and different arm-configurationswhich can be used in the design of a robot man-ipulator arm, in practice only some of them arepractical and commonly used. We find that mostcommercially available industrial robots can bebroken down into only five groups according to the.characteristics of their arm motion and geometricalappearance.The five groups can be defined as follows and areshown in Fig. 6.1. Cartesian ( L I L I L)2. Cylindrical (R II L 1 L)3. Spherical (R I R I L)4. Revolute (R I RII R)5. Double cylindrical ( LII R II R).2.2. The structure o f a manipulator wrist(a) Joint type. We have used the first three joints,i.e. the arm of the robot manipulator, to completethe major task of positioning. Then we use the lastthree joints to provide the three degrees of freedomof orientation and refer to the related linkages as thewrist.The wrist of a complete manipulator must containthree revolute joints, since the orientation of a rigidbody has three degrees of freedom, for example firstrotation about the X axis, then rotation about the yaxis, and finally rotation about the z axis.(b) Combination or joints and links. Because theorientation of a wrist which only has three rotationaljoints is simplest, its combination is much simpFrom the combination R R R , we know that onlyone of the four configurations can be used for com-pleting the orientation of robot wrist. R II R II R is aplanar mechanism. R 1 R II R and R II R 1 R cannotexpress three degrees of freedom in the orientationof the robot wrist. So only the R 1 R 1 R construc-tion can be used to complete the orientation task.If we have a different sequence of x, y, z axes, ofcourse we can get many kinds of wrist configuration.But many of them are “equivalent“. We only con-sider the relationship between the first and the thirdjoint: parallel and perpendicular. Two differentcombinations can be arrived at, i.e. the Euler angleand r o l l - p i t c h - y a w angle expressions that are shownin Fig. 2. The sequence of x, y, z axes does, however,have an influence on the complexity of the inversekinematic solution.2.3. Typical robot manipulator structureWe can use five categories of arm configurationand two kinds of wrist configuration to combine 10different kinds of robot manipulators with the sixdegrees of freedom which exist in industrial practice.Of course, we can also consider the other seven outof 12 arm categories with one out of two wristcategories to build a new robot manipulator. Butmost of them have not appeared in industrial prac-tice yet.3. SOLUTION FOR INVERSE KINEMATICS OF ROBOT MANIPULATOR3.1. General principlesTo find the inverse kinematic equations of a robotmanipulator at first appears to be a difficult task. Butwhen the manipulator is separated into two parts, itbecomes relatively simple.The relationship between the position and orien-tation of manipulator links connected together byrotational joints shown in Fig. 3, can be described byWhere0i is the ith joint variable;di is the ith joint offset;ai is the ith link length; andai is the ith link twist angle.The position and orientation of the end effector ofthe robot manipulator °T is the matrices product. 3,T = A I A 2 A 3 A 4 A s A 6 . (2)By the associative law the product of matrices can beregrouped into two subsets which represent the armand wrist respectivelyWhereAndThe superscripts designate the reference frame; arepresents the tip of the arm; and w represents thetip of wrist, i.e. the center of the end effector of themanipulator.°T given for the end effector can be written as a4 x 4 homogeneous matrix composed of a orienta-tion submatrix R and a position vector p5.6We can obtain the vector OaPdirectly using a vectoranalysis method. The detail will be mentioned in thenext section.from Eq. (4),We can get 01, 02, 03, the first three joint variablesfrom the solution of the following equation:The orientation of the end effector of the robotmanipulator can be considered as the product of theorientation of the arm and the orientation of the wrist:From Eqs (12) and (5), we can obtainwhereWe can get the last three joint variables 04, 05, 06 by solving Eq. (13).3.2. Different methodsThere are two kinds of solutions for the robotmanipulator: closed form solutions and numericalsolutions. Because of their iterative nature, numeri-cal solutions are generally much slower than thecorresponding closed form solutions, so much so that for most uses, we are not interested in the numerical approach to solution of kinematics. But, in general, it is much easier to obtain the numerical algorithmthan to obtain the closed form solution.In this paper we propose algorithms of both solu-tions.(a) Closed form solution. In the closed form solu-tion, the key problem is to obtain the position of thetip of the arm P. It is simple to obtain the position ofthe arm tip for the wrist axis intersecting at onepoint. But it is complex for the wrists where there isan axis offset, because the movement of the wristwill greatly affect the position of end effector of themanipulatorIn the following, we use the RRR + Euler angleand RRR + R - P - Y angle as examples to describehow to get the position of the tip of arm separately. RRR + Euler angleFigure 4 shows a sketch diagram of a R R R + Euler angle robot manipulator (PUMA 600) and the co-ordinate system which is represented by the D - Hexpression. The figure shows the relationship be-tween the arm and wrist vectors. ~r, is the positionvector from the base coordinate frame to the centerof the end effector of the robot manipulator. Arepresents the approach direction of the end effec-tor, °aPis the arm vector measured from the origin tothe connecting point of the arm and wrist, gP is thewrist vector having the same direction as the Avector and length measured from the connectionpoint of the arm and wrist to the center of the endeffector.With reference to frame 0, the product ~R gP issimply gP, i.e. the position of the center of the endeffector of robot manipulator measured from the tipof the arm, all with respect to frame 0. We canobtainThis states that the total translation of the endeffector is the sum of the translation from the base tothe tip of the arm plus the transformation from thetip of the arm to the center of the end effector.From Eq. (17), we can easily obtain the positionof the arm tip ~P as follows:Then we can use Eqs (10) and (11) to obtain the firstthree joint variables 0:, 02, 03 and Eq. (13) to obtainthe last three joint variables 04, 05,06. The detailedsolution is shown in Part II. t0Figure 5 shows a sketch diagram of a RRR +R - P - Y angle robot manipulator (Cincinatti Mila-cran T 3) and the coordinate system. Euler anglesare different from R - P - Y angles because the vector0p is affected by the movement of joint 4. Here is anexample showing how to treat the wrist axis offset.gPt:is the wrist vector having the same direction asthe A vector and length measured from the point ofjoint 4 to the center of the end effector, i.e. d+. ~P2 isthe other wrist vector having length measured frompoint of joint 4 to point of joint 5, i.e. a4. oP, theposition of arm, can be computed from the se-quential solution of the following set of equations:Then we can obtain 01, 02, 03 from Eqs (10) and (11)and obtain 0+, 05, 06 from Eq. (13).? General closed form solution algorithmStep 1. Finding the approach vector of the endeffectorStep 2.If there is some off-set in the wrist construc-tion, use the vector algebra to determine theoff-set gP, and get the arm vector, i.e. theposition of arm tip, then go to step 4.Otherwise go to Step 3. Compute the arm vector ~P directly usingapproach vector A.Step 4. Compute the first three joint variables 01,02, 03, using the arm vector gP from Eqs(10) and (11).Step 5. Compute the last three joint variables 04, 05,06 from Eq. (13).This approach shows that the number of computa-tions is kept to a minimum by reducing the overallproblem into separate steps which in turn lowers thelikelihood of errors and helps to reduce the tedious-ness of the work.(b) Numerical solution. The algorithm for thenumerical solution:Step 1. Assume the last three joint variables 04, 05,06 by the best available approximation,perhaps from a previous computed point.Step 2. Compute the arm joint variables 81, 02, 03from Eqs (10) and (11).Step 3. Compute wrist joint variables 04, 05, 06 fromEq. (13), using the values of the arm jointvariables obtained from step 2.Step 4. Compute the position and orientation of theend effector of robot manipulator using thevalues of all joint variables obtained fromstep 2 and step 3.Step 5. If the errors between the given values andthe calculated values is less than a pre-specified value, then the procedure stops.Otherwise go to step 2 to repeat the pro-cedure.The physical interpretation of the above pro-cedure is alternately to move the arm and wrist, oneto satisfy the positional and other to satisfy theorientational specification of the end effector, eachtime moving only the arm (or the wrist) while hold-ing the wrist (or the arm) fixed.This method has been implemented in a PUMA600 robot manipulator. It has been found that four is a sufficient number of iterations to reach therequired accuracy (A 0.01 mm) and the number has been fixed in the inverse kinematic solution.This algorithm has the advantage of treating the different kinds of robots with the same algorithm.But this method needs so much more computing time than the closed form solution, that it is notsuitable for real-time control of robot manipulators.4. CONCLUSIONSThe variety of possible robot configurations isvery large. A step towards generalization has been made by emphasizing that robot manipulators ofpractical importance are separable into primary sub-systems, the arm and the wrist. Mathematical treat-ment of various robots may be modularized and thusgreatly simplified by giving a separate description ofvarious arms and various wrists in common use.It has been discovered that only 12 useful and different categories of arm construction and twokinds of wrist construction exist. Using thehomogeneous transformation matrix method, theinverse kinematic solution is easily derived.The two algorithms which consist of the closedform and numerical solution of the inverse kine-matics have been given in this paper.REFERENCES1. Denavit, J., Hartenberg, R.S.: A kinematic notationfor law pair mechanisms based on matrices. J. Appl.Mech. Trans. ASME 77: 215-221, 1955.2. Lien, T.K.: Banestyring for universelle handterings-automater. Trondheim, August 1980.3. Lien, T.K.: Coordinate transformations in CNC sys-tem for automatic handling machines, llth CIRPSeminar on Manufacturing Systems, Nancy, France,June 1979.4. Milenkovic,V., Huang, B.: Kinematicsof major robotlinkage. 13th International Symposium on IndustrialRobots and Robotics 7, Vol. 2, pp. 31-46, 1983.5. Paul, R.P.: Robot Manipulators: Mathematics, Pro-gramming, and Control. MIT Press, Cambridge,1982.6. Lee,. C.G.S.: Fundamentals of Robotics. Addison-Wesley, New York, 1983.7. Warnecke, H.J., Schraft, R.D.: Industrial Robots. IFS,Bedford, 1982.8. Pieper, D.L.: The kinematics of manipulators undercomputer control. AIM 72, Stanford, CA. StanfordUniversity Artificial Intelligence Laboratory.9. Coiffet, P., Chirouze, M.: An Introduction to RobotTechnology. Kogan Page, London, 1983.10. Wang, K., Lien T.K.: Closed form solution for theinverse kinematics of a PUMA robot man-ipulator--II. Demonstration. Robotics Comput.-Integr. Mfg. 5: 159-163, 1989.中文原文一個機器人結構設計及運動學機械臂毫升.理論KESHENG WANG and TERJE K . LIEN生產(chǎn)工程實驗室,NTH-SINTEF,N-7034,挪威特隆赫姆六自由度機器人可以分為兩個部分:與前三個關節(jié)為主要定位,最后三個關節(jié)為主要面向腕臂。如果我們考慮連續(xù)的鏈接是平行或垂直的,只有 12 的臂和兩個手腕結構可能是有用的而且不同于對機器人機械手的機械設計。這種簡化可以導致對手臂和手腕的不同組合配置相應的逆運動學算法。對于一個機器人逆運動學是非常有效和簡單的計算方法。 簡介一個機器人由若干環(huán)節(jié)通過接頭連接在一起。在機器人的機械手設計,對運動鏈的選擇是器人一個最重要的決定在機械和控制器的設計過程。為了定位和定向的機器人末端執(zhí)行器的任意,六自由度的要求:方向三度的位置和三自由度的自由。每個機械手關節(jié)可以提供一個自由度的機械手,因此必須要提供在六個自由度的位置和方向正交的至少有六的接頭。機械手的結構取決于節(jié)點的不同組合。對工業(yè)機器人的結構的可能變化的數(shù)量可以確定如下。V=6DF;那么 V=數(shù)量的變化;DF=自由度這些因素表明,不同鏈可建數(shù)量非常大,例如六軸 46656 鏈是可能的。然而,這是大量不適合運動的原因。我們可以將一個機器人六自由度分為兩部分:臂由前三個關節(jié)和相關鏈接;與手腕由過去的三節(jié)點和相關鏈接。然后運動鏈的變化將極大地減少。即留置了手臂和手腕的結構。20種不同的手臂和8種手腕設計。在文本中,我們有20種不同的手臂,有12中手臂是不同的,很有用的。我們得出這樣的結論:五種手臂和兩種手腕是商業(yè)工業(yè)機器人的基本結構。這種簡化可能導致對手臂和手腕的不同組合的相應配置逆運動學算法。機器人的結構設計機械手在本文中,最佳的工作空間和簡單,我們假設:(一)具有六個自由度的機器人可以分為兩部分:連接組成的前三個關節(jié)和相關的鏈接被稱為ARM;剩余的關節(jié)聯(lián)動相關鏈接是所謂的手腕。(二)兩個環(huán)節(jié)由一個聯(lián)合低副連接。旋轉和直線連接中使用的機器人機械手。(三)接頭的軸線是垂直或相互平行。據(jù)作者所知,這種假設是適用于大多數(shù)的商業(yè)工業(yè)機器人。我們可以考慮結構的手臂和手腕的分別。對機器人的手臂結構(1)圖形表示。畫一個機器人在側視圖或透視是復雜的和不放棄的各個環(huán)節(jié)中的相互關系,如何清晰的照片。在一個平面上畫一個機器人繪圖過于簡單,并沒有給出一個明確的施工圖。我們妥協(xié)的這個問題的一個簡單的三維圖表示的機器人機械手的結構和動作。對不同關節(jié)表示的一種典型形式顯示在表:表1 一個機器人的圖形表示類型 運動 自由度 符號1. 固定梁 固定 0 2. 轉動 旋轉 1 3 線性 翻譯 1 (二)相結合的關節(jié)。我們使用R來表示一個轉動關節(jié)和L代表一個線性聯(lián)合。接頭不同的組合可以得到如下:根據(jù)與平行或垂直的軸的不同組合,每一組合有四種亞相結合。因此,32的組合可以到達:(1) RRR R⊥R⊥R (2)RRL R⊥R⊥LR⊥R‖R R⊥R‖LR‖R⊥R R‖R⊥LR‖R‖R R‖R‖L(3) RLR R⊥L⊥R (4)RLL R⊥L⊥LR⊥L‖R R⊥L‖LR‖L⊥R R‖L⊥LR‖L‖R R‖L‖L(4) LRR L⊥R⊥R (5)LRL L⊥R⊥LL⊥R‖R L⊥R‖LL‖R⊥R L‖R⊥LL‖R‖R L‖R‖L(6) RRR L⊥L⊥R (7)RRL L⊥L⊥LL⊥L‖R L⊥L‖LL‖L⊥R L‖L⊥LL‖L‖R L‖L‖L1 2 3 4 5 6 7 8RRR RRL RLR RLL LRR LRL LLR LLL如果第二節(jié)是一種線性聯(lián)合和其他關節(jié)垂直于它,與第一、第三節(jié),兩個選擇被認為是平行或垂直在所有的,有36種可能的一個簡單的三節(jié)臂組合。36種的9種可能的組合退化為一個或兩個自由度。其余的七種都是平面機構,因此,有20種可能的空間簡單的手臂。讓我們考慮 我繞垂直軸旋轉的第一關節(jié)允許,第二節(jié)是一個垂直的線性聯(lián)合(即平行到第一) 。而第三個關節(jié)是一個水平,聯(lián)合(即垂直于第二) 。該臂定義了一個典型的圓柱機器人。改變關節(jié)的順序,無論是(一)垂直線性聯(lián)合之前的旋轉接頭,或(二)垂直線性聯(lián)合為一個水平,將導致在手臂的運動沒有變化。在這種情況下,有兩個機構都是“等效”標準圓柱聯(lián)動。在所有這些情況下,兩個或兩個以上的等效機構存在,本集團的代表將一其中線性連接在平行于旋轉關節(jié)(關節(jié)中2號) 。只計算一個連鎖代表等同組將消除20個組合的八個。其余的12個類別的鏈接是有用的,不同的圖1所示。我們得到的結果是一樣的參考4。(三)五種基本類型的機械臂。雖然有12個有用的和不同的臂結構它可以用在一個機器人機械手的設計臂,在實踐中,只有其中的一些實用和常用的。我們發(fā)現(xiàn),最市售的工業(yè)機器人可以分成五組根據(jù)一個機器人結構設計及運動學。圖1 手臂配置十二種類型。他們的手臂運動的外觀和幾何特性。五組可以定義如下,圖6所示。1.笛卡爾(L⊥L⊥L)2.圓柱(R‖L⊥L)3.球形(R⊥R⊥ L)4.旋轉(R⊥R‖R)5.雙柱(L‖L‖R)一個機械手的手腕結構(一)聯(lián)合型。我們使用的前三個關節(jié),即機器人的機械臂,完成定位的主要任務。然后我們用最后的三節(jié)提供的三自由度的方向和參考