logo

Robot công nghiệp : Các phép biến đổi thuần nhất

Khi xem xét , nghiên cứu mối quan hệ giữa robot và vật thể ta không những cần quan tâm đến vị trí tuyệt đối của điểm , đường , mặt của vật thể so với điểm tác động cuối của robot mà còn quan tâm đến vấn đề định hướng của khâu chấp hành cuối khi vận động hoặc định vị tại một vị trí
Robot c«ng nghiÖp 9 Ch−¬ng II C¸c phÐp biÕn ®æi thuÇn nhÊt (Homogeneous Transformation) Khi xem xÐt, nghiªn cøu mèi quan hÖ gi÷a robot vµ vËt thÓ ta kh«ng nh÷ng cÇn quan t©m ®Õn vÞ trÝ (Position) tuyÖt ®èi cña ®iÓm, ®−êng, mÆt cña vËt thÓ so víi ®iÓm t¸c ®éng cuèi (End effector) cña robot mµ cßn cÇn quan t©m ®Õn vÊn ®Ò ®Þnh h−íng (Orientation) cña kh©u chÊp hµnh cuèi khi vËn ®éng hoÆc ®Þnh vÞ taÞ mét vÞ trÝ. §Ó m« t¶ quan hÖ vÒ vÞ trÝ vµ h−íng gi÷a robot vµ vËt thÓ ta ph¶i dïng ®Õn c¸c phÐp biÕn ®æi thuÇn nhÊt. Ch−¬ng nÇy cung cÊp nh÷ng hiÓu biÕt cÇn thiÕt tr−íc khi ®i vµo gi¶i quyÕt c¸c vÊn ®Ò liªn quan tíi ®éng häc vµ ®éng lùc häc robot. 2.1. HÖ täa ®é thuÇn nhÊt : §Ó biÓu diÔn mét ®iÓm trong kh«ng gian ba chiÒu, ng−êi ta dïng Vect¬ ®iÓm (Point vector). Vect¬ ®iÓm th−êng ®−îc ký hiÖu b»ng c¸c ch÷ viÕt th−êng nh− u, v, x1 . . . ®Ó m« t¶ vÞ trÝ cña ®iÓm U, V, X1 ,. . . Tïy thuéc vµo hÖ qui chiÕu ®−îc chän, trong kh«ng gian 3 chiÒu, mét ®iÓm V cã thÓ ®−îc biÓu diÔn b»ng nhiÒu vect¬ ®iÓm kh¸c nhau : V vE vF E F H×nh 2.2 : BiÓu diÔn 1 ®iÓm trong kh«ng gian vE vµ vF lµ hai vect¬ kh¸c nhau mÆc dï c¶ hai vect¬ cïng m« t¶ ®iÓm V. NÕu i, j, k lµ c¸c vec t¬ ®¬n vÞ cña mét hÖ to¹ ®é nµo ®ã, ch¼ng h¹n trong E, ta cã : r r r r v = ai + bj + ck víi a, b, c lµ to¹ ®é vÞ trÝ cña ®iÓm V trong hÖ ®ã. NÕu quan t©m ®ång thêi vÊn ®Ò ®Þnh vÞ vµ ®Þnh h−íng, ta ph¶i biÓu diÔn vect¬ v trong kh«ng gian bèn chiÒu víi suÊt vect¬ lµ mét ma trËn cét : x x/w = a v = y Trong ®ã y/w = b z z/w = c w víi w lµ mét h»ng sè thùc nµo ®ã. w cßn ®−îc gäi lµ hÖ sè tØ lÖ, biÓu thÞ cho chiÒu thø t− ngÇm ®Þnh, NÕu w = 1 dÔ thÊy : x x y y z z = = x=a; = = y =b; = =z=a w 1 w 1 w 1 TS. Ph¹m §¨ng Ph−íc Robot c«ng nghiÖp 10 Trong tr−êng hîp nÇy th× c¸c to¹ ®é biÓu diÔn b»ng víi to¹ ®é vËt lý cña ®iÓm trong kh«ng gian 3 chiÒu, hÖ to¹ ®é sö dông w=1 ®−îc gäi lµ hÖ to¹ ®é thuÇn nhÊt. x y z Víi w = 0 ta cã : = = =∞ w w w Giíi h¹n ∞ thÓ hiÖn h−íng cña c¸c trôc to¹ ®é. NÕu w lµ mét h»ng sè nµo ®ã ≠ 0 vµ 1 th× viÖc biÓu diÔn ®iÓm trong kh«ng gian t−¬ng øng víi hÖ sè tØ lÖ w : r r r r VÝ dô : v = 3i + 4 j + 5k víi w = 1 (tr−êng hîp thuÇn nhÊt) : v = [3 4 5 1]T víi w=-10 biÓu diÔn t−¬ng øng sÏ lµ : v = [-30 -40 -50 -10]T T Ký hiÖu [ . . . . ] (Ch÷ T viÕt cao lªn trªn ®Ó chØ phÐp chuyÓn ®æi vect¬ hµng thµnh vect¬ cét). Theo c¸ch biÓu diÔn trªn ®©y, ta qui −íc : [0 0 0 0]T lµ vect¬ kh«ng x¸c ®Þnh [0 0 0 n]T víi n ≠ 0 lµ vect¬ kh«ng, trïng víi gèc to¹ ®é [x y z 0]T lµ vect¬ chØ h−íng [x y z 1]T lµ vect¬ ®iÓm trong hÖ to¹ ®é thuÇn nhÊt. 2.2. Nh¾c l¹i c¸c phÐp tÝnh vÒ vect¬ vµ ma trËn : 2.2.1. PhÐp nh©n vÐct¬ : r r r r Cho hai vect¬ : a = a xi + a y j + az k r r r r b = bx i + by j + bz k Ta cã tÝch v« h−íng a.b = axbx + ayby + azbz Vµ tÝch vect¬ : r r r r r i j k r r r axb = a a az = (aybz-azby) i + (azbx-axbz) j + (axby-aybx) k x y bx by bz 2.2.2. C¸c phÐp tÝnh vÒ ma trËn : a/ PhÐp céng, trõ ma trËn : Céng (trõ ) c¸c ma trËn A vµ B cïng bËc sÏ cã ma trËn C cïng bËc, víi c¸c phÇn tö cij b»ng tæng (hiÖu) cña c¸c phÇn tö aij vµ bij (víi mäi i, j). A+B=C Víi cij = aij + bij. A-B =C Víi cij = aij - bij. PhÐp céng, trõ ma trËn cã c¸c tÝnh chÊt gièng phÐp céng sè thùc. b/ TÝch cña hai ma trËn : TÝch cña ma trËn A (kÝch th−íc m x n) víi ma trËn B (kÝch th−íc n x p) lµ ma trËn C cã kÝch th−íc m x p. VÝ dô : cho hai ma trËn : 1 2 3 1 2 A = 4 5 6 vµ B = 3 4 7 8 9 5 6 Ta cã : TS. Ph¹m §¨ng Ph−íc Robot c«ng nghiÖp 11 1.1+2.3+3.5 1.2+2.4+3.6 22 28 C = A.B = 4.1+5.3+6.5 4.2+5.4+6.6 = 49 64 7.1+8.3+9.5 7.2+8.4+9.6 76 100 PhÐp nh©n hai ma trËn kh«ng cã tÝnh giao ho¸n, nghÜa lµ : A . B ≠ B . A Ma trËn ®¬n vÞ I (Indentity Matrix) giao ho¸n ®−îc víi bÊt kú ma trËn nµo : I.A = A.I PhÐp nh©n ma trËn tu©n theo c¸c qui t¾c sau : 1. (k.A).B = k.(A.B) = A.(k.B) 2. A.(B.C) = (A.B).C 3. (A + B).C = A.C + B.C 4. C.(A + B) = C.A + C.B c/ Ma trËn nghÞch ®¶o cña ma trËn thuÇn nhÊt : Mét ma trËn thuÇn nhÊt lµ ma trËn 4 x 4 cã d¹ng : nx Ox ax px T = ny Oy ay py nz Oz az pz 0 0 0 1 Ma trËn nghÞch ®¶o cña T ký hiÖu lµ T-1 : nx ny nz -p.n T-1 = Ox Oy Oz -p.O (2-1) ax ay az -p.a 0 0 0 1 Trong ®ã p.n lµ tÝch v« h−íng cña vect¬ p vµ n. nghÜa lµ : p.n = pxnx + pyny + pznz t−¬ng tù : p.O = pxOx + pyOy + pzOz vµ p.a = pxax + pyay + pzaz VÝ dô : t×m ma trËn nghÞch ®¶o cña ma trËn biÕn ®æi thuÇn nhÊt : 0 0 1 1 H = 0 1 0 2 -1 0 0 3 0 0 0 1 Gi¶i : ¸p dông c«ng thøc (2-1), ta cã : 0 0 -1 3 -1 H = 0 1 0 -2 1 0 0 -1 0 0 0 1 Chóng ta kiÓm chøng r»ng ®©y chÝnh lµ ma trËn nghÞch ®¶o b»ng c¸c nh©n ma trËn H víi H-1 : 0 0 1 1 0 0 -1 3 1 0 0 0 0 1 0 2 0 1 0 -2 = 0 1 0 0 -1 0 0 3 1 0 0 -1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 TS. Ph¹m §¨ng Ph−íc Robot c«ng nghiÖp 12 Ph−¬ng ph¸p tÝnh ma trËn nghÞch ®¶o nÇy nhanh h¬n nhiÒu so víi ph−¬ng ph¸p chung; tuy nhiªn nã kh«ng ¸p dông ®−îc cho ma trËn 4x4 bÊt kú mµ kÕt qu¶ chØ ®óng víi ma trËn thuÇn nhÊt. d/ VÕt cña ma trËn : VÕt cña ma trËn vu«ng bËc n lµ tæng c¸c phÇn tö trªn ®−êng chÐo : n Trace(A) hay Tr(A) = ∑a i =1 ii Mét sè tÝnh chÊt quan träng cña vÕt ma trËn : 1/ Tr(A) = Tr(AT) 2/ Tr(A+B) = Tr(A) + Tr(B) 3/ Tr(A.B) = Tr(B.A) 4/ Tr(ABCT) = Tr(CBTAT) e/ §¹o hµm vµ tÝch ph©n ma trËn : NÕu c¸c phÇn tö cña ma trËn A lµ hµm nhiÒu biÕn, th× c¸c phÇn tö cña ma trËn ®¹o hµm b»ng ®¹o hµm riªng cña c¸c phÇn tö ma trËn A theo biÕn t−¬ng øng. ⎡ a11 a12 a13 a14 ⎤ ⎢a a 22 a 23 a 24 ⎥ VÝ dô : cho A = ⎢ 21 ⎥ ⎢a31 a32 a33 a 34 ⎥ ⎢ ⎥ ⎣a 41 a 42 a 43 a 44 ⎦ ⎡ ∂a11 ∂a12 ∂a13 ∂a14 ⎤ ⎢ ∂t ∂t ∂t ∂t ⎥ ⎢ ∂a ∂a22 ∂a23 ∂a 24 ⎥ ⎢ 21 ⎥ th× : dA = ⎢ ∂t ∂t ∂t ∂t ⎥ dt ⎢ ∂a31 ∂a32 ∂a33 ∂a34 ⎥ ⎢ ∂t ∂t ∂t ∂t ⎥ ⎢ ∂a41 ∂a42 ∂a43 ∂a 44 ⎥ ⎢ ⎥ ⎣ ∂t ∂t ∂t ∂t ⎦ T−¬ng tù, phÐp tÝch ph©n cña ma trËn A lµ mét ma trËn, cã : ∫ A(t )dt = {∫ aij (t )dt} 2.3. C¸c phÐp biÕn ®æi Cho u lµ vect¬ ®iÓm biÓu diÔn ®iÓm cÇn biÕn ®æi, h lµ vect¬ dÉn ®−îc biÓu diÔn b»ng mét ma trËn H gäi lµ ma trËn chuyÓn ®æi . Ta cã : v = H.u v lµ vect¬ biÓu diÔn ®iÓm sau khi ®· biÕn ®æi. 2.3.1. PhÐp biÕn ®æi tÞnh tiÕn (Translation) : r r r r Gi¶ sö cÇn tÞnh tiÕn mét ®iÓm hoÆc mét vËt thÓ theo vect¬ dÉn h = ai + bj + ck . Tr−íc hÕt ta cã ®Þnh nghÜa cña ma trËn chuyÓn ®æi H : 1 0 0 a H = Trans(a,b,c) = 0 1 0 b (2.2) 0 0 1 c 0 0 0 1 TS. Ph¹m §¨ng Ph−íc Robot c«ng nghiÖp 13 Gäi u lµ vect¬ biÓu diÔn ®iÓm cÇn tÞnh tiÕn : u = [x y z w]T Th× v lµ vect¬ biÓu diÔn ®iÓm ®· biÕn ®æi tÞnh tiÕn ®−îc x¸c ®Þnh bëi : 1 0 0 a x x+aw x/w+a v = H.u = 0 1 0 b . y = y+bw = y/w+b 0 0 1 c z z+cw z/w+c 0 0 0 1 w w 1 Nh− vËy b¶n chÊt cña phÐp biÕn ®æi tÞnh tiÕn lµ phÐp céng vect¬ gi÷a vect¬ biÓu diÔn ®iÓm cÇn chuyÓn ®æi vµ vect¬ dÉn. r r r r u = 2i + 3j + 2k VÝ dô : r r r r h = 4i - 3j + 7k Th× 1 0 0 4 2 2+4 6 v = Hu = 0 1 0 -3 . 3 = 3-3 = 0 0 0 1 7 2 2+7 9 0 0 0 1 1 1 1 vµ viÕt lµ : v = Trans(a,b,c) u z 9 v 7 h 2 u -3 0 3 y 2 4 6 x H×nh 2..4: PhÐp biÕn ®æi tÞnh tiÕn trong kh«ng gian 2.3.2. PhÐp quay (Rotation) quanh c¸c trôc to¹ ®é : Gi¶ sö ta cÇn quay mét ®iÓm hoÆc mét vËt thÓ xung quanh trôc to¹ ®é nµo ®ã víi gãc quay θo, ta lÇn l−ît cã c¸c ma trËn chuyÓn ®æi nh− sau : 1 0 0 0 Rot(x, θ ) = o 0 cosθ -sinθ 0 (2.3) 0 sinθ cosθ 0 0 0 0 1 cosθ 0 sinθ 0 Rot(y, θ ) = o 0 1 0 0 (2.4) -sinθ 0 cosθ 0 0 0 0 1 TS. Ph¹m §¨ng Ph−íc Robot c«ng nghiÖp 14 cosθ -sinθ 0 0 Rot(z, θ ) = sinθ o cosθ 0 0 (2.5) 0 0 1 0 0 0 r r0 r 1 r VÝ dô : Cho ®iÓm U biÓu diÔn bëi u = 7i + 3j + 2k quay xung quanh z mét gãc θ = 90o (h×nh 2.5). Ta cã 0 -1 0 0 7 -3 o v= Rot(z, 90 )u = 1 0 0 0 3 = 7 0 0 1 0 2 2 0 0 0 1 1 1 NÕu cho ®iÓm ®· biÕn ®æi tiÕp tôc quay xung quanh y mét gãc 90o ta cã : 0 0 1 0 -3 2 o w = Rot(y, 90 )v = 0 1 0 0 7 = 7 -1 0 0 0 2 3 0 0 0 1 1 1 Vµ cã thÓ biÓu diÔn : 2 w = Rot(y, 90o). Rot(z, 90o) . u 7 = 3 1 Chó ý : NÕu ®æi thø tù quay ta sÏ ®−îc w’≠ w (h×nh 2.6), cô thÓ : cho U quay quanh y tr−íc 1 gãc 900, ta cã : 0 0 1 0 7 2 v’ = 0 1 0 0 3 = 3 = Rot(y, 90o).u -1 0 0 0 2 -7 0 0 0 1 1 1 Sau ®ã cho ®iÓm võa biÕn ®æi quay quanh z mét gãc 900, ta ®−îc : 0 -1 0 0 2 -3 w’ = 1 0 0 0 3 = 2 = Rot(z, 90o).Rot(y,900)u 0 0 1 0 -7 -7 0 0 0 1 1 1 Râ rµng : Rot(y, 90o).Rot(z,900)u ≠ Rot(z,900).Rot(y, 90o)u z z v y y w’ w u u x x v’ H×nh 2.5 H×nh 2.6 w = Rot(y, 90o). Rot(z, 90o)u w’= Rot(z, 90o). Rot(y, 90o)u TS. Ph¹m §¨ng Ph−íc Robot c«ng nghiÖp 15 2.3.3. PhÐp quay tæng qu¸t : Trong môc trªn, ta võa nghiªn cøu c¸c phÐp quay c¬ b¶n xung quanh c¸c trôc to¹ ®é x,y,z cña hÖ to¹ ®é chuÈn O(x,y,z). Trong phÇn nÇy, ta nghiªn cøu phÐp quay quanh mét vect¬ k bÊt kú mét gãc θ. Rµng buéc duy nhÊt lµ vect¬ k ph¶i trïng víi gèc cña mét hÖ to¹ ®é x¸c ®Þnh tr−íc. Ta h·y kh¶o s¸t mét hÖ to¹ ®é C, g¾n lªn ®iÓm t¸c ®éng cuèi (bµn tay) cña robot, hÖ C ®−îc biÓu diÔn bëi : n (Cz) Cx Cy Cz Co nx Ox az 0 C= ny Oy ay 0 Co nz Oz az 0 0 0 0 1 O(Cy) a (Cx) H×nh 2.7 : HÖ to¹ ®é g¾n trªn kh©u chÊp hµnh cuèi (bµn tay) Khi g¾n hÖ to¹ ®é nÇy lªn bµn tay robot (h×nh 2.7), c¸c vect¬ ®¬n vÞ ®−îc biÓu thÞ nh− sau : a : lµ vect¬ cã h−íng tiÕp cËn víi ®èi t−îng (approach); O: lµ vect¬ cã h−íng mµ theo ®ã c¸c ngãn tay n¾m vµo khi cÇm n¾m ®èi t−îng (Occupation); n : Vect¬ ph¸p tuyÕn víi (O,a) (Normal). B©y giê ta h·y coi vect¬ bÊt kú k (mµ ta cÇn thùc hiÖn phÐp quay quanh nã mét gãc θ) lµ mét trong c¸c vect¬ ®¬n vÞ cña hÖ C. r r r r Ch¼ng h¹n : k = ax i + ay j + azk Lóc ®ã, phÐp quay Rot(k,θ) sÏ trë thµnh phÐp quay Rot(Cz,θ). NÕu ta cã T m« t¶ trong hÖ gèc trong ®ã k lµ vect¬ bÊt kú, th× ta cã X m« t¶ trong hÖ C víi k lµ mét trong c¸c vect¬ ®¬n vÞ. Tõ ®iÒu kiÖn biÕn ®æi thuÇn nhÊt, T vµ X cã liªn hÖ : T = C.X hay X = C -1.T Lóc ®ã c¸c phÐp quay d−íi ®©y lµ ®ång nhÊt : Rot(k,θ) = Rot(Cz,θ) hay lµ Rot(k,θ).T = C.Rot(z,θ).X = C.Rot(z,θ).C -1.T VËy Rot(k,θ) = C.Rot(z,θ).C -1 (2.6) Trong ®ã Rot(z,θ) lµ phÐp quay c¬ b¶n quanh trôc z mét gãc θ, cã thÓ sö dông c«ng thøc (2.5) nh− ®· tr×nh bµy. C-1 lµ ma trËn nghÞch ®¶o cña ma trËn C. Ta cã : nx ny nz 0 C-1 = Ox Oy Oz 0 ax ay az 0 0 0 0 1 TS. Ph¹m §¨ng Ph−íc Robot c«ng nghiÖp 16 Thay c¸c ma trËn vµo vÕ ph¶i cña ph−¬ng tr×nh (2.6) : nx Ox ax 0 cosθ -sinθ 0 0 nx ny nz 0 Rot(k,θ) = ny Oy ay 0 sinθ cosθ 0 0 Ox Oy Oz 0 nz Oz az 0 0 0 1 0 ax ay az 0 0 0 0 1 0 0 0 1 0 0 0 1 Nh©n 3 ma trËn nÇy víi nhau ta ®−îc : nxnxcosθ - nxOxsinθ + nxOxsinθ + OxOxcosθ + axax Rot(k,θ) = nxnycosθ - nyOxsinθ + nxOysinθ + OxOycosθ + ayax nxnzcosθ - nzOxsinθ + nxOzsinθ + OxOzcosθ + azax 0 nxnycosθ - nxOysinθ + nyOxsinθ + OxOycosθ + axay nynycosθ - nyOysinθ + nyOysinθ + OyOycosθ + ayay nznycosθ - nzOysinθ + nyOzsinθ + OzOycosθ + azay 0 nxnzcosθ - nxOzsinθ + nzOxsinθ + OxOzcosθ + axaz 0 nynzcosθ - nyOzsinθ + nzOysinθ + OyOzcosθ + ayaz 0 nznzcosθ - nzOzsinθ + nzOzsinθ + OzOzcosθ + azaz 0 0 1 (2.7) §Ó ®¬n gi¶n c¸ch biÓu thÞ ma trËn, ta xÐt c¸c mèi quan hÖ sau : - TÝch v« h−íng cña bÊt kú hµng hay cét nµo cña C víi bÊt kú hµng hay cét nµo kh¸c ®Òu b»ng 0 v× c¸c vect¬ lµ trùc giao. - TÝch v« h−íng cña bÊt kú hµng hay cét nµo cña C víi chÝnh nã ®Òu b»ng 1 v× lµ vect¬ ®¬n vÞ. r r r - Vect¬ ®¬n vÞ z b»ng tÝch vect¬ cña x vµ y, hay lµ : a = n x O Trong ®ã : ax = nyOz - nzOy ay = nxOz - nzOx ax = nxOy - nyOx Khi cho k trïng víi mét trong sè c¸c vect¬ ®¬n vÞ cña C ta ®· chän : kz = ax ; ky = ay ; kz = az Ta ký hiÖu Versθ = 1 - cosθ (Versin θ). BiÓu thøc (2.6) ®−îc rót gän thµnh : kxkxversθ+cosθ kykxversθ-kzsinθ kzkxversθ+kysinθ 0 Rot(k,θ) = kxkyversθ+kzsinθ kykyversθ+cosθ kzkyversθ-kxsinθ 0 (2.8) kxkzversθ+kysinθ kykzversθ+kzsinθ kzkzversθ+cosθ 0 0 0 0 1 §©y lµ biÓu thøc cña phÐp quay tæng qu¸t quanh mét vect¬ bÊt kú k. Tõ phÐp quay tæng qu¸t cã thÓ suy ra c¸c phÐp quay c¬ b¶n quanh c¸c trôc to¹ ®é. TS. Ph¹m §¨ng Ph−íc Robot c«ng nghiÖp 17 2.3.4. Bµi to¸n ng−îc : t×m gãc quay vµ trôc quay t−¬ng ®−¬ng : Trªn ®©y ta ®· nghiªn cøu c¸c bµi to¸n thuËn, nghÜa lµ chØ ®Þnh trôc quay vµ gãc quay tr−íc- xem xÐt kÕt qu¶ biÕn ®æi theo c¸c phÐp quay ®· chØ ®Þnh. Ng−îc l¹i víi bµi to¸n trªn, gi¶ sö ta ®· biÕt kÕt qu¶ cña mét phÐp biÕn ®æi nµo ®ã, ta ph¶i ®i t×m trôc quay k vµ gãc quay θ t−¬ng øng. Gi¶ sö kÕt qu¶ cña phÐp biÕn ®æi thuÇn nhÊt R=Rot(k, θ), x¸c ®Þnh bëi : nx Ox ax 0 R = ny Oy ay 0 nz Oz az 0 0 0 0 1 Ta cÇn x¸c ®Þnh trôc quay k vµ gãc quay θ. Ta ®· biÕt Rot(k, θ) ®−îc ®Þnh nghÜa bëi ma trËn (2.6) , nªn : nx Ox ax 0 kxkxversθ+cosθ kykxversθ-kzsinθ kzkxversθ+kysinθ 0 ny Oy ay 0 = kxkyversθ+kzsinθ kykyversθ+cosθ kzkyversθ-kxsinθ 0 nz Oz az 0 kxkzversθ+kysinθ kykzversθ+kzsinθ kzkzversθ+cosθ 0 0 0 0 1 0 0 0 1 (2.9) B−íc 1 : X¸c ®Þnh gãc quay θ. * Céng ®−êng chÐo cña hai ma trËn ë hai vÕ ta cã : nx + Oy + az + 1 = k x2 versθ + cosθ + k y versθ + cosθ + k z2 versθ + cosθ + 1 2 = (1 - cossθ)( k x2 + k y + k z2 ) + 3cosθ + 1 2 = 1 - cosθ + 3cosθ +1 = 2(1+ cosθ) ⇒ cosθ = (nx + Oy + az - 1)/2 * TÝnh hiÖu c¸c phÇn tö t−¬ng ®−¬ng cña hai ma trËn, ch¼ng h¹n : Oz- ay = 2kxsinθ ax - nz = 2kysinθ (2.10) ny - Ox = 2kzsinθ B×nh ph−¬ng hai vÕ cña c¸c ph−¬ng tr×nh trªn råi cäng l¹i ta cã : (Oz- ay)2 + (ax - nz)2 + (ny - Ox)2 = 4 sin2θ 1 ⇒ sinθ = ± (O z - a y ) 2 + (a x - n z ) 2 + (n y - O x ) 2 2 Víi 0 ≤ θ ≤ 1800 : (O z - a y ) 2 + (a x - n z ) 2 + (n y - O x ) 2 tgθ = (n x + O y + a z - 1) Vµ trôc k ®−îc ®Þnh nghÜa bëi : Oz − a y ax − nz ny − Oz kx = ; ky = ; kx = (2.11) 2sinθ 2sinθ 2sinθ §Ó ý r»ng víi c¸c c«ng thøc (2.8) : 0 - NÕu θ = 00 th× kx, ky, kz cã d¹ng . Lóc nÇy ph¶i chuÈn ho¸ k sao cho ⎥ k⎥ = 1 0 TS. Ph¹m §¨ng Ph−íc Robot c«ng nghiÖp 18 a≠0 - NÕu θ = 1800 th× kx, ky, kz cã d¹ng . Lóc nÇy k kh«ng x¸c ®Þnh ®−îc, ta ph¶i 0 dïng c¸ch tÝnh kh¸c cho tr−êng hîp nÇy : XÐt c¸c phÇn tö t−¬ng ®−¬ng cña hai ma trËn (2.9) : nx = k x2 versθ+cosθ Oy = k y versθ+cosθ 2 az = k z2 versθ+cosθ Tõ ®©y ta suy ra : n x − cosθ n x − cosθ kx = ± = ± versθ 1- cosθ O y − cosθ O y − cosθ ky = ± = ± versθ 1- cosθ a z − cosθ a z − cosθ kz = ± = ± versθ 1- cosθ Trong kho¶ng 90 ≤ θ ≤ 180 sinθ lu«n lu«n d−¬ng 0 0 Dùa vµo hÖ ph−¬ng tr×nh (2.10) ta thÊy kx, ky, kz lu«n cã cïng dÊu víi vÕ tr¸i. Ta dïng hµm Sgn(x) ®Ó biÓu diÔn quan hÖ “cïng dÊu víi x”, nh− vËy : n x − cosθ k x = Sgn(O z − a y ) 1- cosθ O y − cosθ k y = Sgn(a x - n z ) (2.12) 1- cosθ a − cosθ k z = Sgn(n y − O x ) z 1- cosθ HÖ ph−¬ng tr×nh (2.12) chØ dïng ®Ó x¸c ®Þnh xem trong c¸c kx, ky, kz thµnh phÇn nµo cã gi¸ trÞ lín nhÊt. C¸c thµnh phÇn cßn l¹i nªn tÝnh theo thµnh phÇn cã gi¸ trÞ lín nhÊt ®Ó x¸c ®Þnh k ®−îc thuËn tiÖn. Lóc ®ã dïng ph−¬ng ph¸p céng c¸c cÆp cßn l¹i cña c¸c phÇn tö ®èi xøng qua ®−êng chÐo ma trËn chuyÓn ®æi (2.9) : ny + Ox = 2kxkyversθ = 2kxky(1 - cosθ) Oz + ay = 2kykzversθ = 2kykz(1 - cosθ) (2.13) ax + nz = 2kzkxversθ = 2kzkx(1 - cosθ) Gi¶ sö theo hÖ (2.12) ta cã kx lµ lín nhÊt, lóc ®ã ky, kz sÏ tÝnh theo kx b»ng hÖ (2.13); cô ny + Ox thÓ lµ : ky = 2 k x (1 − cosθ ) ax + nz kz = 2 k x (1 − cosθ ) VÝ dô : Cho R = Rot[y,90 ]Rot[z,900]. H·y x¸c ®Þnh k vµ θ ®Ó R = Rot[k,θ]. Ta ®· biÕt : 0 0 0 1 0 0 0 R = Rot(y,90 ).Rot(z,90 ) = 1 0 0 0 0 1 0 0 0 0 0 1 Ta cã cosθ = (nx + Oy + az - 1) / 2 = (0 + 0 + 0 - 1) / 2 = -1 / 2 TS. Ph¹m §¨ng Ph−íc Robot c«ng nghiÖp 19 1 sinθ = (O z - a y ) 2 + (a x - n z ) 2 + (n y - O x ) 2 2 1 3 = (1 - 0) 2 + (1 - 0) 2 + (1 - 0) 2 = 2 2 ⇒ tgθ = − 3 vµ θ = 120 0 Theo (2.12), ta cã : 0 +1/ 2 1 k x = ky = kz = + = 1+1/ 2 3 VËy : R = Rot(y,900).Rot(z,900) = Rot(k, 1200); víi : r 1 r 1 r 1 r k= i+ j+ k 3 3 3 z 1/ 3 k 1200 1/ 3 O y x 1/ 3 H×nh 2.8 : T×m gãc quay vµ trôc quay t−¬ng ®−¬ng 2.3.5. PhÐp quay Euler : Trªn thùc tÕ, viÖc ®Þnh h−íng th−êng lµ kÕt qu¶ cña phÐp quay xung quanh c¸c trôc x, y, z . PhÐp quay Euler m« t¶ kh¶ n¨ng ®Þnh h−íng b»ng c¸ch : Quay mét gãc Φ xung quanh trôc z, Quay tiÕp mét gãc θ xung quanh trôc y míi, ®ã lµ y’, cuèi cïng quay mét gãc ψ quanh trôc z míi, ®ã lµ z’’ (H×nh 2.9). z z’ z’’z’’’ θ Φ y’’’ Ψ Ψ θ y’y’’ Φ y x Φ θ Ψ x’ x’’ x’’’ H×nh 2.9 : PhÐp quay Euler Ta biÓu diÔn phÐp quay Euler b»ng c¸ch nh©n ba ma trËn quay víi nhau : Euler (Φ,θ,ψ) = Rot(z, Φ) Rot(y, θ) Rot(z, ψ) (2.14) TS. Ph¹m §¨ng Ph−íc Robot c«ng nghiÖp 20 Nãi chung, kÕt qu¶ cña phÐp quay phô thuéc chÆt chÎ vµo thø tù quay, tuy nhiªn , ë phÐp quay Euler, nÕu thùc hiÖn theo thø tù ng−îc l¹i, nghÜa lµ quay gãc ψ quanh z råi tiÕp ®Õn quay gãc θ quanh y vµ cuèi cïng quay gãc Φ quanh z còng ®−a ®Õn kÕt qu¶ t−¬ng tù (XÐt trong cïng hÖ qui chiÕu). Cosθ 0 sinθ 0 cosψ -sinψ 0 0 Euler (Φ,θ,ψ) = Rot(z, Φ) 0 1 0 0 sinψ cosψ 0 0 -sinθ 0 Cosθ 0 0 0 1 0 0 0 0 1 0 0 0 1 cosΦ -sinΦ 0 0 Cosθcosψ -Cosθ sinψ sinθ 0 = sinΦ cosΦ 0 0 sinψ cosψ 0 0 0 0 1 0 -sinθ cosψ sinθ sinψ Cosθ 0 0 0 0 1 0 0 0 1 cosΦCosθcosψ - sinΦsinψ -cosΦCosθsinψ - sinΦcosψ cosΦsinθ 0 = sinΦCosθcosψ + cosΦsinψ -sinΦCosθsinψ + cosΦcosψ sinΦsinθ 0 -sinθ cosψ sinθ sinψ cosθ 0 0 0 0 1 (2.15) 2.3.6. PhÐp quay Roll-Pitch-Yaw : Mét phÐp quay ®Þnh h−íng kh¸c còng th−êng ®−îc sö dông lµ phÐp quay Roll-Pitch vµ Yaw. Ta t−ëng t−îng, g¾n hÖ to¹ ®é xyz lªn th©n mét con tµu. Däc theo th©n tµu lµ trôc z, x Yaw Roll lµ chuyÓn ®éng l¾c cña th©n tµu, t−¬ng Ψ ®−¬ng víi viÖc quay th©n tµu mét gãc Φ quanh Roll trôc z. Pitch lµ sù bång bÒnh, t−¬ng ®−¬ng víi Φ z quay mét gãc θ xung quanh trôc y vµ Yaw lµ sù lÖch h−íng, t−¬ng ®−¬ng víi phÐp quay mét gãc ψ xung quanh trôc x (H×nh 2.10) Pitch θ y C¸c phÐp quay ¸p dông cho kh©u chÊp Th©n tµu hµnh cuèi cña robot nh− h×nh 2.11. Ta x¸c ®Þnh thø tù quay vµ biÓu diÔn phÐp quay nh− H×nh 2.10: PhÐp quay Roll-Pitch-Yaw sau : RPY(Φ,θ,ψ)=Rot(z,Φ)Rot(y,θ)Rot(x, ψ) (2.16) z Roll, Φ Pitch, θ y x Yaw, ψ H×nh 2.11 : C¸c gãc quay Roll-Pitch vµ Yaw cña bµn tay Robot. nghÜa lµ, quay mét gãc ψ quanh trôc x, tiÕp theo lµ quay mét gãc θ quanh trôc y vµ sau ®ã quay mét gãc Φ quanh truc z. TS. Ph¹m §¨ng Ph−íc Robot c«ng nghiÖp 21 Thùc hiÖn phÐp nh©n c¸c ma trËn quay, c¸c chuyÓn vÞ Roll, Pitch vµ Yaw ®−îc biÓu thÞ nh− sau : cosθ 0 sinθ 0 1 0 0 0 0 1 0 0 0 cosψ -sinψ 0 RPY(Φ,θ,ψ)=Rot(z,Φ) -sinθ 0 cosθ 0 0 sinψ cosψ 0 0 0 0 1 0 0 0 1 cosΦ -sinΦ 0 0 cosθ sinθsinψ sinθcosψ 0 = sinΦ cosΦ 0 0 0 cosψ -sinψ 0 0 0 1 0 -sinθ cosθsinψ cosθ cosψ 0 0 0 0 1 0 0 0 1 cosΦcosθ cosΦsinθsinψ - sinΦcosψ cosΦsinθcosψ + sinΦsinψ 0 = sinΦcosθ sinΦsinθsinψ +cosΦcosψ sinΦsinθcosψ - cosΦsinψ 0 -sinθ cosθ sinψ cosθ cosψ 0 0 0 0 1 (2.17) 2.4. BiÕn ®æi hÖ to¹ ®é vµ mèi quan hÖ gi÷a c¸c hÖ to¹ ®é biÕn ®æi : 2.4.1 BiÕn ®æi hÖ to¹ ®é : Gi¶ sö cÇn tÞnh tiÕn gèc to¹ ®é §Ò c¸t O(0, 0, 0) theo mét vect¬ dÉn r r r r h = 4i - 3j + 7k (h×nh 2.12) . KÕt qu¶ cña phÐp biÕn ®æi lµ : 1 0 0 4 0 4 OT = 0 1 0 -3 0 = -3 0 0 1 7 0 7 0 0 0 1 1 1 NghÜa lµ gèc ban ®Çu cã to¹ ®é O(0, 0, 0) ®· chuyÓn ®æi ®Õn gèc míi OT cã to¹ ®é (4, -3, 7) so víi hÖ to¹ ®é cò. zT z 7 OT yT xT -3 O y 4 x H×nh 2.12 : PhÐp biÕn ®æi tÞnh tiÕn hÖ to¹ ®é Tuy nhiªn trong phÐp biÕn ®æi nÇy c¸c trôc to¹ ®é cña OT vÉn song song vµ ®ång h−íng víi c¸c trôc to¹ ®é cña O. TS. Ph¹m §¨ng Ph−íc Robot c«ng nghiÖp 22 NÕu ta tiÕp tôc thùc hiÖn c¸c phÐp biÕn ®æi quay : Rot(y,90o)Rot(z,90o).OT ta sÏ cã mét hÖ to¹ ®é hoµn toµn míi, cô thÓ t¹i gèc to¹ ®é míi (4,-3,7) khi cho hÖ OT quay quanh z mét gãc 900 (chiÒu quay d−¬ng qui −íc lµ ng−îc chiÒu kim ®ång hå), ta cã : zT z'T y'T 90o OT Rot(z,900) OT yT x'T xT Ta tiÕp tôc quay hÖ OT quanh truc y (trôc y cña hÖ to¹ ®é gèc ) mét gãc 900, Ta cã : z'T y''T y'T 90o OT y Rot(y,900) OT z"T x''T x'T VÝ dô trªn ®©y ta ®· chän HÖ t¹o ®é c¬ së lµm hÖ qui chiÕu vµ thø tù thùc hiÖn c¸c phÐp biÕn ®æi lµ tõ Ph¶i sang Tr¸i. NÕu thùc hiÖn c¸c phÐp biÕn ®æi theo thø tù ng−îc l¹i tõ Tr¸i sang Ph¶i th× hÖ qui chiÕu ®−îc chän lµ c¸c hÖ to¹ ®é trung gian. XÐt l¹i vÝ dô trªn : Rot(y,90o)Rot(z,90o).OT zT 90o y'T OT Rot(y,90o) O'T yT z'T xT x'T Ta tiÕp tôc quay hÖ O'T quanh truc z (B©y giê lµ trôc z'T cña hÖ to¹ ®é míi) mét gãc 900 : y''T y'T 90o O'T Rot(z',90o) O''T z'T z"T x''T x'T Nh− vËy kÕt qu¶ cña hai ph−¬ng ph¸p quay lµ gièng nhau, nh−ng vÒ ý nghÜa vËt lý th× kh¸c nhau. 2.4.2. Quan hÖ gi÷a c¸c hÖ to¹ ®é biÕn ®æi : / Gi¶ sö ta cã 3 hÖ to¹ ®é A, B, C; HÖ B cã quan hÖ víi hÖ A qua phÐp biÕn ®æi A TB vµ / hÖ C cã quan hÖ víi hÖ B qua phÐp biÕn ®æi B Tc . Ta cã ®iÓm P trong hÖ C ký hiÖu PC, ta t×m mèi quan hÖ cña ®iÓm P trong hÖ A, tøc lµ t×m PA (H×nh 2.13) : TS. Ph¹m §¨ng Ph−íc Robot c«ng nghiÖp 23 zC zB pC zA xC pA C B xB yC A xA yB yA H×nh 2.13 : Quan hÖ gi÷a c¸c hÖ to¹ ®é biÕn ®æi. Chóng ta cã thÓ biÕn ®æi pC thµnh pB nh− sau : / pB = B Tc pC, (2.18) Sau ®ã biÕn ®æi pB thµnh pA nh− sau : / pA = A TB pB, (2.19) KÕt hîp (2.18) vµ (2.19) ta cã : p A = A TB BTC p c (2.20) Qua vÝ dô trªn ta thÊy cã thÓ m« t¶ mèi quan hÖ gi÷a hÖ to¹ ®é g¾n trªn ®iÓm t¸c ®éng cuèi víi hÖ täa ®é c¬ b¶n, th«ng qua mèi quan hÖ cña c¸c hÖ to¹ ®é trung gian g¾n trªn c¸c kh©u cña robot, b»ng ma trËn T nh− h×nh 2.14. z O2 O3 O1 Bµn tay O4 T4 O0 y x H×nh 2.14 : HÖ to¹ ®é c¬ b¶n (base) vµ c¸c hÖ to¹ ®é trung gian cña Robot. 2.5. M« t¶ mét vËt thÓ : C¸c vËt thÓ lµ ®èi t−îng lµm viÖc cña robot rÊt ®a d¹ng vµ phong phó, tuy nhiªn cã thÓ dùa vµo nh÷ng ®Æc ®iÓm h×nh häc ®Ó m« t¶ chóng. Ta cã thÓ chia h×nh d¸ng vËt thÓ thµnh 3 nhãm chÝnh sau : Nhãm vËt thÓ trßn xoay (Rotative) Nhãm vËt thÓ cã gãc c¹nh (Prismatic) Nhãm vËt thÓ cã cÊu tróc hæn hîp (Kombination) Nhãm vËt thÓ trßn xoay cã c¸c gi¸ trÞ ®Æc tr−ng lµ to¹ ®é t©m vµ b¸n kÝnh mÆt cong. Nhãm vËt thÓ cã gãc c¹nh ®Æc tr−ng b»ng to¹ ®é cña c¸c ®iÓm giíi h¹n. Nhãm cßn l¹i cã c¸c gi¸ trÞ ®Æc tr−ng hæn hîp. Tuy nhiªn, ®èi víi ho¹t ®éng cÇm n¾m ®èi t−îng vµ qu¸ tr×nh vËn ®éng cña robot viÖc m« t¶ vËt thÓ cÇn ph¶i g¾n liÒn víi c¸c phÐp biÕn ®æi thuÇn nhÊt. Ta xÐt vÝ dô sau ®©y : Cho mét vËt h×nh l¨ng trô ®Æt trong hÖ to¹ ®é chuÈn O(xyz) nh− h×nh 2.15. TS. Ph¹m §¨ng Ph−íc Robot c«ng nghiÖp 24 Ta thùc hiÖn c¸c phÐp biÕn ®æi sau : z H = Trans(4,0,0)Rot(y,900)Rot(z,900) -1,0,2,1 Víi vÞ trÝ cña vËt thÓ, ta cã ma trËn to¹ ®é cña 6 ®iÓm ®Æc tr−ng m« t¶ nã lµ : 1,0,2,1 -1,0,0,1 -1,4,0,1 y 1 -1 -1 1 1 -1 1,0,0,1 1,4,0,1 0 0 0 0 4 4 0 0 2 2 0 0 x 1 1 1 1 1 1 H×nh 2.15 : M« t¶ vËt thÓ Sau khi thùc hiÖn c¸c phÐp biÕn ®æi : - Quay vËt thÓ quanh trôc z mét gãc 900 (H×nh 2.16), - Cho vËt thÓ quay quanh trôc y mét gãc 900 (H×nh 2.17), - TiÕp tôc tÞnh tiÕn vËt thÓ däc theo trôc x mét ®o¹n b»ng 4 ®¬n vÞ (h×nh 2.18) ta x¸c ®Þnh ®−îc ma trËn to¹ ®é c¸c ®iÓm giíi h¹n cña vËt thÓ ë vÞ trÝ ®· ®−îc biÕn ®æi nh− sau (c¸c phÐp quay ®· chän hÖ qui chiÕu lµ hÖ to¹ ®é gèc) : 0 0 1 4 1 -1 -1 1 1 -1 H= 1 0 0 0 0 0 0 0 4 4 0 1 0 0 0 0 2 2 0 0 0 0 0 1 1 1 1 1 1 1 4 4 6 6 4 4 = 1 -1 -1 1 1 1 0 0 0 0 4 4 1 1 1 1 1 1 z z y O y O x x H×nh 2.16 : Rot (z,900) H×nh 2.17: Rot (y,900) Rot (z,900) TS. Ph¹m §¨ng Ph−íc Robot c«ng nghiÖp 25 z y O H = Trans(4,0,0)Rot (y,900)Rot (z,900) x H×nh 2.18: VÞ trÝ vËt thÓ sau khi biÕn ®æi 2.6. KÕt luËn : C¸c phÐp biÕn ®æi thuÇn nhÊt dïng ®Ó miªu t¶ vÞ trÝ vµ h−íng cña c¸c hÖ to¹ ®é trong kh«ng gian. NÕu mét hÖ to¹ ®é ®−îc g¾n liÒn víi ®èi t−îng th× vÞ trÝ vµ h−íng cña chÝnh ®èi t−îng còng ®−îc m« t¶. Khi m« t¶ ®èi t−îng A trong mèi quan hÖ víi ®èi t−îng B b»ng c¸c phÐp biÕn ®æi thuÇn nhÊt th× ta còng cã thÓ dùa vµo ®ã m« t¶ ng−îc l¹i mèi quan hÖ cña B ®èi víi ®èi t−îng A. Mét chuyÓn vÞ cã thÓ lµ kÕt qu¶ liªn tiÕp cña nhiÒu phÐp biÕn ®æi quay vµ tÞnh tiÕn. Tuy nhiªn ta cÇn l−u ý ®Õn thø tù cña c¸c phÐp biÕn ®æi, nÕu thay ®æi thø tù thùc hiÖn cã thÓ dÉn ®Õn c¸c kÕt qu¶ kh¸c nhau. Bµi tËp ch−¬ng II : Bµi 1 : Cho ®iÓm A biÓu diÔn bëi vect¬ ®iÓm v=[ 2 4 1 1 ]T. TÞnh tiÕn ®iÓm A theo vect¬ dÉn h = [ 1 2 1 1 ]T, sau ®ã tiÕp tôc quay ®iÓm ®· biÕn ®æi quanh trôc x mét gãc 900. X¸c ®Þnh vect¬ biÓu diÔn ®iÓm A sau hai phÐp biÕn ®æi. Bµi 2 : ViÕt ma trËn biÕn ®æi thuÇn nhÊt biÓu diÔn c¸c phÐp biÕn ®æi sau : H = Trans(3,7,9)Rot(x,-900)Rot(z,900) Bµi 3 : Cho ma trËn biÕn ®æi thuÇn nhÊt A, t×m ma trËn nghÞch ®¶o A-1 vµ kiÓm chøng. 0 1 0 -1 A = 0 0 -1 2 -1 0 0 0 0 0 0 1 TS. Ph¹m §¨ng Ph−íc Robot c«ng nghiÖp 26 Bµi 4 : H×nh vÏ 2-19 m« t¶ hÖ to¹ ®é {B} ®· ®−îc {B} quay ®i mét gãc 300 xung quanh trôc zA, tÞnh tiÕn {A} yB däc theo trôc xA 4 ®¬n vÞ vµ tÞnh tiÕn däc theo yA xB yA 3 ®¬n vÞ. (a) M« t¶ mèi qua hÖ cña {B} ®èi víi {A} : ATB ? (b) T×m mèi quan hÖ ng−îc l¹i BTA ? xA H×nh 2.19 : Quan hÖ {A} vµ {B} 1 Bµi 5 : Cho k = (1, 1, 1)T, θ = 900. T×m ma trËn R = Rot(k, θ). 3 Bµi 6 : X¸c ®Þnh c¸c gãc quay Euler, vµ c¸c gãc quay RPY khi biÕt ma trËn T6 : 1 0 0 0 T6 = 0 0 1 5 0 -1 0 3 0 0 0 1 Bµi 7 : Mét vËt thÓ ®Æt trong mét hÖ to¹ ®é tham chiÕu ®−îc x¸c ®Þnh bëi phÐp biÕn ®æi : 0 1 0 -1 U TP = 0 0 -1 2 -1 0 0 0 0 0 0 1 Mét robot mµ hÖ to¹ ®é chuÈn cã liªn hÖ víi hÖ to¹ ®é tham chiÕu bëi phÐp biÕn ®æi 1 0 0 1 U TR = 0 1 0 5 0 0 1 9 0 0 0 1 Chóng ta muèn ®Æt bµn tay cña robot lªn vËt thÓ, ®ã lµ lµm cho hÖ täa ®é g¾n trªn bµn tay trïng víi hÖ to¹ ®é cña vËt thÓ. T×m phÐp biÕn ®æi RTH (biÓu diÔn mèi quan hÖ gi÷a bµn tay vµ hÖ to¹ ®é gèc cña robot) ®Ó thùc hiÖn ®iÒu nãi trªn. TS. Ph¹m §¨ng Ph−íc
DMCA.com Protection Status Copyright by webtailieu.net