ROBOT KINEMATICS Purpose: The purpose of ths chapter s to ntroduce you to robot knematcs, and the concepts related to both open and closed knematcs chans. Forward knematcs s dstngushed from nverse knematcs.
In partcular, you wll 1. Revew the concept of a knematcs chan. Dstngush seral from parallel robots structures. 3. Relate a robot s degrees-of-freedom (dof) to the jont structure constrants. 4. Defne robot redundancy. 5. Defne seral robot types based on prmary dof. 6. Introduce D-H coordnates. 7. Examne forward and nverse knematcs for seral robots. 8. Examne forward and nverse knematcs for parallel robots.
Knematcs chan Mechansms can be confgured as knematcs chans. The chan s closed when the ground lnk begns and ends the chan; otherwse, t s open. jont lnk jont n - 1 jont 1 lnk jont lnk n Fxed lnk 1
Degrees-of-freedom (F) of a mechansm Assumng bnary par jonts (jonts supportng lnks), the degrees-of-freedom (F) of a mechansm s governed by the equaton F = λ (n - 1) j c = 1 Defne F = mechansm degrees-of-freedom n = number of mechansm lnks j = number of mechansm jonts c = number of constrants mposed by jont f = degrees-of-freedom permtted by jont λ = degrees-of-freedom n space n whch mechansm functons
Grubler s crteron It s also true that λ = c + f whch leads to Grubler's Crteron: F = λ (n - j - 1) + Example - 6-axs revolute robot(abb IRB 4400): = 1 Referencng fgure and usng prevous page equaton : F = 6 (7-1) - 6 (5) = 6 or by Grubler s equaton: j "as expected F = 6(7 6 1) + 6 (1) = 6 "as expected f
Redundant degreesof-freedom. A redundant jont s one that s unnecessary because other jonts provde the needed poston and/or orentaton. Can you see the redundancy among the last 3 jonts on the IRB 4400?
Redundant degrees-of-freedom Redundant jonts can generate passve degrees-offreedom, whch must be subtracted from Grubler's equaton to get F = λ (n - j - 1) + j = 1 f - f p A passve dof allows an ntermedate lnk to rotate freely about an axs defned by the two jonts. A passve dof cannot transfer torque.
Loop Moblty Crteron The number of ndependent loops (L) s the total number of loops excludng the external loop. For multple loop chans t s true that j = n + L -1 whch gves Euler's equaton: L=j- n +1 The fgure apples ths equaton for a loop mechansm. j = 8; n = 7 L=8-7+1=
Loop Moblty Crteron Combnng Euler s equaton wth Grubler's Crteron, we get the Loop Moblty Crteron: f = F + λ L
Parallel robots A parallel robot s a closed loop chan, whereas a seral robot s an open loop chan. A hybrd mechansm s one wth both closed and open chans. The fgure shows the Stewart-Gough S platform. Determne the dof. Each S-P-S P combnaton generates a passve degree-offreedom. Thus, apply S F = λ (n - j - 1) + j f = 1 - f p λ = 6; n = 14; j 1 = 6; j 3 = 1; f p = 6 to get F = 6(14-18 -1) + (1 x 3 + 6) - 6 = 6 Dashed lnes represent same S-P-S jont combnaton as shown: S = sphercal jont; P = prsmatc jont)...as expected!
Seral Robot Types Seral robots can be classfed as revolute, sphercal, cylndrcal, or rectangular (translatonal, prsmatc, or Cartesan). These classfcatons descrbe the prmary DOF (degreesof-freedom) whch accomplsh the global moton as opposed to the dstal (fnal) jonts that accomplsh the local orentaton.
Open Chan Lnk Coordnates Accordng to Denavt-Hartenberg (D-H) notaton (Denavt, J. and Hartenberg, "A Knematc Notaton for Lower-Par Mechansms Based on Matrces," J. of Appled Mechancs, June, 1955, pp. 15-1.), only four parameters (a, d, θ, α) are necessary to defne a frame n space (or jont axs) relatve to a reference frame: a = mnmum dstance between lne L (the z axs of next frame) and z axs (mutually orthogonal lne between lne L and z axs) d = dstance along z axs from z orgn to mnmum dstance ntersecton pont θ = angle between x-z plane and plane contanng z axs and mnmum dstance lne α = angle between z axs and L. x z θ d a d α L y
Conventonal D-H notaton for seral lnks/jonts
D-H parameters appled to Puma robot
D-H parameters appled to Puma robot Jont a d θ α Range 1 0 0 90-90 -150 to 150 43 149.5 0 0-5 to 45 3 0 0 90 90-45 to 5 4 0 43 0-90 -110 to 170 5 0 0 0 90-100 to 100 6 0 55.5 0 0-65 to 65
D-H parameters and the HT Gven a revolute jont a pont located on the th lnk can be located n - 1 axes by the followng transformaton set whch consst of four homogeneous transformatons ( rotatons and translatons). The set that wll accomplsh ths s A = H(d,z -1 ) H(θ,z -1 ) H(a,x ) H(α,x ) ( = 1,...n) x A = cθ sθ 0 0 - cα sθ cθ cα sα 0 sα sθ - sα cθ cα 0 a cθ a s θ d 1 Why are the D-H parameters appled as shown to generate the A transformaton?
Other D-H Notaton (used n CODE) z Jont -1-1 α z Jont y +1 x z Jont +1 d Lnk x a θ
Other D-H Notaton (used n CODE) Four parameters must be specfed: a = mnmum dstance between jont axs (z ) and jont -1 axs (z - 1) d = dstance from mnmum dstance lne (x -1 axs) to orgn of th jont frame measured along z axs. α = angle between z and z -1 measured about prevous jont frame x -1 axs. θ = angle about z jont axs whch rotates x -1 to x axs n rght hand sense. The x axs s the mnmum dstance lne defned from z to z +1; z s defned as the jont rotaton or translaton axs axs and y by the rght hand rule (z x x ). The orgn of each jont frame s defned by the mnmum dstance lne ntersecton on the jont axs.
Other D-H Notaton (used n CODE) The transformaton for ths set of D-H parameters s A = α α α θ α θ α α α θ α θ θ θ 1 0 0 0 d c c s c s s d -s -s c c c s a 0 -s c What are the major dfferences between conventonal D-H and CODE D-H?
Class problem: Derve the set of CODE D-H parameters for the Puma robot beng consdered. Jont a d θ α Range 1 0 0 0 0-150 to 150-5 to 45 3-45 to 5 4-110 to 170 5-100 to 100 6-65 to 65
Forward Knematcs for Seral Robots Gven the A transformaton matrces of one jont frame relatve to the precedng jont frame usng conventonal D-H notaton, we can relate any pont n the th lnk to the global reference frame by the followng transformaton. Let v be a pont fxed to the th lnk. Its coordnates u n the global frame are (n = # dof) u = A 1 A...A v ( = 1,,... n) Typcally we represent the set of transformatons above by a sngle matrx called the T matrx T = A 1 A...A If = n, then T n locates the tool (or grpper) frame. We usually drop the n subscrpt and smply use T.
Forward Knematcs usng CODE D-H The pose of a tool frame at the end of the robot can be determned by the equaton T = A 1 A A 3...A n G where T locates the tool relatve to the robot base frame and G locates the tool relatve to the last jont frame. Queston: Why s G requred n the CODE D-H notaton, but not n the conventonal D-H notaton?
Inverse knematcs for seral robots Inverse knematcs rases the queston: Gven that I know the desred pose of the tool, what are the jont values requred to move the tool to the desred pose? Forward kn: T = A 1 A A 3...A n G unknown known Inverse kn: A 1 A A 3...A n = T G -1 unknown known
Inverse knematcs for Puma robot The soluton, calculated n two stages, frst uses a poston vector from the robot base (place at wast) to the wrst. Ths vector allows for the soluton of the frst three prmary DOF that accomplsh the global moton. The last 3 DOF (secondary DOF) are found usng the calculated values of the frst 3 DOF and the orentaton jont frames T 4, T 5, and T 6.
Inverse knematcs for Puma robot z 0 y 0 x 0 p 6 sldng y 6 approach z 6 x 6 Grpper
Inverse knematcs for Puma robot Let the grpper frame be defned by the unt vector trad n, s, and a, unt vectors drected along the tool s x, y, and z axes respectvely. These are specfed by the known pose of the tool frame,.e., the target frame. The orgn of the 4 th jont frame s determned by q and the known offset of the tool frame, d 6. Z o q = p - d 6 a X o Y o q z 4 p y 4 d 6 s x 4 n a
Inverse knematcs for Puma robot Applyng T = A 1 A...A 6 and usng conventonal D-H notaton, we multply A together to get one matrx wth 6 unknowns: θ 1, θ,..., θ 6. Settng the unknown terms equal to the terms of the known target frame we generate 1 equatons wth 6 unknown jont angles. The course notes have a full descrpton of these equatons, but the (1,1) term looks lke: n x = C 1 C 3 C 4 C 5 C 6 - S 4 S 6 - S 3 S 5 C 6 - S 1 S 4 C 5 C 6 + C 4 S 6 where C 3 = cos(θ + θ 3 ), etc.
Inverse knematcs for Puma robot Snce the last three jont axes ntersect at a common pont (concurrent axes), whch s the orgn of the 4 th jont frame, we let θ 4 = θ 5 = θ 6 = 0 and also let d 6 = 0 to reduce the nvkn (short for nverse knematcs) equatons to those of the 4 th jont frame. At ths pont: q = p ] θ 4 = θ 5 = θ 6 = d 6 = 0
Inverse knematcs for Puma robot Ths gves the equatons: q x = C 1 (d 4 S 3 + a C ) - d S 1 q y = S 1 (d 4 S 3 + a C ) + d C 1 q z = d 4 C 3 - a S Remember that q x, q y, and q z are known. Is there any way that we can solve these equatons for the prmary jont angles θ 1, θ and θ 3.?
Inverse knematcs for Puma robot Now θ 1 can be determned from the q x and q y components. Let λ = d 4 S 3 + a C ; thus, q x = C 1 λ - d S 1 ; q y = S 1 λ + d C 1 It can be shown that λ= ± q x + q y d What does ths form mply? Solvng for θ 1 we we get the soluton: θ 1 = tan -1 λ q y - d q x λ q x + d q y We actually apply the atan functon usng the numerator (sne) and denomnator (cos) from the soluton equaton.
Inverse knematcs for Puma robot How many solutons exst for θ 1? Explan. Can you relate these solutons to the physcal confguraton of the Puma robot? The soluton for θ 3 can be found by squarng the q components addng to get cos θ 3 = ± sqrt[ 1 - sn θ 3 ] θ 3 = tan -1 The + soln s for the elbow above hand whereas the - soln s for the elbow below hand. ) + + ( ± + + 4 z y x 4 4 z y x d a d q q q a 4d d a d q q q
Inverse knematcs for Puma robot Now, gven θ 3, we can expand and fnally arrve at (use atan) θ = tan -1 - q z a + d 4 S 3 - d 4 C 3 ± q x + q y - d q z d 4 C 3 - a + d 4 S 3 ± q x + q y - d The - soln corresponds to the left arm confguraton, + soln corresponds to rght arm confguraton.
Inverse knematcs for Puma robot Obvously knowng permts defnton of 0 T 3. To determne θ 4, θ 5, and θ 6 we assume that an approach drecton s known (a known) and that hand orentaton s specfed (n, s). For the PUMA robot we can arrange the jont axes such that z 4 = ± (z 3 x a) z 3 x a z 5 = a y 6 = s (z4 axs drecton cosnes) (z 5 axs drecton cosnes) (y 6 axs drecton cosnes)
Inverse knematcs for Puma robot Now gven the above crtera, we can solve for θ 4 from y 3 z 3 C 4 = y 3 z 4 (= y 3 T z 4 ) x 3 y 3 θ 4 z 4 S 4 = -x 3 z 4 (= -x 3 T z 4 ) x 4 θ 4 x 3 a Determne x 3 and y 3 from 1 st and nd columns of 0 T 3 to get (use atan) θ 4 = tan -1 C 1 a y - S 1 a x C 1 C 3 a x + S 1 C 3 a y - S 3 a z
Inverse knematcs for Puma robot Refer to the course notes to get smlar solutons for θ 5 and θ 6. How many total nvkn solutons are feasble for the Puma robot? How many solutons exst n practcal applcatons? What lmts the number of nvkn solutons that can be appled?
Geometrc solutons for nverse knematcs θ 1 θ θ 3 (x,y,z,θ) θ 3 s used to complete the tool orentaton
Knematcs summary: seral robots Forward & nverse knematcs are mportant to robotcs. Robot teach-pendant uses drect jont control to place the robot tool at desred poses n space. Target for an end-effector requres nvkn solutons to generate the necessary jont values. D-H parameters provde a smple way of relatng jont frames to each other, although more than one D-H form prolferate the applcaton methods. Invkn solutons can be complex dependng on the robot structure. Both analytcal and geometrc methods can be appled.
Forward knematcs - parallel robots A parallel mechansm s symmetrcal f the number of lmbs s equal to the number of degrees-of-freedom of the movng platform jont type and jont sequence n each lmb are the same number and locaton of the actuated jonts are the same. Otherwse, the mechansm s asymmetrcal. We wll examne the knematcs for symmetrcal mechansms.
Parallel robot defntons lmb = a seral combnaton lnks and jonts between ground and the movng rgd platform connectvty of a lmb (C k ) = degrees-of-freedom assocated wth all jonts n a lmb
Connectvty equaton Observaton of symmetrcal mechansms wll establsh that m k= 1 C k = j f = 1 where j s the number of jonts n the parallel mechansm and m s the number of lmbs. What s the connectvty of a lmb of the pcker robot? Answer 7! Note that Grubler s Crteron does not readly apply to parallel robots because of jont redundances.
Forward knematcs example The course notes present the forward knematcs soluton for the Maryland (or ABB pcker) robot. Ths soluton s also found n Tsa s text. It s complex and wll not be dscussed here, but you should revew the soluton to see how t s done. The reason for not examnng ths soluton s found n the queston: How would you use a teach pendant to program ths robot?
Program pcker robot? In realty you would probably not command the jonts drectly, but most lkely command translatons n the u, v, and w drectons. Thus, you would not lkely drve ths robot usng forward knematcs but only apply nverse knematcs.
Inverse knematcs for pcker robot Assume that a desred poston vector p gven. Fnd the jont angles to place pont P at p. p In realty, the grpper would not be located at P, but be attached to the movng platform. Ths s determned by grpper frame G relatve to the platform coordnate axes. A target frame s specfed as T. The frame for pont P s determned from the fourth column of T p = TG -1. We desgnate ths vector as p.
Inverse knematcs for pcker robot Gven p we determne the locaton of pont C. Ths s smple because the movng platform cannot rotate and thus the lne between P and C translates only. Thus, gven P (as determned by p) and the dstance h, we can determne C as dsplaced from P by a vector of length h that s parallel to x. P h C parallel to x p P zero state x O
Inverse knematcs for pcker robot We can wrte a loop closure equaton: A B + B C = OP + PC OA and express ths equaton n the lmb coordnate frame (x, y, z ).
Inverse knematcs for pcker robot Expressng the prevous lmb vector loop equaton n the lmb coordnate frame, we get the matrx equatons: n terms of the lmb vector c shown by the green vector n the fgure: c c c c a cθ a sθ x y z 1 1 = + b sθ3 c( θ b cθ3 + b sθ s( θ cφ - sφ 0 3 sφ cφ 0 1 1 + θ + θ 0 p 0 p 1 p ) c = c ) c x y z x y z + h 0 - r 0
Inverse knematcs for pcker robot The locus of moton of lnk B C s a sphere wth center at C and radus b. From the prevous matrx equaton we can determne a soluton for θ 3 as θ 3 = cos -1 (c y /b) O P r b h B ' C z b h a x B A c
Inverse knematcs for pcker robot Gven θ 3 we can determne an equaton for θ by summng the squares of the matrx equaton to get ab sθ 3 cθ + a + b = c x + c y + c z whch leads to a soluton for θ as θ = cos -1 (κ) where κ = (c x + c y + c z - a - b )/(ab sθ 3 ). Physcally, we can determne two solutons for θ ("+" angle and "-" angle smlar to elbow up/down case).
Inverse knematcs for pcker robot The two solutons for θ 1 can be determned from the matrx equaton by expandng the double angle formulas, solvng for the sne and cosne of θ 1 and then usng the atan functon to get θ 1. a cθ a sθ 1 1 + + b sθ3 c( θ b cθ3 b sθ s( θ 3 1 1 + θ + θ ) ) = c c c x y z
Inverse knematcs for pcker robot An alternatve soluton s to sum the squares of the 1 st and 3 rd equatons after rearrangng them to ths form (θ 3 now known): a cθ 1 c x = b sθ 3 c(θ 1 + θ 1 ) a sθ 1 c z = b sθ 3 s(θ 1 + θ 1 ) leadng to: c x cθ 1 + c z sθ 1 = (a + c x + c z - b s θ 3 )/( a) Ths s the famlar form we ntroduced earler n the course and can be arranged to a double angle sne formula to solve for θ 1, the actuaton jont for each lmb. Ths approach does not requre a soluton for θ.
Inverse knematcs for pcker robot It s possble that the target frame may fall outsde the robot's reach; thus, we must examne the specal cases: Generc soluton - crcle of lnk AB ntersects the BC sphere at two ponts, gvng two solutons. Sngular soluton - crcle tangent to sphere resultng n one soluton. Sngular soluton - crcle les on sphere -- physcally unrealstc case! No soluton - crcle and sphere do not ntersect
Knematcs summary: parallel robots Forward knematcs partcularly useful. Parallel robots use nvkn to program confguratons Commercal parallel robots are symmetrcal. Grubler's Crteron does not readly apply to ths class of complex mechansms, because of desgned redundances and specal constrants. Parallel robots are nherently stffer wth less nerta; thus, they can move much faster.