Robot cong nghiep
-
Upload
independent -
Category
Documents
-
view
1 -
download
0
Transcript of Robot cong nghiep
Robot C«ng nghiĂp 1
ChâÂŹng I
GiĂi thiĂu chung vĂ robot c«ng nghiĂp 1.1. SÂŹ lâĂźt quž trĂnh phžt triĂn cña robot c«ng nghiĂp (IR : Industrial Robot) :
ThuĂt ngĂ· âRobotâ xuĂt phžt tĂ” tiĂng Sec (Czech) âRobotaâ cĂŁ nghĂa l” c«ng viĂc tÂčp dĂch trong vĂ« kĂch Rossumâs Universal Robots cña Karel Capek, v”o nšm 1921. Trong vĂ« kĂch nĂy, Rossum v” con trai cña «ng ta Ÿ· chĂ tÂčo ra nhĂ·ng chiĂc mžy gĂn giĂšng vĂi con ngâĂȘi Ÿà phĂŽc vĂŽ con ngâĂȘi. CĂŁ là Ÿã l” mĂ©t gĂźi Ăœ ban ÂźĂu cho cžc nh” sžng chĂ kĂŒ thuĂt vĂ nhĂ·ng cÂŹ cĂu, mžy mĂŁc bŸt châĂc cžc hoÂčt Ÿéng cÂŹ bŸp cña con ngâĂȘi. §Ău thĂp kĂ» 60, c«ng ty MĂŒ AMF (American Machine and Foundry Company) qu¶ng cžo mĂ©t loÂči mžy tĂč Ÿéng vÂčn nšng v” gĂ€i l” âNgâĂȘi mžy c«ng nghiĂpâ (Industrial Robot). Ng”y nay ngâĂȘi ta ÂźĂt tÂȘn ngâĂȘi mžy c«ng nghiĂp (hay robot c«ng nghiĂp) cho nhĂ·ng loÂči thiĂt bĂ cĂŁ džng dĂp v” mĂ©t v”i chĂžc nšng nhâ tay ngâĂȘi ÂźâĂźc ÂźiĂu khiĂn tĂč Ÿéng Ÿà thĂčc hiĂn mĂ©t sĂš thao tžc s¶n xuĂt.
VĂ mĂt kĂŒ thuĂt, nhĂ·ng robot c«ng nghiĂp ng”y nay, cĂŁ nguĂ„n gĂšc tĂ” hai lĂnh vĂčc kĂŒ thuĂt ra ÂźĂȘi sĂm hÂŹn Ÿã l” cžc cÂŹ cĂu ÂźiĂu khiĂn tĂ” xa (Teleoperators) v” cžc mžy c«ng cĂŽ ÂźiĂu khiĂn sĂš (NC - Numerically Controlled machine tool).
Cžc cÂŹ cĂu ÂźiĂu khiĂn tĂ” xa (hay cžc thiĂt bĂ kiĂu chñ-tĂ) Ÿ· phžt triĂn mÂčnh trong chiĂn tranh thĂ giĂi lĂn thĂž hai nh»m nghiÂȘn cĂžu cžc vĂt liĂu phĂŁng xÂč. NgâĂȘi thao tžc ÂźâĂźc tžch biĂt khĂĄi khu vĂčc phĂŁng xÂč bĂ«i mĂ©t bĂžc tâĂȘng cĂŁ mĂ©t hoĂc v”i cöa quan sžt Ÿà cĂŁ thĂ nhĂn thĂy ÂźâĂźc c«ng viĂc bÂȘn trong. Cžc cÂŹ cĂu ÂźiĂu khiĂn tĂ” xa thay thĂ cho cžnh tay cña ngâĂȘi thao tžc; nĂŁ gĂ„m cĂŁ mĂ©t bĂ© kĂp Ă« bÂȘn trong (tĂ) v” hai tay cĂm Ă« bÂȘn ngo”i (chñ). C¶ hai, tay cĂm v” bĂ© kĂp, ÂźâĂźc nĂši vĂi nhau b»ng mĂ©t cÂŹ cĂu sžu bĂc tĂč do Ÿà tÂčo ra cžc vĂ trĂ v” hâĂng tuĂș Ăœ cña tay cĂm v” bĂ© kĂp. CÂŹ cĂu dĂŻng Ÿà ŸiĂu khiĂn bĂ© kĂp theo chuyĂn Ÿéng cña tay cĂm.
V”o kho¶ng nšm 1949, cžc mžy c«ng cĂŽ ÂźiĂu khiĂn sĂš ra ÂźĂȘi, nh»m Ÿžp Ăžng yÂȘu cĂu gia c«ng cžc chi tiĂt trong ng”nh chĂ tÂčo mžy bay. NhĂ·ng robot ÂźĂu tiÂȘn thĂčc chĂt l” sĂč nĂši kĂt giĂ·a cžc kh©u cÂŹ khĂ cña cÂŹ cĂu ÂźiĂu khiĂn tĂ” xa vĂi kh¶ nšng lĂp trĂnh cña mžy c«ng cĂŽ ÂźiĂu khiĂn sĂš. DâĂi Ÿ©y chĂłng ta sĂ ÂźiĂm qua mĂ©t sĂš thĂȘi ÂźiĂm lĂch sö phžt triĂn cña ngâĂȘi mžy c«ng nghiĂp. MĂ©t trong nhĂ·ng robot c«ng nghiĂp ÂźĂu tiÂȘn ÂźâĂźc chĂ tÂčo l” robot Versatran cña c«ng ty AMF, MĂŒ. CĂČng v”o kho¶ng thĂȘi gian nĂy Ă« MĂŒ xuĂt hiĂn loÂči robot Unimate -1900 ÂźâĂźc dĂŻng ÂźĂu tiÂȘn trong kĂŒ nghà «t«. TiĂp theo MĂŒ, cžc nâĂc khžc bŸt ÂźĂu s¶n xuĂt robot c«ng nghiĂp : Anh -1967, ThuĂŸ §iĂn v” NhĂt -1968 theo b¶n quyĂn cña MĂŒ; CHLB §Þc -1971; Phžp - 1972; Ă« Ăœ - 1973. . . TĂnh nšng l”m viĂc cña robot ng”y c”ng ÂźâĂźc n©ng cao, nhĂt l” kh¶ nšng nhĂn biĂt v” xö lĂœ. Nšm 1967 Ă« trâĂȘng §Âči hĂ€c tĂŠng hĂźp Stanford (MĂŒ) Ÿ· chĂ tÂčo ra mĂu robot hoÂčt Ÿéng theo m« hĂnh âmŸt-tayâ, cĂŁ kh¶ nšng nhĂn biĂt v” ÂźĂnh hâĂng b”n kĂp theo vĂ trĂ vĂt kĂp nhĂȘ cžc c¶m biĂn. Nšm 1974 C«ng ty MĂŒ Cincinnati Âźâa ra loÂči robot ÂźâĂźc ÂźiĂu khiĂn b»ng mžy vi tĂnh, gĂ€i l” robot T3 (The Tomorrow Tool : C«ng cĂŽ cña tâÂŹng lai). Robot nĂy cĂŁ thĂ n©ng ÂźâĂźc vĂt cĂŁ khĂši lâĂźng ÂźĂn 40 KG.
CĂŁ thĂ nĂŁi, Robot l” sĂč tĂŠ hĂźp kh¶ nšng hoÂčt Ÿéng linh hoÂčt cña cžc cÂŹ cĂu ÂźiĂu khiĂn tĂ” xa vĂi mĂžc Ÿé âtri thĂžcâ ng”y c”ng phong phĂł cña hĂ thĂšng ÂźiĂu khiĂn theo châÂŹng trĂnh sĂš cĂČng nhâ kĂŒ thuĂt chĂ tÂčo cžc bĂ© c¶m biĂn, c«ng nghĂ lĂp trĂnh v” cžc phžt triĂn cña trĂ kh«n nh©n tÂčo, hĂ chuyÂȘn gia ... Trong nhĂ·ng nšm sau nĂy, viĂc n©ng cao tĂnh nšng hoÂčt Ÿéng cña robot kh«ng ngĂ”ng phžt triĂn. Cžc robot ÂźâĂźc trang bĂ thÂȘm cžc loÂči c¶m biĂn khžc nhau Ÿà nhĂn biĂt m«i trâĂȘng
TS. PhÂčm §šng PhâĂc
Robot C«ng nghiĂp 2
chung quanh, cĂŻng vĂi nhĂ·ng th”nh tĂču to lĂn trong lĂnh vĂčc Tin hĂ€c - §iĂn tö Ÿ· tÂčo ra cžc thĂ hĂ robot vĂi nhiĂu tĂnh nšng Ÿšc biĂt, SĂš lâĂźng robot ng”y c”ng gia tšng, giž th”nh ng”y c”ng gi¶m. NhĂȘ vĂy, robot c«ng nghiĂp Ÿ· cĂŁ vĂ trĂ quan trĂ€ng trong cžc d©y chuyĂn s¶n xuĂt hiĂn ÂźÂči. MĂ©t v”i sĂš liĂu vĂ sĂš lâĂźng robot ÂźâĂźc s¶n xuĂt Ă« mĂ©t v”i nâĂc c«ng nghiĂp phžt triĂn nhâ sau : (B¶ng I.1)
NâĂc SX Nšm 1990 Nšm 1994 Nšm 1998 (DĂč tĂnh)
NhĂt 60.118 29.756 67.000 MĂŒ 4.327 7.634 11.100 §Þc 5.845 5.125 8.600 Ăœ 2.500 2.408 4.000
Phžp 1.488 1.197 2.000 Anh 510 1.086 1.500
H”n quĂšc 1.000 1.200 MĂŒ l” nâĂc ÂźĂu tiÂȘn phžt minh ra robot, nhâng nâĂc phžt triĂn cao nhĂt trong lĂnh vĂčc nghiÂȘn cĂžu chĂ tÂčo v” sö dĂŽng robot lÂči l” NhĂt. 1.2. Ăžng dĂŽng robot c«ng nghiĂp trong s¶n xuĂt : TĂ” khi mĂi ra ÂźĂȘi robot c«ng nghiĂp ÂźâĂźc žp dĂŽng trong nhiĂu lĂnh vĂčc dâĂi gĂŁc Ÿé thay thĂ sĂžc ngâĂȘi. NhĂȘ vĂy cžc d©y chuyĂn s¶n xuĂt ÂźâĂźc tĂŠ chĂžc lÂči, nšng suĂt v” hiĂu qu¶ s¶n xuĂt tšng lÂȘn rĂą rĂt.
MĂŽc tiÂȘu Ăžng dĂŽng robot c«ng nghiĂp nh»m gĂŁp phĂn n©ng cao nšng suĂt d©y chuyĂn
c«ng nghĂ, gi¶m giž th”nh, n©ng cao chĂt lâĂźng v” kh¶ nšng cÂčnh tranh cña s¶n phĂm ŸÄng thĂȘi c¶i thiĂn ÂźiĂu kiĂn lao Ÿéng. §Âčt ÂźâĂźc cžc mĂŽc tiÂȘu trÂȘn l” nhĂȘ v”o nhĂ·ng kh¶ nšng to lĂn cña robot nhâ : l”m viĂc kh«ng biĂt mĂt mĂĄi, rĂt dĂ d”ng chuyĂn nghĂ mĂ©t cžch th”nh thÂčo, chĂu ÂźâĂźc phĂŁng xÂč v” cžc m«i trâĂȘng l”m viĂc Ÿéc hÂči, nhiĂt Ÿé cao, âc¶m thĂyâ ÂźâĂźc c¶ tĂ” trâĂȘng v” ângheâ ÂźâĂźc c¶ siÂȘu ©m ... Robot ÂźâĂźc dĂŻng thay thĂ con ngâĂȘi trong cžc trâĂȘng hĂźp trÂȘn hoĂc thĂčc hiĂn cžc c«ng viĂc tuy kh«ng nĂng nhĂ€c nhâng Ÿn ÂźiĂu, dĂ g©y mĂt mĂąi, nhĂm lĂn. Trong ng”nh cÂŹ khĂ, robot ÂźâĂźc sö dĂŽng nhiĂu trong c«ng nghà Ÿóc, c«ng nghĂ h”n, cŸt kim loÂči, sÂŹn, phun phñ kim loÂči, thžo lŸp vĂn chuyĂn ph«i, lŸp ržp s¶n phĂm . . .
Ng”y nay Ÿ· xuĂt hiĂn nhiĂu d©y chuyĂn s¶n xuĂt tĂč Ÿéng gĂ„m cžc mžy CNC vĂi
Robot c«ng nghiĂp, cžc d©y chuyĂn Ÿã ÂźÂčt mĂžc tĂč Ÿéng hož cao, mĂžc Ÿé linh hoÂčt cao . . . Ă« Ÿ©y cžc mžy v” robot ÂźâĂźc ÂźiĂu khiĂn b»ng cĂŻng mĂ©t hĂ thĂšng châÂŹng trĂnh. Ngo”i cžc ph©n xâĂ«ng, nh” mžy, kĂŒ thuĂt robot cĂČng ÂźâĂźc sö dĂŽng trong viĂc khai thžc thĂm lĂŽc ÂźĂa v” ÂźÂči dâÂŹng, trong y hĂ€c, sö dĂŽng trong quĂšc phĂng, trong chinh phĂŽc vĂČ trĂŽ, trong c«ng nghiĂp nguyÂȘn tö, trong cžc lĂnh vĂčc x· hĂ©i . . . RĂą r”ng l” kh¶ nšng l”m viĂc cña robot trong mĂ©t sĂš ÂźiĂu kiĂn vâĂźt hÂŹn kh¶ nšng cña con ngâĂȘi; do Ÿã nĂŁ l” phâÂŹng tiĂn hĂ·u hiĂu Ÿà tĂč Ÿéng hož, n©ng cao nšng suĂt lao Ÿéng, gi¶m nhĂ cho con ngâĂȘi nhĂ·ng c«ng viĂc nĂng nhĂ€c v” Ÿéc hÂči. NhâĂźc ÂźiĂm lĂn nhĂt cña robot l” châa linh hoÂčt nhâ con ngâĂȘi, trong d©y chuyĂn tĂč Ÿéng, nĂu cĂŁ mĂ©t robot bĂ hĂĄng cĂŁ thĂ l”m ngĂ”ng hoÂčt Ÿéng cña c¶ d©y chuyĂn, cho nÂȘn robot vĂn lu«n hoÂčt Ÿéng dâĂi sĂč gižm sžt cña con ngâĂȘi.
TS. PhÂčm §šng PhâĂc
Robot C«ng nghiĂp 3
1.3. Cžc khži niĂm v” ÂźĂnh nghĂa vĂ robot c«ng nghiĂp : 1.3.1. §Ănh nghĂa robot c«ng nghiĂp :
HiĂn nay cĂŁ nhiĂu ÂźĂnh nghĂa vĂ Robot, cĂŁ thĂ ÂźiĂm qua mĂ©t sĂš ÂźĂnh nghĂa nhâ sau : §Ănh nghĂa theo tiÂȘu chuĂn AFNOR (Phžp) : Robot c«ng nghiĂp l” mĂ©t cÂŹ cĂu chuyĂn Ÿéng tĂč Ÿéng cĂŁ thĂ lĂp trĂnh, lĂp lÂči cžc châÂŹng trĂnh, tĂŠng hĂźp cžc châÂŹng trĂnh ÂźĂt ra trÂȘn cžc trĂŽc toÂč Ÿé; cĂŁ kh¶ nšng ÂźĂnh vĂ, ÂźĂnh hâĂng, di chuyĂn cžc ŸÚi tâĂźng vĂt chĂt : chi tiĂt, dao cĂŽ, gž lŸp . . . theo nhĂ·ng h”nh trĂnh thay ŸÊi Ÿ· châÂŹng trĂnh hož nh»m thĂčc hiĂn cžc nhiĂm vĂŽ c«ng nghĂ khžc nhau. §Ănh nghĂa theo RIA (Robot institute of America) : Robot l” mĂ©t tay mžy vÂčn nšng cĂŁ thĂ lĂp lÂči cžc châÂŹng trĂnh ÂźâĂźc thiĂt kà Ÿà di chuyĂn vĂt liĂu, chi tiĂt, dĂŽng cĂŽ hoĂc cžc thiĂt bĂ chuyÂȘn dĂŻng th«ng qua cžc châÂŹng trĂnh chuyĂn Ÿéng cĂŁ thĂ thay ŸÊi Ÿà ho”n th”nh cžc nhiĂm vĂŽ khžc nhau. §Ănh nghĂa theo ÎOCT 25686-85 (Nga) : Robot c«ng nghiĂp l” mĂ©t mžy tĂč Ÿéng, ÂźâĂźc ÂźĂt cĂš ÂźĂnh hoĂc di Ÿéng ÂźâĂźc, liÂȘn kĂt giĂ·a mĂ©t tay mžy v” mĂ©t hĂ thĂšng ÂźiĂu khiĂn theo châÂŹng trĂnh, cĂŁ thĂ lĂp trĂnh lÂči Ÿà ho”n th”nh cžc chĂžc nšng vĂn Ÿéng v” ÂźiĂu khiĂn trong quž trĂnh s¶n xuĂt. CĂŁ thĂ nĂŁi Robot c«ng nghiĂp l” mĂ©t mžy tĂč Ÿéng linh hoÂčt thay thĂ tĂ”ng phĂn hoĂc to”n bĂ© cžc hoÂčt Ÿéng cÂŹ bŸp v” hoÂčt Ÿéng trĂ tuĂ cña con ngâĂȘi trong nhiĂu kh¶ nšng thĂch nghi khžc nhau. Robot c«ng nghiĂp cĂŁ kh¶ nšng châÂŹng trĂnh hož linh hoÂčt trÂȘn nhiĂu trĂŽc chuyĂn Ÿéng, biĂu thĂ cho sĂš bĂc tĂč do cña chĂłng. Robot c«ng nghiĂp ÂźâĂźc trang bĂ nhĂ·ng b”n tay mžy hoĂc cžc cÂŹ cĂu chĂp h”nh, gi¶i quyĂt nhĂ·ng nhiĂm vĂŽ xžc ÂźĂnh trong cžc quž trĂnh c«ng nghĂ : hoĂc trĂčc tiĂp tham gia thĂčc hiĂn cžc nguyÂȘn c«ng (sÂŹn, h”n, phun phñ, rĂŁt kim loÂči v”o khu«n Ÿóc, lŸp ržp mžy . . .) hoĂc phĂŽc vĂŽ cžc quž trĂnh c«ng nghĂ (thžo lŸp chi tiĂt gia c«ng, dao cĂŽ, ŸÄ gž . . .) vĂi nhĂ·ng thao tžc cĂm nŸm, vĂn chuyĂn v” trao ŸÊi cžc ŸÚi tâĂźng vĂi cžc trÂčm c«ng nghĂ, trong mĂ©t hĂ thĂšng mžy tĂč Ÿéng linh hoÂčt, ÂźâĂźc gĂ€i l” âHĂ thĂšng tĂč Ÿéng linh hoÂčt robot hožâ cho phĂp thĂch Ăžng nhanh v” thao tžc Ÿn gi¶n khi nhiĂm vĂŽ s¶n xuĂt thay ŸÊi.
1.3.2. BĂc tĂč do cña robot (DOF : Degrees Of Freedom) : BĂc tĂč do l” sĂš kh¶ nšng chuyĂn Ÿéng cña mĂ©t cÂŹ cĂu (chuyĂn Ÿéng quay hoĂc tĂnh
tiĂn). §à dĂch chuyĂn ÂźâĂźc mĂ©t vĂt thĂ trong kh«ng gian, cÂŹ cĂu chĂp h”nh cña robot ph¶i ÂźÂčt ÂźâĂźc mĂ©t sĂš bĂc tĂč do. NĂŁi chung cÂŹ hĂ cña robot l” mĂ©t cÂŹ cĂu hĂ«, do Ÿã bĂc tĂč do cña nĂŁ cĂŁ thĂ tĂnh theo c«ng thĂžc :
w = 6n - (1.1) ip ii =â
1
5
Ă« Ÿ©y : n - SĂš kh©u Ÿéng; pi - SĂš khĂp loÂči i (i = 1,2,. . .,5 : SĂš bĂc tĂč do bĂ hÂčn chĂ). §Úi vĂi cžc cÂŹ cĂu cĂŁ cžc kh©u ÂźâĂźc nĂši vĂi nhau b»ng khĂp quay hoĂc tĂnh tiĂn (khĂp Ÿéng loÂči 5) thĂ sĂš bĂc tĂč do b»ng vĂi sĂš kh©u Ÿéng . §Úi vĂi cÂŹ cĂu hĂ«, sĂš bĂc tĂč do b»ng tĂŠng sĂš bĂc tĂč do cña cžc khĂp Ÿéng.
§à ŸĂnh vĂ v” ÂźĂnh hâĂng kh©u chĂp h”nh cuĂši mĂ©t cžch tuĂș Ăœ trong kh«ng gian 3 chiĂu robot cĂn cĂŁ 6 bĂc tĂč do, trong Ÿã 3 bĂc tĂč do Ÿà ŸĂnh vĂ v” 3 bĂc tĂč do Ÿà ŸĂnh hâĂng. MĂ©t sĂš c«ng viĂc Ÿn gi¶n n©ng hÂč, sŸp xĂp... cĂŁ thĂ yÂȘu cĂu sĂš bĂc tĂč do Ăt hÂŹn. Cžc robot h”n, sÂŹn... thâĂȘng yÂȘu cĂu 6 bĂc tĂč do. Trong mĂ©t sĂš trâĂȘng hĂźp cĂn sĂč khĂo lĂo, linh hoÂčt hoĂc khi cĂn ph¶i tĂši âu hož quĂŒ ÂźÂčo,... ngâĂȘi ta dĂŻng robot vĂi sĂš bĂc tĂč do lĂn hÂŹn 6.
1.3.3. HĂ toÂč Ÿé (Coordinate frames) : Mçi robot thâĂȘng bao gĂ„m nhiĂu kh©u (links) liÂȘn kĂt vĂi nhau qua cžc khĂp (joints),
tÂčo th”nh mĂ©t xĂch Ÿéng hĂ€c xuĂt phžt tĂ” mĂ©t kh©u cÂŹ b¶n (base) ŸÞng yÂȘn. HĂ toÂč Ÿé gŸn vĂi
TS. PhÂčm §šng PhâĂc
Robot C«ng nghiĂp 4
kh©u cÂŹ b¶n gĂ€i l” hĂ toÂč Ÿé cÂŹ b¶n (hay hĂ toÂč Ÿé chuĂn). Cžc hĂ toÂč Ÿé trung gian khžc gŸn vĂi cžc kh©u Ÿéng gĂ€i l” hĂ toÂč Ÿé suy rĂ©ng. Trong tĂ”ng thĂȘi ÂźiĂm hoÂčt Ÿéng, cžc toÂč Ÿé suy rĂ©ng xžc ÂźĂnh cĂu hĂnh cña robot b»ng cžc chuyĂn dĂch d”i hoĂc cžc chuyĂn dĂch gĂŁc cu¶ cžc khĂp tĂnh tiĂn hoĂc khĂp quay (hĂnh 1.1). Cžc toÂč Ÿé suy rĂ©ng cĂn ÂźâĂźc gĂ€i l” biĂn khĂp.
d2
Ξ1
Ξ3
Ξ4Ξ5
n a o
z
yO0
On
x
HĂnh 1.1 : Cžc toÂč Ÿé suy rĂ©ng cña robot. Cžc hĂ toÂč Ÿé gŸn trÂȘn cžc kh©u cña robot ph¶i tu©n theo qui tŸc b”n tay ph¶i : DĂŻng tay ph¶i, nŸm hai ngĂŁn tay Ăłt v” žp Ăłt v”o lĂng b”n tay, xoĂ 3 ngĂŁn : cži, trĂĄ v” giĂ·a theo 3 phâÂŹng vu«ng gĂŁc nhau, nĂu chĂ€n ngĂŁn cži l” phâÂŹng v” chiĂu cña trĂŽc z, thĂ ngĂŁn trĂĄ chĂ phâÂŹng, chiĂu cña trĂŽc x v” ngĂŁn giĂ·a sĂ biĂu thĂ phâÂŹng, chiĂu cña trĂŽc y (hĂnh 1.2).
x
y
O
z
Trong robot ta thâĂȘng dĂŻng chĂ· O v” chĂ sĂš n Ÿà chĂ hĂ toÂč Ÿé gŸn trÂȘn kh©u thĂž n. Nhâ vĂy hĂ toÂč Ÿé cÂŹ b¶n (HĂ toÂč Ÿé gŸn vĂi kh©u cĂš ÂźĂnh) sĂ ÂźâĂźc kĂœ hiĂu l” O0; hĂ toÂč Ÿé gŸn trÂȘn cžc kh©u trung gian tâÂŹng Ăžng sĂ l” O1, O2,..., On-1, HĂ toÂč Ÿé gŸn trÂȘn kh©u chĂp h”nh cuĂši kĂœ hiĂu l” On.
HĂnh 1.2 : Qui tŸc b”n tay ph¶i
1.3.4. TrâĂȘng c«ng tžc cña robot (Workspace or Range of motion): TrâĂȘng c«ng tžc (hay vĂŻng l”m viĂc, kh«ng gian c«ng tžc) cña robot l” to”n bĂ© thĂ tĂch
ÂźâĂźc quĂt bĂ«i kh©u chĂp h”nh cuĂši khi robot thĂčc hiĂn tĂt c¶ cžc chuyĂn Ÿéng cĂŁ thĂ. TrâĂȘng c«ng tžc bĂ r”ng buĂ©c bĂ«i cžc th«ng sĂš hĂnh hĂ€c cña robot cĂČng nhâ cžc r”ng buĂ©c cÂŹ hĂ€c cña cžc khĂp; vĂ dĂŽ, mĂ©t khĂp quay cĂŁ chuyĂn Ÿéng nhĂĄ hÂŹn mĂ©t gĂŁc 3600. NgâĂȘi ta thâĂȘng dĂŻng hai hĂnh chiĂu Ÿà m« t¶ trâĂȘng c«ng tžc cña mĂ©t robot (hĂnh 1.3).
R
ÎČ
H
HĂnh chiĂu ŸÞng HĂnh chiĂu b»ng HĂnh 1.3 : BiĂu diĂn trâĂȘng c«ng tžc cña robot.
TS. PhÂčm §šng PhâĂc
Robot C«ng nghiĂp 5
1.4. CĂu trĂłc cÂŹ b¶n cña robot c«ng nghiĂp : 1.4.1. Cžc th”nh phĂn chĂnh cña robot c«ng nghiĂp : MĂ©t robot c«ng nghiĂp thâĂȘng bao gĂ„m cžc th”nh phĂn chĂnh nhâ : cžnh tay robot, nguĂ„n Ÿéng lĂčc, dĂŽng cĂŽ gŸn lÂȘn kh©u chĂp h”nh cuĂši, cžc c¶m biĂn, bĂ© ÂźiĂu khiĂn , thiĂt bĂ dÂčy hĂ€c, mžy tĂnh ... cžc phĂn mĂm lĂp trĂnh cĂČng nÂȘn ÂźâĂźc coi l” mĂ©t th”nh phĂn cña hĂ thĂšng robot. MĂši quan hĂ giĂ·a cžc th”nh phĂn trong robot nhâ hĂnh 1.4.
Cžc c¶m biĂn
Cžnh tay robot
DÎng cÎ thao tžc
BĂ© ÂźiĂu khiĂn v” mžy tĂnh
NguĂ„n Ÿéng lĂčc
ThiĂt bĂ dÂčy hĂ€c
Cžc châÂŹng trĂnh
HĂnh 1.4 : Cžc th”nh phĂn chĂnh cña hĂ thĂšng robot. Cžnh tay robot (tay mžy) l” kĂt cĂu cÂŹ khĂ gĂ„m cžc kh©u liÂȘn kĂt vĂi nhau b»ng cžc khĂp Ÿéng Ÿà cĂŁ thĂ tÂčo nÂȘn nhĂ·ng chuyĂn Ÿéng cÂŹ b¶n cña robot.
NguĂ„n Ÿéng lĂčc l” cžc Ÿéng cÂŹ ÂźiĂn (mĂ©t chiĂu hoĂc Ÿéng cÂŹ bâĂc), cžc hĂ thĂšng xy lanh khĂ nĂn, thuĂ» lĂčc Ÿà tÂčo Ÿéng lĂčc cho tay mžy hoÂčt Ÿéng.
DĂŽng cĂŽ thao tžc ÂźâĂźc gŸn trÂȘn kh©u cuĂši cña robot, dĂŽng cĂŽ cña robot cĂŁ thĂ cĂŁ nhiĂu kiĂu khžc nhau nhâ : dÂčng b”n tay Ÿà nŸm bŸt ŸÚi tâĂźng hoĂc cžc c«ng cĂŽ l”m viĂc nhâ mĂĄ h”n, Ÿž m”i, ÂźĂu phun sÂŹn ...
ThiĂt bĂ dÂčy-hoc (Teach-Pendant) dĂŻng Ÿà dÂčy cho robot cžc thao tžc cĂn thiĂt theo yÂȘu cĂu cña quž trĂnh l”m viĂc, sau Ÿã robot tĂč lĂp lÂči cžc Ÿéng tžc Ÿ· ÂźâĂźc dÂčy Ÿà l”m viĂc (phâÂŹng phžp lĂp trĂnh kiĂu dÂčy hĂ€c).
Cžc phĂn mĂm Ÿà lĂp trĂnh v” cžc châÂŹng trĂnh ÂźiĂu khiĂn robot ÂźâĂźc c”i ÂźĂt trÂȘn mžy tĂnh, dĂŻng ÂźiĂu khiĂn robot th«ng qua bĂ© ÂźiĂu khiĂn (Controller). BĂ© ÂźiĂu khiĂn cĂn ÂźâĂźc gĂ€i l” MoÂźun ÂźiĂu khiĂn (hay Unit, Driver), nĂŁ thâĂȘng ÂźâĂźc kĂt nĂši vĂi mžy tĂnh. MĂ©t moÂźun ÂźiĂu khiĂn cĂŁ thĂ cĂn cĂŁ cžc cĂŠng V”o - Ra (I/O port) Ÿà l”m viĂc vĂi nhiĂu thiĂt bĂ khžc nhau nhâ cžc c¶m biĂn giĂłp robot nhĂn biĂt trÂčng thži cña b¶n th©n, xžc ÂźĂnh vĂ trĂ cña ŸÚi tâĂźng l”m viĂc hoĂc cžc dĂ tĂm khžc; ÂźiĂu khiĂn cžc bšng t¶i hoĂc cÂŹ cĂu cĂp ph«i hoÂčt Ÿéng phĂši hĂźp vĂi robot ... 1.4.2. KĂt cĂu cña tay mžy : Nhâ Ÿ· nĂŁi trÂȘn, tay mžy l” th”nh phĂn quan trĂ€ng, nĂŁ quyĂt ÂźĂnh kh¶ nšng l”m viĂc cña robot. Cžc kĂt cĂu cña nhiĂu tay mžy ÂźâĂźc phĂĄng theo cĂu tÂčo v” chĂžc nšng cña tay ngâĂȘi; tuy nhiÂȘn ng”y nay, tay mžy ÂźâĂźc thiĂt kĂ rĂt Âźa dÂčng, nhiĂu cžnh tay robot cĂŁ hĂnh džng rĂt khžc xa cžnh tay ngâĂȘi. Trong thiĂt kĂ v” sö dĂŽng tay mžy, chĂłng ta cĂn quan t©m ÂźĂn cžc th«ng sĂš hĂnh - Ÿéng hĂ€c, l” nhĂ·ng th«ng sĂš liÂȘn quan ÂźĂn kh¶ nšng l”m viĂc cña robot nhâ : tĂm vĂi (hay trâĂȘng c«ng tžc), sĂš bĂc tĂč do (thĂ hiĂn sĂč khĂo lĂo linh hoÂčt cña robot), Ÿé cĂžng vĂ·ng, t¶i trĂ€ng vĂt n©ng, lĂčc kĂp . . .
TS. PhÂčm §šng PhâĂc
Robot C«ng nghiĂp 6
Cžc kh©u cña robot thâĂȘng thĂčc hiĂn hai chuyĂn Ÿéng cÂŹ b¶n : âą ChuyĂn Ÿéng tĂnh tiĂn theo hâĂng x,y,z trong kh«ng gian Descarde, th«ng thâĂȘng
tÂčo nÂȘn cžc hĂnh khĂši, cžc chuyĂn Ÿéng nĂy thâĂȘng kĂœ hiĂu l” T (Translation) hoĂc P (Prismatic).
âą ChuyĂn Ÿéng quay quanh cžc trĂŽc x,y,z kĂœ hiĂu l” R (Roatation). TuĂș thuĂ©c v”o sĂš kh©u v” sĂč tĂŠ hĂźp cžc chuyĂn Ÿéng (R v” T) m” tay mžy cĂŁ cžc kĂt cĂu khžc nhau vĂi vĂŻng l”m viĂc khžc nhau. Cžc kĂt cĂu thâĂȘng gĂp cña l” Robot l” robot kiĂu toÂč Ÿé §à cžc, toÂč Ÿé trĂŽ, toÂč Ÿé cĂu, robot kiĂu SCARA, hĂ toÂč Ÿé gĂŁc (phĂĄng sinh) ... Robot kiĂu toÂč Ÿé §à cžc : l” tay mžy cĂŁ 3 chuyĂn Ÿéng cÂŹ b¶n tĂnh tiĂn theo phâÂŹng cña cžc trĂŽc hĂ toÂč Ÿé gĂšc (cĂu hĂnh T.T.T). TrâĂȘng c«ng tžc cĂŁ dÂčng khĂši chĂ· nhĂt. Do kĂt cĂu Ÿn gi¶n, loÂči tay mžy nĂy cĂŁ Ÿé cĂžng vĂ·ng cao, Ÿé chĂnh xžc cÂŹ khĂ dà Ÿ¶m b¶o vĂ vĂy nĂŁ thuĂȘng dĂŻng Ÿà vĂn chuyĂn ph«i liĂu, lŸp ržp, h”n trong mĂt phÂŒng ...
T.T.T
HĂnh 1.5 : Robot kiĂu toÂč Ÿé §à cžc R.T.T
HĂnh 1.6 : Robot kiĂu toÂč Ÿé trĂŽ
Robot kiĂu toÂč Ÿé trĂŽ : VĂŻng l”m viĂc cña robot cĂŁ dÂčng hĂnh trĂŽ rçng. ThâĂȘng khĂp thĂž nhĂt chuyĂn Ÿéng quay. VĂ dĂŽ robot 3 bĂc tĂč do, cĂu hĂnh R.T.T nhâ hĂnh vĂ 1.6. CĂŁ nhiĂu robot kiĂu toÂč Ÿé trĂŽ nhâ : robot Versatran cña h·ng AMF (Hoa KĂș). Robot kiĂu toÂč Ÿé cĂu : VĂŻng l”m viĂc cña robot cĂŁ dÂčng hĂnh cĂu. thâĂȘng Ÿé cĂžng vĂ·ng cña loÂči robot nĂy thĂp hÂŹn so vĂi hai loÂči trÂȘn. VĂ dĂŽ robot 3 bĂc tĂč do, cĂu hĂnh R.R.R hoĂc R.R.T l”m viĂc theo kiĂu toÂč Ÿé cĂu (hĂnh 1.7).
R.R.R R.R.T
HĂnh 1.7 : Robot kiĂu toÂč Ÿé cĂu Robot kiĂu toÂč Ÿé gĂŁc (HĂ toÂč Ÿé phĂĄng sinh) : §©y l” kiĂu robot ÂźâĂźc dĂŻng nhiĂu hÂŹn c¶. Ba chuyĂn Ÿéng ÂźĂu tiÂȘn l” cžc chuyĂn Ÿéng quay, trĂŽc quay thĂž nhĂt vu«ng gĂŁc vĂi hai trĂŽc kia. Cžc chuyĂn Ÿéng ÂźĂnh hâĂng khžc cĂČng l” cžc chuyĂn Ÿéng quay. VĂŻng l”m viĂc cña tay mžy nĂy gĂn giĂšng mĂ©t phĂn khĂši cĂu. TĂt c¶ cžc kh©u ÂźĂu n»m trong mĂt phÂŒng thÂŒng ŸÞng nÂȘn cžc tĂnh tožn cÂŹ b¶n l” b”i tožn phÂŒng. âu ÂźiĂm nĂŠi bĂt cña cžc loÂči robot hoÂčt
TS. PhÂčm §šng PhâĂc
Robot C«ng nghiĂp 7
Ÿéng theo hĂ toÂč Ÿé gĂŁc l” gĂ€n nhĂ, tĂžc l” cĂŁ vĂŻng l”m viĂc tâÂŹng ŸÚi lĂn so vĂi kĂch cĂ« cña b¶n th©n robot, Ÿé linh hoÂčt cao. Cžc robot hoÂčt Ÿéng theo hĂ toÂč Ÿé gĂŁc nhâ : Robot PUMA cña h·ng Unimation - Nokia (Hoa KĂș - PhĂn Lan), IRb-6, IRb-60 (ThuĂŸ §iĂn), Toshiba, Mitsubishi, Mazak (NhĂt B¶n) .V.V... VĂ dĂŽ mĂ©t robot hoÂčt Ÿéng theo hĂ toÂč Ÿé gĂŁc (HĂ toÂč Ÿé phĂĄng sinh), cĂŁ cĂu hĂnh RRR.RRR :
HĂnh 1.8 : Robot hoÂčt Ÿéng theo hĂ toÂč Ÿé gĂŁc. Robot kiĂu SCARA : Robot SCARA ra ÂźĂȘi v”o nšm 1979 tÂči trâĂȘng ÂźÂči hĂ€c Yamanashi (NhĂt B¶n) l” mĂ©t kiĂu robot mĂi nh»m Ÿžp Ăžng sĂč Âźa dÂčng cña cžc quž trĂnh s¶n xuĂt. TÂȘn gĂ€i SCARA l” viĂt tŸt cña "Selective Compliant Articulated Robot Arm" : Tay mžy mĂm dĂo tuĂș Ăœ. LoÂči robot nĂy thâĂȘng dĂŻng trong c«ng viĂc lŸp ržp nÂȘn SCARA Ÿ«i khi ÂźâĂźc gi¶i thĂch l” tĂ” viĂt tŸt cña "Selective Compliance Assembly Robot Arm". Ba khĂp ÂźĂu tiÂȘn cña kiĂu Robot nĂy cĂŁ cĂu hĂnh R.R.T, cžc trĂŽc khĂp ÂźĂu theo phâÂŹng thÂŒng ŸÞng. SÂŹ ŸÄ cña robot SCARA nhâ hĂnh 1.9.
HĂnh 1.9 : Robot kiĂu SCARA
1.5. Ph©n loÂči Robot c«ng nghiĂp : Robot c«ng nghiĂp rĂt phong phĂł Âźa dÂčng, cĂŁ thĂ ÂźâĂźc ph©n loÂči theo cžc cžch sau :
1.4.1. Ph©n loÂči theo kĂt cĂu :
Theo kĂt cĂu cña tay mžy ngâĂȘi ta ph©n th”nh robot kiĂu toÂč Ÿé §à cžc, KiĂu toÂč Ÿé trĂŽ, kiĂu toÂč Ÿé cĂu, kiĂu toÂč Ÿé gĂŁc, robot kiĂu SCARA nhâ Ÿ· trĂnh b”y Ă« trÂȘn. 1.4.2. Ph©n loÂči theo hĂ thĂšng truyĂn Ÿéng :
CĂŁ cžc dÂčng truyĂn Ÿéng phĂŠ biĂn l” : HĂ truyĂn Ÿéng ÂźiĂn : ThâĂȘng dĂŻng cžc Ÿéng cÂŹ ÂźiĂn 1 chiĂu (DC : Direct Current)
hoĂc cžc Ÿéng cÂŹ bâĂc (step motor). LoÂči truyĂn Ÿéng nĂy dĂ ÂźiĂu khiĂn, kĂt cĂu gĂ€n. HĂ truyĂn Ÿéng thuĂ» lĂčc : cĂŁ thĂ ÂźÂčt ÂźâĂźc c«ng suĂt cao, Ÿžp Ăžng nhĂ·ng ÂźiĂu kiĂn l”m viĂc nĂng. Tuy nhiÂȘn hĂ thĂšng thuĂ» lĂčc thâĂȘng cĂŁ kĂt cĂu cĂ„ng kĂnh, tĂ„n tÂči Ÿé phi tuyĂn lĂn khĂŁ xö lĂœ khi ÂźiĂu khiĂn. HĂ truyĂn Ÿéng khĂ nĂn : cĂŁ kĂt cĂu gĂ€n nhĂ hÂŹn do kh«ng cĂn dĂn ngâĂźc nhâng lÂči ph¶i gŸn liĂn vĂi trung t©m taĂ€ ra khĂ nĂn. HĂ nĂy l”m viĂc vĂi c«ng suĂt trung bĂnh v” nhĂĄ, kĂm chĂnh xžc, thâĂȘng chĂ thĂch hĂźp vĂi cžc robot hoÂčt Ÿéng theo châÂŹng trĂnh ÂźĂnh sÂŒn vĂi cžc thao tžc Ÿn gi¶n ânhĂc lÂȘn - ÂźĂt xuĂšngâ (Pick and Place or PTP : Point To Point).
TS. PhÂčm §šng PhâĂc
Robot C«ng nghiĂp 8
1.4.3. Ph©n loÂči theo Ăžng dĂŽng : DĂča v”o Ăžng dĂŽng cña robot trong s¶n xuĂt cĂŁ Robot sÂŹn, robot h”n, robot lŸp ržp, robot chuyĂn ph«i .v.v... 1.4.4. Ph©n loÂči theo cžch thĂžc v” ÂźĂc trâng cña phâÂŹng phžp ÂźiĂu khiĂn : CĂŁ robot ÂźiĂu khiĂn hĂ« (mÂčch ÂźiĂu khiĂn kh«ng cĂŁ cžc quan hĂ ph¶n hĂ„i), Robot ÂźiĂu khiĂn kĂn (hay ÂźiĂu khiĂn servo) : sö dĂŽng c¶m biĂn, mÂčch ph¶n hĂ„i Ÿà tšng Ÿé chĂnh xžc v” mĂžc Ÿé linh hoÂčt khi ÂźiĂu khiĂn. Ngo”i ra cĂn cĂŁ thĂ cĂŁ cžc cžch ph©n loÂči khžc tuĂș theo quan ÂźiĂm v” mĂŽc ÂźĂch nghiÂȘn cĂžu -----------------------------------------------------------------------------------------------------------------
TS. PhÂčm §šng PhâĂc
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 :
vE
V
F
vF
E
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 rv = 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 :
xw
x x a= = =1
; yw
y y b= = =1
; zw
z z a= = =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.
VĂi w = 0 ta cĂŁ : xw
yw
zw
= = = â
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 :
VĂ dĂŽ : r r r rv i j k= + +3 4 5
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 KĂœ hiĂu [ . . . . ]T (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ÂŹ :
Cho hai vectÂŹ : r r r ra a i a j a kx y z= + +
r r r rb b i b j b kx y z= + +
Ta cĂŁ tĂch v« hâĂng a.b = axbx + ayby + azbz
V” tĂch vectÂŹ :
ar x = rb
zyx
zyx
bbbaaakjirrr
= (aybz-azby)ri + (azbx-axbz)
rj + (axby-aybx)
rk
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 2A = 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.nT-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 1H = 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 3H-1 = 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 :
Trace(A) hay Tr(A) = â =
n
iiia
1
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.
VĂ dĂŽ : cho
â„â„â„â„
âŠ
â€
âąâąâąâą
âŁ
âĄ
=
44434241
34333231
24232221
14131211
aaaaaaaaaaaaaaaa
A
thĂ : dt
ta
ta
ta
ta
ta
ta
ta
ta
ta
ta
ta
ta
ta
ta
ta
ta
dA
44434241
34333231
24232221
14131211
â„â„â„â„â„â„â„â„
âŠ
â€
âąâąâąâąâąâąâąâą
âŁ
âĄ
ââ
ââ
ââ
ââ
ââ
ââ
ââ
ââ
ââ
ââ
ââ
ââ
ââ
ââ
ââ
ââ
=
TâÂŹng tĂč, phĂp tĂch ph©n cña ma trĂn A l” mĂ©t ma trĂn, cĂŁ :
})({)( dttadttA ijâ«â« =
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) : Gi¶ sö cĂn tĂnh tiĂn mĂ©t ÂźiĂm hoĂc mĂ©t vĂt thĂ theo vectÂŹ dĂn
r r r rh 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.
VĂ dĂŽ : r r r r
r r ru = 2i + 3j + 2k
h = 4i - 3j + 7kr
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
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
z
y
x
h
u
v
46
2
3-32
0
7
9
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 14
cosΞ -sinΞ 0 0 Rot(z, Ξo) = sinΞ cosΞ 0 0 (2.5)
0 0 1 0 0 0 0 1
VĂ dĂŽ : Cho ÂźiĂm U biĂu diĂn bĂ«i r r r ru = 7i + 3j + 2k quay xung quanh z mĂ©t gĂŁc Ξ = 90o
(hĂnh 2.5). Ta cĂŁ 0 -1 0 0 7 -3
v= Rot(z, 90o)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 w = Rot(y, 90o)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
y
w
z
u
x
v
x
y
u
vâ
wâ
z
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 :
Cx Cy Cz Co nx Ox az 0
C = ny Oy ay 0 nz Oz az 0 0 0 0 1
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.
ChÂŒng hÂčn : r r r rk = a i + a j + a kx y z
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 0C-1 = Ox Oy Oz 0
ax ay az 0 0 0 0 1
a (Cx)O(Cy)
Co
n (Cz)
HĂnh 2.7 : HĂ toÂč Ÿé gŸn trÂȘn kh©u chĂp h”nh cuĂši (b”n tay)
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Ξ + axaz0
nynzcosΞ - nyOzsinΞ + nzOysinΞ + OyOzcosΞ + ayaz0
nznzcosΞ - nzOzsinΞ + nzOzsinΞ + OzOzcosΞ + azaz0
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Ă. - VectÂŹ Ÿn vĂ z b»ng tĂch vectÂŹ cña x v” y, hay l” :
r r ra = 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 = versΞ + cosΞ + versΞ + cosΞ + versΞ + cosΞ + 1 k x
2 k y2 kz
2
= (1 - cossΞ)( + + ) + 3cosΞ + 1 k x2 k y
2 kz2
= 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Ξ
â sinΞ = ±12
(O - a ) + (a - n ) + (n - O ) z y2
x z2
y x2
VĂi 0 †Ξ †1800 :
tgΞ = (O - a ) + (a - n ) + (n - O )
(n + O + a - 1)z y
2x z
2y x
2
x y z
V” trĂŽc k ÂźâĂźc ÂźĂnh nghĂa bĂ«i :
k = O a
2sinz y
x
â
Ξ; k =
a n2sinx z
yâΞ
; k = n O
2siny z
x
â
Ξ (2.11)
Â§Ă Ăœ r»ng vĂi cžc c«ng thĂžc (2.8) :
- NĂu Ξ = 00 thĂ kx, ky, kz cĂŁ dÂčng 00
. LĂłc nĂy ph¶i chuĂn hož k sao cho â„ kâ„ = 1
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 18
- NĂu Ξ = 1800 thĂ kx, ky, kz cĂŁ dÂčng a â 0
0. LĂłc nĂy k kh«ng xžc ÂźĂnh ÂźâĂźc, ta ph¶i
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 versΞ+cosΞ x
2
Oy = k y2 versΞ+cosΞ
az = kz2 versΞ+cosΞ
TÔ Ÿ©y ta suy ra :
k n
vers
n1- cosx
x x= 屉
= ±âcos cosΞ
ΞΞΞ
k O
vers
O1- cosy
y y= 屉
= ±âcos cosΞ
ΞΞΞ
k a
vers
a1- cosz
z z= 屉
= ±âcos cosΞ
ΞΞΞ
Trong kho¶ng 900 †Ξ †1800 sinΞ lu«n lu«n dâÂŹng 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 :
k Sgn(On1- cosx z
x= ââ
ay )cosΞΞ
k Sgn(a - n )O1- cosy x z
y=â cosΞ
Ξ (2.12)
k Sgn(n Oa1- cosz y x
z= ââ
)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ĂŽ
thà l” : kn O
kyy
x
=+
âx
2 1( cos )Ξ
ka n
kzx
x
=+â
z
2 1( cos )Ξ
VĂ dĂŽ : Cho R = Rot[y,900]Rot[z,900]. H·y xžc ÂźĂnh k v” Ξ Ÿà R = Rot[k,Ξ]. Ta Ÿ· biĂt : 0 0 1 0R = Rot(y,900).Rot(z,900) = 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
sinΞ = 12
(O - a ) + (a - n ) + (n - O ) z y2
x z2
y x2
= 12
(1 - 0) + (1 - 0) + (1 - 0) = 32
2 2 2
â tgΞ = â 3 v” Ξ = 1200
Theo (2.12), ta cĂŁ :
kx = ky = kz = +++
=0 1 21 1 2
13
//
VĂy : R = Rot(y,900).Rot(z,900) = Rot(k, 1200); vĂi :
r r r rk 1
3i 1
3j 1
3k= + +
HĂnh 2.8 : TĂm gĂŁc quay v” trĂŽc quay tâÂŹng ÂźâÂŹng 1/ 3
1/ 3
1/ 3k
O
1200
y
z
x
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).
HĂnh 2.9 : PhĂp quay Euler
x
y
z zâzââzâââ
yâyââ
yâââ
xâ xââ xâââ
Ξ
Κ
ΚΚ
Ξ
Ξ
Ί
Ί
Ί
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Ί -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)
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
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, 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 trĂŽc z. Pitch l” sĂč bĂ„ng bĂnh, tâÂŹng ÂźâÂŹng vĂi 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)
z
y
x
Th©n t”u
YawΚ
Roll Ί
Pitch Ξ
Cžc phĂp quay žp dĂŽng cho kh©u chĂp 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â sau :
HĂnh 2.10: PhĂp quay Roll-Pitch-Yaw
RPY(Ί,Ξ,Ï)=Rot(z,Ί)Rot(y,Ξ)Rot(x, Ï) (2.16)
Yaw, Ï
y
z
Pitch, Ξ
Roll, Ί
x
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 rh = 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ĂČ.
yT
xT
OT
zT z
y
x
O
7
-3
4
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ĂŁ :
Rot(z,900) 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ĂŁ :
Rot(y,900)
y'T
OTx'T
z'T
z"TOT
y''T
x''T
yT
xT
OT
90o
zT
y'T
OT x'T
z'T
90oy
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
yT
xT
OT90o
zT y'T
O'Tz'T
Rot(y,90o) 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 :
z"TO''T
y''T
x''T
y'T
x'Tz'T
O'T90o Rot(z',90o) 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 v”
hĂ C cĂŁ quan hĂ vĂi hĂ B qua phĂp biĂn ŸÊi . Ta cĂŁ ÂźiĂm P trong hĂ C kĂœ hiĂu P
ABT/
BcT/ C, 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
HĂnh 2.13 : Quan hĂ giĂ·a cžc hĂ toÂč Ÿé biĂn ŸÊi.
pA
pC
zC
xC
yCxB
zB
yBxA
zA
yA
C
B
A
ChĂłng ta cĂŁ thĂ biĂn ŸÊi pC th”nh pB nhâ sau : pB = pB
cT/ C, (2.18) Sau Ÿã biĂn ŸÊi pB th”nh pA nhâ sau : pA = pA
BT/ B, (2.19) KĂt hĂźp (2.18) v” (2.19) ta cĂŁ : (2.20) cC
BB
AA pTTp =
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.
O0
O1
O2O3
T4O4
B”n tay
y
z
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 : H = Trans(4,0,0)Rot(y,900)Rot(z,900) 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 -1 -1 1 1 -1 0 0 0 0 4 4 0 0 2 2 0 0 1 1 1 1 1 1
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
-1,4,0,1
-1,0,2,1
-1,0,0,1
1,4,0,1
1,0,2,1
1,0,0,1y
x
HĂnh 2.15 : M« t¶ vĂt thĂ
x
y
z
O
O
x
y
z
z
HĂnh 2.17: Rot (y,900) Rot (z,900) HĂnh 2.16 : Rot (z,900)
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 25
H = Trans(4,0,0)Rot (y,900)Rot (z,900)
O
y
z
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 -1A = 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
quay Âźi mĂ©t gĂŁc 300 xung quanh trĂŽc zA, tĂnh tiĂn dĂ€c theo trĂŽc xA 4 Ÿn vĂ v” tĂnh tiĂn dĂ€c theo yA 3 Ÿn vĂ.
xByB
{B}
xA
yA
{A}
(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 ?
HĂnh 2.19 : Quan hĂ {A} v” {B}
B”i 5 : Cho k = 13
(1, 1, 1)T, Ξ = 900. TĂm ma trĂn R = Rot(k, Ξ).
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 -1UTP = 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 1UTR = 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
Robot c«ng nghiĂp 27
ChâÂŹng III
phâÂŹng trĂnh Ÿéng hĂ€c cña robot
(Kinematic Equations) 3.1. DĂn nhĂp : BĂt kĂș mĂ©t robot n”o cĂČng cĂŁ thĂ coi l” mĂ©t tĂp hĂźp cžc kh©u (links) gŸn liĂn vĂi cžc khĂp (joints). Ta h·y ÂźĂt trÂȘn mçi kh©u cña robot mĂ©t hĂ toÂč Ÿé. Sö dĂŽng cžc phĂp biĂn ŸÊi thuĂn nhĂt cĂŁ thĂ m« t¶ vĂ trĂ tâÂŹng ŸÚi v” hâĂng giĂ·a cžc hĂ toÂč Ÿé nĂy. Denavit. J. Ÿ· gĂ€i biĂn ŸÊi thuĂn nhĂt m« t¶ quan hĂ giĂ·a mĂ©t kh©u v” mĂ©t kh©u kĂ tiĂp l” mĂ©t ma trĂn A. NĂŁi Ÿn gi¶n hÂŹn, mĂ©t ma trĂn A l” mĂ©t m« t¶ biĂn ŸÊi thuĂn nhĂt bĂ«i phĂp quay v” phĂp tĂnh tiĂn tâÂŹng ŸÚi giĂ·a hĂ toÂč Ÿé cña hai kh©u liĂn nhau. A1 m« t¶ vĂ trĂ v” hâĂng cña kh©u ÂźĂu tiÂȘn; A2 m« t¶ vĂ trĂ v” hâĂng cña kh©u thĂž hai so vĂi kh©u thĂž nhĂt. Nhâ vĂy vĂ trĂ v” hâĂng cña kh©u thĂž hai so vĂi hĂ toÂč Ÿé gĂšc ÂźâĂźc biĂu diĂn bĂ«i ma trĂn :
T2 = A1.A2 CĂČng nhâ vĂy, A3 m« t¶ kh©u thĂž ba so vĂi kh©u thĂž hai v” :
T3 = A1.A2.A3 ; v.v...
CĂČng theo Denavit, tĂch cña cžc ma trĂn A ÂźâĂźc gĂ€i l” ma trĂn T, thâĂȘng cĂŁ hai chĂ sĂš: trÂȘn v” dâĂi. ChĂ sĂš trÂȘn chĂ hĂ toÂč Ÿé tham chiĂu tĂi, bĂĄ qua chĂ sĂš trÂȘn nĂu chĂ sĂš Ÿã b»ng 0. ChĂ sĂš dâĂi thâĂȘng dĂŻng Ÿà chĂ kh©u chĂp h”nh cuĂši. NĂu mĂ©t robot cĂŁ 6 kh©u ta cĂŁ :
T6 = A1.A2.A3.A4.A5.A6 (3.1)
T6 m« t¶ mĂši quan hĂ vĂ hâĂng v” vĂ trĂ cña kh©u chĂp h”nh cuĂši ŸÚi vĂi hĂ toÂč Ÿé gĂšc. MĂ©t robot 6 kh©u cĂŁ thĂ cĂŁ 6 bĂc tĂč do v” cĂŁ thĂ ÂźâĂźc ÂźĂnh vĂ trĂ v” ÂźĂnh hâĂng trong trâĂȘng vĂn Ÿéng cña nĂŁ (range of motion). Ba bĂc tĂč do xžc ÂźĂnh vĂ trĂ thuĂn tuĂœ v” ba bĂc tĂč do khžc xžc ÂźĂnh hâĂng mong muĂšn. T6 sĂ l” ma trĂn trĂnh b”y c¶ hâĂng v” vĂ trĂ cña robot. HĂnh 3.1 m« t¶ quan hà Ÿã vĂi b”n tay mžy. Ta ÂźĂt gĂšc toÂč Ÿé cña hĂ m« t¶ tÂči ÂźiĂm giĂ·a cña cžc ngĂŁn tay. GĂšc toÂč Ÿé nĂy ÂźâĂźc m« t¶ bĂ«i vectÂŹ p (xžc ÂźĂnh vĂ trĂ cña b”n tay). Ba vectÂŹ Ÿn vĂ m« t¶ hâĂng cña b”n tay ÂźâĂźc xžc ÂźĂnh nhâ sau :
np
a o
HĂnh 3.1 : Cžc vectÂŹ ÂźĂnh vĂ trĂ v” ÂźĂnh hâĂng cña b”n tay mžy
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 28
â VectÂŹ cĂŁ hâĂng m” theo Ÿã b”n tay sĂ tiĂp cĂn ÂźĂn ŸÚi tâĂźng, gĂ€i l” vectÂŹ a (approach).
â VectÂŹ cĂŁ hâĂng m” theo Ÿã cžc ngĂŁn tay cña b”n tay nŸm v”o nhau khi cĂm nŸm ŸÚi tâĂźng, gĂ€i l” vectÂŹ o (Occupation).
â VectÂŹ cuĂši cĂŻng l” vectÂŹ phžp tuyĂn n (normal), do vĂy ta cĂŁ : ax o= n rrr
ChuyĂn vĂ T6 nhâ vĂy sĂ bao gĂ„m cžc phĂn tö :
nx Ox ax px T6 = ny Oy ay py (3.2)
nz Oz az pz 0 0 0 1
TĂŠng qužt, ma trĂn T6 cĂŁ thĂ biĂu diĂn gĂ€n hÂŹn nhâ sau :
Ma trĂn ÂźĂnh hâĂng R VectÂŹ vĂ trĂ p (3.3)
T6 = 0 0 0 1
Ma trĂn R cĂŁ kĂch thâĂc 3x3, l” ma trĂn trĂčc giao biĂu diĂn hâĂng cña b”n kĂp (kh©u
chĂp h”nh cuĂši) ŸÚi vĂi hĂ toÂč Ÿé cÂŹ b¶n. ViĂc xžc ÂźĂnh hâĂng cña kh©u chĂp h”nh cuĂši cĂn cĂŁ thĂ thĂčc hiĂn theo phĂp quay Euler hay phĂp quay Roll, Pitch, Yaw. VectÂŹ ÂźiĂm pr cĂŁ kĂch thâĂc 3x1, biĂu diĂn mĂši quan hĂ tĂ€a Ÿé vĂ trĂ cña cña gĂšc hĂ tĂ€a Ÿé gŸn trÂȘn kh©u chĂp h”nh cuĂši ŸÚi vĂi hĂ toÂč Ÿé cÂŹ b¶n. 3.2. BĂ© th«ng sĂš Denavit-Hartenberg (DH) : MĂ©t robot nhiĂu kh©u cĂu th”nh tĂ” cžc kh©u nĂši tiĂp nhau th«ng qua cžc khĂp Ÿéng. GĂšc chuĂn (Base) cña mĂ©t robot l” kh©u sĂš 0 v” kh«ng tĂnh v”o sĂš cžc kh©u. Kh©u 1 nĂši vĂi kh©u chuĂn bĂ«i khĂp 1 v” kh«ng cĂŁ khĂp Ă« ÂźĂu mĂłt cña kh©u cuĂši cĂŻng. BĂt kĂș kh©u n”o cĂČng ÂźâĂźc ÂźĂc trâng bĂ«i hai kĂch thâĂc :
§é d”i phžp tuyĂn chung : an . GĂŁc giĂ·a cžc trĂŽc trong mĂt phÂŒng vu«ng gĂŁc vĂi an : αn.
a
KhĂp n KhĂp n+1
αn
Kh©u n
HĂnh 3.5 : ChiĂu d”i v” gĂŁc xoŸn cña 1 kh©u. Th«ng thâĂȘng, ngâĂȘi ta gĂ€i an l” chiĂu d”i v” αn l” gĂŁc xoŸn cña kh©u (HĂnh 3.5). PhĂŠ biĂn l” hai kh©u liÂȘn kĂt vĂi nhau Ă« chĂnh trĂŽc cña khĂp (HĂnh 3.6).
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 29
Ξn+1
Kh©u n+1
KhĂp n-1 KhĂp n+1KhĂp n
xn
an
zn
On
Kh©u nKh©u n-1
dn zn-1xn-1
Ξn
αn
ΞnΞn-1
Kh©u n-2
HĂnh 3.6 : Cžc th«ng sĂš cña kh©u : Ξ, d, a v” α. Mçi trĂŽc sĂ cĂŁ hai phžp tuyĂn vĂi nĂŁ, mçi phžp tuyĂn dĂŻng cho mçi kh©u (trâĂc v” sau mĂ©t khĂp). VĂ trĂ tâÂŹng ŸÚi cña hai kh©u liÂȘn kĂt nhâ thĂ ÂźâĂźc xžc ÂźĂnh bĂ«i dn l” kho¶ng cžch giĂ·a cžc phžp tuyĂn Âźo dĂ€c theo trĂŽc khĂp n v” Ξn l” gĂŁc giĂ·a cžc phžp tuyĂn Âźo trong mĂt phÂŒng vu«ng gĂŁc vĂi trĂŽc. dn v” Ξn thâĂȘng ÂźâĂźc gĂ€i l” kho¶ng cžch v” gĂŁc giĂ·a cžc kh©u. §à m« t¶ mĂši quan hĂ giĂ·a cžc kh©u ta gŸn v”o mçi kh©u mĂ©t hĂ toÂč Ÿé. NguyÂȘn tŸc chung Ÿà gŸn hĂ tĂ€a Ÿé lÂȘn cžc kh©u nhâ sau :
+ GĂšc cña hĂ toÂč Ÿé gŸn lÂȘn kh©u thĂž n ÂźĂt tÂči giao ÂźiĂm cña phžp tuyĂn an vĂi trĂŽc khĂp thĂž n+1. TrâĂȘng hĂźp hai trĂŽc khĂp cŸt nhau, gĂšc toÂč Ÿé sĂ ÂźĂt tÂči chĂnh ÂźiĂm cŸt Ÿã. NĂu cžc trĂŽc khĂp song song vĂi nhau, gĂšc toÂč Ÿé ÂźâĂźc chĂ€n trÂȘn trĂŽc khĂp cña kh©u kĂ tiĂp, tÂči ÂźiĂm thĂch hĂźp.
+ TrĂŽc z cña hĂ toÂč Ÿé gŸn lÂȘn kh©u thĂž n ÂźĂt dĂ€c theo trĂŽc khĂp thĂž n+1. + TrĂŽc x thâĂȘng ÂźâĂźc ÂźĂt dĂ€c theo phžp tuyĂn chung v” hâĂng tĂ” khĂp n ÂźĂn n+1.
Trong trâĂȘng hĂźp cžc trĂŽc khĂp cŸt nhau thĂ trĂŽc x chĂ€n theo tĂch vectÂŹ . 1-nn zx z rr
TrâĂȘng hĂźp khĂp quay thà Ξn l” cžc biĂn khĂp, trong trâĂȘng hĂźp khĂp tĂnh tiĂn thĂ dn l” biĂn khĂp v” an b»ng 0. Cžc th«ng sĂš an, αn, dn v” Ξn ÂźâĂźc gĂ€i l” bĂ© th«ng sĂš DH. VĂ dĂŽ 1 : XĂt mĂ©t tay mžy cĂŁ hai kh©u phÂŒng nhâ hĂnh 3.7 :
Ξ1
Ξ2
a1 a2
O0z1
z2
x1
y1
y2
O1
O2
z0x0
y0
x2
HĂnh 3.7 : Tay mžy cĂŁ hai kh©u phÂŒng (vĂ trĂ bĂt kĂș).
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 30
Ta gŸn cžc hĂ toÂč Ÿé lÂȘn cžc kh©u nhâ hĂnh vĂ : trĂŽc z0, z1 v” z2 vu«ng gĂŁc vĂi tĂȘ giĂy. HĂ toÂč Ÿé cÂŹ sĂ« l” O0x0y0z0, chiĂu cña x0 hâĂng tĂ” O0 ÂźĂn O1. Sau khi thiĂt lĂp hĂ toÂč Ÿé cÂŹ sĂ«, HĂ toÂč Ÿé o1x1y1z1 cĂŁ hâĂng nhâ hĂnh vĂ, O1 ÂźĂt tÂči t©m trĂŽc khĂp 2. HĂ toÂč Ÿé O2x2y2x2 cĂŁ gĂšc O2 ÂźĂt Ă« ÂźiĂm cuĂši cña kh©u 2.
B¶ng th«ng sĂš Denavit-Hartenbert cña tay mžy nĂy nhâ sau :
Kh©u Ξi αiai di
1 Ξ1* 0 a1 0
2 Ξ2* 0 a2 0
Trong Ÿã Ξi l” cžc biĂn khĂp (dĂŻng dĂu * Ÿà kĂœ hiĂu cžc biĂn khĂp). VĂ dĂŽ 2 : Xem sÂŹ ŸÄ robot SCARA cĂŁ 4 kh©u nhâ hĂnh 3.8 : §©y l” robot cĂŁ cĂu hĂnh kiĂu RRTR, b”n tay cĂŁ chuyĂn Ÿéng xoay xung quanh trĂŽc
ŸÞng. HĂ toÂč Ÿé gŸn lÂȘn cžc kh©u nhâ hĂnh vĂ.
HĂnh 3.8 : Robot SCARA v” cžc hĂ toÂč Ÿé (vĂ trĂ ban ÂźĂu).
O0
Ξ1x0
x1d3
x2
x3
x
z3, z4
Ξ2
Ξ4
O3
O4
z0 z1
z2a1
a2
O1O2
d4
§Úi vĂi tay mžy nĂy cžc trĂŽc khĂp ÂźĂu song song nhau, Ÿà tiĂn lĂźi tĂt c¶ cžc gĂšc toÂč Ÿé ÂźĂt tÂči t©m cžc trĂŽc khĂp. TrĂŽc x0 n»m trong mĂt phÂŒng tĂȘ giĂy. Cžc hĂ toÂč Ÿé khžc nhâ hĂnh vĂ. B¶ng th«ng sĂš DH cña robot SCARA nhâ sau :
Kh©u Ξi αi
ai di
1 Ξ1* 0 a1 0
2 Ξ2* 1800 a2 0
3 0 0 0 d3*
4 Ξ4* 0 0 d4
* : Cžc biĂn khĂp.
3.3. §Ăc trâng cña cžc ma trĂn A :
TrÂȘn cÂŹ sĂ« cžc hĂ toÂč Ÿé Ÿ· Ăn ÂźĂnh cho tĂt c¶ cžc kh©u liÂȘn kĂt cña robot, ta cĂŁ thĂ
thiĂt lĂp mĂši quan hĂ giĂ·a cžc hĂ toÂč Ÿé nĂši tiĂp nhau (n-1), (n) bĂ«i cžc phĂp quay v” tĂnh tiĂn sau Ÿ©y :
Quay quanh zn-1 mĂ©t gĂŁc Ξn TĂnh tiĂn dĂ€c theo zn-1 mĂ©t kho¶ng dn TĂnh tiĂn dĂ€c theo xn-1 = xn mĂ©t ÂźoÂčn an Quay quanh xn mĂ©t gĂŁc xoŸn αn
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 31
BĂšn phĂp biĂn ŸÊi thuĂn nhĂt nĂy thĂ hiĂn quan hĂ cña hĂ toÂč Ÿé thuĂ©c kh©u thĂž n so
vĂi hĂ toÂč Ÿé thuĂ©c kh©u thĂž n-1 v” tĂch cña chĂłng ÂźâĂźc gĂ€i l” ma trĂn A : An = Rot(z,Ξ) Trans(0,0,d) Trans(a,0,0) Rot(x,α) (3.4)
cosΞ -sinΞ 0 0 1 0 0 a 1 0 0 0
An = sinΞ cosΞ 0 0 0 1 0 0 0 cosα -sinα 0 0 0 1 0 0 0 1 d 0 sinα cosα 0 0 0 0 1 0 0 0 1 0 0 0 1
cosΞ -sinΞ cosα sinΞ sinα a cosΞ
An = sinΞ cosΞ cosα -cosΞ sinα a sinΞ (3.5) 0 sinα cosα d 0 0 0 1
§Úi vĂi khĂp tĂnh tiĂn (a = 0 v” Ξi = 0) thĂ ma trĂn A cĂŁ dÂčng :
1 0 0 0 An = 0 cosα - sinα 0 (3.6)
0 sinα cosα d 0 0 0 1
§Úi vĂi mĂ©t kh©u Âźi theo mĂ©t khĂp quay thĂ d, a v” α l” h»ng sĂš. Nhâ vĂy ma trĂn A cña khĂp quay l” mĂ©t h”m sĂš cña biĂn khĂp Ξ. §Úi vĂi mĂ©t kh©u Âźi theo mĂ©t khĂp tĂnh tiĂn thà Ξ, α l” h»ng sĂš. Ma trĂn A cña khĂp tĂnh tiĂn l” mĂ©t h”m sĂš cña biĂn sĂš d. NĂu cžc biĂn sĂš ÂźâĂźc xžc ÂźĂnh thĂ giž trĂ cña cžc ma trĂn A theo Ÿã cĂČng ÂźâĂźc xžc ÂźĂnh. 3.4. Xžc ÂźĂnh T6 theo cžc ma trĂn An : Ta Ÿ· biĂt : T6 = A1A2A3A4A5A6
Trong Ÿã T6 ÂźâĂźc miÂȘu t¶ trong hĂ toÂč Ÿé gĂšc (hĂ toÂč Ÿé gŸn vĂi kh©u cÂŹ b¶n cĂš ÂźĂnh cña robot). NĂu m« t¶ T6 theo cžc hĂ toÂč Ÿé trung gian thĂž n-1 thĂ :
= 6
1 n Tâ Aii n=â
6
X
Z
T6E
A
OR
Trong trâĂȘng hĂźp tĂŠng qužt, khi xĂt quan hĂ cña robot vĂi cžc thiĂt bĂ khžc, nĂu hĂ toÂč Ÿé cÂŹ b¶n cña robot cĂŁ liÂȘn hĂ vĂi mĂ©t hĂ toÂč Ÿé n”o Ÿã bĂ«i phĂp biĂn ŸÊi Z, Kh©u chĂp h”nh cuĂši lÂči cĂŁ gŸn mĂ©t c«ng cĂŽ, cĂŁ quan hĂ vĂi vĂt thĂ bĂ«i phĂp biĂn ŸÊi E (hĂnh 3.9) thĂ vĂ trĂ v” hâĂng cña ÂźiĂm cuĂši cña c«ng cĂŽ, kh¶o sžt Ă« hĂ toÂč Ÿé tham chiĂu m« t¶ bĂ«i X sĂ ÂźâĂźc xžc ÂźĂnh bĂ«i :
HĂnh 3.9 : VĂt thĂ v” Robot
X= Z T6E
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 32
Quan hĂ nĂy ÂźâĂźc thĂ hiĂn trÂȘn tožn ŸÄ sau :
A1 A2 A3 A4 A5
65T
64T
63T
62T
61T
6T
OR OR
Z E XAO0
HĂnh 3.10 : Tožn ŸÄ chuyĂn vĂ cña robot. TĂ” tožn ŸÄ nĂy ta cĂŁ thĂ rĂłt ra : T6 = Z-1 X E-1
(Z-1 v” E-1 l” cžc ma trĂn nghĂch ٦o). 3.5. TrĂnh tĂč thiĂt lĂp hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot : §à thiĂt lĂp hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot, ta tiĂn h”nh theo cžc bâĂc sau : 1. ChĂ€n hĂ toÂč Ÿé cÂŹ sĂ«, gŸn cžc hĂ toÂč Ÿé mĂ« rĂ©ng lÂȘn cžc kh©u. ViĂc gŸn hĂ toÂč Ÿé lÂȘn cžc kh©u Ÿãng vai trĂ rĂt quan trĂ€ng khi xžc lĂp hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot, th«ng thâĂȘng Ÿ©y cĂČng l” bâĂc khĂŁ nhĂt. NguyÂȘn tŸc gŸn hĂ toÂč Ÿé lÂȘn cžc kh©u Ÿ· ÂźâĂźc trĂnh b”y mĂ©t cžch tĂŠng qužt trong phĂn 3.5. Trong thĂčc tĂ, cžc trĂŽc khĂp cña robot thâĂȘng song song hoĂc vu«ng gĂŁc vĂi nhau, ŸÄng thĂȘi th«ng qua cžc phĂp biĂn ŸÊi cña ma trĂn A ta cĂŁ thĂ xžc ÂźĂnh cžc hĂ toÂč Ÿé gŸn trÂȘn cžc kh©u cña robot theo trĂnh tĂč sau : + Gi¶ ÂźĂnh mĂ©t vĂ trĂ ban ÂźĂu(âŠ) (Home Position) cña robot. + ChĂ€n gĂšc toÂč Ÿé O0, O1, ... + Cžc trĂŽc zn ph¶i chĂ€n cĂŻng phâÂŹng vĂi trĂŽc khĂp thĂž n+1. + ChĂ€n trĂŽc xn l” trĂŽc quay cña zn th”nh zn+1 v” gĂŁc cña zn vĂi zn+1 chĂnh l” αn+1. NĂu zn v” zn+1 song song hoĂc trĂŻng nhau thĂ ta cĂŁ thĂ cšn cĂž nguyÂȘn tŸc chung hay chĂ€n xn theo xn+1. + Cžc hĂ toÂč Ÿé Oxyz ph¶i tu©n theo qui tŸc b”n tay ph¶i. + Khi gŸn hĂ toÂč Ÿé lÂȘn cžc kh©u, ph¶i tu©n theo cžc phĂp biĂn ŸÊi cña ma trĂn An. Ÿã l” bĂšn phĂp biĂn ŸÊi : An = Rot(z,Ξ) Trans(0,0,d) Trans(a,0,0) Rot(x,α). NghĂa l” ta coi hĂ toÂč Ÿé thĂž n+1 l” biĂn ŸÊi cña hĂ toÂč Ÿé thĂž n; cžc phĂp quay v” tĂnh tiĂn cña biĂn ŸÊi nĂy ph¶i l” mĂ©t trong cžc phĂp biĂn ŸÊi cña An, cžc th«ng sĂš DH cĂČng ÂźâĂźc xžc ÂźĂnh dĂča v”o cžc phĂp biĂn ŸÊi nĂy. Trong quž trĂnh gŸn hĂ tĂ€a Ÿé lÂȘn cžc kh©u, nĂu xuĂt hiĂn phĂp quay cña trĂŽc zn ŸÚi vĂi zn-1 quanh trĂŽc yn-1 thĂ vĂ trĂ ban ÂźĂu cña robot Ÿ· gi¶ ÂźĂnh l” kh«ng Ÿóng, ta cĂn chĂ€n lÂči vĂ trĂ ban ÂźĂu khžc cho robot. 2. LĂp b¶ng th«ng sĂš DH (Denavit Hartenberg). 3. DĂča v”o cžc th«ng sĂš DH xžc ÂźĂnh cžc ma trĂn An. 4. TĂnh cžc ma trĂn T v” viĂt cžc phâÂŹng trĂnh Ÿéng hĂ€c cña robot.
(âŠ) VĂ trĂ ban ÂźĂu l” vĂ trĂ m” cžc biĂn nhĂn giž trĂ ban ÂźĂu, thâĂȘng b»ng 0.
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 33
VĂ dĂŽ sau Ÿ©y trĂnh b”y chi tiĂt cña cžc bâĂc khi thiĂt lĂp hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot :
Cho mĂ©t robot cĂŁ ba kh©u, cĂu hĂnh RRT nhâ hĂnh 3.11. H·y thiĂt lĂp hĂ phâÂŹng trĂnh
Ÿéng hĂ€c cña robot. 1. GŸn hĂ toÂč Ÿé lÂȘn cžc kh©u : Ta gi¶ ÂźĂnh vĂ trĂ ban ÂźĂu v” chĂ€n gĂšc toÂč Ÿé O0 cña robot nhâ hĂnh 3.12. Cžc trĂŽc z ÂźĂt cĂŻng phâÂŹng vĂi cžc trĂŽc khĂp. Ta thĂy trĂŽc z1 Ÿ· quay tâÂŹng ŸÚi mĂ©t gĂŁc 900 so vĂi trĂŽc z0, Ÿ©y chĂnh l” phĂp quay quanh trĂŽc x0 mĂ©t gĂŁc α1 (phĂp biĂn ŸÊi Rot(x0,α1) trong biĂu thĂžc tĂnh An). NghĂa l” trĂŽc x0 vu«ng gĂŁc vĂi z0 v” z1. Ta chĂ€n chiĂu cña x0 tĂ” trži sang ph¶i thĂ gĂŁc quay α1=900 (chiĂu dâÂŹng ngâĂźc chiĂu kim ŸÄng hĂ„). §Äng thĂȘi ta cĂČng thĂy gĂšc O1 Ÿ· tĂnh tiĂn mĂ©t ÂźoÂčn dĂ€c theo z0 , so vĂi O0, Ÿã chĂnh l” phĂp biĂn ŸÊi Trans(0,0,d1) (tĂnh tiĂn dĂ€c theo z0 mĂ©t ÂźoÂčn d1) ; cžc trĂŽc y0,v” y1 xžc ÂźĂnh theo qui tŸc b”n tay ph¶i (HĂnh 3.12 ) . TiĂp tĂŽc chĂ€n gĂšc tĂ€a Ÿé O2 ÂźĂt trĂŻng vĂi O1 vĂ trĂŽc khĂp thĂž ba v” trĂŽc khĂp thĂž hai cŸt nhau tÂči O1 (nhâ hĂnh 3.12). TrĂŽc z2 cĂŻng phâÂŹng vĂi trĂŽc khĂp thĂž ba, tĂžc l” Ÿ· quay Âźi mĂ©t gĂŁc 900 so vĂi z1 quanh trĂŽc y1; phĂp biĂn ŸÊi nĂy kh«ng cĂŁ trong biĂu thĂžc tĂnh An nÂȘn kh«ng dĂŻng ÂźâĂźc, ta cĂn chĂ€n lÂči vĂ trĂ ban ÂźĂu cña robot (thay ŸÊi vĂ trĂ cña kh©u thĂž 3) nhâ hĂnh 3.13.
Theo hĂnh 3.13, O2 vĂn ÂźâĂźc ÂźĂt trĂŻng vĂi O1, trĂŽc z2 cĂŁ phâÂŹng thÂŒng ŸÞng, nghĂa l” ta Ÿ· quay trĂŽc z1 th”nh z2 quanh trĂŽc x1 mĂ©t gĂŁc -900 (tĂžc α2= -900).
§Ău cuĂši cña kh©u thĂž 3 kh«ng cĂŁ khĂp, ta ÂźĂt O3 tÂči ÂźiĂm giĂ·a cña cžc ngĂŁn tay, v” trĂŽc z3, x3 chĂ€n nhâ hĂnh vĂ, nhâ vĂy ta Ÿ· tĂnh tiĂn gĂšc toÂč Ÿé dĂ€c theo z2 mĂ©t ÂźoÂčn d3 (PhĂp biĂn ŸÊi Trans(0,0,d3)), và Ÿ©y l” kh©u tĂnh tiĂn nÂȘn d3 l” biĂn .
HĂnh 3.12 : GŸn cžc hĂ toÂč Ÿé O0 v” O1
y1
x1
y0
z1z2
O1 , O2
O0
z0
Ξ1
Ξ2 d3
x0
d1
Ξ1
Ξ2 d3
HĂnh 3.11 : Robot RRT
⥠x2
O3
⥠O2
⥠z2
z3
z0
O0x0
O1
y1
d1
x1
y0
z1
Ξ1
Ξ2
d3
x3
d3
HĂnh 3.13 : HĂ toÂč Ÿé gŸn lÂȘn cžc kh©u
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 34
Nhâ vĂy viĂc gŸn cžc hĂ toÂč Ÿé lÂȘn cžc kh©u cña robot Ÿ· ho”n th”nh. Th«ng qua cžc ph©n tĂch trÂȘn Ÿ©y, ta cĂŁ thĂ xžc ÂźĂnh ÂźâĂźc cžc th«ng sĂš DH cña robot. 2. LĂp b¶ng th«ng sĂš DH :
Kh©u Ξi αiai di
1 Ξ1* 90 0 d1
2 Ξi* -90 0 0
3 0 0 0 d3*
3. Xžc ÂźĂnh cžc ma trĂn A : Ma trĂn An cĂŁ dÂčng :
cosΞ -sinΞ cosα sinΞ sinα 0An = sinΞ cosΞ cosα -cosΞ sinα 0
0 sinα cosα d 0 0 0 1
VĂi qui âĂc viĂt tŸt : C1 = cosΞ1 ; S1 = sinΞ1 ; C2 = cosΞ2 . . .
C1 0 S1 0 A1 = S1 0 -C1 0
0 1 0 d1
0 0 0 1
C2 0 -S2 0 A2 = S2 0 C2 0
0 -1 0 0 0 0 0 1
1 0 0 0
A3 = 0 1 0 0 0 0 1 d3
0 0 0 1 4. TĂnh cžc ma trĂn biĂn ŸÊi thuĂn nhĂt T :
+ Ma trĂn 2T3 = A3
+ Ma trĂn 1T3 = A2. 2T3
C2 0 -S2 0 1 0 0 0 C2 0 -S2 -S2*d3
1T3 = S2 0 C2 0 0 1 0 0 = S2 0 C2 C2*d3 0 -1 0 d2 0 0 1 d3 0 -1 0 0 0 0 0 1 0 0 0 1 0 0 0 1
+ Ma trĂn T3 = A1 . 1T3
C1 0 S1 0 C2 0 -S2 -S2*d3
T3 = S1 0 -C1 0 S2 0 C2 C2*d3 0 1 0 d1 0 -1 0 0 0 0 0 1 0 0 0 1
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 35
C1C2 -S1 -C1S2 -C1S2d3 = S1d2 C1 -S1S2 -S1S2d3 S2 0 C2 C2d3 + d1 0 0 0 1
Ta cĂŁ hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot nhâ sau :
nx = C1C2; Ox = -S1; ax = -C1S2; px = -C1S2d3
ny = S1C2; Oy = C1; ay = -S1S2; py = -S1S2d3
nz = S2Oz = 0; az = C2; pz = C2d3 + d1;
(Ta cĂŁ thĂ sÂŹ bĂ© kiĂm tra kĂt qu¶ tĂnh tožn b»ng cžch dĂča v”o toÂč Ÿé vĂ trĂ px,py, pz Ÿ· tĂnh so vĂi cžch tĂnh hĂnh hĂ€c trÂȘn hĂnh vĂ). 3.9. HĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot STANFORD : Stanford l” mĂ©t robot cĂŁ 6 kh©u vĂi cĂu hĂnh RRT.RRR (Kh©u thĂž 3 chuyĂn Ÿéng tĂnh tiĂn, nšm kh©u cĂn lÂči chuyĂn Ÿéng quay). KĂt cĂu cña robot Stanford nhâ hĂnh 3.14 :
HĂnh 3.14 : Robot Stanford
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 36
TrÂȘn hĂnh 3.15 trĂnh b”y m« hĂnh cña robot Stanford vĂi viĂc gŸn cžc hĂ toÂč Ÿé lÂȘn tĂ”ng kh©u. §à Ÿn gi¶n trong khi viĂt cžc phâÂŹng trĂnh Ÿéng hĂ€c cña robot, ta qui âĂc cžch viĂt tŸt cžc h”m lâĂźng gižc nhâ sau : C1 = cosΞ1; S1 = sinΞ1; C12 = cos(Ξ1+Ξ2); S12 = sin(Ξ1+Ξ2) S234 = sin (Ξ2+Ξ3+Ξ4) ... . HĂ toÂč Ÿé gŸn lÂȘn cžc kh©u cña robot nhâ hĂnh 3.15. (Kh©u cuĂši cĂŁ chiĂu d”i v” kho¶ng cžch b»ng kh«ng, Ÿà cĂŁ thĂ gŸn cžc loÂči c«ng cĂŽ khžc nhau nÂȘn chĂ€n O6âĄO5). B¶ng th«ng sĂš DH (Denavit-Hartenberg) cña robot Stanford nhâ sau :
Kh©u Ξi αiai di
1 Ξ1* -900 0 0 2 Ξ2* 900 0 d2
3 0 0 0 d3* 4 Ξ4* -900 0 0 5 Ξ5* 900 0 0 6 Ξ6* 0 0 0
(* : Cžc biĂn khĂp). Cžc ma trĂm A cña robot Stanford ÂźâĂźc xžc ÂźĂnh nhâ sau :
C1 0 -S1 0 C2 0 S2 0 A1= S1 0 C1 0 A2= S2 0 -C2 0
0 -1 0 0 0 1 0 d2 0 0 0 1 0 0 0 1
1 0 0 0 C4 0 -S4 0
A3= 0 1 0 0 A4= S4 0 C4 0 0 0 1 d3 0 -1 0 0 0 0 0 1 0 0 0 1
C5 0 S5 0 C6 -S6 0 0
A5= S5 0 -C5 0 A6= S6 C6 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1
d2 d3
z4z3,z5,z6
z2
O0,O1
xi
x0
z0
z1
HĂnh 3.15 : HĂ toÂč Ÿé cña Robot Stanford
O3,O4,O5,O6
x1
O2
TĂch cña cžc ma trĂn chuyĂn vĂ A ŸÚi vĂi robot Stanford ÂźâĂźc bŸt ÂźĂu Ă« kh©u 6 v”
chuyĂn dĂn vĂ gĂšc; theo thĂž tĂč nĂy ta cĂŁ :
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 37
C6 -S6 0 0 T6
5 = S6 C6 0 0 0 0 1 0 0 0 0 1
C5C6 -C5S6 S5 0
T64 = A5A6 = S5C6 -S5S6 -C5 0
S6 C6 0 0 0 0 0 1
C4C5C6 - S4S6 -C4C5S6-S4C6 C4S5 0
T63 = A4A5A6 = S4C5C6 + C4S6 -S4C5S6 + C4C6 S4S5 0
-S5C6 S5S6 C5 0 0 0 0 1
C4C5C6-S4S6 -C4C5S6 - S4C6 C4S5 0
T62 = A3A4A5A6 = S4C5C + C4S6 -S4C5S6 + C4C6 S4S5 0
-S5C6 S5S6 C5 d3 0 0 0 1
C2(C4C5C6 - S4S6) - S2S5C6 -C2(C4C5S6-S4C6)+S2S5S6
T61 =A2 A3A4A5A6 = S2(C4C5C6 - S4S6) + C2S5C6 -S2(C4C5S6+S4C6)-C2S5S6
S4C5C6 + C4S6 -S4C5S6+C4C6 0 0
C2C4S5 + S2C5 S2d3S2C4S5 - C2C5 -C2d3
S4S5 d20 1
CuĂši cĂŻng : nx Ox ax px
T6 = ny Oy ay py = A1T61
nz Oz az pz 0 0 0 1
§à tĂnh T6, ta ph¶i nh©n A1 vĂi T6
1 sau Ÿã c©n b»ng cžc phĂn tö cña ma trĂn T6 Ă« hai vĂ ta ÂźâĂźc mĂ©t hĂ thĂšng cžc phâÂŹng trĂnh sau :
nx = C1[C2(C4C5C6 - S4S6) - S2S5C6] - S1(S4C5C6 + C4S6) ny = S1[C2(C4C5C6 - S4S6) - S2S5C6] + C1(S4C5C6 + C4S6) nz = -S2(C4C5C6 - S4S6) + C2S5C6Ox = C1[-C2(C4C5S6 + S4C6) + S2S5S6] - S1(-S4C5S6 + C4C6) Oy = S1[-C2(C4C5S6 + S4C6) + S2S5S6] + C1(-S4C5C6 + C4C6) Oz = S2(C4C5S6 + S4C6) + C2S5S6aX = C1(C2C4S5 + S2C5) - S1S4S5ay = S1(C2C4S5 + S2C5) + C1S4S5az = -S2C4S5 + C2C5px = C1S2d3 - S1d2py = S1S2d3 + C1d2pz = C2d3
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 38
NĂu ta biĂt ÂźâĂźc cžc giž trĂ cña biĂn khĂp, thĂ vĂ trĂ v” hâĂng cña b”n tay robot sĂ tĂm ÂźâĂźc b»ng cžch xžc ÂźĂnh cžc giž trĂ cžc phĂn tö cña T6 theo cžc phâÂŹng trĂnh trÂȘn.
Cžc phâÂŹng trĂnh trÂȘn gĂ€i l” hĂ phâÂŹng trĂnh Ÿéng hĂ€c thuĂn cña robot Stanford.
3.10. HĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot ELBOW :
§à hiĂu rĂą hÂŹn vĂ cžch thiĂt lĂp hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot, ta xĂt thÂȘm trâĂȘng hĂźp robot Elbow.
Kh©u 1
Kh©u 2 Kh©u 3
Kh©u 4
Kh©u 5
Kh©u 6
HĂnh 1.16 : Robot Elbow
Ξ1
Ξ2
Ξ3 Ξ4
Ξ6
z4
z0
a5 = a6 = 0
z2z3 z5,z6
xi
O0,O1 a2
a3 a4Ξ5
O2,O5,O6 O3
O2 z1
HĂnh 1.17 : VĂ trĂ ban ÂźĂu cña robot Elbow v” cžc hĂ toÂč Ÿé
Bé th«ng sÚ DH cña robot Elbow
Kh©u Ξi* αi
ai di
1 Ξ1900 0 0
2 Ξ20 a2 0
3 Ξ30 a3 0
4 Ξ4-900 a4 0
5 Ξ5900 0 0
6 Ξ60 0 0
(* : cžc biĂn khĂp ) Cžc ma trĂn A cña robot Elbow ÂźâĂźc xžc ÂźĂnh nhâ sau :
C1 0 S1 0 C2 -S2 0 C2a2
A1= S1 0 -C1 0 A2= S2 C2 0 S2a2
0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 39
C3 -S3 0 C3a3 C4 0 -S4 C4a4
A3= S3 C3 0 S3a3 A4= S4 0 C4 S4a4
0 0 1 0 0 -1 0 0 0 0 0 1 0 0 0 1
C5 0 S5 0 C6 -S6 0 0
A5= S5 0 -C5 0 A6= S6 C6 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1
Ta xžc ÂźĂnh cžc ma trĂn T theo cžc hĂ toÂč Ÿé lĂn lâĂźt tĂ” kh©u cuĂši trĂ« vĂ gĂšc :
C6 -S6 0 0 T6
5 = S6 C6 0 0 0 0 1 0 0 0 0 1
C5C6 -C5S6 S5 0
T64 = A5A6 = S5C6 -S5S6 -C5 0
S6 C6 0 0 0 0 0 1
C4C5C6 - S4S6 -C4C5S6-S4C6 C4S5 C4a4T6
3 = A4A5A6 = S4C5C6+C4S6 -S4C5S6+C4C6 S4S5 S4a4 -S5C6 S5S6 C5 0 0 0 0 1
C34C5C6 - S34S6 -C34C5C6 - S34C6 C34S5 C34a4+C3a3
T62 = A3A4A5A6 = S34C5C6+C34S6 -S34C5S6+C34C6 S34S5 S34a4+S3a3
-S5C6 S5S6 C5 0 0 0 0 1
T6
1 =A2 A3A4A5A6 =
C234C5C6 - S234S6 -C234C5S6 - S234C6 C234S5 C234a4+C23a3+C2a2S234C5C6 + C234S6 -S234C5S6 + C234C6 S234S5 S234a4+S23a3+S2a2
-S5C6 S5S6 C5 0 0 0 0 1
CuĂši cĂŻng : nx Ox ax px
T6 = ny Oy ay py = A1T61
nz Oz az pz 0 0 0 1
§à tĂnh T6, ta ph¶i nh©n A1 vĂi T6
1 sau Ÿã c©n b»ng cžc phĂn tö cña ma trĂn T6 ta ÂźâĂźc mĂ©t hĂ thĂšng cžc phâÂŹng trĂnh sau :
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 40
nx = C1(C234C5C6- S234S6) - S1S5C6ny = S1(C234C5C6- S234S6) + C1S5C6nz = S234C5C6 + C234S6Ox = -C1(C234C5S6 + S234C6) + S1S5S6Oy = -S1(C234C5S6 + S234C6) - C1S5S6Oz = -S234C5S6 + C234C6aX = C1C234S5 + S1C5ay = S1C234S5 - C1C5az = S234S5px = C1(C234a4 + C23a3 + C2a2) py = S1(C234a4 + C23a3 + C2a2) pz = S234a4 + S23a3 + S2a2
CĂ©t ÂźĂu tiÂȘn cña ma trĂn T6 cĂŁ thĂ ÂźâĂźc xžc ÂźĂnh bĂ«i tĂch vectÂŹ :
r r rn = O x a. 3.11. KĂt luĂn :
Trong châÂŹng nĂy chĂłng ta Ÿ· nghiÂȘn cĂžu viĂc dĂŻng cžc phĂp biĂn ŸÊi thuĂn nhĂt Ÿà m« t¶ vĂ trĂ v” hâĂng cña kh©u chĂp h”nh cuĂši cña robot th«ng qua viĂc xžc lĂp cžc hĂ toÂč Ÿé gŸn lÂȘn cžc kh©u v” cžc th«ng sĂš DH. PhâÂŹng phžp nĂy cĂŁ thĂ dĂŻng cho bĂt cĂž robot n”o vĂi sĂš kh©u (khĂp) tuĂș Ăœ. Trong quž trĂnh xžc lĂp cžc hĂ toÂč Ÿé mĂ« rĂ©ng ta cĂČng xžc ÂźĂnh ÂźâĂźc vĂ trĂ dĂ”ng cña mçi robot. TuĂș thuĂ©c kĂt cĂu cña robot cĂČng nhâ c«ng cĂŽ gŸn lÂȘn kh©u chĂp h”nh cuĂši m” ta cĂŁ thĂ Âźâa cžc th«ng sĂš cña kh©u chĂp h”nh cuĂši v”o phâÂŹng trĂnh Ÿéng hĂ€c hay kh«ng. ViĂc tĂnh tožn cžc ma trĂn T Ÿà thiĂt lĂp hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot thâĂȘng tĂšn nhiĂu thĂȘi gian v” dĂ nhĂm lĂn, ta cĂŁ thĂ lĂp trĂnh trÂȘn mžy tĂnh Ÿà tĂnh tožn (Ă« dÂčng kĂœ hiĂu) nh»m nhanh chĂŁng xžc ÂźĂnh cžc ma trĂn An v” thiĂt lĂp hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot .
ThiĂt lĂp hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot l” bâĂc rĂt quan trĂ€ng Ÿà cĂŁ thĂ dĂča v”o Ÿã lĂp trĂnh ÂźiĂu khiĂn robot. B”i tožn nĂy thâĂȘng ÂźâĂźc gĂ€i l” b”i tožn Ÿéng hĂ€c thuĂn robot. ViĂc gi¶i hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot ÂźâĂźc gĂ€i l” b”i tožn Ÿéng hĂ€c ngâĂźc, nh»m xžc ÂźĂnh giž trĂ cña cžc biĂn khĂp theo cžc th«ng sĂš Ÿ· biĂt cña kh©u chĂp h”nh cuĂši; vĂn Ÿà nĂy ta sĂ nghiÂȘn cĂžu trong châÂŹng tiĂp theo.
B”i tĂp châÂŹng III : B”i 1 : Cho ma trĂn :
? 0 -1 0T6 = ? 0 0 1
? -1 0 2 ? 0 0 1
l” ma trĂn biĂu diĂn hâĂng v” vĂ trĂ cña kh©u chĂp h”nh cuĂši. TĂm cžc phĂn tö ÂźâĂźc Ÿžnh dĂu ?
B”i 2 : Cho mĂ©t robot cĂŁ 3 kh©u phÂŒng nhâ hĂnh 3.18, cĂu hĂnh RRR. ThiĂt lĂp hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot.
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 41
B”i 3 : Cho mĂ©t robot cĂŁ 2 kh©u tĂnh tiĂn nhâ hĂnh 3.19, cĂu hĂnh TT. ThiĂt lĂp hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot.
HĂnh 3.18 : Robot cĂu hĂnh RRR HĂnh 3.19 : Robot cĂu hĂnh TT
B”i 4 : Cho mĂ©t robot cĂŁ 2 kh©u phÂŒng nhâ hĂnh 3.20, cĂu hĂnh RT. ThiĂt lĂp hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot. B”i 5 : Cho mĂ©t robot cĂŁ 3 kh©u nhâ hĂnh 3.21, cĂu hĂnh RTR. ThiĂt lĂp hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot.
HĂnh 3.20 : Robot cĂu hĂnh RT
HĂnh 3.21 : Robot cĂu hĂnh RTR B”i 6 : Cho mĂ©t robot cĂŁ 3 kh©u nhâ hĂnh 3.22, cĂu hĂnh RRR. ThiĂt lĂp hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot.
HĂnh 3.23 : Robot cĂu hĂnh RRRRR
HĂnh 3.22 : Robot cĂu hĂnh RRR
B”i 7 : Cho mĂ©t robot cĂŁ 5 kh©u nhâ hĂnh 3.23, cĂu hĂnh RRRRR. ThiĂt lĂp hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot.
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 42
ChâÂŹng IV
Gi¶i phâÂŹng trĂnh Ÿéng hĂ€c robot hay phâÂŹng trĂnh Ÿéng hĂ€c ngâĂźc
(Invers Kinematic Equations)
Trong châÂŹng 3, ta Ÿ· nghiÂȘn cĂžu viĂc thiĂt lĂp hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot th«ng qua ma trĂn T6 b»ng phâÂŹng phžp gŸn cžc hĂ toÂč Ÿé lÂȘn cžc kh©u v” xžc ÂźĂnh cžc th«ng sĂš DH. Ta cĂČng Ÿ· xĂt tĂi cžc phâÂŹng phžp khžc nhau Ÿà m« t¶ hâĂng cña kh©u chĂp h”nh cuĂši nhâ cžc phĂp quay Euler, phĂp quay Roll-Pitch v” Yaw .v.v...Trong châÂŹng nĂy chĂłng ta sĂ tiĂn h”nh gi¶i hĂ phâÂŹng trĂnh Ÿéng hĂ€c Ÿ· thiĂt lĂp Ă« châÂŹng trâĂc nh»m xžc ÂźĂnh cžc biĂn trong bĂ© th«ng sĂš Denavit - Hartenberg khi Ÿ· biĂt ma trĂn vectÂŹ cuĂši T6. KĂt qu¶ cña viĂc gi¶i hĂ phâÂŹng trĂnh Ÿéng hĂ€c Ÿãng vai trĂ hĂt sĂžc quan trĂ€ng trong viĂc ÂźiĂu khiĂn robot. Th«ng thâĂȘng, ÂźiĂu ta biĂt l” cžc vĂ trĂ v” hâĂng m” ta muĂšn robot ph¶i dĂch chuyĂn tĂi v” ÂźiĂu ta cĂn biĂt l” mĂši quan hĂ giĂ·a cžc hĂ toÂč Ÿé trung gian Ÿà phĂši hĂźp tÂčo ra chuyĂn Ÿéng cña robot, hay nĂŁi cžch khžc Ÿã chĂnh l” giž trĂ cña cžc biĂn khĂp Ăžng vĂi mçi toÂč Ÿé v” hâĂng cña kh©u chĂp h”nh cuĂši hoĂc c«ng cĂŽ gŸn lÂȘn kh©u chĂp h”nh cuĂši, muĂšn vĂy ta ph¶i gi¶i hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot. ViĂc nhĂn ÂźâĂźc lĂȘi gi¶i cña b”i tožn Ÿéng hĂ€c ngâĂźc l” vĂn Ÿà khĂŁ m” ta sĂ nghiÂȘn cĂžu trong châÂŹng nĂy. NhiĂm vĂŽ cña b”i tožn l” xžc ÂźĂnh tĂp nghiĂm (Ξ1, Ξ2, ...,Ξ6,di*) khi Ÿ· biĂt hĂnh thĂ cña robot th«ng qua vectÂŹ cuĂši T6 (khži niĂm âhĂnh thĂâ cña robot bao gĂ„m khži niĂm vĂ vĂ trĂ v” hâĂng cña kh©u chĂp h”nh cuĂši : Configuration = Position + Orientation).
CĂČng cĂn lâu Ăœ r»ng, Âźa sĂš cžc robot cĂŁ bĂ© Teach pendant l” thiĂt bĂ dÂčy hĂ€c,
cĂŁ nhiĂm vĂŽ ÂźiĂu khiĂn robot ÂźĂn cžc vĂ trĂ mong muĂšn trong Ÿéng trĂnh ÂźĂu tiÂȘn (ÂźiĂu khiĂn ÂźiĂm : Point to point ), cžc chuyĂn Ÿéng nĂy sĂ ÂźâĂźc ghi lÂči v”o bĂ© nhĂ trung t©m (CPU) cña robot hoĂc mžy tĂnh ÂźiĂu khiĂn robot, sau Ÿã robot cĂŁ thĂ thĂčc hiĂn lÂči Ÿóng cžc Ÿéng tžc Ÿ· ÂźâĂźc hĂ€c. Trong quž trĂnh hoÂčt Ÿéng cña robot, nĂu dÂčng quĂ ÂźÂčo ÂźâĂȘng Âźi kh«ng quan trĂ€ng thĂ kh«ng cĂn lĂȘi gi¶i cña b”i tožn Ÿéng hĂ€c ngâĂźc. 4.1. Cžc ÂźiĂu kiĂn cña b”i tožn Ÿéng hĂ€c ngâĂźc :
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 43
ViĂc gi¶i b”i tožn Ÿéng hĂ€c ngâĂźc cña robot cĂn tho¶ m·n cžc ÂźiĂu kiĂn sau : 4.1.1. §iĂu kiĂn tĂ„n tÂči nghiÂȘm : §iĂu kiĂn nĂy nh»m khÂŒng ÂźĂnh : CĂŁ Ăt nhĂt mĂ©t tĂp nghiĂm (Ξ1,Ξ2, ...,Ξ6,di*) sao cho robot cĂŁ hĂnh thĂ cho trâĂc. (âHĂnh thĂâ l” khži niĂm m« t¶ tâĂȘng minh cña vectÂŹ cuĂši T6 c¶ vĂ vĂ trĂ v” hâĂng). 4.1.2. §iĂu kiĂn duy nhĂt cña tĂp nghiĂm : Trong khi xžc ÂźĂnh cžc tĂp nghiĂm cĂn ph©n biĂt rĂą hai loÂči nghiĂm : + NghiĂm tožn (Mathematical Solution) : Cžc nghiĂm nĂy tho¶ m·n cžc phâÂŹng trĂnh cho trâĂc cña T6. + NghiĂm vĂt lĂœ (Physical Solution) : l” cžc tĂp con cña nghiĂm tožn, phĂŽ thuĂ©c v”o cžc giĂi hÂčn vĂt lĂœ (giĂi hÂčn vĂ gĂŁc quay, kĂch thâĂc ...) nh»m xžc ÂźĂnh tĂp nghiĂm duy nhĂt. ViĂc gi¶i hĂ phâÂŹng trĂnh Ÿéng hĂ€c cĂŁ thĂ ÂźâĂźc tiĂn h”nh theo hai phâÂŹng phžp cÂŹ b¶n sau : + PhâÂŹng phžp gi¶i tĂch (Analytical Method) : tĂm ra cžc c«ng thĂžc hay cžc phâÂŹng trĂnh tožn gi¶i tĂch biĂu thĂ quan hĂ giĂ·a cžc giž trĂ cña kh«ng gian biĂn trĂŽc v” cžc th«ng sĂš khžc cña bĂ© th«ng sĂš DH. + PhâÂŹng phžp sĂš (Numerical Method) : TĂm ra cžc giž trĂ cña tĂp nghiĂm b»ng kĂt qu¶ cña mĂ©t quž trĂnh lĂp. 4.2. LĂȘi gi¶i cña phĂp biĂn ŸÊi Euler : Trong châÂŹng 3 ta Ÿ· nghiÂȘn cĂžu vĂ phĂp biĂn ŸÊi Euler Ÿà m« t¶ hâĂng cña kh©u chĂp h”nh cuĂši : Euler (Ί,Ξ,Ï) = Rot(z, Ί) Rot(y, Ξ) Rot(z, Ï) TĂp nghiĂm muĂšn tĂm l” cžc gĂŁc Ί, Ξ, Ï khi Ÿ· biĂt ma trĂn biĂn ŸÊi ŸÄng nhĂt T6 (cĂn gĂ€i l” ma trĂn vectÂŹ cuĂši), NĂu ta cĂŁ cžc giž trĂ sĂš cña cžc phĂn tö trong ma trĂn T6 thĂ cĂŁ thĂ xžc ÂźĂnh ÂźâĂźc cžc gĂŁc Euler Ί, Ξ, Ï thĂch hĂźp. Nhâ vĂy ta cĂŁ : Euler (Ί,Ξ,Ï) = T6 (4-1) VĂ trži cña phâÂŹng trĂnh (4-1) Ÿ· ÂźâĂźc biĂu diĂn b»ng c«ng thĂžc (3-4) , nÂȘn ta cĂŁ :
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
nx Ox ax px ny Oy ay py (4-2) nz Oz az pz 0 0 0 1
LĂn lâĂźt cho c©n b»ng cžc phĂn tö tâÂŹng Ăžng cña hai ma trĂn trong phâÂŹng trĂnh (4-2) ta cĂŁ cžc phâÂŹng trĂnh sau :
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 44
nx = cosΊCosΞcosÏ - sinΊsinÏ (4.3) ny = sinΊCosΞcosÏ + cosΊsinÏ (4-4) nz = -sinΞ cosÏ (4-5) Ox = -cosΊCosΞsinÏ - sinΊcosÏ (4-6) Oy = -sinΊCosΞsinÏ + cosΊcosÏ (4-7) Oz = sinΞ sinÏ (4-8) ax = cosΊsinΞ (4-9) ay = sinΊsinΞ (4-10) az = cosΞ (4-11) Ta thö gi¶i hĂ phâÂŹng trĂnh nĂy Ÿà tĂm Ί, Ξ, Ï nhâ sau : TĂ” (4-11) ta cĂŁ Ξ = cos-1(az) (4-12) TĂ” (4-9) ta cĂŁ Ί = cos-1(ax / sinΞ) (4-13) TĂ” (4-5) v” (4-12) ta cĂŁ Ï = cos-1(-nz / sinΞ) (4-14) Trong Ÿã ta Ÿ· dĂŻng kĂœ hiĂu cos-1 thay cho h”m arccos. Nhâng cžc kĂt qu¶ Ÿ· gi¶i Ă« trÂȘn châa dĂŻng ÂźâĂźc vĂ cžc lĂœ do dâĂi Ÿ©y :
+ H”m arccos kh«ng chĂ biĂu hiĂn cho mĂ©t gĂŁc châa xžc ÂźĂnh m” và Ÿé chĂnh xžc nĂŁ lÂči phĂŽ thuĂ©c vžo chĂnh gĂŁc Ÿã, nghĂa l” : cosΞ = cos(-Ξ) : Ξ châa ÂźâĂźc xžc ÂźĂnh duy nhĂt.
dcos
d = 00,180
ΞΞ
: Ξ xžc ÂźĂnh kh«ng chĂnh xžc.
+ Trong lĂȘi gi¶i ŸÚi vĂi Ί v” Ï mĂ©t lĂn nĂ·a chĂłng ta lÂči dĂŻng h”m arccos v” chia cho sinΞ, ÂźiĂu nĂy dĂn tĂi sĂč mĂt chĂnh xžc khi Ξ cĂŁ giž trĂ l©n cĂn 0. + Cžc phâÂŹng trĂnh (4-13) v” (4-14) kh«ng xžc ÂźĂnh khi Ξ = 0 hoĂc Ξ = ±1800.
Do vĂy chĂłng ta cĂn ph¶i cĂn thĂn hÂŹn khi chĂ€n lĂȘi gi¶i. §à xžc ÂźĂnh cžc gĂŁc khi gi¶i b”i tožn ngâĂźc cña robot ta ph¶i dĂŻng h”m arctg2 (y,x) (h”m arctang hai biĂn). H”m arctg2 nh»m mĂŽc ÂźĂch xžc ÂźĂnh ÂźâĂźc gĂŁc thĂčc - duy nhĂt khi xĂt dĂu cña hai biĂn y v” x. H”m sĂš tr¶ vĂ giž trĂ gĂŁc trong kho¶ng -Ï â€ Îž < Ï.
Ξ
x
y
X- Y- X+ Y-
HĂnh 4.1 : H”m arctg2(y,x)
X- Y+ X+ Y+
VĂ dĂŽ :
arctg2(-1/-1)= -1350, trong khi arctg2(1/1) = 450
H”m nĂy xžc ÂźĂnh ngay c¶ khi x hoĂc y b»ng 0 v” cho kĂt qu¶ Ÿóng. (Trong mĂ©t sĂš ng«n ngĂ· lĂp trĂnh nhâ Matlab, turbo C++, Maple h”m arctg2(y,x) Ÿ· cĂŁ sÂŒn trong thâ viĂn)
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 45
§à cĂŁ thĂ nhĂn ÂźâĂźc nhĂ·ng kĂt qu¶ chĂnh xžc cña b”i tožn Euler, ta thĂčc hiĂn
thñ thuĂt tožn hĂ€c sau : Nh©n T6 vĂi ma trĂn quay nghĂch ٦o Rot(z, Ί)-1,ta cĂŁ:
Rot(z, Ί)-1 T6 = Rot(y, Ξ) Rot(z, Ï) (4-15)
VĂ trži cña phâÂŹng trĂnh (4-15) l” mĂ©t h”m sĂš cña ma trĂn T v” gĂŁc quay Ί. Ta thĂčc hiĂn phĂp nh©n ma trĂn Ă« vĂ ph¶i cña (4-15), tĂm ra cžc phĂn tö cña ma trĂn cĂŁ giž trĂ b»ng 0 hoĂc b»ng h»ng sĂš, cho cžc phĂn tö nĂy c©n b»ng vĂi nhĂ·ng phĂn tö tâÂŹng Ăžng cña ma trĂn Ă« vĂ trži, cĂŽ thĂ tĂ” (4-15) ta cĂŁ :
cosΊ sinΊ 0 0 nx Ox ax px CosΞcosÏ -CosΞ sinÏ sinΞ 0 -sinΊ cosΊ 0 0 ny Oy ay py = sinÏ cosÏ 0 0
0 0 1 0 nz Oz az pz -sinΞ cosÏ sinΞ sinÏ CosΞ 0 0 0 0 1 0 0 0 1 0 0 0 1
(4-16) TĂch hai ma trĂn Ă« vĂ trži cña phâÂŹng trĂnh (4-16) l” mĂ©t ma trĂn m” cĂŁ thĂ ÂźâĂźc viĂt gĂ€n lÂči b»ng cžc kĂœ hiĂu sau :
f11(n) f11(O) f11(a) f11(p) f12(n) f12(O) f12(a) f12(p) f13(n) f13(O) f13(a) f13(p)
0 0 0 1 Trong Ÿã : f11 = cosΊ x + sinΊ y (4-17) f12 = -sinΊ x + cosΊ y (4-18) f13 = z (4-19) v” x, y, z l” cžc phĂn tö cña vectÂŹ xžc ÂźĂnh bĂ«i cžc dĂ· kiĂn f11, f12, f13, vĂ dĂŽ : f11(n) = cosΊ nx + sinΊ ny
f12(O) = -sinΊ Ox + cosΊ Oy f13(a) = az Nhâ vĂy phâÂŹng trĂnh (4-16) cĂŁ thĂ ÂźâĂźc viĂt th”nh :
f11(n) f11(O) f11(a) 0 CosΞcosÏ -CosΞ sinÏ sinΞ 0 f12(n) f12(O) f12(a) 0 = sinÏ cosÏ 0 0 (4-20) f13(n) f13(O) f13(a) 0 -sinΞ cosÏ sinΞ sinÏ CosΞ 0
0 0 0 1 0 0 0 1 Trong Ÿã f11, f12, f13 Ÿ· ÂźâĂźc ÂźĂnh nghĂa Ă« (4-17), (4-18) v” (4-19). Khi tĂnh tožn vĂ trži, ta chĂł Ăœ r»ng px, py, pz b»ng 0 vĂ phĂp biĂn ŸÊi Euler chĂ to”n phĂp quay kh«ng chĂža mĂ©t phĂp biĂn ŸÊi tĂnh tiĂn n”o, nÂȘn f11(p) = f12(p) = f13(p) = 0. TĂ” phâÂŹng trĂnh (4-20), cho c©n b»ng phĂn tö Ă« h”ng 2 cĂ©t 3 ta cĂŁ :
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 46
f12(a) = -sinΊ ax + cosΊ ay = 0. (4-21) CĂ©ng hai vĂ vĂi sinΊ ax v” chia cho cosΊ ax ta cĂŁ :
tgaa x
ΊΊΊ
= =sincos
y
GĂŁc Ί cĂŁ thĂ xžc ÂźĂnh b»ng h”m arctg hai biĂn : Ί = arctg2(ay, ax). Ta cĂČng cĂŁ thĂ gi¶i phâÂŹng trĂnh (4-21) b»ng cžch cĂ©ng hai vĂ vĂi -cosΊ ay rĂ„i chia hai vĂ cho -cosΊ ax, triĂt tiÂȘu -ax Ă« vĂ trži v” cosΊ Ă« vĂ ph¶i, ta cĂŁ :
tg-a-a x
ΊΊΊ
= =sincos
y
Trong trâĂȘng hĂźp nĂy gĂŁc Ί tĂm ÂźâĂźc l” : Ί = arctg2(-ay, -ax).
Nhâ vĂy phâÂŹng trĂnh (4-21) cĂŁ mĂ©t cĂp nghiĂm cžch nhau 1800 (Ÿ©y l”
nghiĂm tožn) v” ta cĂŁ thĂ viĂt : Ί = arctg2(ay, ax) v” Ί = Ί + 1800. (HiĂu theo cžch viĂt khi lĂp trĂnh trÂȘn mžy tĂnh).
NĂu c¶ ax v” ay ÂźĂu b»ng 0 thĂ gĂŁc Ί kh«ng xžc ÂźĂnh ÂźâĂźc. §iĂu Ÿã x¶y ra khi b”n tay chĂ thÂŒng lÂȘn trÂȘn hoĂc xuĂšng dâĂi v” c¶ hai gĂŁc Ί v” Ï tâÂŹng Ăžng vĂi cĂŻng mĂ©t phĂp quay. §iĂu nĂy ÂźâĂźc coi l” mĂ©t phĂp suy biĂn (degeneracy), trong trâĂȘng hĂźp nĂy ta cho Ί = 0. VĂi giž trĂ cña Ί nhĂn ÂźâĂźc, cžc phĂn tö ma trĂn Ă« vĂ bÂȘn trži cña phâÂŹng trĂnh (4-20) sĂ ÂźâĂźc xžc ÂźĂnh. TiĂp tĂŽc so sžnh cžc phĂn tö cña hai ma trĂn ta cĂŁ : f11(a) = cosΊ ax + sinΊ ay = sinΞ. V” f13(a) = az = cosΞ. VĂy Ξ = arctg2(cosΊ ax + sinΊ ay, az) Khi c¶ hai h”m sin v” cos ÂźĂu ÂźâĂźc xžc ÂźĂnh nhâ trâĂȘng hĂźp trÂȘn, thĂ gĂŁc thâĂȘng ÂźâĂźc xžc ÂźĂnh duy nhĂt v” kh«ng x¶y ra trâĂȘng hĂźp suy biĂn nhâ gĂŁc Ί trâĂc Ÿ©y. CĂČng tĂ” phâÂŹng trĂnh (4-20) ta cĂŁ : f12(n) = -sinΊ nx + cosΊ ny = sinÏ f12(O) = -sinΊ Ox + cosΊ Oy = cosÏ
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 47
VĂy : Ï = arctg2(-sinΊ nx + cosΊ ny, -sinΊ Ox + cosΊ Oy) TĂŁm lÂči, nĂu cho trâĂc mĂ©t phĂp biĂn ŸÊi ŸÄng nhĂt dâĂi dÂčng cžc phĂp quay, ta cĂŁ thĂ xžc ÂźĂnh cžc gĂŁc Euler tâÂŹng Ăžng l” : Ί = arctg2(ay, ax) v” Ί = Ί + 1800
Ξ = arctg2(cosΊ ax + sinΊ ay, az) Ï = arctg2(-sinΊ nx + cosΊ ny, -sinΊ Ox + cosΊ Oy)
4.3. LĂȘi gi¶i cña phĂp biĂn ŸÊi Roll, Pitch v” Yaw : PhĂp biĂn ŸÊi Roll, Pitch v” Yaw Ÿ· ÂźâĂźc ÂźĂnh nghĂa : RPY(Ί,Ξ,Ï)= Rot(z,Ί)Rot(y,Ξ)Rot(x, Ï) ViĂc gi¶i phâÂŹng trĂnh : T6 = RPY(Ί,Ξ,Ï) sĂ xžc ÂźĂnh ÂźâĂźc cžc gĂŁc Ί,Ξ v” Ï. Cžch gi¶i ÂźâĂźc tiĂn h”nh tâÂŹng tĂč nhâ khi thĂčc hiĂn lĂȘi gi¶i cho phĂp quay Euler. Nh©n T6 vĂi ma trĂn nghĂch ٦o Rot(z, Ί)-1, ta cĂŁ :
Rot(z, Ί)-1T6 = Rot(y,Ξ)Rot(x, Ï) Hay l” :
f11(n) f11(O) f11(a) 0 cosΞ sinΞ sinÏ sinΞ cosÏ 0 f12(n) f12(O) f12(a) 0 = 0 cosÏ -sinÏ 0 (4-22) f13(n) f13(O) f13(a) 0 -sinΞ cosΞ sinÏ cosΞcosÏ 0
0 0 0 1 0 0 0 1 Trong Ÿã : f11 = cosΊ x + sinΊ y f12 = -sinΊ x + cosΊ y f13 = z C©n b»ng phĂn tö Ă« h”ng 2 cĂ©t 1 : f12(n) = 0, ta cĂŁ : -sinΊ x + cosΊ y = 0 PhâÂŹng trĂnh nĂy cho ta hai nghiĂm nhâ Ÿ· biĂt : Ί = arctg2(nx, ny) v” Ί = Ί + 1800
TiĂp tĂŽc c©n b»ng cžc phĂn tö tâÂŹng Ăžng cña hai ma trĂn ta cĂŁ : -sinΞ = nz
cosΞ = cosΊ nx + sinΊ ny
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 48
do vĂy : Ξ = arctg2(-nz, cosΊ nx + sinΊ ny) Ngo”i ra ta cĂn cĂŁ : -sinÏ = -sinΊ ax + cosΊ ay
cosÏ = -sinΊ Ox + cosΊ Oy NÂȘn : Ï = arctg2(sinΊ ax - cosΊ ay, -sinΊ Ox + cosΊ Oy) Nhâ vĂy ta Ÿ· xžc ÂźĂnh ÂźâĂźc cžc gĂŁc quay Roll, Pitch v” Yaw theo cžc phĂn tö cña ma trĂn T6. 4.4. Gi¶i b”i tožn Ÿéng hĂ€c ngâĂźc cña robot Stanford : HĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot Stanford Ÿ· ÂźâĂźc thiĂt lĂp trong châÂŹng III, Ta cĂŁ : T6 = A1A2A3A4A5A6 (4-23) LiÂȘn tĂŽc nh©n (4-23) vĂi cžc ma trĂn A nghĂch ٦o, ta ÂźâĂźc :
A 1 T1â6 = 1T6 (4-24)
A A 1 T21â 1â
6 = 2T6 (4-25)
A 3 A A 1 T1â2
1â 1â6 = 3T6 (4-26)
A A 3 A A 1 T41â 1â
21â 1â
6 = 4T6 (4-27)
A A A 3 A A 1 T51â
41â 1â
21â 1â
6 = 5T6 (4-28) Cžc phĂn tö Ă« vĂ trži cña cžc phâÂŹng trĂnh nĂy l” h”m sĂš cña cžc phĂn tö T6 v” cžc biĂn khĂp cña (n-1) khĂp ÂźĂu tiÂȘn. Trong khi Ÿã cžc phĂn tö cña ma trĂn vĂ bÂȘn ph¶i hoĂc b»ng 0, b»ng h»ng sĂš hoĂc l” h”m sĂš cña cžc biĂn khĂp thĂž n ÂźĂn khĂp thĂž 6. TĂ” mçi phâÂŹng trĂnh ma trĂn, cho c©n b»ng cžc phĂn tö tâÂŹng Ăžng chĂłng ta nhĂn ÂźâĂźc 12 phâÂŹng trĂnh. Mçi phâÂŹng trĂnh cĂŁ cžc phĂn tö cña 4 vectÂŹ n, O, a, p. TĂ” phâÂŹng trĂnh (4-24), ta cĂŁ :
C1 S1 0 0 nx Ox ax px
A T11â
6 = 0 0 -1 0 ny Oy ay py
-S1 C1 0 0 nz Oz az pz 0 0 0 1 0 0 0 1
f11(n) f11(O) f11(a) f11(p) = f12(n) f12(O) f12(a) f12(p) f13(n) f13(O) f13(a) f13(p) 0 0 0 1
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 49
Trong Ÿã : f11 = C1 x + S1 y f12 = - z f13 = -S1 x + C1 y VĂ bÂȘn ph¶i cña (4-24) l” :
C2(C4C5C6 - S4S6) - S2S5C6 -C2(C4C5S6-S4C6)+S2S5S6 C2C4S5 + S2C5 S2d31T6 = S2(C4C5C6 - S4S6) + C2S5C6 -S2(C4C5S6+S4C6)-C2S5S6 S2C4S5 - C2C5 -C2d3
S4C5C6 + C4S6 -S4C5S6+C4C6 S4S5 d2
0 0 0 1
Cžc phĂn tö cña ma trĂn vĂ ph¶i ÂźĂu l” h”m sĂš cña Ξ2, d3, Ξ4, Ξ5, Ξ6 ngoÂči trĂ” phĂn tö Ă« h”ng 3 cĂ©t 4, Ÿã l” :
f13(p) = d2hay : -S1px + C1py = d2§à gi¶i phâÂŹng trĂnh Ă« dÂčng nĂy ta cĂŁ thĂ thay thĂ bĂ«i cžc h”m lâĂźng gižc sau
Ÿ©y : px = r cosΊ py = r sinΊ
Trong Ÿã : r = + p px2 + y
2
Ί = arctg2(py, px) ThĂ px v” py v”o phâÂŹng trĂnh -S1px + C1py = d2 ta cĂŁ : sinΊcosΞ1 - cosΊsinΞ1 = d2 / r VĂi 0 < d2 / r †1 Hay l” : sin(Ί - Ξ1) = d2 / r VĂi 0 < Ί - Ξ1 < Ï TĂ” Ÿã ta cĂŁ :
cos(Ί - Ξ1) = ± â1 22( / )d r
Trong Ÿã dĂu trĂ” phĂŻ hĂźp vĂi hĂnh thĂ vai trži cña robotv” dĂu cĂ€ng phĂŻ hĂźp vĂi hĂnh thĂ vai ph¶i cña robot. CuĂši cĂŻng :
Ξ1 = arctg2(py, px) - arctg2(d2, ± â1 22( / )d r ) (4-29)
NĂu tĂnh ÂźâĂźc Ξ1 thĂ vĂ trži cña phâÂŹng trĂnh (4-24) ÂźâĂźc xžc ÂźĂnh. Cho c©n b»ng cžc phĂn tö Ă« h”ng 1 cĂ©t 4 v” h”ng 2 cĂ©t 4, ta cĂŁ : S2d3 = C1px + S1py -C2d3 = -pz d3 l” dĂch chuyĂn d”i cña khĂp tĂnh tiĂn, d3 > 0, nÂȘn ta cĂŁ : Ξ2 = arctg2(C1px + S1py, pz ) (4-30)
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 50
TĂ” phâÂŹng trĂnh (4-25) : A A 1 T21â 1â
6 = A 21â 1T6 = 2T6, ta cĂŁ :
f21(n) f21(O) f21(a) 0 C4C5C6-S4S6 -C4C5S6 - S4C6 C4S5 0 f22(n) f22(O) f22(a) 0 = S4C5C + C4S6 -S4C5S6 + C4C6 S4S5 0 f23(n) f23(O) f23(a) f23(p) -S5C6 S5S6 C5 d3
0 0 0 1 0 0 0 1 (4-31) Trong Ÿã : f21 = C2(C1 x + S1 y) - S2 z f22 = -S1 x + C1 y f23 = S2(C1 x + S1 y) + C2 z TĂ” c©n b»ng phĂn tö Ă« h”ng 3 cĂ©t 4 ta cĂŁ : d3 = S2(C1 px + S1 py) + C2 pz (4-32) - TĂ” phâÂŹng trĂnh (4-27) ta cĂŁ : A A 4
1â3
1â 2T6 = 4T6
ThĂčc hiĂn phĂp nh©n cžc ma trĂn Ă« vĂ trži, v” biĂu diĂn Ă« dÂčng rĂłt gĂ€n nhâ sau :
f41(n) f41(O) f41(a) 0 C5C6 -C5S6 S5 0 f42(n) f42(O) f42(a) 0 = S5C6 -S5S6 C5 0 f43(n) f43(O) f43(a) 0 S6 C6 0 0
0 0 0 1 0 0 0 1 Trong Ÿã : f41 = C4[C2(C1 x + S1 y) - S2 z] + S4(-S1 x + C1 y) f42 = -S2(-S1 x + C1 y) - C2 z f43 = -S4[C2(C1 x + S1 y) + S2 z] + C4(-S1 x + C1 y) C©n b»ng phĂn tö h”ng 3, cĂ©t 3 ta ÂźâĂźc mĂ©t h”m sĂš cña Ξ4, Ÿã l” : f43(a) = 0. Hay : -S4[C2(C1 ax + S1 ay) + S2 az] + C4(-S1 ax + C1 ay) = 0 §©y l” phâÂŹng trĂnh lâĂźng gižc cĂŁ dÂčng : - sinΊ ax + cosΊ ay = 0. Nhâ Ÿ· gi¶i trong cžc phĂn trâĂc Ÿ©y, phâÂŹng trĂnh nĂy cĂŁ hai nghiĂm : Ξ4 = arctg2(-S1 ax + C1 ay, C2(C1 ax + S1 ay) + S2 az) (4-33) v” Ξ4 = Ξ4 + 1800 NĂu cžc yĂu tĂš tö sĂš v” mĂu sĂš cña (4-33) tiĂn tĂi 0 thĂ robot rÂŹi v”o tĂnh trÂčng suy biĂn nhâ truâĂȘng hĂźp Ÿ· nĂŁi Ă« mĂŽc 4.2. Ta cĂČng cĂŁ thĂ tĂm giž trĂ cña gĂŁc quay Ξ4 b»ng cžch c©n b»ng cžc phĂn tö h”ng 1 cĂ©t 3 v” h”ng 2 cĂ©t 3 cña phâÂŹng trĂnh ma trĂn (4-31) , ta cĂŁ : C4S5 = C2(C1 ax + S1 ay) - S2 az
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 51
S4S5 = -S1 ax + C1 ay VĂi Ξ5 > 0 ta ÂźâĂźc Ξ4 = arctg(-S1 ax + C1 ay, C2(C1 ax + S1 ay) + S2 az) VĂi Ξ5 < 0 ta ÂźâĂźc Ξ4 = Ξ4 + 1800
Ÿóng nhâ kĂt qu¶ Ÿ· tĂm (4-33). Khi S5 = 0, Ξ5 = 0. Robot cĂŁ suy biĂn do c¶ hai trĂŽc cña khĂp 4 v” 6 n»m thÂŒng h”ng (z3 ⥠z5). Ă« vĂ trĂ nĂy chĂ cĂŁ tĂŠng Ξ4+Ξ6 l” cĂŁ Ăœ nghĂa. Khi Ξ5 = 0, ta cĂŁ thĂ tĂč do chĂ€n mĂ©t giž trĂ cña Ξ4. ThâĂȘng giž trĂ hiĂn h”nh ÂźâĂźc sö dĂŽng. TĂ” vĂ ph¶i cña phâÂŹng trĂnh A 4 A 1â
31â 2T6 = 4T6 = A5A6 ta cĂŁ thĂ cĂŁ cžc
phâÂŹng trĂnh cña S5, C5, S6 v” C6 b»ng cžch c©n b»ng cžc phĂn tö thĂch hĂźp. ChÂŒng hÂčn khi c©n b»ng cžc phĂn tö cña ma trĂn h”ng 1 cĂ©t 3 v” h”ng 2 cĂ©t 3 ta cĂŁ : S5 = C4 [C2(C1 ax + S1 ay) - S2 az] + S4(-S1 ax + C1 ay) C5 = S2 (C1 ax + S1 ay) + C2 azTĂ” Ÿã suy ra : Ξ5 = arctg2(C4 [C2(C1 ax + S1 ay) - S2 az] + S4(-S1 ax + C1 ay) , S2 (C1 ax + S1 ay) + C2 az ) (4-34) Cžc phâÂŹng trĂnh cĂŁ liÂȘn quan ÂźĂn Ξ6 n»m Ă« cĂ©t 1 cña phâÂŹng trĂnh ma trĂn, Ÿã l” cžc th”nh phĂn cña vectÂŹ n cña T6. VectÂŹ nĂy thâĂȘng kh«ng cĂŁ Ăœ nghĂa trong tĂnh tožn, vĂ nĂŁ lu«n cĂŁ thĂ ÂźâĂźc xžc ÂźĂnh b»ng tĂch vectÂŹ cña hai vectÂŹ O v” a nhâ Ÿ· nĂŁi trâĂc Ÿ©y ( ). Do Ÿã ta ph¶i tĂm cžch khžc Ÿà xžc ÂźĂnh Ξ
r r rn = O x a 6. ThĂčc hiĂn phĂp nh©n cžc ma trĂn Ă« vĂ trži cña phâÂŹng trĂnh (4-28) : A 4
51â T = 6
5T = A , biĂu diĂn Ă« dÂčng kĂœ hiĂu ta cĂŁ : 6 6
f51(n) f51(O) 0 0 C6 -S6 0 0 f52(n) f52(O) 0 0 = S6 C6 0 0 (4-35) f53(n) f53(O) 1 0 0 0 1 0
0 0 0 1 0 0 0 1 Trong Ÿã : f51 = C5{ C4 [C2(C1 x + S1 y) - S2 z] + S4(-S1 x + C1 y)} + S5[-S2 (C1 x + S1 y) - C2 z] f52 = -S4 [C2(C1 x + S1 y) - S2 z] + C4[-S1 x + C1 y] f53 = S5{ C4 [C2(C1 x + S1 y) - S2 z] + S4(-S1 x + C1 y)} + C5[S2 (C1 x + S1 y) - C2 z] Cho c©n b»ng cžc phĂn tö Ă« h”ng 1 cĂ©t 2 v” h”ng 2 cĂ©t 2 ta nhĂn ÂźâĂźc cžc giž trĂ cña S6 v” C6 : S6 = -C5{C4[C2(C1Ox+S1Oy)-S2Oz] +S4(-S1Ox+C1Oy)} + S5[S2 (C1Ox + S1Oy) + C2Oz] C6 = -S4 [C2(C1Ox + S1Oy)- S2 Oz] + C4[-S1 Ox + C1 Oy] TĂ” Ÿã ta xžc ÂźĂnh ÂźâĂźc : Ξ6 = arctg2(S6, C6) (4-36)
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 52
Cžc biĂu thĂžc (4-29), (4-30), (4-32), (4-33), (4-34) v” (4-36) xžc ÂźĂnh tĂp nghiĂm khi gi¶i b”i tožn ngâĂźc cña robot Stanford. 4.5. Gi¶i b”i tožn Ÿéng hĂ€c ngâĂźc cña robot ELBOW : §à tiĂp tĂŽc l”m quen vĂi viĂc gi¶i hĂ phâÂŹng trĂnh Ÿéng hĂ€c, chĂłng ta nghiÂȘn cĂžu phĂp gi¶i b”i tožn Ÿéng hĂ€c ngâĂźc cña robot Elbow. HĂ phâÂŹng trĂnh Ÿéng hĂ€c thuĂn cña robot Elbow Ÿ· dâĂźc xžc ÂźĂnh trong châÂŹng III. TrâĂc hĂt ta kh¶o sžt phâÂŹng trĂnh :
A 1 T1â
6 = 1T6 = A2A3A4A5A6
TâÂŹng tĂč nhâ Ÿ· l”m, ta xžc ÂźĂnh cžc phĂn tö ma trĂn cña hai vĂ nhâ sau :
f11(n) f11(O) f11(a) f11(p) f12(n) f12(O) f12(a) f12(p) = f13(n) f13(O) f13(a) f13(p)
0 0 0 1
C234C5C6 - S234S6 -C234C5S6 - S234C6 C234S5 C234a4+C23a3+C2a2
S234C5C6 + C234S6 -S234C5S6 + C234C6 S234S5 S234a4+S23a3+S2a2-S5C6 S5S6 C5 0
0 0 0 1 (4-37) Trong Ÿã : f11 = C1 x + S1 y f12 = z f13 = S1 x + C1 y Ta Ÿ· kĂœ hiĂu : C234 = cos(Ξ2+Ξ3+Ξ4) S234 = sin(Ξ2+Ξ3+Ξ4) Cho c©n b»ng phĂn tö Ă« h”ng 3 cĂ©t 4, ta cĂŁ : S1 px + C1 py = 0 Suy ra : Ξ1 = arctg2(py , px) v” Ξ1 = Ξ1 + 1800 (4-38) Trong trâĂȘng hĂźp robot Elbow, ba khĂp kĂ tiĂp ÂźĂu song song v” kh«ng cĂŁ kĂt qu¶ n”o nhĂn ÂźâĂźc tĂ” phĂp nh©n vĂi nhĂ·ng ma trĂn nghĂch ٦o A-1
i . Cho ÂźĂn kh©u thĂž 4 thĂ phĂp nh©n vĂi ma trĂn nghĂch ٦o mĂi cĂŁ Ăœ nghĂa.
A-14A-1
3A-12
1T6 = 4T6 = A5A6 Khi xžc ÂźĂnh cžc phĂn tö ma trĂn cña hai vĂ ta ÂźâĂźc :
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 53
f41(n) f41(O) f41(a) f41(p)-C34a2-C4a3-a4 C5C6 -C5S6 S5 0 f42(n) f42(O) f42(a) 0 = S5C6 -S5S6 -C5 0 f43(n) f43(O) f43(a) f43(p)+S34a2+S4a3 S6 C6 0 0
0 0 0 1 0 0 0 1 (4-39) Trong Ÿã : f41 = C234(C1 x + S1 y) + S234 z f42 = -S1 x + C1 y f43 = -S234(C1 x + S1 y) + C234 z C©n b»ng phĂn tö h”ng 3 cĂ©t 3 ta ÂźâĂźc mĂ©t phâÂŹng trĂnh cho Ξ234 : -S234(C1 ax + S1 ay) + C234 az = 0 Suy ra : Ξ234 = arctg2(az , C1 ax + S1 ay) v” Ξ234 = Ξ234 + 1800 (4-40) B©y giĂȘ ta trĂ« lÂči phâÂŹng trĂnh (4-37). C©n b»ng cžc phĂn tö ma trĂn Ă« h”ng 1 cĂ©t 4 v” h”ng 2 cĂ©t 4, ta cĂŁ : C1 px + S1 py = C234a4+C23a3+C2a2 (a) pz = S234a4+S23a3+S2a2 (b) Ta gĂ€i : pâx = C1 px + S1 py - C234a4 (c) pây = pz - S234a4 (d) §em (a) + (c) v” (b) + (d) ta ÂźâĂźc ; pâx = C23 a3 + C2a2 (e) pây = S23 a3 + S2a2 (g) BĂnh phâÂŹng hai vĂ v” cĂ©ng hai phâÂŹng trĂnh (e) v” (g), ta cĂŁ : pâ2
x = (C23 a3 + C2a2)2
pâ2y = (S23 a3 + S2a2)2
pâ2
x + pâ2y = (S 2
23 + C 223 )a2
3 + (S 22 + C 2
2)a22 + 2 a2a3(C23C2 + S23S2 )
Ta cĂŁ C23C2 + S23S2 = cos(Ξ2+Ξ3-Ξ2) = cosΞ3 = C3. NÂȘn suy ra : C3 = (pâ2
x + pâ2y - a2
3 - a22) / 2a2a3
Trong khi cĂŁ thĂ tĂm Ξ3 tĂ” h”m arccos, ta vĂn nÂȘn tĂm mĂ©t giž trĂ S3 v” dĂŻng h”m arctg2 nhâ thâĂȘng lĂ :
Ta cĂŁ : S3 = ± â( )1 32C
CĂp nghiĂm Ăžng vĂi hai dĂu +,- phĂŻ hĂźp vĂi hĂnh thĂ cña robot lĂłc n©ng vai lÂȘn v” hÂč vai xuĂšng :
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 54
Ξ3 = arctg2(S3 , C3) (4-41) §à tĂm S2 v” C2 ta gi¶i hĂ phâÂŹng trĂnh (e),(g). TĂ” (e) â (C2C3 - S2S3)a3 + C2a2 = pâx TĂ” (g) â (S2C3 - C2S3)a3 + S2a2 = pây Khai triĂn v” rĂłt gĂ€n : (C3a3 + a2)C2 - S3a3.S2 = pâx TĂ” (g) â S3a3 .C2 + (C3a3 + a2)S2 = pây Ta cĂŁ :
â = C a + a - S a
S a C a + a3 3 2
3 3 3 3 2
3 3
â c = p - S a p C a + a
x,
y,
3 3 2
3 3 â s = C a + a p
S a p3 3 2 x
,
3 3 y,
C2 = 233
2233
x33y233C
)a(S)aa(Cp'aS)p'aa(C
++
â+=
ââ
S2 = ââ
S 3 3 2 x 3 3 y
3 3 22
3 32
(C a a )p' S a p'(C a a ) (S a )
=+ +
+ +
Do mĂu sĂš dâÂŹng v” b»ng nhau, nÂȘn ta cĂŁ : Ξ2 = arctg2(S2, C2) Ξ2 = arctg2((C3a3 + a2)pây - S3a3pâx , (C3a3 + a2)pâx + S3a3pây ) (4-42)
§Ăn Ÿ©y Ξ4 ÂźâĂźc xžc ÂźĂnh bĂ«i : Ξ4 = Ξ234 - Ξ3 - Ξ2 (4-43) Cžc phâÂŹng trĂnh dĂŻng Ÿà tĂnh Ξ5 ÂźâĂźc thiĂt lĂp tĂ” sĂč c©n b»ng cžc phĂn tö ma trĂn h”ng 1 cĂ©t 3 v” h”ng 2 cĂ©t 3 cña phâÂŹng trĂnh 4T6 (4-39) : S5 = C234(C1ax + S1ay) + S234az C5 = S1ax - C1ay Suy ra : Ξ5 = arctg2(C234(C1ax + S1ay) + S234az , S1ax - C1ay) (4-44)
§à tĂm Ξ6 , ta tiĂp tĂŽc nh©n A-15 vĂi
4T6 , ta ÂźâĂźc : A-15 .
4T6 = A6. ViĂt tĂch ma trĂn vĂ trži Ă« dÂčng kĂœ hiĂu :
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 55
f51(n) f51(O) 0 0 C6 -S6 0 0 f52(n) f52(O) 0 0 = S6 C6 0 0
0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1
Trong Ÿã : f51 = C5[C234(C1 x + S1 y) + S234 z] - S5(S1 x + C1 y)
f52 = -S234(C1 x + S1 y) + C234 z Cho c©n b»ng cžc phĂn tö ma trĂn tâÂŹng Ăžng, ta cĂŁ : S6 = -C5[C234(C1 Ox + S1 Oy) + S234 Oz] - S5(S1 Ox + C1 Oy)
C6 = -S234(C1 Ox + S1 Oy) + C234 OzVĂy : Ξ6 = arctg2(S6 , C6) (4-45) Cžc phâÂŹng trĂnh (4-38), (4-41), (4-42), (4-43), (4-44) v” (4-45) xžc ÂźĂnh tĂp
nghiĂm khi gi¶i b”i tožn Ÿéng hĂ€c ngâĂźc cña robot Elbow.
4.6. KĂt luĂn : PhâÂŹng phžp gi¶i b”i tožn Ÿéng hĂ€c ngâĂźc Âźâa ra trong châÂŹng nĂy sö dĂŽng cžc h”m lâĂźng gižc tĂč nhiÂȘn. Cžc gĂŁc thâĂȘng ÂźâĂźc xžc ÂźĂnh th«ng qua h”m arctang hai biĂn. PhâÂŹng phžp nĂy ÂźâĂźc Âźâa ra bĂ«i Pieper v” žp dĂŽng tĂšt vĂi nhĂ·ng robot Ÿn gi¶n, ThâĂȘng ta nhĂn ÂźâĂźc nghiĂm Ă« dÂčng c«ng thĂžc Ÿn gi¶n. Khi gi¶i b”i tožn Ÿéng hĂ€c ngâĂźc cĂŁ thĂ x¶y ra hiĂn tâĂźng âsuy biĂnâ . Khi cĂŁ nhiĂu hÂŹn mĂ©t tĂp nghiĂm ŸÚi vĂi b”i tožn ngâĂźc Ÿà xžc ÂźĂnh vĂ trĂ v” hâĂng cña b”n tay, thĂ cžnh tay ÂźâĂźc gĂ€i l” suy biĂn. DĂŻng phâÂŹng phžp Pieper, cžc nghiĂm nhĂn ÂźâĂźc thâĂȘng cĂŁ 4 dÂčng c«ng thĂžc, mçi dÂčng cĂŁ mĂ©t Ăœ nghĂa Ÿéng hĂ€c riÂȘng. DÂčng thĂž nhĂt : - sinΊ ax + cosΊ ay = 0 DÂčng nĂy cho ta mĂ©t cĂp nghiĂm cžch nhau 1800, nĂŁ m« t¶ hai hĂnh thĂ tâÂŹng Ăžng cña robot. NĂu cžc tö sĂš v” mĂu sĂš ÂźĂu b»ng kh«ng, robot bĂ suy biĂn, lĂłc Ÿã robot mĂt Âźi mĂ©t bĂc tĂč do. DÂčng thĂž hai : -S1px + C1py = d2 DÂčng nĂy cĂČng cho ta cĂp nghiĂm sai khžc nhau 1800, mĂ©t lĂn nĂ·a lÂči tĂ„n tÂči kh¶ nšng suy biĂn khi tö sĂš v” mĂu sĂš b»ng 0. Robot Ă« trâĂȘng hĂźp nĂy thâĂȘng cĂŁ mĂ©t khĂp tĂnh tiĂn v” Ÿé d”i tĂnh tiĂn ÂźâĂźc coi l” > 0. DÂčng thĂž ba : C1px + S1py = S2d3 v” dÂčng thĂž tâ : - C2d3 = - pz
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 56
Cžc phâÂŹng thĂnh nĂy thâĂȘng cĂŁ nghiĂm duy nhĂt. Ngo”i cžc dÂčng phĂŠ biĂn, khi robot cĂŁ hai hay nhiĂu khĂp song song (VĂ dĂŽ robot Elbow), cžc gĂŁc cña tĂ”ng khĂp ph¶i ÂźâĂźc xžc ÂźĂnh b»ng cžch gi¶i ŸÄng thĂȘi nhiĂu khĂp trong mĂši quan hĂ tĂŠng cžc gĂŁc khĂp. TĂm ra cžc nghiĂm phĂŻ hĂźp vĂi hĂnh thĂ cña robot (vĂ trĂ v” hâĂng) l” mĂ©t trong nhĂ·ng vĂn Ÿà khĂŁ khšn nhĂt. HĂu nhâ châa cĂŁ thuĂt tožn chung n”o m” nhĂȘ Ÿã cĂŁ thĂ tĂm ra ÂźâĂźc tĂp nghiĂm cho mĂ€i robot. Tuy nhiÂȘn phâÂŹng phžp Âźâa ra trong châÂŹng nĂy Ÿ· thiĂt lĂp ÂźâĂźc cžc nghiĂm sĂš Ă« dÂčng tâĂȘng minh, trĂčc tiĂp. Khi lĂp trĂnh ÂźiĂu khiĂn robot ta ph¶i dĂča v”o cžc giĂi hÂčn vĂt lĂœ Ÿà chĂ€n cžc nghiĂm vĂt lĂœ, nghĂa l” loÂči trĂ” cžc nghiĂm tožn kh«ng thĂch hĂźp Ÿà xžc ÂźĂnh mĂ©t cĂu hĂnh duy nhĂt cña robot.
Ξ1
Ξ2
a1 a2
O0
z1
z2
x1
y1
y2
O1
O2
z0x0
y0
x2
HĂnh 4.3 : HĂ toÂč Ÿé v” cžc th«ng sĂš cña robot 2 kh©u phÂŒng
B”i tĂp châÂŹng IV : B”i 1 : Cho mĂ©t vĂ trĂ mong muĂšn cña kh©u chĂp h”nh cuĂši cña robot cĂŁ 3 kh©u phÂŒng nhâ hĂnh 4.2; DĂŻng phâÂŹng phžp hĂnh hĂ€c Ÿà xžc ÂźĂnh cĂŁ bao nhiÂȘu lĂȘi gi¶i cña b”i tožn Ÿéng hĂ€c ngâĂźc ? NĂu hâĂng cña kh©u chĂp h”nh cuĂši cĂČng ÂźâĂźc xžc ÂźĂnh, thĂ cĂŁ bao nhiÂȘu lĂȘi gi¶i ? B”i 2 : DĂŻng phâÂŹng phžp hĂnh hĂ€c Ÿà gi¶i b”i tožn Ÿéng hĂ€c ngâĂźc (xžc ÂźĂnh cžc gĂŁc Ξ1, Ξ2 ) cña robot cĂŁ hai kh©u phÂŒng nhâ hĂnh 4.3 : HĂnh 4.2 : Robot cĂu hĂnh RRR
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 57
B”i 3 : ThiĂt lĂp hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot SCARA (hĂnh 4.4) v” gi¶i b”i tožn Ÿéng hĂ€c ngâĂźc cña nĂŁ.
O0
Ξ1x
xd3
x
x
x
z3, z4
Ξ2
Ξ4
O3
O4
z0 z1
z2a1
a2
d4
HĂnh 4.4 : Robot SCARA
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 58
ChâÂŹng V
ng«n ngĂ· lĂp trĂnh robot (Robot Programming Languages )
5.1. GiĂi thiĂu chung vĂ lĂp trĂnh ÂźiĂu khiĂn robot : LĂp trĂnh ÂźiĂu khiĂn robot thĂ hiĂn mĂši quan hĂ giĂ·a ngâĂȘi ÂźiĂu khiĂn v” robot c«ng nghiĂp. TĂnh phĂžc tÂčp cña viĂc lĂp trĂnh c”ng tšng khi cžc Ăžng dĂŽng c«ng nghiĂp ÂźĂi hĂĄi sö dĂŽng ŸÄng thĂȘi nhiĂu robot vĂi cžc mžy tĂč Ÿéng kh¶ lĂp trĂnh khžc tÂčo nÂȘn hĂ thĂšng s¶n xuĂt tĂč Ÿéng linh hoÂčt.
Robot khžc vĂi cžc mžy tĂč Ÿéng cĂš ÂźĂnh Ă« tĂnh âlinh hoÂčtâ, nghĂa l” cĂŁ thĂ lĂp
trĂnh ÂźâĂźc (Programmable : kh¶ lĂp trĂnh). Kh«ng nhĂ·ng chĂ cĂŁ cžc chuyĂn Ÿéng cña robot m” ngay c¶ viĂc sö dĂŽng cžc c¶m biĂn cĂČng nhâ nhĂ·ng th«ng tin quan hĂ vĂi mžy tĂč Ÿéng khžc trong ph©n xâĂ«ng cĂČng cĂŁ thĂ lĂp trĂnh. Robot cĂŁ thĂ dĂ d”ng thĂch nghi vĂi sĂč thay ŸÊi cña nhiĂm vĂŽ s¶n xuĂt b»ng cžch thay ŸÊi châÂŹng trĂnh ÂźiĂu khiĂn nĂŁ.
Khi xem xĂt vĂn Ÿà lĂp trĂnh cho robot, chĂłng ta nÂȘn nhĂ r»ng robot l” mĂ©t th”nh phĂn cña mĂ©t quž trĂnh ÂźâĂźc tĂč Ÿéng hož. ThuĂt ngĂ·, workcell ÂźâĂźc dĂŻng Ÿà m« t¶ mĂ©t tĂp hĂźp cžc thiĂt bĂ m” nĂŁ bao gĂ„m mĂ©t hoĂc nhiĂu robot, hĂ thĂšng bšng chuyĂn, cžc cÂŹ cĂu cĂp ph«i v” ŸÄ gž. Ă« mĂžc cao hÂŹn, Workcell cĂŁ thĂ ÂźâĂźc liÂȘn kĂt trong mÂčng lâĂi cžc ph©n xâĂ«ng vĂ thĂ mžy tĂnh ÂźiĂu khiĂn trung t©m cĂŁ thĂ ÂźiĂu khiĂn to”n bĂ© cžc hoÂčt Ÿéng cña ph©n xâĂ«ng. VĂ vĂy, viĂc lĂp trĂnh ÂźiĂu khiĂn robot trong thĂčc tĂ s¶n xuĂt cĂn ph¶i ÂźâĂźc xem xĂt trong mĂši quan hĂ rĂ©ng hÂŹn. §à bâĂc ÂźĂu l”m quen vĂi viĂc lĂp trĂnh ÂźiĂu khiĂn robot, châÂŹng nĂy cĂČng giĂi thiĂu tĂŁm tŸt phâÂŹng phžp lĂp trĂnh ÂźiĂu khiĂn robot TERGAN-45 th«ng qua ng«n ngĂ· ASPECT cña phĂn mĂm Procomm Plus for Window 5.2. Cžc mĂžc lĂp trĂnh ÂźiĂu khiĂn robot : NgâĂȘi sö dĂŽng cĂŁ thĂ cĂŁ nhiĂu kiĂu giao diĂn lĂp trĂnh ÂźiĂu khiĂn robot. TrâĂc sĂč phžt triĂn nhanh chĂŁng cña cžc loÂči mžy vi tĂnh dĂŻng trong c«ng nghiĂp v” cžc ng«n ngĂ· lĂp trĂnh ng”y c”ng cĂŁ nhiĂu tiĂn Ăch cao, viĂc lĂp trĂnh ÂźiĂu khiĂn robot ng”y c”ng dĂ d”ng v” thuĂn tiĂn hÂŹn.
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 59
5.2.1. LĂp trĂnh kiĂu âDÂčy - HĂ€câ : Cžc robot thĂ hĂ ÂźĂu tiÂȘn Ÿ· ÂźâĂźc lĂp trĂnh b»ng mĂ©t phâÂŹng phžp m” chĂłng ta gĂ€i l” : dÂčy b»ng chĂ dĂn (Teach by showing), robot ÂźâĂźc ÂźiĂu khiĂn Ÿà di chuyĂn ÂźĂn cžc ÂźiĂm mong muĂšn v” cžc vĂ trà Ÿã ÂźâĂźc ghi lÂči trong bĂ© nhĂ cña mžy tĂnh, sau Ÿã cžc dĂ· liĂu sĂ ÂźâĂźc ŸÀc tuĂn tĂč v” robot thĂčc hiĂn lÂči cžc Ÿéng tžc Ÿ· ÂźâĂźc hĂ€c. §à dÂčy robot, ngâĂȘi sö dĂŽng cĂŁ thĂ hâĂng dĂn robot b»ng tay hoĂc th«ng qua mĂ©t thiĂt bĂ dÂčy hĂ€c gĂ€i l” Teach pendant. ThiĂt bĂ dÂčy hĂ€c gĂ„m mĂ©t hĂ©p nhĂĄ cĂm tay (teaching box) cĂŁ cžc nĂłt bĂm v” card ÂźiĂu khiĂn m” nĂŁ cho phĂp ÂźiĂu khiĂn cžc khĂp cña robot ÂźÂčt ÂźâĂźc cžc giž trĂ mong muĂšn. 5.2.2. DĂŻng cžc ng«n ngĂ· lĂp trĂnh : CĂŻng vĂi quž trĂnh phžt triĂn ng”y c”ng rĂ hÂŹn v” mÂčnh hÂŹn cña mžy tĂnh,, châÂŹng trĂnh ÂźiĂu khiĂn robot ÂźâĂźc phžt triĂn theo hâĂng viĂt cžc châÂŹng trĂnh b»ng cžc ng«n ngĂ· lĂp trĂnh cña mžy tĂnh. ThâĂȘng cžc ng«n ngĂ· lĂp trĂnh nĂy cĂŁ nhĂ·ng ÂźĂc ÂźiĂm m” chĂłng ta cĂŁ thĂ Ăžng dĂŽng Ÿà viĂt cžc phĂn mĂm hay châÂŹng trĂnh ÂźiĂu khiĂn robot, v” chĂłng ÂźâĂźc gĂ€i l” âng«n ngĂ· lĂp trĂnh robotâ. HĂu hĂt cžc hĂ thĂšng ÂźiĂu khiĂn dĂŻng ng«n ngĂ· lĂp trĂnh robot vĂn duy trĂ kiĂu giao diĂn Teach pendant (dÂčy- hĂ€c). Ng«n ngĂ· lĂp trĂnh robot cĂŁ nhiĂu dÂčng khžc nhau. ChĂłng ta ph©n chĂłng th”nh ba loÂči nhâ sau : a) Ng«n ngĂ· robot chuyÂȘn dĂŻng : nhĂ·ng ng«n ngĂ· lĂp trĂnh robot nĂy ÂźâĂźc x©y dĂčng b»ng cžch tÂčo ra mĂ©t ng«n ngĂ· mĂi ho”n to”n. CĂł phžp (Syntax) v” ngĂ· nghĂa (Semantics) cña cžc ng«n ngĂ· nĂy cĂn ph¶i rĂt Ÿn gi¶n vĂ ngâĂȘi lĂp trĂnh cho cžc Ăžng dĂŽng c«ng nghiĂp kh«ng ph¶i l” mĂ©t chuyÂȘn gia vĂ lĂp trĂnh. VĂ dĂŽ nhâ ng«n ngĂ· VAL (VAL 2) ÂźâĂźc dĂŻng Ÿà ŸiĂu khiĂn cžc robot c«ng nghiĂp cña h·ng Unimation (Hoa kĂș); hoĂc mĂ©t ng«n ngĂ· robot chuyÂȘn dĂŻng khžc gĂ€i l” AL ÂźâĂźc x©y dĂčng Ă« §Âči hĂ€c Stanford (hoa kĂș)... b) TÂčo ra cžc thâ viĂn robot cho mĂ©t ng«n ngĂ· lĂp trĂnh cĂp cao Ÿ· cĂŁ sÂŒn : NhĂ·ng ng«n ngĂ· lĂp trĂnh robot nĂy ÂźâĂźc x©y dĂčng b»ng cžch dĂča trÂȘn cžc ng«n ngĂ· lĂp trĂnh cĂp cao th«ng dĂŽng (vĂ dĂŽ nhâ Pascal) v” thÂȘm v”o mĂ©t thâ viĂn cžc thñ tĂŽc v” h”m ÂźĂc biĂt dĂŻng cho robot. Khi viĂt cžc châÂŹng trĂnh Pascal Ÿà ŸiĂu khiĂn robot, ngâĂȘi sö dĂŽng sĂ gĂ€i cžc h”m hoĂc thñ tĂŽc Ÿ· ÂźĂnh nghĂa trâĂc trong thâ viĂn Ÿà xö lĂœ cžc nĂ©i dung cĂŁ liÂȘn quan ÂźĂn viĂc tĂnh tožn hoĂc ÂźiĂu khiĂn robot.
VĂ dĂŽ PASRO (Pascal for Robot) l” mĂ©t thâ viĂn dĂŻng cho lĂp trĂnh robot,
cung cĂp nhiĂu thñ tĂŽc v” h”m ÂźĂc biĂt Ÿà tĂnh tožn v” ÂźiĂu khiĂn robot dĂŻng trong m«i trâĂȘng ng«n ngĂ· Turbo Pascal, hoĂc PASRO/C l” phžt triĂn cña PASRO, nhâng ÂźâĂźc viĂt trÂȘn cÂŹ sĂ« cña ng«n ngĂ· Turbo C.
c) TÂčo ra cžc thâ viĂn robot cho mĂ©t ng«n ngĂ· hoĂc phĂn mĂm Âźa dĂŽng
(Robot library for a new general - purpose language) : NhĂ·ng ng«n ngĂ· lĂp trĂnh robot nĂy ÂźâĂźc x©y dĂčng b»ng cžch sö dĂŽng cžc ng«n ngĂ· hoĂc phĂn mĂm dĂŻng
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 60
chung cho nhiĂu mĂŽc ÂźĂch nhâ l” mĂ©t châÂŹng trĂnh cÂŹ b¶n, sau Ÿã cung cĂp thÂȘm mĂ©t thâ viĂn chĂža cžc thñ tĂŽc ÂźĂc biĂt dĂŻng cho robot. VĂ dĂŽ nhâ ng«n ngĂ· lĂp trĂnh robot AML cña h·ng IBM v” RISE cña h·ng Silma, ng«n ngĂ· Aspect cña phĂn mĂm Procomm Plus ...
5.2.3. Ng«n ngĂ· lĂp trĂnh theo nhiĂm vĂŽ (Task-level programming language)
MĂžc thĂž ba cña phâÂŹng phžp lĂp trĂnh robot l” tÂčo ra cžc ng«n ngĂ· lĂp trĂnh theo nhiĂm vĂŽ. NhĂ·ng ng«n ngĂ· nĂy cho phĂp ngâĂȘi sö dĂŽng ra cžc lĂnh Ÿà robot thĂčc hiĂn mĂ©t c«ng viĂc mong muĂšn mĂ©t cžch trĂčc tiĂp m” kh«ng cĂn xžc ÂźĂnh mĂ©t cžch chi tiĂt cžc hoÂčt Ÿéng cña robot nhâ cžc ng«n ngĂ· lĂp trĂnh th«ng thâĂȘng. MĂ©t hĂ thĂšng lĂp trĂnh robot theo nhiĂm vĂŽ ph¶i cĂŁ kh¶ nšng thĂ hiĂn nhiĂu c«ng viĂc mĂ©t cžch tĂč Ÿéng. ChÂŒng hÂčn, nĂu mĂ©t chĂ thĂ âGrasp the boltâ (cĂm lĂy bulong) ÂźâĂźc tÂčo ra, hĂ thĂšng ph¶i vÂčch ra ÂźâĂźc mĂ©t quĂ ÂźÂčo cña tay mžy m” nĂŁ tržnh ÂźâĂźc sĂč va chÂčm vĂi bĂt kĂș châĂng ngÂči vĂt n”o chung quanh, chĂ€n ÂźâĂźc vĂ trĂ tĂšt nhĂt Ÿà cĂm lĂy bulong mĂ©t cžch tĂč Ÿéng. NgâĂźc lÂči, trong ng«n ngĂ· lĂp trĂnh robot th«ng thâĂȘng tĂt c¶ nhĂ·ng sĂč lĂča chĂ€n nĂy ph¶i ÂźâĂźc thĂčc hiĂn bĂ«i ngâĂȘi lĂp trĂnh. Trong thĂčc tĂ, ng«n ngĂ· lĂp trĂnh theo nhiĂm vĂŽ châa ÂźâĂźc dĂŻng trong s¶n xuĂt, nĂŁ cĂn l” mĂ©t lĂnh vĂčc Âźang ÂźâĂźc nghiÂȘn cĂžu. Sau Ÿ©y ta sĂ nghiÂȘn cĂžu mĂ©t phĂn mĂm Âźa dĂŽng dĂŻng truyĂn dĂ· liĂu v” ÂźiĂu khiĂn thiĂt bĂ cĂŁ thĂ dĂŻng Ÿà ŸiĂu khiĂn robot. 5.3. GiĂi thiĂu tĂŁm tŸt phĂn mĂm Procomm Plus For Windows :
Procomm Plus l” phĂn mĂm dĂŻng Ÿà truyĂn dĂ· liĂu v” ÂźiĂu khiĂn trĂčc tiĂp cžc
thiĂt bĂ qua cĂŠng COM cña mžy tĂnh cž nh©n. VĂi Procomm Plus ta cĂŁ thĂ sö dĂŽng mžy tĂnh nhâ mĂ©t Terminal hoĂc thĂčc hiĂn cžc Scrip files viĂt b»ng ng«n ngĂ· lĂp trĂnh Aspect.
§à chÂčy phĂn mĂm Procomm Plus Ă« chà Ÿé Terminal ta cĂŁ thĂ dĂŻng mĂ©t sĂš cžch sau : a) Sö dĂŽng Desktop Windows : Ăn Ÿóp chuĂ©t trÂȘn biĂu tâĂźng cña Procomm Plus terminal Windows. b) TĂ” mĂŽc Run... trong Start cña Windows, gĂą lĂnh : pw3 , chĂ€n OK. c) V”o Start cña Windows, chĂ€n Programs, chĂ€n Procomm Plus 3, chĂ€n Data Terminal...
Menu chĂnh cña Procomm Plus cĂŁ nhiĂu tiĂn Ăch, rĂt thuĂn tiĂn khi ÂźiĂu khiĂn cžc thiĂt bĂ giao diĂn vĂi mžy tĂnh kiĂu RS 232.
Cña sĂŠ chĂnh cña phĂn mĂm Procomm plus Ă« chà Ÿé Terminal nhâ hĂnh 5.1.
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 61
Thanh c«ng cĂŽ Menu chĂnh
Cöa sĂŠ nhĂp - xu©t dĂ· liĂu .
DĂng chĂ€n nhanh kiĂu giao diĂnMeta keys Thanh trÂčng thži
HĂnh 5.1 : Cöa sĂŠ chĂnh cña Procomm Plus for Windows, Version 3.0
Menu chĂnh : Cung cĂp cžc tiĂn Ăch cĂn thiĂt trong quž trĂnh sö dĂŽng, menu chĂnh cĂŁ cžc menu kĂo xuĂšng (Pulldown) tâÂŹng tĂč nhâ nhiĂu phĂn mĂm th«ng dĂŽng khžc. NĂ©i dung cña Menu chĂnh cĂŁ thĂ thay ŸÊi ÂźâĂźc theo mĂŽc ÂźĂch sö dĂŽng. MĂ©t sĂš nĂ©i dung cña menu chĂnh cĂŁ thĂ dĂŻng trong quž trĂnh ÂźiĂu khiĂn robot nhâ sau : Menu Setup : DĂŻng Ÿà xžc ÂźĂnh cĂu hĂnh cña Terminal Windows v” chà Ÿé giao diĂn giĂ·a mžy tĂnh vĂi thiĂt bĂ. Trong menu nĂy cĂn cĂŁ thĂ sö dĂŽng mĂŽc con Action Bars Ÿà chĂ€n file chĂža nĂ©i dung cña thanh c«ng cĂŽ v” cho thĂ hiĂn trÂȘn m”n hĂnh. Menu Data : Trong menu nĂy ta cĂŁ thĂ dĂŻng cžc menu con sau : + Clear screen (Alt+C): Xož m”n hĂnh nhĂp xuĂt dĂ· liĂu; + Reset terminal (Alt+U): Xož m”n hĂnh v” bĂ© ÂźĂm (buffer) cña Procomm. Menu Scripts : Trong menu nĂy ta cĂŁ thĂ dĂŻng cžc menu con sau : + Start scrips (Alt+.) : ThĂčc hiĂn mĂ©t Aspect scrips file, cĂŁ tÂȘn ÂźâĂźc thĂ hiĂn trÂȘn thanh c«ng cĂŽ. + Run... (Alt+F5) : MĂ« hĂ©p hĂ©i thoÂči Run ASPECT file , chĂłng ta cĂŁ thĂ chĂ€n tÂȘn file, thĂčc hiĂn viĂc dĂch cžc file nguĂ„n trâĂc khi chÂčy châÂŹng trĂnh. + Compile / Edit... (Alt+F3) : MĂ« hĂ©p hĂ©i thoÂči soÂčn th¶o v” dĂch cžc file nguĂ„n.
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 62
+ Start recorder... : bŸt ÂźĂu tĂč Ÿéng tÂčo ra mĂ©t scrips file b»ng cžc ghi lÂči tĂt c¶ cžc lĂnh thĂ hiĂn trÂȘn m”n hĂnh (nhĂp tĂ” b”n phĂm). Khi chĂ€n mĂŽc nĂy sĂ xuĂt hiĂn mĂŽc Stop recorder, dĂŻng khi muĂšn kĂt thĂłc viĂc ghi tĂč Ÿéng scrips file.
CĂŁ thĂ chĂ€n mĂŽc nĂy trÂȘn thanh c«ng cĂŽ b»ng cžch Ăn chuĂ©t v”o biĂu tâĂźng . Menu Tools : Trong menu nĂy ta cĂŁ thĂ dĂŻng cžc menu con sau : + Action bar Edition : DĂŻng Ÿà soÂčn th¶o hay thay ŸÊi nĂ©i dung thanh c«ng cĂŽ cho phĂŻ hĂźp vĂi mĂŽc ÂźĂch sö dĂŽng. + Aspect Editor : MĂ« cöa sĂŠ Ÿà soÂčn th¶o script files b»ng ng«n ngĂ· Aspect, chĂłng ta cĂŁ thĂ tÂčo mĂi, xem hoĂc söa ŸÊi nĂ©i dung cña mĂ©t file (dÂčng Text). + Dialog Editor : MĂ« cöa sĂŠ soÂčn th¶o hĂ©p hĂ©i thoÂči, cho phĂp ta tÂčo ra cžc hĂ©p hĂ©i thoÂči b»ng phâÂŹng phžp trĂčc quan (Visual). Thanh c«ng cĂŽ (Tool bar) : cĂŁ nhiĂu Icon (biĂu tâĂźng) giĂłp ngâĂȘi sö dĂŽng cĂŁ thĂ thĂčc hiĂn nhanh mĂ©t c«ng viĂc b»ng cžch bĂm chuĂ©t trÂȘn biĂu tâĂźng tâÂŹng Ăžng, thay vĂ ph¶i v”o Menu chĂnh. NĂ©i dung cña thanh c«ng cĂŽ cĂČng cĂŁ thĂ thay ŸÊi dĂ d”ng Ÿà phĂŻ hĂźp vĂi mĂŽc ÂźĂch sö dĂŽng (mĂŽc Action bar Edition). Cöa sĂŠ nhĂp - xuĂt dĂ· liĂu : l” phĂn m”n hĂnh Ÿà ngâĂȘi sö dĂŽng nhĂp v”o cžc dĂ· liĂu, cžc lĂnh ÂźiĂu khiĂn v” cžc thĂ hiĂn th«ng bžo tr¶ vĂ tĂ” cžc thiĂt bĂ ÂźâĂźc ÂźiĂu khiĂn. Meta Keys : DĂŻng Ÿà c”i ÂźĂt sÂŒn cžc Ăžng dĂŽng thâĂȘng hay thĂčc hiĂn. NĂ©i dung cña cžc Meta Keys cĂŁ thĂ thay ŸÊi ÂźâĂźc Ÿà phĂŻ hĂźp vĂi tĂ”ng mĂŽc ÂźĂch sö dĂŽng. Khi muĂšn thĂčc hiĂn mĂ©t c«ng viĂc Ÿ· gžn cho Meta Key chĂ cĂn Ăn chuĂ©t v”o Meta key Ÿã. MuĂšn soÂčn th¶o hay thay ŸÊi nhiĂm vĂŽ cña Meta Keys ta thĂčc hiĂn nhâ sau : Cžch 1 : Ăn phĂm ALT+M . Cžch 2 : ChĂ€n mĂŽc Meta Keys Editor tĂ” Tool menu . DĂng chĂ€n nhanh kiĂu giao diĂn : Cho phĂp ngâĂȘi sö dĂŽng chĂ€n nhanh kiĂu th«ng sĂš giao diĂn giĂ·a thiĂt bĂ ÂźiĂu khiĂn v” mžy tĂnh nhâ : cĂŠng giao diĂn, tĂšc Ÿé truyĂn th«ng tin, kiĂu xö lĂœ dĂ· liĂu ... b»ng cžch Ăn nĂłt chuĂ©t trži lÂȘn cžc mĂŽc. 5.4. Ng«n ngĂ· lĂp trĂnh ASPECT trong Procomm : 5.4.1. GiĂi thiĂu : MĂ©t ASPECT script file l” mĂ©t file dÂčng text ÂźâĂźc tÂčo ra Ÿà chĂža cžc lĂnh ÂźâĂźc thĂčc hiĂn bĂ«i Procomm Plus. GiĂšng nhâ nhiĂu ng«n ngĂ· lĂp trĂnh khžc, ASPECT yÂȘu cĂu ph¶i dĂch châÂŹng trĂnh soÂčn th¶o. MĂ©t script file châa dĂch, hay cĂn gĂ€i l” file nguĂ„n, cĂŁ Âźu«i l” .was (Windows Aspect Source); cĂn mĂ©t script file Ÿ· dĂch cĂŁ Âźu«i l” .wax (Windows Aspect eXecutable). Khi mĂ©t script Ÿ· ÂźâĂźc dĂch, thĂ cžc dĂ· liĂu v” cžc c©u lĂnh chĂža trong file nguĂ„n sĂ ÂźâĂźc chuyĂn sang m· m” Procomm cĂŁ thà ŸÀc v” xö lĂœ mĂ©t cžch nhanh chĂŁng. Sau khi dĂch thĂ file dĂch (.wax) cĂŁ kĂch thâĂc nhĂĄ hÂŹn so vĂi file nguĂ„n. TĂŁm lÂči : mĂ©t script file ph¶i ÂźâĂźc dĂch trâĂc khi cĂŁ thĂ thĂčc hiĂn. MĂ©t file Ÿ· ÂźâĂźc dĂch kh«ng thĂ dĂch ngâĂźc trĂ« lÂči th”nh file nguĂ„n.
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 63
ChĂłng ta cĂŁ thĂ tÂčo mĂi v” soÂčn th¶o file nguĂ„n (.was) b»ng trĂnh ASPECT Editor hay bĂt kĂș mĂ©t trĂnh soÂčn th¶o dÂčng text n”o khžc, nhâng ph¶i ÂźĂt tÂȘn tĂp cĂŁ Âźu«i l” . was. §à tÂčo mĂi mĂ©t file nguĂ„n hoĂc thay ŸÊi bĂŠ sung nĂ©i dung cña mĂ©t file Ÿ· cĂŁ, tĂ” menu chĂnh cña Procomm, chĂ€n Scripts | Compile/Edit... hoĂc Ăn chuĂ©t v”o biĂu
tâĂźng trÂȘn thanh c«ng cĂŽ. HĂ©p hĂ©i thoÂči dĂŻng Ÿà soÂčn th¶o v” dĂch cžc script files nhâ hĂnh 5.3. MuĂšn tÂčo mĂ©t file mĂi ta chĂ€n nĂłt lĂnh New; muĂšn söa ŸÊi nĂ©i dung mĂ©t file Ÿ· cĂŁ (tÂȘn file Ÿ· chĂ€n trâĂc trong mĂŽc File name) ta chĂ€n nĂłt lĂnh Edit; muĂšn thožt khĂĄi cña sĂŠ soÂčn th¶o ta chĂ€n nĂłt lĂnh Exit. Khi chĂ€n nĂłt lĂnh New hoĂc Edit, trÂȘn m”n hĂnh sĂ xuĂt hiĂn cña sĂŠ soÂčn th¶o Ÿà ta viĂt hoĂc sö ŸÊi châÂŹng trĂnh. Sau khi soÂčn th¶o xong, muĂšn ghi v”o ÂźĂa ta chĂ€n File | Save hoĂc File | Save as ... Ta cĂČng cĂŁ thĂ chĂ€n biĂu tuĂźng âGhi v” dĂchâ (Save and Compile) trÂȘn thanh c«ng cĂŽ Ÿà ghi v”o ÂźĂa ŸÄng thĂȘi dĂch th”nh file .wax.
HĂnh 5.3 : Cöa sĂŠ soÂčn th¶o v” dĂch cžc script file §à chÂčy mĂ©t Aspect script file cĂŁ thĂ thĂčc hiĂn b»ng nhiĂu cžch : + ChĂ€n mĂŽc Script trÂȘn Menu chĂnh, tiĂp theo chĂ€n mĂŽc Run... LĂłc nĂy sĂ xuĂt hiĂn hĂ©p hĂ©i thoÂči Ÿà chĂ€n file muĂšn thĂčc hiĂn. + Ăn chuĂ©t trÂȘn mĂŽc Script file cña thanh c«ng cĂŽ, sau Ÿã chĂ€n tÂȘn file muĂšn thĂčc hiĂn. NĂu mĂ©t file Ÿ· chÂčy, tÂȘn vĂn cĂn trong mĂŽc Script file, muĂšn chÂčy lÂči
thĂ Ăn chuĂ©t v”o biĂu tâĂźng trÂȘn thanh c«ng cĂŽ. + CĂŁ thĂ chÂčy mĂ©t script file tĂ” cña sĂŠ Compile/Edit ASPECT file (ChĂ€n mĂŽc RUN) (hĂnh 5.3).
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 64
5.4.2. KiĂu dĂ· liĂu v” khai bžo biĂn trong ASPECT : a) KiĂu dĂ· liĂu : ASPECT cung cĂp cžc kiĂu dĂ· liĂu nhâ sau : integer (kiĂu nguyÂȘn) : CĂŁ giž trĂ tĂ” -32768 ÂźĂn 32767. float (kiĂu sĂš thĂčc) : CĂŁ giž trĂ tĂ” 2.22507385072014e-308 ÂźĂn 1.797693134862315e+308. long (kiĂu nguyÂȘn d”i) : CĂŁ giž trĂ tĂ” -2147483648 ÂźĂn 2147483647. String (kiĂu chuĂŠi) : CĂŁ thĂ chĂža tĂ” 0 ÂźĂn 256 kĂœ tĂč. TĂt c¶ tÂȘn cña cžc phĂn tö trong ASPECT, nhâ tÂȘn tĂ” lĂnh, tÂȘn h”m v” thñ tĂŽc, tÂȘn nh·n (label) v” biĂn ... cĂŁ chiĂu d”i kh«ng quž 30 kĂœ tĂč.
b) Cžc loÂči biĂn : Trong ASPECT cĂŁ cžc loÂči biĂn sau :
+ BiĂn hĂ thĂšng : BiĂn hĂ thĂšng l” cžc biĂn âchà ŸÀcâ (read-only) m” ASPECT v” Procomm Plus cĂŁ thĂ Ăn ÂźĂnh cžc giž trĂ ÂźĂc biĂt. VĂ dĂŽ : chĂłng ta kh«ng thĂ thay ŸÊi giž trĂ cña biĂn hĂ thĂšng $ROW m” nĂŁ lu«n lu«n b»ng vĂ trĂ dĂng hiĂn tÂči cña con trĂĄ trÂȘn m”n hĂnh, ta chĂ cĂŁ thà ŸÀc giž trĂ cña nĂŁ bĂt kĂș nÂŹi n”o trong châÂŹng trĂnh v” xö lĂœ khi cĂn thiĂt. BiĂn hĂ thĂšng lu«n cĂŁ dĂu $ Ă« ÂźĂu. + BiĂn do ngâĂȘi dĂŻng ÂźĂnh nghĂa , cĂŁ hai loÂči : - BiĂn to”n cĂŽc (Global variables) : BiĂn to”n cĂŽc cĂŁ thĂ ÂźâĂźc ÂźĂnh nghĂa Ă« bĂt kĂș nÂŹi n”o trong châÂŹng trĂnh nhâng ph¶i Ă« bÂȘn ngo”i cžc khĂši Thñ tĂŽc v” H”m. PhĂŠ biĂn , cžc biĂn to”n cĂŽc thâĂȘng ÂźâĂźc khai bžo Ă« ÂźĂu châÂŹng trĂnh. BiĂn to”n cĂŽc cĂŁ thĂ ÂźâĂźc tham chiĂu ÂźĂn tĂ” bĂt cĂž h”m hay thñ tĂŽc n”o cña châÂŹng trĂnh, NĂu mĂ©t thñ tĂŽc hoĂc h”m l”m thay ŸÊi giž trĂ cña mĂ©t biĂn to”n cĂŽc thĂ giž trà Ÿã vĂn ÂźâĂźc duy trĂ cho ÂźĂn khi n”o cĂŁ mĂ©t lĂnh khžc l”m thay ŸÊi giž trĂ cña nĂŁ. - BiĂn ÂźĂa phâÂŹng (Local variables) : Kh«ng giĂšng nhâ biĂn to”n cĂŽc, biĂn ÂźĂa phâÂŹng chĂ ÂźâĂźc tham kh¶o ÂźĂn trong phÂčm vi cña thñ tĂŽc v” h”m m” nĂŁ ÂźâĂźc ÂźĂnh nghĂa. Giž trĂ cña nĂŁ sĂ bĂ xož khi ra khĂĄi thñ tĂŽc v” h”m Ÿã. Ta cĂŁ thĂ ÂźĂt tÂȘn cžc biĂn ÂźĂa phâÂŹng giĂšng nhau trong cžc thñ tĂŽc v” h”m khžc nhau cña châÂŹng trĂnh, nhâng ÂźiĂu Ÿã kh«ng cĂŁ nghĂa l” giž trĂ cña biĂn ÂźâĂźc ghi nhĂ giĂ·a cžc thñ tĂŽc hoĂc h”m khžc nhau. + Tham biĂn (Parameter variables): BĂt cĂž thñ tĂŽc n”o, ngoÂči trĂ” châÂŹng trĂnh chĂnh (Proc main) ÂźĂu cĂŁ thĂ khai bžo (ÂźĂnh nghĂa) ÂźĂn 12 tham biĂn. Cžc tham biĂn tâÂŹng tĂč nhâ cžc biĂn ÂźĂa phâÂŹng, nghĂa l” nĂŁ chĂ ÂźâĂźc tham chiĂu ÂźĂn trong phÂčm vi thñ tĂŽc hoĂc h”m m” nĂŁ ÂźâĂźc ÂźĂnh nghĂa, tuy nhiÂȘn khžc vĂi biĂn ÂźĂa phâÂŹng, cžc tham biĂn nhĂn cžc giž trĂ ban ÂźĂu mĂ©t cžch tĂč Ÿéng khi cžc thñ tĂŽc hoĂc h”m ÂźâĂźc gĂ€i, cžc gĂa trĂ sö dĂŽng ÂźâĂźc cung cĂp bĂ«i c©u lĂnh gĂ€i. Cžc tham biĂn ph¶i ÂźâĂźc khai bžo Ă« ÂźĂu mçi thñ tĂŽc hoĂc h”m, trâĂc bĂt cĂž lĂnh n”o hoĂc cžc biĂn ÂźĂa phâÂŹng. MĂ©t tham biĂn ÂźâĂźc khai bžo
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 65
giĂšng nhâ biĂn ÂźĂa phâÂŹng. ThĂž tĂč m” cžc tham biĂn ÂźâĂźc ÂźĂnh nghĂa xžc ÂźĂnh thĂž tĂč m” chĂłng sĂ ÂźâĂźc gĂ€i bĂ«i cžc thñ tĂŽc hoĂc h”m. c) Khai bžo (ÂźĂnh nghĂa) cžc biĂn : TĂt c¶ cžc loÂči biĂn dĂŻng trong châÂŹng trĂnh ph¶i ÂźâĂźc khai bžo (ÂźĂnh nghĂa) trâĂc. NĂu cžc biĂn cĂŁ cĂŻng kiĂu dĂ· liĂu, ta cĂŁ thĂ khai bžo trÂȘn mĂ©t dĂng cžch nhau bĂ«i dĂu phĂy ( , ).
VĂ dĂŽ : Integer sokhop, Tong, i = 1 Float Goc Integer A[4][4] Trong vĂ dĂŽ trÂȘn ta khai bžo cžc biĂn : sokhop, Tong, i l” cžc biĂn nguyÂȘn, trong Ÿã biĂn i ÂźâĂźc gžn giž trĂ ban ÂźĂu l” 1. Goc l” biĂn thĂčc. A l” biĂn m·ng (array) cĂŁ kĂch thâĂc 4x4 , cžc phĂn tö cña m·ng kiĂu nguyÂȘn. Cžch khai bžo tham biĂn trong thñ tĂŽc v” h”m nhâ sau : param (kiĂu dĂ· liĂu ) (tÂȘn) [, tÂȘn] . . . VĂ dĂŽ : param Integer X, Y, Z ChâÂŹng trĂnh vĂ dĂŽ : ; Vi du ve khai bao bien. Proc main ; ChâÂŹng trĂnh chĂnh. integer A,B,C ; Khai bžo 3 biĂn nguyÂȘn. integer Tong ; TĂŠng cña 3 sĂš (biĂn nguyÂȘn). A=2, B=4, C=8 ; Gžn giž trĂ cho cžc biĂn. Tong = Sum(A,B,C) ; GĂ€i h”m Sum Ÿà cĂ©ng cžc sĂš. Usermsg â Tong = %d.â Tong ; Cho hiĂn tĂŠng cña cžc sĂš lÂȘn m”n hĂnh Endproc ; HĂt châÂŹng trĂnh chĂnh. Func Sum : Integer ; §Ănh nghĂa h”m Sum Ÿà tĂnh tĂŠng. Param integer X, Y, Z ; Khai bžo cžc tham biĂn kiĂu nguyÂȘn. integer Tong ; Khai bžo biĂn Tong (biĂn ÂźĂa phâÂŹng). Tong= X+Y+Z ; TĂŠng cña 3 sĂš. return Tong ; Tr¶ vĂ giž trĂ cña tĂŠng cña 3 sĂš. Endfunc ; hĂt phĂn ÂźĂnh nghĂa h”m (Ghi chĂł : dĂu â;â dĂŻng Ÿà ghi chĂł trong châÂŹng trĂnh, cžc nĂ©i dung sau dĂu â; â kh«ng ÂźâĂźc dĂch). 5.4.3. CĂu trĂłc cña châÂŹng trĂnh : CĂu trĂłc châÂŹng trĂnh cña mĂ©t ASPECT script file gĂn giĂšng nhâ mĂ©t file viĂt b»ng ng«n ngĂ· Pascal, nghĂa l” cĂŁ mĂ©t châÂŹng trĂnh chĂnh v” cžc thñ tĂŽc hoĂc h”m khžc. Chç khžc nhau cÂŹ b¶n l” châÂŹng trĂnh chĂnh ÂźâĂźc viĂt trâĂc, châÂŹng trĂnh chĂnh cĂŁ thĂ gĂ€i ÂźĂn cžc h”m hoĂc thñ tĂŽc ÂźâĂźc ÂźĂnh nghĂa sau Ÿã. Trong châÂŹng trĂnh chĂnh kh«ng ÂźâĂźc khai bžo cžc tham biĂn. Khi thĂčc hiĂn châÂŹng trĂnh, nĂŁ sĂ lĂn lâĂźt thĂčc hiĂn cžc lĂnh tĂ” dĂng ÂźĂu tiÂȘn ÂźĂn hĂt châÂŹng trĂnh.
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 66
Khi kĂt thĂłc mĂ©t h”m hoĂc thñ tĂŽc ÂźâĂźc gĂ€i, nĂŁ tĂč Ÿéng tr¶ vĂ dĂng lĂnh tiĂp theo. CĂu trĂłc chung cña mĂ©t châÂŹng trĂnh nhâ sau : ; DĂng ÂźĂu tiÂȘn dĂŻng ghi chĂł vĂ nĂ©i dung châÂŹng trĂnh, dĂng nĂy sĂ thĂ hiĂn trong ; hĂ©p hĂ©i thoÂči Compile/Edit Ÿà ngâĂȘi sö dĂŽng dĂ nhĂn biĂt vĂ nĂ©i dung cña châÂŹng ; trĂnh. Proc main ; bŸt ÂźĂu châÂŹng trĂnh chĂnh (Khai bžo biĂn) (cžc c©u lĂnh thĂ hiĂn nĂ©i dung châÂŹng trĂnh) . . . . . Endproc ; hĂt châÂŹng trĂnh chĂnh. Proc (tÂȘn thñ tĂŽc) ; BŸt ÂźĂu mĂ©t thñ tĂŽc (khai bžo cžc tham biĂn nĂu cĂŁ) (khai bžo cžc biĂn ÂźĂa phâÂŹng) (cžc c©u lĂnh thĂ hiĂn nĂ©i dung thñ tĂŽc) . . . . . Endproc ; hĂt mĂ©t thñ tĂŽc Func (tÂȘn h”m) ; BŸt ÂźĂu mĂ©t h”m (khai bžo cžc tham biĂn nĂu cĂŁ) (khai bžo cžc biĂn ÂźĂa phâÂŹng) (cžc c©u lĂnh thĂ hiĂn nĂ©i dung cña h”m) . . . . . return (biĂn) ; tr¶ giž trĂ cña biĂn vĂ thñ tĂŽc gĂ€i Endproc ; kĂt thĂłc h”m 5.4.4. MĂ©t sĂš phĂp tĂnh dĂŻng trong ASPECT : ASPECT sö dĂŽng nhiĂu phĂp tĂnh sĂš hĂ€c v” logic khžc nhau, dâĂi Ÿ©y giĂi thiĂu mĂ©t sĂš phĂp tĂnh hay dĂŻng : +, -, *, / PhĂp tožn cĂ©ng, trĂ”, nh©n, chia. >, <, >=, <= LĂn hÂŹn, nhĂĄ hÂŹn, lĂn hÂŹn hoĂc b»ng, nhĂĄ hÂŹn hoĂc b»ng. != Khžc vĂi ! NOT && AND || OR ++, -- Tšng hoĂc gi¶m mĂ©t Ÿn vĂ. ?: ThĂčc hiĂn mĂ©t ÂźiĂu kiĂn .v.v... VĂ dĂŽ 1 : Cho A=2, B=4
A+B-- = 6 : A ÂźâĂźc cĂ©ng vĂi B trâĂc, v” rĂ„i B gi¶m Âźi 1 (B=3). A+ --B = 5 : TrâĂc tiÂȘn B gi¶m Âźi 1, sau Ÿã cĂ©ng A vĂi B. VĂ dĂŽ 2 :
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 67
Proc main integer A,B,C,D integer Tong A=2, B=4 C=A+B Tong = A+ --B D=(tong < C) ? tong : C ; nĂu Tong < C thĂ D=Tong, nĂu sai D=C
Usermsg " D = %d , C = %d" D,C Endproc
KĂt qu¶ D = 5 v” C = 6. 5.4.5. MĂ©t sĂš tĂ” lĂnh trong ASPECT hay dĂŻng khi ÂźiĂu khiĂn robot: Ng«n ngĂ· ASPECT cĂŁ hÂŹn 600 tĂ” lĂnh, dĂŻng vĂi nhiĂu mĂŽc ÂźĂch khžc nhau. PhĂn nĂy chĂ giĂi thiĂu sÂŹ lâĂźt mĂ©t sĂš lĂnh hay dĂŻng khi lĂp trĂnh ÂźiĂu khiĂn robot. NgâĂȘi ŸÀc cĂŁ thĂ sö dĂŽng mĂŽc Help trÂȘn menu cöa sĂŠ soÂčn th¶o Ÿà biĂt thÂȘm chi tiĂt. * Cžc lĂnh cšn b¶n : call :
GĂ€i mĂ©t thñ tĂŽc hoĂc h”m tĂ” châÂŹng trĂnh chĂnh hoĂc tĂ” mĂ©t thñ tĂŽc khžc. CĂł phžp : Khi gĂ€i mĂ©t h”m : call <tÂȘn> [WITH <danh sžch tham biĂn>] [INTO <biĂn>] Khi gĂ€i mĂ©t thñ tĂŽc : call <tÂȘn> [WITH <danh sžch tham biĂn>] tÂȘn : tÂȘn thñ tĂŽc hoĂc h”m ÂźâĂźc gĂ€i. Danh sžch tham biĂn : TÂȘn cžc tham biĂn trong thñ tĂŽc hoĂc h”m. INTO <biĂn> : ChĂ dĂŻng khi gĂ€i mĂ©t h”m, biĂn sĂ chĂža giž trĂ tr¶ lÂči cña h”m.
case/endcase : C©u lĂnh lĂča chĂ€n, dĂŻng vĂi tĂ” lĂnh Switch. CĂł phžp :
switch <biĂn> (string | integer | long) case <giž trĂ so sžnh> (string | integer | long) ... [exitswitch] ; thožt khĂĄi khĂši lĂnh switch kh«ng ... ÂźiĂu kiĂn. [endcase] [default] ; thĂčc hiĂn khi cžc trâĂȘng hĂźp so sžnh ... ÂźĂu kh«ng Ÿóng. endcase
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 68
endswitch VĂ dĂŽ : proc main integer Alpha = 2 ; gžn giž trĂ ban ÂźĂu cho biĂn Alpha=2. switch Alpha ; tĂm giž trĂ cña biĂn sĂš case 0 ; TrâĂȘng hĂźp biĂn cĂŁ giž trĂ b»ng 0. usermsg "Alpha = 0" ; XuĂt kĂt qu¶ trÂȘn cöa sĂŠ m”n hĂnh. Endcase ; HĂt trâĂȘng hĂźp so sžnh thĂž nhĂt. case 1 ; tâÂŹng tĂč nhâ trÂȘn . . . usermsg "Alpha = 1" endcase case 2 usermsg "Alpha = 2" endcase endswitch ; lu«n Âźi kĂm vĂi switch Ÿà kĂt thĂłc khĂši lĂnh switch. endproc if / endif : C©u lĂnh ÂźiĂu kiĂn.
CĂł phžp : if <ÂźiĂu kiĂn 1>
... [elseif <ÂźiĂu kiĂn 2] ... [else] ... endif ; kĂt thĂłc khĂši lĂnh if.
(LĂnh nĂy gĂn giĂšng nhâ lĂnh if trong Pascal, kh«ng cĂŁ tĂ” then). while/endwhile :
LĂp lÂči mĂ©t sĂš c©u lĂnh cho ÂźĂn khi ÂźiĂu kiĂn kiĂm tra l” sai. VĂ dĂŽ : proc main integer SoLanLap = 0 ; BiĂn nguyÂȘn dĂŻng Ÿà ŸĂm sĂš lĂn lĂp while (SoLanLap++) < 3 ; Mçi lĂn lĂp biĂn tšng giž trĂ thÂȘm mĂ©t endwhile ; KĂt thĂłc khĂši lĂnh while. usermsg "Toi da lap %d lan" SoLanLap endproc for/endfor : C©u lĂnh lĂp theo mĂ©t sĂš lĂn nhĂt ÂźĂnh CĂł phžp : for <biĂn ÂźĂm>=<giž trĂ ban ÂźĂu> UPTO | DOWNTO <giž trĂcuĂši>
[BY <bâĂc>] . [exitfor] ; ChuyĂn ÂźiĂu khiĂn thožt khĂĄi c©u lĂnh lĂp for
. ; ÂźĂn dĂng lĂnh sau endfor
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 69
endfor Return : Thožt khĂĄi thñ tĂŽc hoĂc h”m hiĂn tÂči, tiĂp tĂŽc Ă« c©u lĂnh tiĂp theo cña thñ tĂŽc Ÿ· gĂ€i. * Cžc lĂnh khžc : transmit : Göi mĂ©t dĂng kĂœ tĂč (lĂnh) ÂźĂn cĂŠng Âźang hoÂčt Ÿéng. VĂ dĂŽ : proc main transmit "B-250~C-200~F-240~~P+200â ; ChuyĂn lĂnh ÂźiĂu khiĂn robot TG-45 endproc Pause : TÂčm dĂ”ng thĂčc hiĂn châÂŹng trĂnh trong mĂ©t sĂš gi©y qui ÂźĂnh. CĂł phžp :
pause <sĂš gi©y | FOREVER> VĂ dĂŽ : Pause 5 : tÂčm dĂ”ng thĂčc hiĂn châÂŹng trĂnh 5 gi©y Pause Forever : DĂ”ng vĂi thĂȘi gian kh«ng xžc ÂźĂnh. LĂnh Pause cĂŁ thĂ ÂźâĂźc huĂ» bĂĄ khi Ăn Ctl-Break. KĂœ tĂč ~ thay cho lĂnh pause vĂi giž trĂ dĂ”ng b»ng 0,5 gi©y. VĂ dĂŽ : Transmit âB+200~~E-100â Sau khi truyĂn lĂnh B+200 sĂ tÂčm dĂ”ng 1 gi©y (2 kĂœ tĂč ~) mĂi truyĂn tiĂp lĂnh E-100. chdir : Thay ŸÊi ÂźâĂȘng dĂn ÂźĂn mĂ©t ĂŠ ÂźĂa hoĂc thâ mĂŽc khžc. CĂł phžp : chdir <âTÂȘn ÂźâĂȘng dĂnâ> VĂ dĂŽ : Chdir âC:\ procom3\Robotâ copyfile : Copy mĂ©t file theo ÂźâĂȘng dĂn hoĂc vĂi mĂ©t tÂȘn khžc. CĂł phžp : copyfile <âfile nguĂ„nâ> <âfile ÂźĂchâ> VĂ dĂŽ : copy âC:\ Procom3\ aspect\ robot.wasâ âC:\ tam\ robot1.txtâ delfile : Xož mĂ©t file theo chĂ ÂźĂnh. CĂł phžp : delfile <âtÂȘn fileâ> mkdir : TÂčo mĂ©t thâ mĂŽc mĂi. CĂł phžp : mkdir <âtÂȘn thâ mucâ> rmdir : Xož mĂ©t thâ mĂŽc (trĂšng)
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 70
CĂł phžp : rmdir <âtÂȘn thâ mĂŽcâ> rename : §Êi tÂȘn mĂ©t file. CĂł phžp : rename <âtÂȘn file cĂČâ> <âtÂȘn file mĂiâ> Fopen : MĂ« mĂ©t file Ÿà ŸÀc hoĂc ghi.
CĂł phžp : fopen <sĂš hiĂu file> <âtÂȘn fileâ> READ | WRITE | READWRITE | CREATE | APPEND | READAPPEND
Cžc tuĂș chĂ€n : READ : chà ŸÀc; READWRITE : cĂŁ thà ŸÀc v” ghi;
CREATE : TÂčo mĂi; APPEND : Ghi tiĂp v”o cuĂši file; READAPPEND : CĂŁ thà ŸÀc v” ghi tiĂp v”o cuĂši file.
Fclose : §ãng mĂ©t file Ÿ· mĂ«. CĂł phžp : Fclose <sĂš hiĂu file> fputs : Ghi mĂ©t chuçi kĂœ tĂč lÂȘn file. CĂł phžp : fputs <sĂš hiĂu file> <âchuçi kĂœ tĂčâ> VĂ dĂŽ : proc main string Fname = "Vidu.txt" ; TÂȘn file ÂźâĂźc mĂ«. if fopen 0 Fname CREATE ; TÂčo mĂi v” mĂ« mĂ©t file cĂŁ tÂȘn âVidu.txtâ fputs 0 "Day la file moi duoc mo !" ; Ghi mĂ©t chuçi lÂȘn file. fclose 0 ; §ãng file Ÿ· ÂźâĂźc tÂčo mĂi v” mĂ«. else errormsg "Couldn't open file `"%s`"." Fname endif endproc feof : KiĂm tra ÂźiĂu kiĂn Ÿ· Ă« cuĂši mĂ©t file. CĂł phžp : feof <sĂš hiĂu file> [biĂn nguyÂȘn] [biĂn nguyÂȘn] : cĂŁ giž trĂ 0 nĂu châa kĂt thĂłc file, b»ng 1
nĂu Ÿ· kĂt thĂłc file. Fgets : §Àc mĂ©t dĂng kĂœ tĂč tĂ” mĂ©t tĂp Ÿ· mĂ« ghi v”o mĂ©t biĂn. CĂł phžp : fgets <sĂš hiĂu file> <tÂȘn biĂn kiĂu string> VĂ dĂŽ : proc main string Fname = "Vidu.txt" ; TÂȘn file cĂn ŸÀc string chuoi ; BiĂn chuoi nhĂn giž trà ŸÀc tĂ” file. if fopen 0 Fname READ ; MĂ« file chà Ÿà ŸÀc (sĂš hiĂu file id=0). while not feof 0 ; LĂp lÂči khi châa kĂt thĂłc file. fgets 0 FInput ; §Àc mĂ©t dĂng tĂ” file
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 71
usermsg FInput ; ThĂ hiĂn dĂng Ÿ· ŸÀc endwhile fclose 0 ; §ãng file else errormsg "Can't open `"%s`" for input." Fname ; bžo lçi nĂu file kh«ng tĂ„n tÂči. endif endproc usesmsg : thĂ hiĂn mĂ©t dĂng th«ng bžo hay kĂt qu¶ trÂȘn cöa sĂŠ. CĂł phžp : usermsg <:dĂng th«ng bžoâ> [biĂn1, ...] Xem cžc vĂ dĂŽ trÂȘn. termwrites : ViĂt mĂ©t dĂng kĂœ tĂč lÂȘn cña sĂŠ nhĂp xuĂt dĂ· liĂu.
CĂł phžp : termwrites <biĂn hoĂc âdĂng kĂœ tĂčâ>
Run : ThĂčc hiĂn mĂ©t châÂŹng trĂnh bÂȘn ngo”i (Âźu«i COM, EXE hoĂc BAT). CĂł phžp : run <âtÂȘn châÂŹng trĂnhâ>
VĂ dĂŽ : proc main string Prog = "C:\ windows\ pbrush.exe" ; ChâÂŹng trĂnh cĂn thĂčc hiĂn. run Prog ; ThĂčc hiĂn châÂŹng trĂnh PaintBrush cña Windows. Endproc
Ngo”i cžc tĂ” lĂnh Ÿ· giĂi thiĂu trÂȘn, cĂn cĂŁ rĂt nhiĂu lĂnh khžc..., ngâĂȘi sö dĂŽng cĂŁ thĂ tham kh¶o trĂčc tiĂp trong mĂŽc HELP cña cö sĂŠ soÂčn th¶o khi cĂn thiĂt. Ng«n ngĂ· ASPECT kh«ng cĂŁ sÂŒn cžc h”m tožn hĂ€c nhâ sin, cos, ... nÂȘn khi muĂšn thĂčc hiĂn cžc tĂnh tožn phĂžc tÂčp ta ph¶i dĂŻng cžc phĂn mĂm khžc. 5.5. LĂp trĂnh ÂźiĂu khiĂn robot TERGAN - 45 :
Nhâ Ÿ· nĂŁi trÂȘn, Ÿà ŸiĂu khiĂn robot TERGAN-45 ta cĂŁ thĂ dĂŻng phĂn mĂm Procomm Plus for Windows ÂźiĂu khiĂn trĂčc tiĂp hoĂc viĂt cžc châÂŹng trĂnh b»ng ng«n ngĂ· ASPECT.
5.5.1. GiĂi thiĂu robot TERGAN 45 (TG-45): TERGAN 45 l” mĂ©t loÂči robot dĂŻng Ÿà dÂčy hĂ€c do Phžp s¶n xuĂt. §©y l” loÂči robot to”n khĂp quay, cĂŁ 4 bĂc tĂč do. §i kĂm vĂi robot gĂ„m cĂŁ mĂ©t bĂ© nguĂ„n v” mĂ©t m«Ÿun ÂźiĂu khiĂn. M«Ÿun ÂźiĂu khiĂn cho phĂp ÂźiĂu khiĂn robot trÂȘn cžc Terminal hoĂc mžy tĂnh cĂŁ giao diĂn kiĂu RS-232. CĂu hĂnh cña robot nhâ hĂnh 5.2 :
o o
o
Th©n
Vai Cžnh tay
CĂŠ tay
B”n tay
HĂnh 5.3 : SÂŹ ŸÄ Ÿéng Robot TG-45
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 72
Cžc khĂp quay cña robot ÂźâĂźc dĂn Ÿéng b»ng cžc Ÿéng cÂŹ ÂźiĂn mĂ©t chiĂu cĂŁ gŸn cžc potentionmeter, ngo”i ra Ÿà Ÿãng mĂ« b”n tay cña robot ngâĂȘi ta dĂŻng truyĂn Ÿéng vit-me cĂŁ gŸn cö h”nh trĂnh, vĂn tĂšc Ÿãng mĂ« cžc ngĂŁn tay cĂŁ thĂ ÂźiĂu chĂnh ÂźâĂźc. Cžc gĂŁc quay giĂi hÂčn cña cžc kh©u trÂȘn robot l” :
+ ChuyĂn Ÿéng cña th©n 2610. + ChuyĂn Ÿéng cña vai 850. + ChuyĂn Ÿéng cña cžnh tay 2490. + ChuyĂn Ÿéng cña cĂŠ tay 1800.
TĂšc Ÿé truyĂn th«ng tin qua moÂźun ÂźiĂu khiĂn tĂ” 50 ÂźĂn 9600 bauds vĂi bĂ© vi xö lĂœ 8 bits, Stop bit l” 1 hoĂc 2. §iĂn žp nguĂ„n cung cĂp l” 110V/220V, 50HZ. §iĂn žp ÂźiĂu khiĂn ±12V. TrÂȘn m«Ÿun ÂźiĂu khiĂn cĂŁ thÂȘm cžc ÂźĂu v”o v” ra Ÿà giao diĂn vĂi cžc thiĂt bĂ khžc (nhâ cžc c¶m biĂn, ÂźiĂu khiĂn bšng t¶i nhĂĄ, ...). MoÂźun ÂźiĂu khiĂn robot TG-45 ÂźâĂźc thiĂt kĂ giao diĂn vĂi mžy tĂnh b»ng cžc lĂnh cÂŹ b¶n sau :
B±XXX : §iĂu khiĂn th©n (Base), E±XXX : §iĂu khiĂn vai (Ăpaule), C±XXX: §iĂu khiĂn cžnh tay (Coude), F±XXX : §iĂu khiĂn cĂŠ tay (Poignet), P±XXX : §ãng mĂ« b”n tay (Pince), S±XXX : §iĂu khiĂn cžc tĂn hiĂu ra, I±XXX : §iĂu khiĂn cžc tĂn hiĂu v”o. ChiĂu d”i cña cžc lĂnh ÂźiĂu khiĂn l” 5 kĂœ tĂč m· ASCII. KĂœ hiĂu XXX biĂu
diĂn cžc chĂ· sĂš tĂ” 000 ÂźĂn 511. VĂ du :
LĂnh B-200 sĂ ÂźiĂu khiĂn th©n robot quay sang ph¶i mĂ©t gĂŁc : Ξ1 = (261o/2) x 200 / 511 â 51004â
LĂnh C+200 sĂ ÂźiĂu khiĂn cžnh tay robot quay lÂȘn phĂa trÂȘn mĂ©t gĂŁc : Ξ3 = (249o/2) x 200 / 511 â 48043â (so vĂi vai). LĂnh P+200 sà Ÿãng b”n tay (dĂŻng khi muĂšn nŸm mĂ©t vĂt) , vĂn tĂšc Ÿãng mĂ« thay ŸÊi ÂźâĂźc theo giž trĂ tĂ” 001 ÂźĂn 511. VĂ dĂŽ P+100 sà Ÿãng chĂm hÂŹn P+200.
Cžc lĂnh ÂźâĂźc chuyĂn ÂźĂn tĂ” mžy tĂnh sĂ ÂźâĂźc m«Ÿun ÂźiĂu khiĂn xö lĂœ sau Ÿã tr¶ lÂči cžc th«ng bžo thĂčc hiĂn (message) trÂȘn m”n hĂnh. 5.5.2. §iĂu khiĂn trĂčc tiĂp robot TG-45 nhĂȘ phĂn mĂm Procomm :
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 73
Ă« chà Ÿé TERMINAL cña Procomm Plus ta cĂŁ thĂ ÂźiĂu khiĂn trĂčc tiĂp robot Tergan 45 b»ng cžch gĂą trĂčc tiĂp cžc lĂnh l”m quay cžc khĂp cña robot, vĂ dĂŽ : B+200 C-250 E-100 F-250 P+200 Ta cĂŁ thĂ ghi lÂči cžc lĂnh vĂ”a nhĂp v”o mĂ©t file Ÿà thĂčc hiĂn lÂči sau nĂy, nĂu trâĂc khi nhĂp cžc lĂnh ta chĂ€n mĂŽc START RECORDER trÂȘn menu hoĂc Icon tâÂŹng Ăžng. 5.5.3. ViĂt châÂŹng trĂnh ÂźiĂu khiĂn robot TERGAN-45 : Ta cĂŁ thĂ ÂźiĂu khiĂn robot Tergan-45 b»ng cžch viĂt cžc châÂŹng trĂnh b»ng ng«n ngĂ· ASPECT. MĂ©t châÂŹng trĂnh vĂ dĂŽ Ÿn gi¶n nhâ sau : proc main transmit "E-100~B-250~F-180~C-200~B-300~~~P+150~~~â transmit âE+000~C-150~B+300~~C-180~~~~P-200~~~" transmit "E+200~B-400~~~E-000~~~C-300~~~F-080~~~B-450~~~P+150~~~â transmit âC-260~~E+100~~B+300~~~~~~P-200~~" transmit "F+200~C-130~B-350~F-300~~E-180~~B-400~~~P+100~~" transmit "E+200~~B+300~~~~E-100~~~F-230~~~~P-200~~~~â transmit âC-000~F-000~E-000~B-000~P-200~" pause 50 clear termwrites "Da thuc hien xong, xin cho lenh !" endproc
Khi soÂčn th¶o xong châÂŹng trĂnh ta ph¶i ÂźĂt tÂȘn v” ghi v”o ÂźĂa, vĂ dĂŽ tÂȘn châÂŹng trĂnh l” DEMO.WAS. Sau Ÿã ta ph¶i dĂch châÂŹng trĂnh Ÿà tÂčo ra file DEMO.WAX lĂłc Ÿã mĂi cĂŁ thĂ chÂčy ÂźâĂźc trong Procomm Plus. Tuy nhiÂȘn, nhâ Ÿ· giĂi thiĂu Ă« trÂȘn, m«Ÿun ÂźiĂu khiĂn robot TG-45 chĂ cĂŁ cžc lĂnh Ÿn gi¶n Ÿà ŸiĂu khiĂn cžc m«tÂŹ dĂn Ÿéng cžc khĂp quay. NĂu chĂ ÂźiĂu khiĂn robot b»ng cžc lĂnh Ÿn thĂ kh«ng thĂ mĂ« rĂ©ng kh¶ nšng l”m viĂc cña robot ÂźâĂźc, hÂŹn nĂ·a viĂc lĂp trĂnh cĂČng mĂt nhiĂu c«ng sĂžc vĂ khĂŁ xžc ÂźĂnh ÂźâĂźc cžc toÂč Ÿé m” ta yÂȘu cĂu b”n tay robot ph¶i ÂźÂčt tĂi. Do Ÿã viĂc lĂp trĂnh ÂźiĂu khiĂn robot ph¶i tÂčo ra cžc chĂžc nšng khžc khi ÂźiĂu khiĂn robot nhâ :
1) ChâÂŹng trĂnh cĂŁ thĂ giĂłp ngâĂȘi sö dĂŽng dÂčy robot hĂ€c m” robot cĂŁ thĂ lĂp lÂči cžc chuyĂn Ÿéng Ÿ· ÂźâĂźc dÂčy-hĂ€c mĂ©t cžch chĂnh xžc.
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 74
2) ThiĂt kĂ ÂźiĂu khiĂn Ÿéng hĂ€c thuĂn : nghĂa l” châÂŹng trĂnh cho phĂp ngâĂȘi sö dĂŽng ÂźiĂu khiĂn robot theo giž trĂ cžc gĂŁc quay cña khĂp (tĂnh b»ng Ÿé) khi xžc ÂźĂnh trâĂc mĂ©t cĂu hĂnh n”o Ÿã cña robot.
3) ThiĂt kĂ ÂźiĂu khiĂn Ÿéng hĂ€c ngâĂźc : nghĂa l” ngâĂȘi sö dĂŽng châÂŹng trĂnh
cĂŁ thĂ ÂźiĂu khiĂn robot theo cžc toÂč Ÿé vĂ trĂ v” hâĂng cña b”n tay Ÿ· ÂźâĂźc xžc ÂźĂnh trâĂc. Khi ta nhĂp cžc giž trĂ vĂ toÂč Ÿé v” hâĂng cña b”n tay thĂ châÂŹng trĂnh tĂč Ÿéng tĂnh tožn cžc gĂŁc quay cña cžc khĂp Ÿà robot chuyĂn Ÿéng ÂźĂn vĂ trĂ yÂȘu cĂu vĂi hâĂng Ÿ· ÂźâĂźc xžc ÂźĂnh.
4) ThiĂt kĂ cžc tiĂn Ăch khžc nhâ : ÂźiĂu khiĂn theo ÂźâĂȘng, tÂčo cžc meta keys,
tÂčo ra cžc trĂź giĂłp cho ngâĂȘi sö dĂŽng... Cžc nĂ©i dung 2 v” 3 cĂn ph¶i thiĂt lĂp hĂ phâÂŹng trĂnh Ÿéng hĂ€c cña robot
TERGAN-45 v” gi¶i hĂ phâÂŹng trĂnh Ÿéng hĂ€c Ÿã. PhĂn tĂnh tožn cĂŁ thĂ viĂt b»ng ng«n ngĂ· Pascal hoĂc C++ m” nĂŁ ÂźâĂźc gĂ€i tĂ” châÂŹng trĂnh ÂźiĂu khiĂn (dĂŻng lĂnh RUN), châÂŹng trĂnh ÂźiĂu khiĂn xö lĂœ kĂt qu¶ tĂnh tožn qua cžc file trung gian dÂčng text.
PhĂn mĂm Procomm cung cĂp nhiĂu tiĂn Ăch Ÿà ta cĂŁ thĂ thiĂt kĂ châÂŹng trĂnh kiĂu trĂčc quan (Visual), giĂłp cho viĂc viĂt châÂŹng trĂnh v” thao tžc trong quž trĂnh sö dĂŽng ÂźâĂźc dĂ d”ng, thuĂn tiĂn hÂŹn. 5.8. KĂt luĂn : Trong châÂŹng nĂy chĂ giĂi thiĂu mĂ©t cžch tĂŠng qužt vĂ cžc phâÂŹng phžp lĂp trĂnh ÂźiĂu khiĂn robot. KhĂŁ cĂŁ thĂ Âźi s©u, cĂŽ thĂ v”o mĂ©t ng«n ngĂ· n”o vĂ nĂŁ phĂŽ thuĂ©c rĂt nhiĂu v”o loÂči robot ÂźâĂźc sö dĂŽng. PhĂn ng«n ngĂ· ASPECT trong phĂn mĂm Procomm ÂźâĂźc nghiÂȘn cĂžu Ă« trÂȘn l” mĂ©t vĂ dĂŽ vĂ Ăžng dĂŽng cžc phĂn mĂm dĂŻng cho nhiĂu mĂŽc ÂźĂch Ÿà ŸiĂu khiĂn robot. Trong thĂčc tĂ, tuĂș nhiĂm vĂŽ cĂŽ thĂ cña mçi robot, phĂši hĂźp vĂi hoÂčt Ÿéng chung cña cžc mžy mĂŁc thiĂt bĂ khžc m” ta thiĂt kĂ cžc châÂŹng trĂnh cĂŽ thà Ÿà robot hoÂčt Ÿéng theo nhĂ·ng mĂŽc ÂźĂch mong muĂšn.
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 75
B”i tĂp châÂŹng V : B”i 1 : H·y viĂt mĂ©t Function cña h”m arctg2(y,x) b»ng ng«n ngĂ· Turbo Pascal. B”i 2 : ViĂt mĂ©t châÂŹng trĂnh (ng«n ngĂ· tuĂș Ăœ) Ÿà nhĂp cžc th«ng sĂš DH v” tĂč Ÿéng xžc lĂp cžc ma trĂn An (BiĂu hiĂn kĂt qu¶ trÂȘn m”n hĂnh v” ghi v”o mĂ©t file dÂčng text). B”i 3 : ViĂt mĂ©t châÂŹng trĂnh b»ng Turbo Pascal Ÿà tĂnh tožn Ÿéng hĂ€c nguĂźc (Xžc ÂźĂnh cžc gĂŁc quay) cña robot TERGAN-45. DĂ· liĂu nhĂp tĂ” b”n phĂm. Ghi kĂt qu¶ v”o mĂ©t file dÂčng text. B”i 4 : ViĂt mĂ©t châÂŹng trĂnh ÂźiĂu khiĂn robot TERGAN-45 b»ng ng«n ngĂ· ASPECT Ÿà robot cĂŁ cĂu hĂnh nhâ sau :
Ξ1 = +300; Ξ2 = -100; Ξ3 = -300; Ξ4 = -250. B”n tay robot nŸm lÂči sau khi di chuyĂn ÂźĂn vĂ trĂ yÂȘu cĂu.
B”i 5 : ViĂt mĂ©t châÂŹng trĂnh b»ng ng«n ngĂ· ASPECT, gĂ€i châÂŹng trĂnh tĂnh Ÿéng hĂ€c ngâĂźc viĂt b»ng Turbo Pascal (nhâ b”i 3), xö lĂœ kĂt qu¶ tĂnh tožn Ÿà ŸiĂu khiĂn robot TERGAN-45 theo toÂč Ÿé vĂ trĂ v” hâĂng cña b”n tay.
TS. PhÂčm §šng PhâĂc
ROBOT C«ng nghiĂp 76
ChâÂŹng VI M« phĂĄng robot trÂȘn mžy tĂnh
(Robot Simulation) (PhĂn thĂčc h”nh trÂȘn mžy tĂnh)
6.1. KĂŒ thuĂt m« phĂĄng robot :
M« phĂĄng l” mĂ©t kĂŒ thuĂt hiĂn ÂźÂči, ÂźâĂźc žp dĂŽng trong nhiĂu lĂnh vĂčc
nghiÂȘn cĂžu v” s¶n xuĂt. Khi nghiÂȘn cĂžu vĂ ÂźiĂu khiĂn robot, ta cĂŁ thĂ thĂčc hiĂn ÂźiĂu khiĂn trĂčc tiĂp
robot hoĂc ÂźiĂu khiĂn m« phĂĄng. §iĂu khiĂn m« phĂĄng l” dĂŻng cžc m« hĂnh tĂnh tožn Ÿéng hĂ€c v” Ÿéng lĂčc hĂ€c cña robot kĂt hĂźp vĂi cžc phâÂŹng phžp ŸÄ hoÂč trÂȘn mžy vi tĂnh Ÿà m« t¶ vĂ kĂt cĂu v” hoÂčt Ÿéng cña cžnh tay robot.
NghiÂȘn cĂžu vĂ m« phĂĄng hoÂčt Ÿéng cña robot trÂȘn mžy tĂnh giĂłp cho cžc nh” thiĂt kĂ nhanh chĂŁng lĂča chĂ€n ÂźâĂźc phâÂŹng žn hĂnh - Ÿéng hĂ€c cña robot, cĂŁ thĂ kiĂm tra kh¶ nšng hoÂčt Ÿéng cña robot trÂȘn m”n hĂnh, kiĂm tra sĂč phĂši hĂźp cña robot vĂi cžc thiĂt bĂ khžc trong d©y chuyĂn. §iĂu nĂy rĂt cĂŁ Ăœ nghĂa trong quž trĂnh thiĂt kĂ chĂ tÂčo robot mĂi hoĂc bĂš trĂ d©y chuyĂn s¶n xuĂt.
Qua m« phĂĄng ngâĂȘi thiĂt kĂ cĂŁ thà Ÿžnh giž tâÂŹng ŸÚi ÂźĂy Ÿñ kh¶ nšng l”m viĂc cña phâÂŹng žn thiĂt kĂ m” kh«ng cĂn chĂ thö. NĂŁ cĂČng ÂźâĂźc xem l” phâÂŹng tiĂn ŸÚi thoÂči, hiĂu chĂnh thiĂt kĂ theo yÂȘu cĂu Âźa dÂčng cña ngâĂȘi sö dĂŽng.
PhâÂŹng phžp lĂp trĂnh m« phĂĄng cĂČng giĂłp ngâĂȘi thiĂt kĂ chĂ€n ÂźâĂźc quĂŒ ÂźÂčo c«ng nghĂ hĂźp lĂœ cña robot trong quž trĂnh l”m viĂc vĂi mĂ©t ŸÚi tâĂźng cĂŽ thĂ hay phĂši hĂźp vĂi cžc thiĂt bĂ khžc trong mĂ©t c«ng ÂźoÂčn s¶n xuĂt ÂźâĂźc tĂč Ÿéng hož.
HiĂn nay cĂŁ nhiĂu phĂn mĂm c«ng nghiĂp v” cžc phĂn mĂm nghiÂȘn cĂžu
khžc nhau Ÿà m« phĂĄng robot, phÂčm vi Ăžng dĂŽng v” giž th”nh cña chĂłng cĂČng khžc nhau. Ă« Ÿ©y chĂłng ta nghiÂȘn cĂžu phâÂŹng phžp m« phĂĄng robot dĂŻng phĂn mĂm EASY-ROB.
6.2. GiĂĂ thiĂu phĂn mĂm EASY-ROB : EASY-ROB l” c«ng cĂŽ m« phĂĄng robot sö dĂŽng ŸÄ hoÂč trong kh«ng gian 3
chiĂu (3D) v” cžc hĂnh ¶nh cĂŁ thĂ hoÂčt Ÿéng ÂźâĂźc. MĂ©t hĂ thĂšng 3D-CAD Ÿn gi¶n cho phĂp tÂčo ra cžc khĂši hĂnh hĂ€c cÂŹ b¶n nhâ khĂši trĂŽ, khĂši cĂu, khĂši chĂ· nhĂt, khĂši tam gižc ... Ÿà vĂ kĂt cĂu cña robot. Trong EASY-ROB chĂłng ta cĂŁ thĂ dĂŻng chuĂ©t Ÿà quay hoĂc tĂnh tiĂn robot ÂźĂn mĂ©t toÂč Ÿé tuĂș Ăœ. EASY-ROB cĂČng cĂŁ cžc chĂžc nšng phĂŁng to, thu nhĂĄ ŸÚi tâĂźng vĂ nhâ nhiĂu phĂn mĂm thiĂt kĂ khžc... ChâÂŹng trĂnh cho phĂp thiĂt kĂ cžc robot ÂźĂn 12 bĂc tĂč do. ChuyĂn Ÿéng cña Robot cĂŁ thĂ ÂźâĂźc ÂźiĂu khiĂn theo cžc biĂn khĂp hoĂc cžc toÂč Ÿé §Ă-cžt. ChĂłng ta cĂČng cĂŁ thĂ m« t¶ Ÿéng hĂ€c cña robot theo kiĂu DH hoĂc trong hĂ toÂč Ÿé to”n cĂŽc (Universal
TS. PhÂčm §šng PhâĂc
ROBOT C«ng nghiĂp 77
Coordinates). Easy-Rob Ÿ· cĂŁ sÂœn cžc trĂnh ÂźiĂu khiĂn Ÿéng hĂ€c thuĂn v” ngâĂźc cña cžc cĂu hĂnh robot th«ng dĂŽng, khi thiĂt kĂ ta chĂ cĂn khai bžo kiĂu Ÿéng hĂ€c thĂch hĂźp. Trong trâĂȘng hĂźp robot cĂŁ kĂt cĂu ÂźĂc biĂt hoĂc cĂŁ cžc kh©u bà Ÿéng gŸn vĂi cžc chuyĂn Ÿéng cña cžc khĂp thĂ cĂn ph¶i gi¶i b”i tožn Ÿéng hĂ€c ngâĂźc hoĂc xžc ÂźĂnh h”m tožn hĂ€c m« t¶ sĂč phĂŽ thuĂ©c cña kh©u bà Ÿéng ŸÚi vĂi khĂp quay, viĂt châÂŹng trĂnh xžc ÂźĂnh sĂč phĂŽ thuĂ©c Ÿã b»ng ng«n ngĂ· C v” sau Ÿã dĂŻng tĂp tin MAKE.EXE trong C Ÿà dĂch th”nh tĂp tin thâ viĂn liÂȘn kĂt Ÿéng er_kin.dll (Easy-Rob kinematic Dynamic link library), khi chÂčy châÂŹng trĂnh, EASY-ROB sĂ liÂȘn kĂt vĂi tĂp tin nĂy v” thĂčc hiĂn kiĂu Ÿéng hĂ€c Ÿ· ÂźâĂźc khai bžo trong châÂŹng trĂnh ÂźiĂu khiĂn.
Easy-ROB cĂŁ mĂ©t sĂš cžc lĂnh ÂźiĂu khiĂn riÂȘng, ChâÂŹng trĂnh ÂźâĂźc viĂt theo kiĂu xö lĂœ tuĂn tĂč, tĂp tin dÂčng Text, cĂŁ thĂ soÂčn th¶o châÂŹng trĂnh trong bĂt kĂș trĂnh soÂčn th¶o n”o. Cžc c«ng cĂŽ gŸn trÂȘn kh©u chĂp h”nh cuĂši cĂŁ thĂ thay ŸÊi ÂźâĂźc. ChĂłng ta cĂŁ thĂ viĂt mĂ©t châÂŹng trĂnh chuyĂn Ÿéng cho mĂ©t robot theo mĂ©t quĂŒ ÂźÂčo mong muĂšn, cĂŁ thĂ kiĂm tra kh¶ nšng vâÂŹn tĂi cña cžnh tay, xžc ÂźĂnh vĂŻng l”m viĂc cña robot . . . Robot m« phĂĄng cĂŁ thĂ cĂm nŸm hoĂc th¶ cžc ŸÚi tâĂźng l”m viĂc. Cžc chuyĂn Ÿéng cña robot cĂŁ thĂ ghi v”o mĂ©t tĂp tin v” cĂŁ thĂ thĂčc hiĂn lÂči.
PhĂn mĂm cho phĂp ta xem ÂźâĂźc cžc hĂ toÂč Ÿé Ÿ· gŸn trÂȘn cžc kh©u cña robot, xem ÂźâĂźc quĂŒ ÂźÂčo chuyĂn Ÿéng cña ÂźiĂm cuĂši c«ng cĂŽ gŸn trÂȘn kh©u chĂp h”nh cuĂši. PhĂn mĂm cĂn cĂŁ nhiĂu tiĂn Ăch khžc nhâ : cho phĂp ta lĂp trĂnh ÂźiĂu khiĂn robot b»ng phâÂŹng phžp dÂčy hĂ€c, thiĂt kĂ cžc ŸÚi tâĂźng l”m viĂc cña robot, cĂŁ cžc cöa sĂŠ vĂ toÂč Ÿé v” giž trĂ gĂŁc quay cña cžc khĂp tÂči tĂ”ng thĂȘi ÂźiĂm khi robot hoÂčt Ÿéng...
ViĂc sö dĂŽng phĂn mĂm EASY-ROB Ÿà m« phĂĄng robot giĂłp chĂłng ta hai kh¶ nšng nghiÂȘn cĂžu :
a/ M« phĂĄng lÂči mĂ©t robot Ÿ· cĂŁ v” cžc ŸÚi tâĂźng l”m viĂc cña nĂŁ. §žnh giž kh¶ nšng l”m viĂc v” mĂžc Ÿé linh hoÂčt cña robot, xžc ÂźĂnh cžc th«ng sĂš ÂźiĂu khiĂn, quĂŒ ÂźÂčo chuyĂn Ÿéng Ÿà dĂŻng trong ÂźiĂu khiĂn thĂčc.
b/ NghiÂȘn cĂžu thiĂt kà Ÿéng hĂ€c, cžc kĂch thâĂc v” kĂt cĂu cña robot trÂȘn mžy tĂnh Ÿà cĂŁ thĂ chĂ€n ÂźâĂźc phâÂŹng žn Ÿéng hĂ€c tĂšt nhĂt, ٦m b¶o cho robot ho”n th”nh cžc nhiĂm vĂŽ yÂȘu cĂu.
6.3. TĂm hiĂu m”n hĂnh EASYĂROB : a- Menu chĂnh : Menu chĂnh cña phĂn mĂm EASY-ROB cung cĂp cžc nĂ©i dung hoÂčt Ÿéng
khžc nhau cña phĂn mĂm. BâĂc ÂźĂu l”m quen, ta cĂn quan t©m cžc Menu sau : Menu FILE : Xö lĂœ cžc tžc vĂŽ trÂȘn File. Trong Easy-Rob cĂŁ nhiĂu loÂči file ÂźâĂźc qui ÂźĂnh bĂ«i phĂn mĂ« rĂ©ng (Âźu«i cña File), vĂ dĂŽ : File cĂŁ dÂčng *.Cel : (Cellfile) Ÿà m« t¶ kĂt cĂu Robot, c«ng cĂŽ l”m viĂc v” ŸÚi tâĂźng l”m viĂc cña robot. §©y l” mĂ©t File tĂŠng hĂźp, bao gĂ„m c¶ châÂŹng trĂnh dĂŻng Ÿà ŸiĂu khiĂn robot.
TS. PhÂčm §šng PhâĂc
ROBOT C«ng nghiĂp
TS. PhÂčm §šng PhâĂc
78
121
1
18
Cöa sĂŠ Ÿà thiĂt kĂ Thanh c«ng cĂŽ
Menu chĂnh Thanh c«ng cĂŽ 17
HĂnh 6.1 : M”n hĂnh EASY-ROB.
File cĂŁ dÂčng *.Rob : (Robotfile) Ÿà m« t¶ riÂȘng kĂt cĂu cña mĂ©t robot. File cĂŁ dÂčng *.Bod : (Bodyfile) Ÿà m« t¶ cžc ŸÚi tâĂźng l”m viĂc cña robot. File cĂŁ dÂčng *.Tol : (Toolfile) Ÿà m« t¶ c«ng cĂŽ gŸn trÂȘn kh©u chĂp h”nh cuĂši cña robot.
. . . . .
File cĂŁ dÂčng *.Vie : (Viewfile) Ÿà xžc ÂźĂnh gĂŁc nhĂn trong kh«ng gian. File cĂŁ dÂčng *.igp : (Igrip Partfile) lâu trö mĂ©t bĂ© phĂn kĂt cĂu. File cĂŁ dÂčng *.Prg : (Programm) ChâÂŹng trĂnh ÂźiĂu khiĂn.
v.v.... Menu Robotics : DĂŻng Ÿà nhĂp cžc th«ng sĂš DH, xžc ÂźĂnh vĂ trĂ cña dĂŽng cĂŽ, xžc ÂźĂnh vĂ trĂ robot v” cžc th«ng sĂš khžc. Menu 3D-CAD : Cung cĂp cžc c«ng cĂŽ Ÿà vĂ kĂt cĂu robot trong kh«ng gian 3 chiĂu (3D) cĂČng nhâ Ÿà thiĂt kĂ cžc c«ng cĂŽ, cžc ŸÚi tâĂźng l”m viĂc. §à vĂ ÂźâĂźc kĂt cĂu cña robot, dĂča v”o cžc khĂši hĂnh hĂ€c Ÿn gi¶n ta cĂŁ thĂ lŸp ghĂp chĂłng lÂči Ÿà tÂčo nÂȘn cžc hĂnh džng khžc nhau cña robot. b- Cžc thanh c«ng cĂŽ : Cžc nĂłt trÂȘn thanh c«ng cĂŽ dĂŻng Ÿà thĂčc hiĂn cžc thao tžc nhâ cña menu chĂnh (m” kh«ng cĂn v”o menu). Sö dĂŽng cžc nĂłt trÂȘn thanh c«ng cĂŽ cho phĂp ta thao tžc nhanh hÂŹn l” ph¶i v”o menu chĂnh. ChĂžc nšng cña cžc nĂłt chĂnh trÂȘn thanh c«ng cĂŽ nhâ sau : Thanh c«ng cĂŽ n»m ngang phĂa trÂȘn, tĂnh tĂ” trži sang ph¶i : 1. BĂt tŸt chà Ÿé chiĂu sžng cžc ŸÚi tâĂźng vĂ.
ROBOT C«ng nghiĂp 79
2. ChuyĂn tĂt c¶ cžc ŸÚi tâĂźng sang dÂčng lâĂi. 3. ChuyĂn ŸÚi tâĂźng dÂčng trĂŽ / khĂši phĂžc tÂčp. 5. ThĂ hiĂn/kh«ng thĂ hiĂn s”n. 6. ThĂ hiĂn s”n Ă« dÂčng lâĂi. 7. Reset vĂ trĂ robot trÂȘn m”n hĂnh. 8. ChuyĂn ŸÊi cöa sĂŠ khi mĂ« Cellfile hoĂc igip partfile (kĂt hĂźp vĂi nĂłt 7). 9. ChÂčy châÂŹng trĂnh. 10. TÂčm dĂ”ng châÂŹng trĂnh. 11. TiĂp tĂŽc chÂčy châÂŹng trĂnh. 12. KĂt thĂłc châÂŹng trĂnh. 13. ChÂčy châÂŹng trĂnh theo tĂ”ng bâĂc. 14. LĂp lÂči châÂŹng trĂnh sau khi kĂt thĂłc. 15. 16. Gi¶m v” tšng tĂšc Ÿé ÂźiĂu khiĂn. 17. §žnh giž sai sĂš v” xem cžc giž trà Ÿéng hĂ€c. Thanh c«ng cĂŽ n»m ngang phĂa dâĂi, tĂnh tĂ” trži sang ph¶i : 1. ThĂy hoĂc kh«ng thĂy kĂt cĂu robot. 2. ThĂy hoĂc kh«ng thĂy dĂŽng cĂŽ. 3. ThĂy hoĂc kh«ng thĂy cžc ŸÚi tâĂźng l”m viĂc. 4. ThĂ hiĂn/kh«ng thĂ hiĂn hĂ toÂč Ÿé gŸn vĂi dĂŽng cĂŽ . 5. ThĂ hiĂn/kh«ng thĂ hiĂn hĂ toÂč Ÿé gŸn trÂȘn cžc kh©u cña robot. 6. ThĂ hiĂn vĂ trĂ ÂźiĂu khiĂn.
7. M« phĂĄng Ÿéng lĂčc hĂ€c. 8. ThĂ hiĂn quĂ ÂźÂčo chuyĂn Ÿéng. 9. Sö dĂŽng cžc giĂi hÂčn cña khĂp. 10. SoÂčn th¶o châÂŹng trĂnh v” dÂčy hĂ€c. 12. ThĂ hiĂn hoĂc kh«ng thĂ hiĂn HĂ toÂč Ÿé gŸn trÂȘn ŸÚi tâĂźng hiĂn thĂȘi. 13. ChuyĂn ÂźĂn ŸÚi tâĂźng tiĂp theo (khi thiĂt kĂ). 14. Xžc ÂźĂnh vĂ trĂ tuyĂt ŸÚi cña ŸÚi tâĂźng hiĂn tÂči. 15. Xžc ÂźĂnh vĂ trĂ tâÂŹng ŸÚi cña ŸÚi tâĂźng hiĂn tÂči. 16. Reset vĂ trĂ cña ŸÚi tâĂźng hiĂn tÂči. 17. Ghi lÂči vĂ trĂ cña ŸÚi tâĂźng sau khi ÂźiĂu chĂnh. 18. §âa robot vĂ vĂ trĂ dĂ”ng (Home position). 19. §iĂu khiĂn robot theo khĂp quay. Thanh c«ng cĂŽ thÂŒng ŸÞng (Thao tžc b»ng chuĂ©t) , tĂnh tĂ” trÂȘn xuĂšng : 1. DĂŻng chuĂ©t Ÿà view, zoom v” Pan. 2.3. §iĂu khiĂn hâĂng cña kh©u chĂp h”nh cuĂši b»ng chuĂ©t. 4. §iĂu khiĂn cžc khĂp 1,2,3 (DĂŻng cžc phĂm chuĂ©t). 5. Di chuyĂn th©n robot. (hĂ toÂč Ÿé cÂŹ sĂ«) 6. Di chuyĂn cžc ŸÚi tâĂźng (body) b»ng chuĂ©t. 7. Di chuyĂn tĂt c¶ cžc ŸÚi tâĂźng b»ng chuĂ©t.
9. ChuyĂn ŸÊi chuyĂn Ÿéng l” quay hoĂc tĂnh tiĂn (DĂŻng khi hiĂu chĂnh ŸÚi tâĂźng vĂ). 11.12. Tšng gi¶m tĂšc Ÿé ÂźiĂu khiĂn b»ng chuĂ©t. 6.4. Thao tžc chuĂ©t : Easy-Rob cho phĂp dĂŻng chuĂ©t vĂi nhiĂu chĂžc nšng nhâ :
TS. PhÂčm §šng PhâĂc
ROBOT C«ng nghiĂp 80
Khi nĂłt lĂnh sĂš 1 cña thanh c«ng cĂŽ thÂŒng ŸÞng ÂźâĂźc chĂ€n : zoom (PhĂŁng to, thu nhĂĄ) : Ăn nĂłt chuĂ©t ph¶i, rÂȘ chuĂ©t lÂȘn xuĂšng theo phâÂŹng thŸng ŸÞng cña m”n hĂnh. Pan (thay ŸÊi vĂ trĂ cña ŸÚi tâĂźng so vĂi khung m”n hĂnh) : Ăn ŸÄng thĂȘi hai nĂłt chuĂ©t ph¶i v” trži, rÂȘ chuĂ©t trÂȘn m”n hĂnh. Rotate (quay robot Ÿà nhĂn Ă« cžc gĂŁc Ÿé khžc nhau) : Ăn chuĂ©t trži, rÂȘ chuĂ©t. Khi nĂłt lĂnh sĂš 4 cña thanh c«ng cĂŽ thÂŒng ŸÞng ÂźâĂźc chĂ€n : Quay khĂp 1: Ăn nĂłt chuĂ©t ph¶i, rÂȘ chuĂ©t (nĂu l” khĂp tĂnh tiĂn sĂ l”m kh©u chuyĂn Ÿéng tĂnh tiĂn). Quay khĂp 2: Ăn ŸÄng thĂȘi 2 nĂłt chuĂ©t ph¶i v” trži, rÂȘ chuĂ©t. Quay khĂp 3: Ăn nĂłt chuĂ©t trži, rÂȘ chuĂ©t. 6.5. GŸn hĂ toÂč Ÿé : MuĂšn xžc ÂźĂnh hĂ toÂč Ÿé cña robot trâĂc hĂt ph¶i thĂčc hiĂn b»ng tay cžc c«ng viĂc sau: VĂ sÂŹ ŸÄ Ÿéng robot Ă« vĂ trĂ dĂ”ng, gŸn hĂ toÂč Ÿé cña cžc kh©u lÂȘn hĂnh vĂ trÂȘn giĂy, xžc ÂźĂnh cžc th«ng sĂš DH. Cžc bâĂc tiĂp theo : 1- BĂt nĂłt lĂnh sĂš 5 trÂȘn menu ngang, dâĂi. 2- V”o menu chĂnh : FILE -> LOAD -> ROBOTFILE chĂ€n DHTempl -> OPEN. 3- V”o menu chĂnh : ROBOTICS -> ROBOTMOTION + KINEMATICS -> KINEMATICS DATA. 4- ChĂ€n Active Join -> Ok -> Activ Joint (1) RZ (hoĂc chĂ€n TZ nĂu l” khĂp tĂnh tiĂn) -> Ok -> NhĂp cžc th«ng sĂš DH cña kh©u thĂž nhĂt. 5- ChĂ€n Quit -> Ok. V”o lÂči bâĂc 4 -> Number Active Joint(1) -> Ok -> Ăn Ÿóp chuĂ©t v”o vĂt xanh hoĂc Âźâa con trĂĄ v”o phĂn nhĂp dĂ· liĂu (text box) Ăn 2 (B©y giĂȘ sĂš kh©u Ÿéng l” 2), nhĂp cžc th«ng sĂš DH cho kh©u sĂš 2 ... L”m tâÂŹng tĂč cho ÂźĂn khi Ÿñ sĂš khĂp yÂȘu cĂu. Ta cĂŁ thĂ kiĂm tra cžc sĂš liĂu Ÿ· nhĂp b»ng cžch kĂch chuĂ©t v”o menu : ROBOTICS -> ROBOTMOTION + KINEMATICS -> KINEMATICS DATA-> KINEMATIC INFOMATION Ÿà xem lÂči sĂš kh©u, khĂp v” cžc th«ng sĂš DH. NĂu v”o dĂ· liĂu sai ta cĂŁ thĂ hiĂu chĂnh lÂči. §à thĂ hiĂn hĂ toÂč Ÿé cña robot trÂȘn m”n hĂnh (HĂ toÂč Ÿé m”u v”ng), nhĂ kĂch chuĂ©t v”o nĂłt sĂš 5 cña thanh c«ng cĂŽ n»m ngang phĂa dâĂi.
TS. PhÂčm §šng PhâĂc
ROBOT C«ng nghiĂp 81
6.6. VĂ hĂnh džng robot : Sau khi ho”n th”nh viĂc gŸn hĂ toÂč Ÿé cña robot, bâĂc tiĂp theo l” vĂ hĂnh džng cña nĂŁ. HĂnh džng cña robot cĂŁ thĂ ÂźâĂźc m« phĂĄng giĂšng nhâ robot thĂčc nhĂȘ c«ng cĂŽ 3D CAD cña EasyRob. Menu 3D-CAD cho phĂp tÂčo ra cžc khĂši hĂnh hĂ€c cÂŹ b¶n nhâ khĂši trĂŽ, khĂši cĂu, khĂši chĂ· nhĂt, khĂši tam gižc ... SĂč phĂši hĂźp hĂźp lĂœ vĂ kĂch thâĂc v” vĂ trĂ cña cžc khĂši hĂnh hĂ€c nĂy cho phĂp thĂ hiĂn ÂźâĂźc cžc kĂt cĂu khžc nhau cña robot.
Cžc menu kĂo xuĂšng cña Menu 3D-CAD nhâ hĂnh 6.2, mĂ©t sĂš cžc chĂžc nšng chĂnh nhâ sau : + Select group : ChĂ€n nhĂŁm ŸÚi tâĂźng Ÿà thiĂt kĂ : 1/Robot group, 2/Tool group hay 3/ Body group. + Select body from group : ChĂ€n cžc bĂ© phĂn cña robot Ÿ· vĂ (theo tÂȘn ÂźĂt trâĂc) cña nhĂŁm chĂ€n hiĂn h”nh. + Create/Import new 3D body : TÂčo mĂi hoĂc nhĂp mĂ©t bĂ© phĂn Ÿ· cĂŁ sÂŒn. CĂn nhĂp cžc th«ng sĂš cĂn thiĂt Ÿà tÂčo ra ŸÚi tâĂźng mong muĂšn. + Modify sel. Body_set Jnt_idx : HiĂu chĂnh cžc thuĂ©c tĂnh cña bĂ© phĂn hiĂn h”nh. + Clone : Copy bĂ© phĂn Âźang vĂ th”nh nhiĂu hĂnh.
+ Render : BiĂu hiĂn ŸÚi tâĂźng Ă« dÂčng HĂnh 6.2 : Menu 3D-CAD lâĂi, dÂčng hĂ©p, . . . + Color : Thay ŸÊi m”u sŸc. + Name : Thay ŸÊi tÂȘn bĂ© phĂn Âźang vĂ. + Clear : Xož ŸÚi tâĂźng (bĂ© phĂn) hiĂn h”nh. + Position's : Thay ŸÊi vĂ trĂ cña ŸÚi tâĂźng (bĂ© phĂn) hiĂn h”nh. + 3D CAD Coorsys Visibility : Cho hiĂn hoĂc Ăn hĂ tĂ€a Ÿé cña ŸÚi tâĂźng vĂ. + Next Body in group : ChĂ€n ŸÚi tâĂźng vĂ tiĂp theo. DĂŻng menu 3D CAD ta lĂn lâĂźt vĂ tĂt c¶ cžc kh©u cña robot, cĂŁ thĂ dĂŻng cžc m”u sŸc khžc nhau Ÿà thĂ hiĂn hĂnh džng cña robot. Lâu Ăœ trong quž trĂnh vĂ, nĂu vĂ sai ph¶i dĂŻng mĂŽc CLEAR Ÿà xĂŁa Âźi hoĂc dĂŻng mĂŽc MODIFY CEL Ÿà hiĂu chĂnh. Mçi ŸÚi tâĂźng vĂ ph¶i gŸn vĂi mĂ©t kh©u nhĂt ÂźĂnh, ÂźâĂźc khai bžo trong mĂŽc SET JOINT INDEX. CĂŁ thĂ dĂŻng thanh c«ng cĂŽ thÂŒng ŸÞng phĂa ph¶i Ÿà thay ŸÊi vĂ trĂ cña cžc ŸÚi tâĂźng vĂ cho thĂch hĂźp.
TS. PhÂčm §šng PhâĂc
ROBOT C«ng nghiĂp 82
6.7. LĂp trĂnh ÂźiĂu khiĂn robot m« phĂĄng : §à lĂp trĂnh ÂźiĂu khiĂn robot Ÿ· m« phĂĄng ta dĂŻng phâÂŹng phžp lĂp trĂnh kiĂu dÂčy hĂ€c. Sau khi Ÿ· thiĂt kĂ hĂnh džng robot, c«ng cĂŽ gŸn trÂȘn kh©u chĂp h”nh cuĂši, cžc ŸÚi tâĂźng l”m viĂc khžc . . . ta cĂŁ thĂ lĂp trĂnh Ÿà ŸiĂu khiĂn robot Ÿ· m« phĂĄng. ViĂc lĂp trĂnh thĂčc hiĂn theo trĂnh tĂč sau Ÿ©y : NhĂp chuĂ©t v”o nĂłt lĂnh sĂš 10 (Show program window) Ÿà kĂch hoÂčt cöa sĂŠ lĂp trĂnh nhâ hĂnh 6.3 :
HĂnh 6.3 : Cöa sĂŠ lĂp trĂnh.
ChĂ€n New Ÿà ŸĂt tÂȘn cho File châÂŹng trĂnh. ChĂ€n Append nĂu muĂšn bĂŠ sung mĂ©t châÂŹng trĂnh Ÿ· cĂŁ trÂȘn ÂźĂa. Xžc ÂźĂnh vĂ trĂ cžc ÂźiĂm m” dĂŽng cĂŽ ph¶i Âźi qua (dĂŻng chuĂ©t Ÿà ŸiĂu khiĂn cžc khĂp, dĂŻng menu ŸÞng). CĂž sau mçi lĂn xžc ÂźĂnh ÂźâĂźc mĂ©t vĂ trĂ thĂ Ăn nĂłt PTP (ÂźiĂu khiĂn ÂźiĂm) hoĂc LIN (ÂźiĂu khiĂn ÂźâĂȘng) hoĂc VIA (diĂm trung gian dĂn hâĂng khi ÂźiĂu khiĂn ÂźâĂȘng cong), CIRC (ÂźiĂu khiĂn theo ÂźâĂȘng cong). L”m liÂȘn tĂŽc cho tĂt c¶ cžc ÂźiĂm Ÿà cĂŁ mĂ©t châÂŹng trĂnh ho”n thiĂn. Sau khi kĂt thĂłc viĂc dÂčy robot hĂ€c, Ăn nĂłt Close trÂȘn Program Window Ÿà kĂt thĂłc. §à hiĂu chĂnh v” bĂŠ sung cžc lĂnh ÂźiĂu khiĂn khžc v”o châÂŹng trĂnh, Ăn chuĂ©t v”o nĂłt EDIT, DĂŻng cžc lĂnh cña EasyRob nhâ dâĂi Ÿ©y Ÿà ho”n thiĂn châÂŹng trĂnh. ERPL - EASY-ROB-Program Language Ghi chĂł : - §n vĂ chiĂu d”i l” MĂt [m], GĂŁc l” Ÿé [deg] hoĂc [%] - §n vĂ cña tĂšc Ÿé l” [m/s] - VĂ trĂ v” hâĂng cña hĂ tĂ€a Ÿé gŸn trÂȘn kh©u chĂp h”nh cuĂši ÂźâĂźc xžc ÂźĂnh gĂ„m : X, Y v” Z : chĂ tĂ€a Ÿé vĂ trĂ, A, B v” C chĂ gĂŁc hâĂng. HâĂng cña kh©u chĂp h”nh cuĂši xžc ÂźĂnh theo cžc gĂŁc ABC l”: Rot (A,B,C) = Rot(X,A) * Rot(Y,B) * Rot(Z,C) CĂu trĂłc chung cña châÂŹng trĂnh, M« t¶ cĂł phžp mĂ©t sĂš lĂnh hay dĂŻng : PROGRAMFILE : BŸt ÂźĂu châÂŹng trĂnh
TS. PhÂčm §šng PhâĂc
ROBOT C«ng nghiĂp 83
ENDPROGRAMFILE or END : KĂt thĂłc châÂŹng trĂnh. CALL fct_name : GĂ€i mĂ©t h”m cĂŁ tÂȘn fct_name(), Ÿ· ÂźâĂźc ÂźĂnh nghĂa trong châÂŹng trĂnh. CALL FILE filename : GĂ€i mĂ©t File châÂŹng trĂnh cĂŁ tÂȘn filename, File ph¶i cĂŁ cung cĂu trĂłc nhâ châÂŹng trĂnh chĂnh. FCT fct_name() : BŸt ÂźĂu §Ănh nghĂa mĂ©t h”m cĂŁ tÂȘn fct_name(). ENDFCT : KĂt thĂłc ÂźĂnh nghĂa mĂ©t function. ! Cžc ghi chĂł trong châÂŹng trĂnh. TOOL X Y Z A B C [m,deg] : §Ănh tĂ€a Ÿé ÂźiĂm cuĂši cña dĂŽng so so vĂi kh©u chĂp h”nh cuĂši. PTP X Y Z A B C [m,deg] : Di chuyĂn robot ÂźĂn ÂźiĂm mĂi (tĂ€a Ÿé tuyĂt ŸÚi). §iĂu khiĂn ÂźiĂm. PTP_REL dX dY dZ dA dB dC [m,deg] : Di chuyĂn robot ÂźĂn ÂźiĂm mĂi (tĂ€a Ÿé tâÂŹng ŸÚi). §iĂu khiĂn ÂźiĂm. LIN X Y Z A B C [m,deg] : Di chuyĂn robot ÂźĂn ÂźiĂm mĂi (tĂ€a Ÿé tuyĂt ŸÚi). §iĂu khiĂn ÂźâĂȘng. LIN_REL dX dY dZ dA dB dC [m,deg] : Di chuyĂn robot ÂźĂn ÂźiĂm mĂi (tĂ€a Ÿé tâÂŹng ŸÚi). §iĂu khiĂn ÂźâĂȘng. CIRC X Y Z A B C [X2 Y2 Z2] [m,deg] : Di chuyĂn robot ÂźĂn ÂźiĂm mĂi (tĂ€a Ÿé tuyĂt ŸÚi). §iĂu khiĂn ÂźâĂȘng cong. [X2 Y2 Z2] - §iĂm trung gian (3 ÂźiĂm Ÿà xžc ÂźĂnh mĂ©t cung trĂn). CIRC_REL dX dY dZ dA dB dC [dX2 dY2 dZ2] [m,deg] : Di chuyĂn robot ÂźĂn ÂźiĂm mĂi (tĂ€a Ÿé tâÂŹng ŸÚi). §iĂu khiĂn ÂźâĂȘng cong. WAIT x [sec] : Robot dĂ”ng hoÂčt Ÿéng trong x gi©y. ERC TRACK ON,OFF : ThĂ hiĂn hoĂc kh«ng thĂ hiĂn quĂŒ ÂźÂčo chuyĂn Ÿéng. ERC LOAD TOOL filename : GĂ€i mĂ©t Tool file (*.tol) ERC LOAD VIEW filename : GĂ€i mĂ©t View file (*.vie) ERC LOAD ROBOT filename Loads a Robot file (*.rob) ERC LOAD BODY filename Loads a Body file (*.bod) ERC LOAD TAGS filename Loads a Tag file (*.tag) ERC GRAB BODY âbodynameâ : DĂŽng cĂŽ cĂm lĂy mĂ©t vĂt thĂ (body) cĂŁ tÂȘn Bodyname. ERC GRAB BODY_GRP : DĂŽng cĂŽ cĂm lĂy mĂ©t nhĂŁm vĂt thĂ (Body_Grp). ERC RELEASE BODY âbodynameâ : DĂŽng cĂŽ th¶ (bu«ng) mĂ©t vĂt thĂ (body) cĂŁ tÂȘn Bodyname. ERC RELEASE BODY_GRP DĂŽng cĂŽ th¶ (bu«ng) mĂ©t nhĂŁm vĂt thĂ (Body_Grp). ERC ROBOT_BASE XYZ ABC [m,deg] : Di chuyĂn gĂšc tĂ€a Ÿé cÂŹ b¶n cña robot ÂźĂn vĂ trĂ mĂi. v.v... CĂn rĂt nhiĂu cžc lĂnh khžc cña Easy-Rob, cĂŁ thĂ tham kh¶o trÂȘn Website: http ://www. easy-rob.com.
=================================================
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 84
châÂŹng VII
§éng lĂčc hĂ€c Robot (Dynamic of Robot)
7.1. NhiĂm vĂŽ v” phâÂŹng phžp ph©n tĂch Ÿéng lĂčc hĂ€c robot NghiÂȘn cĂžu Ÿéng lĂčc hĂ€c robot l” c«ng viĂc cĂn thiĂt khi ph©n tĂch cĂČng nhâ tĂŠng hĂźp quž trĂnh ÂźiĂu khiĂn chuyĂn Ÿéng. ViĂc nghiÂȘn cĂžu Ÿéng lĂčc hĂ€c robot thâĂȘng gi¶i quyĂt hai nhiĂm vĂŽ sau Ÿ©y : 1/ Xžc ÂźĂnh momen v” lĂčc Ÿéng xuĂt hiĂn trong quž trĂnh chuyĂn Ÿéng. Khi Ÿã qui luĂt biĂn ŸÊi cña biĂn khĂp qi(t) coi nhâ Ÿ· biĂt. ViĂc tĂnh tožn lĂčc trong cÂŹ cĂu tay mžy l” rĂt cĂn thiĂt Ÿà chĂ€n c«ng suĂt Ÿéng cÂŹ, kiĂm tra Ÿé bĂn, Ÿé cĂžng vĂ·ng, ٦m b¶o Ÿé tin cĂy cña robot. 2/ Xžc ÂźĂnh cžc sai sĂš Ÿéng tĂžc l” sai lĂch so vĂi qui luĂt chuyĂn Ÿéng theo châÂŹng trĂnh. LĂłc nĂy cĂn kh¶o sžt PhâÂŹng trĂnh chuyĂn Ÿéng cña robot cĂŁ tĂnh ÂźĂn ÂźĂc tĂnh Ÿéng lĂčc cña Ÿéng cÂŹ v” cžc kh©u. CĂŁ nhiĂu phâÂŹng phžp nghiÂȘn cĂžu Ÿéng lĂčc hĂ€c robot, nhâng thâĂȘng gĂp hÂŹn c¶ l” phâÂŹng phžp cÂŹ hĂ€c Lagrange, cĂŽ thĂ l” dĂŻng phâÂŹng trĂnh Lagrange - Euler. §Úi vĂi cžc kh©u khĂp cña robot, vĂi cžc nguĂ„n Ÿéng lĂčc v” kÂȘnh ÂźiĂu khiĂn riÂȘng biĂt, kh«ng thĂ bĂĄ qua cžc hiĂu Ăžng trĂ€ng trâĂȘng (gravity effect), qužn tĂnh (initial), tâÂŹng hĂŠ (Coriolis), ly t©m (centripetal)... m” nhĂ·ng khĂa cÂčnh nĂy châa ÂźâĂźc xĂt ÂźĂy Ÿñ trong cÂŹ hĂ€c cĂŠ ÂźiĂn; CÂŹ hĂ€c Lagrange nghiÂȘn cĂžu cžc vĂn Ÿà nÂȘu trÂȘn nhâ mĂ©t hĂ thĂšng khĂp kĂn nÂȘn Ÿ©y l” nguyÂȘn lĂœ cÂŹ hĂ€c thĂch hĂźp ŸÚi vĂi cžc b”i tožn Ÿéng lĂčc hĂ€c robot. 7.2. CÂŹ hĂ€c Lagrange vĂi cžc vĂn Ÿà Ÿéng lĂčc cña robot. H”m Lagrange cña mĂ©t hĂ thĂšng nšng lâĂźng ÂźâĂźc ÂźĂnh nghĂa : L = K - P (7.1) Trong Ÿã : K l” tĂŠng Ÿéng nšng cña hĂ thĂšng P l” tĂŠng thĂ nšng K v” P ÂźĂu l” nhĂ·ng ÂźÂči lâĂźng v« hâĂng nÂȘn cĂŁ thĂ chĂ€n bĂt cĂž hĂ toÂč Ÿé thĂch hĂźp n”o Ÿà b”i tožn ÂźâĂźc Ÿn gi¶n. §Úi vĂi mĂ©t robot cĂŁ n kh©u, ta cĂŁ :
v” K Kii
n= â
=1P Pi
i
n= â
=1
Ă« Ÿ©y, Ki v” Pi l” Ÿéng nšng v” thĂ nšng cña kh©u thĂž i xĂt trong hĂ toÂč Ÿé chĂ€n.Ta biĂt mçi ÂźÂči lâĂźng Ki v” Pi l” mĂ©t h”m sĂš phĂŽ thuĂ©c nhiĂu biĂn sĂš: Ki = K(qi, ) v” Piq& i = P(qi, ) &q i
VĂi qi l” toÂč Ÿé suy rĂ©ng cña khĂp thĂž i. NĂu khĂp thĂž i l” khĂp quay thĂ qi l” gĂŁc quay Ξi, nĂu l” khĂp tĂnh tiĂn thĂ qi l” Ÿé d”i tĂnh tiĂn di. Ta ÂźĂnh nghĂa : LĂčc tžc dĂŽng lÂȘn kh©u thĂž i (i=1, 2,..., n) vĂi quan niĂm l” lĂčc tĂŠng qužt (Generalized forces), nĂŁ cĂŁ thĂ l” mĂ©t lĂčc hoĂc mĂ©t momen (phĂŽ thuĂ©c v”o biĂn khĂp qi l” tĂnh tiĂn hoĂc quay), ÂźâĂźc xžc ÂźĂnh bĂ«i:
Fi = âddt
Lq
Lqi i
ââ
ââ&
(7.2)
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 85
PhâÂŹng trĂnh nĂy ÂźâĂźc gĂ€i l” phâÂŹng trĂnh Lagrange-Euler, hay thâĂȘng ÂźâĂźc gĂ€i tŸt l” phâÂŹng trĂnh Lagrange. 7.3. VĂ dĂŽ žp dĂŽng : XĂt mĂ©t robot cĂŁ hai kh©u nhâ hĂnh vĂ, Cžc kh©u cĂŁ chiĂu d”i l” d1 v” d2 vĂi cžc khĂši lâĂźng tâÂŹng Ăžng m1 v” m2 qui ŸÊi vĂ ÂźĂu mĂłt cña kh©u. Robot ÂźâĂźc ÂźĂt thÂŒng ŸÞng chĂu gia tĂšc trĂ€ng trâĂȘng g. Cžc khĂp chuyĂn Ÿéng quay vĂi cžc biĂn khĂp Ξ1 v” Ξ2. TĂnh lĂčc tĂŠng qužt.
Qua vĂ dĂŽ nĂy, chĂ vĂi mĂ©t mĂši liÂȘn kĂt hai kh©u, cžc vĂn Ÿà ŸĂt ra ÂźĂu Ÿ· cĂŁ mĂt trong quž trĂnh nghiÂȘn cĂžu Ÿéng lĂčc hĂ€c, v” do Ÿã, vĂ dĂŽ nÂȘu trÂȘn cĂŁ thĂ mĂ« rĂ©ng Ÿà žp dĂŽng trong nhĂ·ng trâĂȘng hĂźp phĂžc tÂčp hÂŹn. §Úi vĂi kh©u 1 :
m2
m1
Ξ2
Ξ1
g = 9,81m/s2
y2
y1
x2x1O0
z
x
y
K m v m d1 1 12
1 12
121
212
= = &Ξ (7.3)
P1 = -m1gd1cosΞ1 (7.4) §Úi vĂi kh©u 2 : VĂ toÂč Ÿé : x2 = d1sinΞ1 + d2sin(Ξ1 + Ξ2) y2 = -d1cosΞ1 - d2cos(Ξ1 + Ξ2) ChiĂu cao thĂ nšng : h = d1cosΞ1 + d2cos(Ξ1 + Ξ2)
VĂ mĂt vĂn tĂšc : v x y22
22
22= +& &
VĂi & cos( ) & cos( )( & & )x ddt
x d d2 2 1 1 1 2 1 2 1 2= = + + +Ξ Ξ Ξ Ξ Ξ Ξ
& sin( ) & sin( )( & & )y ddt
y d d2 2 1 1 1 2 1 2 1= = + + +Ξ Ξ Ξ Ξ Ξ Ξ2
[ ]v d d d d22
12
12
22
12
1 2 22
1 2 2 12
1 22 2= + + + + +& ( & & & & ) cos( )( & & & )Ξ Ξ Ξ Ξ Ξ Ξ Ξ Ξ Ξ
§éng nšng v” thà nšng sà l” :
[ ]K m v m d d d d2 2 22
2 12
12
22
12
1 2 22
1 2 2 12
1 212
12
2 2= = + + + + +& ( & & & & ) cos( )( & & & )Ξ Ξ Ξ Ξ Ξ Ξ Ξ Ξ Ξ (7.5)
(7.6) [ ]P m g d d2 2 1 1 2 1= â + +cos( ) cos( )Ξ Ξ 2Ξ 7.4. H”m Lagrange v” lĂčc tĂŠng qužt : žp dĂŽng h”m Lagrange cho vĂ dĂŽ trÂȘn, ta cĂŁ : L = (K1 + K2) - (P1 + P2)
L m m d m d m d d= + + + + + +12
12
21 2 12
12
2 22
12
1 2 22
2 1 2 2 12
1 2( ) & ( & & & & ) cos ( & & & )Ξ Ξ Ξ Ξ Ξ Ξ Ξ Ξ +Ξ
+ + + +( ) cos cos(m m gd m gd1 2 1 1 2 2 1 2 )Ξ Ξ Ξ (7.7)
Khi tĂnh lĂčc tĂŠng qužt, cžc biĂn cña hĂ : q1 = Ξ1 v” q2 = Ξ2. §Úi vĂi kh©u 1 : ââ
ââΞ
Ξ Ξ Ξ Ξ Ξ ΞLq
L m m d m d m d d m d d& &
( ) & ( & & ) cos & cos &
1 11 2 1
21 2 2
21 2 2 1 2 2 1 2 1 2 22= = + + + + + Ξ2
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 86
ddt
L m m d m d m d d m d dââΞ
Ξ Ξ Ξ Ξ Ξ Ξ Ξ&
( ) && (&& && ) sin & & cos &&
11 2 1
21 2 2
21 2 2 1 2 2 2 1 2 1 2 2 12 2= + + + â + Ξ â
â + m d d m d d2 1 2 2 22
2 1 2 2 2sin & cos &&Ξ Ξ Ξ Ξââ
ââΞ
Ξ ΞLq
L m m gd m gd1 1
1 2 1 1 2 2 1 2= = â + â +( ) sin sin( Ξ )
VĂy :
F ddt
L L m m d m d m d d
m d m d d m d d m d dm m gd m gd
11 1
1 2 12
2 22
2 1 2 2 1
2 22
2 1 2 2 2 2 1 2 2 2 1 2 1 2 2 22
1 2 1 1 2 2 1 2
2
2
= â = + + + +
+ + â â+ + + +
ââΞ
ââΞ
Ξ Ξ
Ξ Ξ Ξ Ξ Ξ Ξ ΞΞ Ξ Ξ
&[( ) cos ]&&
[ cos ]&& sin & & sin &
( ) sin sin( )+ (7.8)
MuĂšn cho kh©u 1 quay ÂźâĂźc mĂ©t gĂŁc Ξ1 thà Ÿéng cÂŹ ph¶i tÂčo ra mĂ©t lĂčc tĂŠng qužt â„ F1. LĂčc tĂŠng qužt nĂy cĂŁ ÂźĂc tĂnh phi tuyĂn, l” hĂźp tžc dĂŽng cña nhiĂu yĂu tĂš (non linear and cuppling). TâÂŹng tĂč, Ÿà tĂnh lĂčc tĂŠng qužt cña kh©u thĂž hai , ta cĂŁ :
ââΞ
Ξ Ξ ΞL m d m d m d d&
& & cos &
22 2
21 2 2
22 2 1 2 2= + + Ξ1
ddt
L m d m d m d d m d dââΞ
Ξ Ξ Ξ Ξ Ξ Ξ&
&& && cos && sin & &
22 2
21 2 2
22 2 1 2 2 1 2 1 2 2 1= + + â Ξ2
v” )sin()sin()sin( 21222
122122122122
ΞΞΞΞΞΞΞâΞâ
+ââââ= gdmddmddmL &&&
VĂy :
)sin()sin(
]cos[
21222
12212
222212212
222
222
ΞΞΞΞ
ΞΞΞâΞâ
Ξââ
++â
++=â=
gdmddm
dmddmdmLLdtdF
&
&&&&& (7.9)
§à ph©n tĂch Ăœ nghĂa cžc th”nh phĂn trong biĂu thĂžc tĂnh lĂčc tĂŠng qužt, ta viĂt lÂči
cžc biĂu thĂžc F1, F2 nhâ sau :
F D D D D D D D1 11 1 12 2 111 12
122 22
112 1 2 121 1 2 1= + + + + + +&& && & & & & & &Ξ Ξ Ξ Ξ Ξ Ξ Ξ Ξ
F D D D D D D D2 12 1 22 2 211 12
222 22
212 1 2 221 1 2 2= + + + + + +&& && & & & & & &Ξ Ξ Ξ Ξ Ξ Ξ Ξ Ξ HiĂu Ăžng HiĂu Ăžng HiĂu Ăžng HiĂu Ăžng qužn tĂnh ly t©m tâÂŹng hĂŠ trĂ€ng trâĂȘng Effective inertias Centripetal effect Coriolis effect Gravity
(Trong Ÿã : D111 = 0; D222 = 0; D112 = D121 = D212 = D221 =-m2d1d2sinΞ2 ...)
Trong cžc biĂu thĂžc trÂȘn, cžc hĂ sĂš dÂčng Dii hoĂc thĂ hiĂn hiĂu Ăžng qužn tĂnh tÂči
khĂp i hoĂc j g©y ra bĂ«i gia tĂšc tÂči khĂp i hoĂc j. Cžc sĂš hÂčng cĂŁ dÂčng
ijD2
ijjD jΞ& l” lĂčc ly t©m
tžc Ÿéng lÂȘn khĂp i g©y ra bĂ«i vĂn tĂšc tÂči khĂp j. SĂš hÂčng dÂčng l” lĂčc
Cariolis tžc Ÿéng lÂȘn khĂp thĂž i g©y ra do vĂn tĂšc tÂči khĂp j v” k. SĂš hÂčng cĂŁ dÂčng Djkkj ΞΞΞΞ &&&&
ikjijk DD +
i l” lĂčc trĂ€ng trâĂȘng tžc Ÿéng lÂȘn khĂp i.
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 87
7.5. PhâÂŹng trĂnh Ÿéng lĂčc hĂ€c robot : XĂt kh©u thĂž i cña mĂ©t robot cĂŁ n kh©u. TĂnh lĂčc tĂŠng qužt Fi cña kh©u thĂž i vĂi khĂši lâĂźng vi ph©n cña nĂŁ l” dm. LĂčc tĂŠng qužt Fi Ÿãng vai trĂ rĂt quan trĂ€ng khi x©y dĂčng sÂŹ ŸÄ khĂši Ÿà thiĂt lĂp h”m ÂźiĂu khiĂn cho robot cĂŁ n bĂc tĂč do. 7. 5. 1. VĂn tĂšc cña mĂ©t ÂźiĂm trÂȘn robot : MĂ©t ÂźiĂm trÂȘn kh©u thĂž i ÂźâĂźc m« t¶ trong hĂ toÂč Ÿé cÂŹ b¶n l” : r = Ti.
ir (7.10) Trong Ÿã : ir l” toÂč Ÿé cña ÂźiĂm xĂt ŸÚi vĂi kh©u thĂž i, ir kh«ng thay ŸÊi theo thĂȘi gian. Ti l” ma trĂn chuyĂn ŸÊi tĂ” kh©u thĂž i vĂ hĂ toÂč Ÿé gĂšc : Ti = A1A2...Ai. Nhâ vĂy r l” mĂ©t h”m cña thĂȘi gian t. TĂšc Ÿé cña vi khĂši lâĂźng dm ÂźâĂźc tĂnh bĂ«i c«ng thĂžc :
&r drdt
ddt
T rTq
qii i
jj
ij
i= = =â
âââ
â
â ââ=
âââ1
& r (7.11)
Khi tĂnh bĂnh phâÂŹng cña vĂn tĂšc nĂy ta cĂŁ :
(7.12) &.& ( & , & , & ) (& & )r r r x y z Tr r ro o oT= =â 2
z
x
y
i r dm
Kh©u i
O0
Ti
r
HĂnh 7.1. Kh¶o sžt tĂšc Ÿé cña vi khĂši lâĂźng dm. VĂi rT l” chuyĂn vĂ vectÂŹ v” Tr l” viĂt tŸt cña Trace (vĂt cña ma trĂn) :
Trace
a a aa a a
a a a a
a
n
n
n n nn
iii
n
11 12 1
21 22 2
1 2 11
1
...
...... ... ... ...
âĄ
âŁ
âąâąâąâą
â€
âŠ
â„â„â„â„
==â
Hay :
[ ]â„â„â„
âŠ
â€
âąâąâą
âŁ
âĄ
â„â„â„
âŠ
â€
âąâąâą
âŁ
âĄ
2
2
2
yx
= zyx . zz
yx
Do vĂy
& (&.& ) ( . . .r Tr r r Tr ddt
T r ddt
T rTi
iiT i T2 = = )
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 88
=âĄ
âŁâąâą
â€
âŠâ„â„==
ââTrTq
q rTq
q ri
jj
i iT
kk
i T
k
i
j
i ââ
ââ
& . &11
â„â„âŠ
â€
âąâąâŁ
âĄ= ââ
= =
i
jkj
k
TiTii
j
ii
k
qqqTrr
qTTr
1 1
. &&ââ
ââ
(7.13)
7. 5. 2. TĂnh Ÿéng nšng cña vi khĂši lâĂźng dm. KĂœ hiĂu Ki l” Ÿéng nšng cña kh©u thĂž i. dKi l” Ÿéng nšng cña vi khĂši lâĂźng dm ÂźĂt tÂči vĂ trĂ ir trÂȘn kh©u thĂž i.
dK TrTq
r rTq
q qik
i i
j
i i T iT
kj k
j
i=
âĄ
âŁâąâą
â€
âŠâ„â„==
ââ12 11
ââ
ââ
. & & dm
=âĄ
âŁâąâą
â€
âŠâ„â„==
ââ12 11
TrTq
r dm rTq
q qk
i i
j
i i T iT
kj k
j
i ââ
ââ
( . . ). & & (7.14)
V” do Ÿã Ÿéng nšng cña kh©u thÞ i sà l” :
â„â„âŠ
â€
âąâąâŁ
âĄ== â â«ââ«
= =
i
jkj
k
Ti
Khau
Tii
j
ii
ki qq
qTdmrr
qTTrdKK
1 i 1
)..(21
&&ââ
ââ
i Khau
(7.15)
§Ăt gĂ€i l” ma trĂn gi¶ qužn tĂnh (Pseudo inertia matrix). â«=i
Tii rr.Khau
i dmJ
Ăœ nghĂa "gi¶ qužn tĂnh" ÂźâĂźc sö dĂŽng vĂ khi thiĂt lĂp ÂźĂy Ÿñ cžc phĂn tö cña ma trĂn Ji ta cĂŁ thĂ liÂȘn hĂ vĂi cžc khži niĂm "m«men qužn tĂnh Ÿéc cĂčc" v” trĂnh b”y cžc phĂn tö cña Ji giĂšng nhâ cžc phĂn tö cña m«men qužn tĂnh Ÿéc cĂčc. Ta xĂt mĂši quan hĂ nĂy nhâ sau : Theo ÂźĂnh nghĂa ta cĂŁ :
= Jâ«=i
Tii rr.Khau
i dmJ i = (7.16)
â„â„â„â„â„
âŠ
â€
âąâąâąâąâą
âŁ
âĄ
â«â«â«â«â«â«â«â«â«â«â«â«â«â«â«â«
dmzdmydmxdm
zdmdmzzdmyzdmx
ydmzdmydmyydmx
xdmzdmxydmxdmx
iii
iiiiii
iiiiii
iiiiii
2
2
2
B©y giĂȘ ta nhŸc lÂči m«men qužn tĂnh Ÿéc cĂčc cña mĂ©t vĂt thĂ bĂt kĂș nhâ hĂnh vĂ.
z
y x Ï Theo ÂźĂnh nghĂa ta cĂŁ :
â« += dmzyxx )(I 22
â« += dmzxyy )I 22
â« += dmyxzz )(I 22 HĂnh 7.2 : M«men qužn tĂnh Ÿéc cĂčc
V” và : )(21)(
21)(
21x 2222222 yxzxzy +++++â=
VĂy : ; .v.v⊠2/)I I I( zzyyxx2 ++â=â« dmx
Ngo”i ra ta cĂn cĂŁ :
; ; â«= xydmxyI â«= yzdmyzI â«= xzdmxzI
; ; â«= xdmmx â«= ydmmy â«= zdmmz
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 89
§Úi chiĂu vĂi ma trĂn gi¶ qužn tĂnh Ji, ta cĂŁ thĂ trĂnh b”y Ji nhâ sau :
â„â„â„â„â„â„â„
âŠ
â€
âąâąâąâąâąâąâą
âŁ
âĄ
â+
+â
++â
=
mmzmymx
mz2
IIIII
myI2
IIII
mxII2
III
jzzyyxx
yzyz
zyzzyyxx
xy
zxyxzzyyxx
i (7.17)
Nhâ vĂy Ăœ nghĂa biĂu trâng cña Ji Ÿ· rĂą.
VĂy ta cĂŁ : â„â„âŠ
â€
âąâąâŁ
âĄ= ââ
= =
i
jkj
k
Ti
ij
ii
ki qq
qTJ
qTTrK
1 121
&&ââ
ââ
(7.18)
CuĂši cĂŻng, §éng nšng cña mĂ©t robot cĂŁ n kh©u ÂźâĂźc tĂnh :
(7.19) â=
=n
iiKK
1
7. 5. 3. TĂnh thĂ nšng cña robot : ThĂ nšng cña kh©u i cĂŁ khĂši lâĂźng mi, trĂ€ng t©m ÂźâĂźc xžc ÂźĂnh bĂ«i vectÂŹ ri (vectÂŹ biĂu diĂn trĂ€ng t©m cña kh©u i trong hĂ toÂč Ÿé cÂŹ b¶n) l” :
Pi = -mi. g. ri = -mi. g. Ti iri (7.20)
Trong Ÿã, vectÂŹ gia tĂšc trĂ€ng trâĂȘng g ÂźâĂźc biĂu diĂn dâĂi dÂčng mĂ©t ma trĂn cĂ©t :
â„â„â„â„
âŠ
â€
âąâąâąâą
âŁ
âĄ
â=
â„â„â„â„
âŠ
â€
âąâąâąâą
âŁ
âĄ
=
08,9
00
0z
y
x
ggg
g
ThĂ nšng cña to”n cÂŹ cĂu robot n kh©u Ÿéng sĂ l” :
â=
â=n
ii
iii rgTmP
1
(7.21)
7. 5.4. H”m Lagrange : Sau khi xžc ÂźĂnh Ÿéng nšng v” thĂ nšng cña to”n cÂŹ cĂu, ta cĂŁ h”m Lagrange cña robot cĂŁ n bĂc tĂč do :
ââââ== = =
+âââ
ââââ
â
ââ
ââ
=n
ii
iiikj
n
i
i
j
i
k k
Ti
ij
i rgTmqqqTJ
qTTraceL
11 1 1 21
21
&& (7.22)
ChĂłng ta chĂł Ăœ r»ng, trong h”m Lagrange vĂn châa Ÿà cĂp ÂźĂn ¶nh hâĂ«ng cña nguĂ„n truyĂn Ÿéng (gĂ„m cžc phĂn tĂnh (stator) v” phĂn Ÿéng (Rotor) cña Ÿéng cÂŹ ÂźiĂn). 7. 5. 5. PhâÂŹng trĂnh Ÿéng lĂčc hĂ€c robot : Ta Ÿ· biĂt lĂčc tĂŠng qužt ÂźĂt lÂȘn kh©u thĂž i cña robot cĂŁ n kh©u (PhâÂŹng trĂnh Lagrange - Euler) :
Fi = âddt
Lq
Lqi i
ââ
ââ&
(7.23)
Sau khi thiĂt lĂp h”m Lagrange, vĂi p = 1... n, ta tĂnh ÂźâĂźc :
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 90
(p l” chĂ sĂš lĂn lâĂźt lĂy theo j v” k)
j
n
i
i
j p
Ti
ij
ik
n
i
i
k k
Ti
ip
i
p
qqTJ
qTTrq
qTJ
qTTr
qL
&&& ââââ
= == =âââ
ââââ
â
ââ
ââ
+âââ
ââââ
â
ââ
ââ
=ââ
1 11 1 21
21
(7.24)
Thay ŸÊi chĂ sĂš gi¶ j th”nh k trong sĂš hÂčng thĂž hai ,v” ÂźĂ Ăœ r»ng :
âââ
ââââ
â
ââ
ââ
=âââ
ââââ
â
ââ
ââ
=âââ
ââââ
â
ââ
ââ
j
Ti
ip
i
T
p
Ti
ij
i
p
Ti
ij
i
qTJ
qTTr
qTJ
qTTr
qTJ
qTTr (7.25)
ta cĂŁ : k
n
i
i
k p
Ti
ik
i
p
qqTJ
qTTr
qL
&& ââ
= =âââ
ââââ
â
ââ
ââ
=ââ
1 1
(7.26)
CĂČng ÂźĂ Ăœ r»ng : trong Ti(q1, q2, . . . , qi), vĂi qi l” cžc biĂn khĂp cña i khĂp ÂźĂu tiÂȘn. Do
vĂy, nĂu i < p thĂ 0=ââ
p
i
qT
.
CuĂši cĂŻng ta cĂŁ : k
n
pi
i
k p
Ti
ik
i
p
qqTJ
qTTr
qL
&& ââ
= =âââ
ââââ
â
ââ
ââ
=ââ
1
(7.27)
LĂy vi ph©n theo thĂȘi gian t cña phâÂŹng trĂnh trÂȘn :
k
n
pi
i
k p
Ti
ik
i
p
qqTJ
qTTr
dtd
qL
dtd
&&
1
ââ= =
âââ
ââââ
â
ââ
ââ
=ââ
+â„â„âŠ
â€
âąâąâŁ
âĄ
ââ
âââ
+âââ
ââââ
â
ââ
ââ
= âââââ= = == =
mqqqTJ
qqTTrq
qTJ
qTTr k
n
pi
i
k
i
m p
Ti
imk
ik
n
pi
i
k p
Ti
ik
i &&&& 1 1
2
1
mqqqTJ
qqTTr k
n
pi
i
k
i
m k
Ti
imp
i &&âââ= = = â„
â„âŠ
â€
âąâąâŁ
âĄ
ââ
âââ
+1 1
2
(7.28)
(BiĂn ŸÊi theo chĂł Ăœ (7.25)) SĂš hÂčng cuĂši cña phâÂŹng trĂnh Lagrange Euler l” :
+âââ
ââââ
â
ââ
âââ
=ââ âââ
= = =k
n
pi
i
j
i
k k
Ti
ipj
i
p
qqqTJ
qqTTr
qL
&& j1 1
2
21
ii
n
pi p
iik
n
i
i
jj
i
k j
Ti
ipk
i rqTgmqq
qTJ
qqTTr ââââ
== = = ââ
+âââ
ââââ
â
ââ
âââ
+ &&1 1 1
2
21 (7.29)
CuĂši cĂŻng ta cĂŁ lĂčc tĂŠng qužt cña kh©u p : pp
p qL
qL
dtdF
ââ
ââ
â=&
Thay thà cžc chà sÚ p v” i th”nh i v” j, ta sà cã :
jj
n
ij i
jjk
n
ij
j
k
j
m i
Tj
jmk
jk
n
ij
j
k i
Tj
jk
ji r
qT
gmmqqqT
Jqq
TTrq
qT
JqT
TrF ââââââ== = == = â
âââ„
âŠ
â€âąâŁ
âĄ
ââ
âââ
+âââ
ââââ
â
ââ
ââ
= &&&& 1 1
2
1
(7.30) VĂi mĂ©t robot cĂŁ n bĂc tĂč do thĂ :
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp 91
q = [q1, q2, . . . ,qn]T
q = & [ ]n21 q , ... ,q ,q &&& T
v” F = F[F1, F2, . . . , Fn]T
§à cho gĂ€n, ta biĂu diĂn : )(),()( qGqqqCqqJF ++= &&&& (7.31) Trong Ÿã : J thĂ hiĂn tžc dĂŽng cña qužn tĂnh, l” mĂ©t ma trĂn ŸÚi xĂžng (n x n); C thĂ hiĂn tžc dĂŽng cña lĂčc ly t©m v” Cariolis, l” mĂ©t vectÂŹ (n x 1); G thĂ hiĂn tžc dĂŽng cña lĂčc trĂ€ng trâĂȘng, cĂČng l” mĂ©t vectÂŹ (n x 1). §©y l” phâÂŹng trĂnh Ÿéng lĂčc hĂ€c cña robot. NĂu thÂȘm v”o phâÂŹng trĂnh trÂȘn cžc tžc dĂŽng khžc nhâ : FEX ÂźĂc trâng cho cžc ngoÂči lĂčc tžc dĂŽng lÂȘn trĂŽc, V ÂźĂc trâng cho hiĂu Ăžng ma sžt, ta cĂŁ :
EXFqVqGqqqCqqJF ++++= )()(),()( &&&&& (7.32)
TS. PhÂčm §šng PhâĂc
robot c«ng nghiĂp 99
ChâÂŹng 9
TruyĂn Ÿéng v” ÂźiĂu khiĂn robot. 9.1. TruyĂn Ÿéng ÂźiĂn trong robot: TruyĂn Ÿéng ÂźiĂn ÂźâĂźc dĂŻng khž nhiĂu trong kĂŒ thuĂt robot, vĂ cĂŁ nhiĂu âu ÂźiĂm nhâ l” ÂźiĂu khiĂn Ÿn gi¶n kh«ng ph¶i dĂŻng cžc bĂ© biĂn ŸÊi phĂŽ, kh«ng g©y bĂn m«i trâĂȘng, cžc loÂči Ÿéng cÂŹ ÂźiĂn hiĂn ÂźÂči cĂŁ thĂ lŸp trĂčc tiĂp trÂȘn cžc khĂp quay... Tuy nhiÂȘn so vĂi truyĂn Ÿéng thuĂ» lĂčc hoĂc thuĂ» khĂ thĂ truyĂn Ÿéng ÂźiĂn cĂŁ c«ng suĂt thĂp v” th«ng thâĂȘng ph¶i cĂn thÂȘm hĂ©p gi¶m tĂšc vĂ thâĂȘng cžc kh©u cña robot chuyĂn Ÿéng vĂi tĂšc Ÿé thĂp. Trong kĂŒ thuĂt robot, vĂ nguyÂȘn tŸc cĂŁ thĂ dĂŻng Ÿéng cÂŹ ÂźiĂn cžc loÂči khžc nhau, nhâng trong thĂčc tĂ chĂ cĂŁ hai loÂči ÂźâĂźc dĂŻng nhiĂu hÂŹn c¶. §ã l” Ÿéng cÂŹ ÂźiĂn mĂ©t chiĂu v” Ÿéng cÂŹ bâĂc. Ng”y nay, do nhĂ·ng th”nh tĂču mĂi trong nghiÂȘn cĂžu ÂźiĂu khiĂn Ÿéng cÂŹ ÂźiĂn xoay chiĂu, nÂȘn cĂČng cĂŁ xu hâĂng chuyĂn sang sö dĂŽng Ÿéng cÂŹ ÂźiĂn xoay chiĂu Ÿà tržnh ph¶i trang bĂ thÂȘm bĂ© nguĂ„n ÂźiĂn mĂ©t chiĂu. Ngo”i ra, loÂči Ÿéng cÂŹ ÂźiĂn mĂ©t chiĂu kh«ng chĂŠi gĂŁp (DC brushless motor) cĂČng bŸt ÂźĂu ÂźâĂźc Ăžng dĂŽng v”o kĂŒ thuĂt robot. 9.1.1. §éng cÂŹ ÂźiĂn mĂ©t chiĂu : §éng cÂŹ ÂźiĂn mĂ©t chiĂu gĂ„m cĂŁ hai phĂn :
+ Stato cĂš ÂźĂnh vĂi cžc cuĂ©n d©y cĂŁ dĂng ÂźiĂn c¶m hoĂc dĂŻng nam ch©m vĂnh cĂ·u. PhĂn nĂy cĂn ÂźâĂźc gĂ€i l” phĂn c¶m. PhĂn c¶m tÂčo nÂȘn tĂ” th«ng trong khe hĂ« kh«ng khĂ.
+ Roto vĂi cžc thanh dĂn. Khi cĂŁ dĂng ÂźiĂn mĂ©t chiĂu chÂčy qua v” vĂi dĂng tĂ” th«ng xžc ÂźĂnh, roto sĂ quay. PhĂn nĂy gĂ€i l” phĂn Ăžng. TuĂș cžch ÂźĂu d©y giĂ·a phĂn c¶m so vĂi phĂn Ăžng, ta cĂŁ nhĂ·ng loÂči Ÿéng cÂŹ ÂźiĂn mĂ©t chiĂu khžc nhau : + §éng cÂŹ kĂch tĂ” nĂši tiĂp (HĂnh 9.1.a); + §éng cÂŹ kĂch tĂ” song song (HĂnh 9.1.b); + §éng cÂŹ kĂch tĂ” hĂŠn hĂźp (HĂnh 9.1.c).
a/ b/ c/ HĂnh 9.1. Cžc loÂči Ÿéng cÂŹ ÂźiĂn mĂ©t chiĂu.
TS. PhÂčm §šng PhâĂc
robot c«ng nghiĂp 100
Cžc th«ng sĂš chñ yĂu quyĂt ÂźĂnh tĂnh nšng l”m viĂc cña Ÿéng cÂŹ ÂźiĂn mĂ©t chiĂu l” : U : §iĂn žp cung cĂp cho phĂn Ăžng; I : CâĂȘng Ÿé dĂng ÂźiĂn cña phĂn Ăžng; r : §iĂn trĂ« trong cña phĂn Ăžng; Ί : TĂ” th«ng; E : SĂžc ph¶n ÂźiĂn Ÿéng phĂn Ăžng. Cžc quan hĂ cÂŹ b¶n cña Ÿéng cÂŹ ÂźiĂn mĂ©t chiĂu l” : E = U - rI = knΊ k l” hĂ sĂš phĂŽ thuĂ©c v”o ÂźĂc tĂnh cña d©y cuĂšn v” sĂš thanh dĂn cña phĂn Ăžng.
SĂš vĂng quay cña Ÿéng cÂŹ ÂźiĂn mĂ©t chiĂu : Ίâ
=k
IrUn
M«men Ÿéng C xžc ÂźĂnh tĂ” phâÂŹng trĂnh c©n b»ng c«ng suĂt : EI = 2ÏnC
Hay : Ï
Ik2C Ί=
MuĂšn ÂźiĂu chĂnh tĂšc Ÿé Ÿéng cÂŹ ÂźiĂn mĂ©t chiĂu cĂŁ thĂ thĂčc hiĂn b»ng cžch : - Thay ŸÊi tĂ” th«ng Ί, th«ng qua viĂc ÂźiĂu chĂnh ÂźiĂn žp dĂng kĂch tĂ”. Trong trâĂȘng hĂźp giĂ· nguyÂȘn ÂźiĂn žp phĂn Ăžng U, tšng tĂšc Ÿé tĂ” 0 ÂźĂn tĂšc Ÿé ÂźĂnh mĂžc, thĂ c«ng suĂt kh«ng ŸÊi cĂn momen gi¶m theo tĂšc Ÿé. - §iĂu chĂnh ÂźiĂn žp phĂn Ăžng. Trong trâĂȘng hĂźp tĂ” th«ng kh«ng ŸÊi, khi tšng tĂšc Ÿé tĂ” 0 ÂźĂn tĂšc Ÿé ÂźĂnh mĂžc thĂ m«men sĂ kh«ng ŸÊi, cĂn c«ng suĂt tšng theo tĂšc Ÿé. MuĂšn ٦o chiĂu quay cña Ÿéng cÂŹ ÂźiĂn mĂ©t chiĂu cĂn thay ŸÊi hoĂc chiĂu cña tĂ” th«ng (tĂžc chiĂu cña dĂng ÂźiĂn kĂch tĂ”) hoĂc thay ŸÊi chiĂu dĂng ÂźiĂn phĂn Ăžng. 9.1.2. §éng cÂŹ bâĂc : NguyÂȘn tŸc hoÂčt Ÿéng : TrÂȘn hĂnh 9.2 l” sÂŹ ŸÄ Ÿéng cÂŹ bâĂc loÂči Ÿn gi¶n nhĂt dĂŻng nam ch©m vĂnh cöu gĂ„m stato cĂŁ 4 cĂčc v” roto cĂŁ 2 cĂčc.
α αN
NÎČ ÎČ ÎČ' ÎČ' S N
SS
α' α'
HĂnh 9.2 : SÂŹ ŸÄ nguyÂȘn lĂœ hoÂčt Ÿéng cña Ÿéng cÂŹ bâĂc.
TS. PhÂčm §šng PhâĂc
robot c«ng nghiĂp 101
NĂu cĂp ÂźiĂn cho cuĂ©n d©y αα' thĂ roto sĂ dĂ”ng Ă« vĂ trĂ m” dĂng tĂ” qua cuĂ©n d©y l” lĂn nhĂt. NĂu cĂp ÂźiĂn cho cuĂ©n d©y ÎČÎČ' thĂ roto sĂ quay Âźi ±900 (PhĂŽ thuĂ©c chiĂu dĂng ÂźiĂn cĂp v”o). Khi ŸÄng thĂȘi cĂp ÂźiĂn cho c¶ 2 cuĂ©n d©y α v” ÎČ thĂ roto sĂ dĂ”ng Ă« vĂ trĂ giĂ·a 00 v” 900, v” nĂu dĂng ÂźiĂn v”o 2 cuĂ©n d©y ho”n to”n nhâ nhau thĂ roto sĂ dĂ”ng Ă« vĂ trĂ 450. Nhâ vĂy vĂ trĂ cña roto phĂŽ thuĂ©c v”o sĂš cĂčc ÂźâĂźc cĂp ÂźiĂn trÂȘn stato v” chiĂu cña dĂng ÂźiĂn cĂp v”o. TrÂȘn Ÿ©y l” sÂŹ ŸÄ nguyÂȘn lĂœ cña Ÿéng cÂŹ bâĂc loÂči cĂŁ Ăt cĂčc v” dĂŻng nam ch©m vĂnh cöu. TrÂȘn cÂŹ sĂ« Ÿã ta cĂŁ thĂ tĂm hiĂu cžc loÂči Ÿéng cÂŹ cĂŁ nhiĂu cĂčc v” dĂŻng nam ch©m ÂźiĂn cĂŁ tĂ” tĂnh thay ŸÊi. Nhâ vĂy tuĂș theo cžch cĂp ÂźiĂn cho cžc cuĂ©n d©y trÂȘn stato ta cĂŁ thĂ ÂźiĂu khiĂn cžc vĂ trĂ dĂ”ng cña roto. ViĂc cĂp ÂźiĂn cho cžc cuĂ©n d©y cĂŁ thĂ sĂš hož, cho nÂȘn cĂŁ thĂ nĂŁi Ÿéng cÂŹ bâĂc l” loÂči Ÿéng cÂŹ ÂźiĂn chuyĂn cžc tĂn hiĂu sĂš ÂźĂu v”o th”nh chuyĂn Ÿéng cÂŹ hĂ€c tĂ”ng nĂc Ă« ÂźĂu ra. Šu nhâĂźc ÂźiĂm : + Khi dĂŻng Ÿéng cÂŹ bâĂc kh«ng cĂn mÂčch ph¶n hĂ„i cho c¶ ÂźiĂu khiĂn vĂ trĂ v” vĂn tĂšc. + ThĂch hĂźp vĂi cžc thiĂt bĂ ÂźiĂu khiĂn sĂš. VĂi kh¶ nšng ÂźiĂu khiĂn sĂš trĂčc tiĂp, Ÿéng cÂŹ bâĂc trĂ« th”nh th«ng dĂŽng trong cžc thiĂt bĂ cÂŹ ÂźiĂn tö hiĂn ÂźÂči. Tuy nhiÂȘn phÂčm vi Ăžng dĂŽng Ÿéng cÂŹ bâĂc l” Ă« vĂŻng c«ng suĂt nhĂĄ v” trung bĂnh. ViĂc nghiÂȘn cĂžu n©ng cao c«ng suĂt Ÿéng cÂŹ bâĂc Âźang l” vĂn Ÿà rĂt ÂźâĂźc quan t©m hiĂn nay. Ngo”i ra, nĂŁi chung hiĂu suĂt cña Ÿéng cÂŹ bâĂc thĂp hÂŹn cžc loÂči Ÿéng cÂŹ khžc. Cžc th«ng sĂš chñ yĂu cña Ÿéng cÂŹ bâĂc : GĂŁc quay : §éng cÂŹ bâĂc quay mĂ©t gĂŁc xžc ÂźĂnh Ăžng vĂi mçi xung kĂch thĂch. GĂŁc bâĂc Ξ c”ng nhĂĄ thà Ÿé ph©n gi¶i vĂ trĂ c”ng cao. SĂš bâĂc s l” mĂ©t th«ng sĂš quan trĂ€ng :
Ξ3600
=s
TĂšc Ÿé quay v” tĂn sĂš xung : TĂšc Ÿé quay cña Ÿéng cÂŹ bâĂc phĂŽ thuĂ©c v”o sĂš bâĂc trong mĂ©t gi©y. §Úi vĂi hĂu hĂt cžc Ÿéng cÂŹ bâĂc, sĂš xung cĂp cho Ÿéng cÂŹ b»ng sĂš bâĂc (tĂnh theo phĂłt) nÂȘn tĂšc Ÿé cĂŁ thĂ tĂnh theo tĂn sĂš xung f. TĂšc Ÿé quay cña Ÿéng cÂŹ bâĂc tĂnh theo c«ng thĂžc sau :
sfn 60
= (f : bâĂc/phĂłt)/(s : bâĂc /vĂng)
Tong Ÿã : n - tĂšc Ÿé quay (vĂng/phĂłt) f - tĂn sĂš xung (Hz) s - SĂš bâĂc trong mĂ©t vĂng quay.
TS. PhÂčm §šng PhâĂc
robot c«ng nghiĂp 102
Ngo”i ra cĂn cžc th«ng sĂš quan trĂ€ng khžc nhâ Ÿé chĂnh xžc vĂ trĂ, momen v” qužn tĂnh cña Ÿéng cÂŹ... Cžc loÂči Ÿéng cÂŹ bâĂc : TuĂș theo kiĂu cña roto, Ÿéng cÂŹ bâĂc ÂźâĂźc chia th”nh cžc loÂči sau : + §éng cÂŹ bâĂc kiĂu tĂ” trĂ« biĂn ŸÊi (VR : Variable Resistance) + §éng cÂŹ bâĂc nam ch©m vĂnh cĂ·u (PM : Permanent Magnet ) + §éng cÂŹ bâĂc kiĂu lai (Hybrid)
TuĂș theo sĂš cuĂ©n d©y Ÿéc lĂp trÂȘn stato Ÿéng cÂŹ bâĂc ÂźâĂźc chia th”nh cžc loÂči : 2 pha, 3 pha hoĂc 4 pha.
Roto Ÿéng cÂŹ bâĂc cĂŁ nhiĂu cĂčc (cĂn gĂ€i l” ršng). SĂš cĂčc cña roto phĂši hĂźp vĂi sĂš cĂčc cña stato xžc ÂźĂnh giž trĂ gĂŁc bâĂc Ξ. GĂŁc bâĂc lĂn nhĂt l” 900 Ăžng vĂi Ÿéng cÂŹ cĂŁ sĂš bâĂc s = 4 bâĂc/vĂng. PhĂn lĂn nhĂ·ng Ÿéng cÂŹ bâĂc hiĂn nay cĂŁ sĂš bâĂc s = 200, nÂȘn Ξ = 1,80.
SĂš bâĂc c”ng lĂn Ÿé ph©n gi¶i c”ng cao v” ÂźĂnh vĂ c”ng chĂnh xžc. Nhâng trong thĂčc tĂ, kh«ng thĂ tšng sĂš bâĂc lÂȘn quž cao. Tuy nhiÂȘn cĂŁ thĂ dĂŻng c«ng nghĂ tÂčo bâĂc nhĂĄ Ÿà chia bâĂc th”nh 2 nĂ·a bâĂc (nhâ hĂnh b/ 9.2) hoĂc tĂ” 10 ÂźĂn 125 bâĂc nhĂĄ. C«ng nghĂ tÂčo bâĂc nhĂĄ cĂn gĂ€i l” tÂčo vi bâĂc, chà Ÿn gi¶n l” mĂ« rĂ©ng phâÂŹng phžp nĂŁi trÂȘn cho nhiĂu vĂ trĂ trung gian b»ng cžch cung cĂp nhĂ·ng giž trĂ dĂng khžc nhau cho mçi cuĂ©n d©y. §éng cÂŹ ÂźâĂźc tÂčo bâĂc nhĂĄ cĂŁ Ÿé ph©n gi¶i tinh hÂŹn nhiĂu. VĂ dĂŽ, nĂu ph©n 125 bâĂc nhĂĄ trong mĂ©t bâĂc ÂźĂy, vĂi 200 bâĂc/vĂng thà Ÿé ph©n gi¶i cña Ÿéng cÂŹ l” 125 x 200 = 25.000 bâĂc nhĂĄ/ vĂng. 9.2. TruyĂn Ÿéng khĂ nĂn v” thuĂ» lĂčc : Ngo”i truyĂn Ÿéng ÂźiĂn, trong kĂŒ thuĂt robot cĂn thâĂȘng dĂŻng cžc loÂči truyĂn Ÿéng khĂ nĂn hoĂc thuĂ» lĂčc. 9.2.1. TruyĂn dĂn Ÿéng khĂ nĂn : DĂŻng khĂ nĂn trong hĂ truyĂn Ÿéng robot nhiĂu thuĂn lĂźi nhâ : Do cžc ph©n xĂ«ng c«ng nghiĂp thâĂȘng cĂŁ mÂčng lĂi khĂ nĂn chung, nÂȘn Ÿn gi¶n hož ÂźâĂźc phĂn thiĂt bĂ nguĂ„n Ÿéng lĂčc cho robot. HĂ truyĂn dĂn khĂ nĂn tÂŹng ŸÚi gĂ€n nhĂ, dĂ sö dĂŽng, dà Ÿ¶o chiĂu, ... Tuy nhiÂȘn hĂ truyĂn dĂn khĂ nĂn cĂČng cĂŁ nhiĂu nhâĂźc ÂźiĂm nhâ : do tĂnh nĂn ÂźâĂźc cña chĂt khĂ nÂȘn chuyĂn Ÿéng thâĂȘng kĂm theo dao Ÿéng, dĂ”ng kh«ng chĂnh xžc, ngo”i ra cĂn cĂn trang bĂ thÂȘm cžc thiĂt bĂ phun dĂu b«i trÂŹn, lĂ€c bĂŽi, gi¶m tiĂng Ă„n ... 9.2.2. TruyĂn dĂn Ÿéng thuĂ» lĂčc : HĂ truyĂn dĂn thuĂ» lĂčc cĂŁ nhĂ·ng âu ÂźiĂm nhâ : T¶i trĂ€ng lĂn, qužn tĂnh bĂ, dĂ thay ŸÊi chuyĂn Ÿéng, dĂ ÂźiĂu khiĂn tĂč Ÿéng. Tuy nhiÂȘn chĂłng cĂČng cĂŁ nhĂ·ng nhâĂźc ÂźiĂm nhâ : HĂ thuĂ» lĂčc lu«n ÂźĂi hĂĄi bĂ© nguĂ„n, bao gĂ„m thĂŻng dĂu, bÂŹm thuĂ» lĂčc, thiĂt bĂ lĂ€c, bĂnh tĂch dĂu, cžc
TS. PhÂčm §šng PhâĂc
robot c«ng nghiĂp 103
loÂči van ÂźiĂu chĂnh, ÂźâĂȘng Ăšng ... l”m hĂ truyĂn Ÿéng cho robot khž cĂ„ng kĂnh so vĂi truyĂn Ÿéng khĂ nĂn v” truyĂn Ÿéng ÂźiĂn. NhĂn chung, hĂ truyĂn dĂn thuĂ» lĂčc vĂn ÂźâĂźc sö dĂŽng khž phĂŠ biĂn trong robot, nhĂt l” trong trâĂȘng hĂźp t¶i nĂng. Cžc phĂn tö trong hĂ truyĂn Ÿéng b»ng khĂ nĂn v” thuĂ» lĂčc Ÿ· ÂźâĂźc tiÂȘu chuĂn hož. Cžc tĂnh tožn thiĂt kĂ hĂ truyĂn dĂn khĂ nĂn v” thuĂ» lĂčc Ÿ· ÂźâĂźc nghiÂȘn cĂžu trong cžc gižo trĂnh riÂȘng. 9.3. Cžc phâÂŹng phžp ÂźiĂu khiĂn Robot : NhiĂm vĂŽ quan trĂ€ng ÂźĂu tiÂȘn cña viĂc ÂźiĂu khiĂn robot l” b¶o ٦m cho ÂźiĂm tžc Ÿéng cuĂši E (End-effector) cña tay mžy dĂch chuyĂn bžm theo mĂ©t quĂŒ ÂźÂčo ÂźĂnh trâĂc. Kh«ng nhĂ·ng thĂ, hĂ toÂč Ÿé gŸn trÂȘn kh©u chĂp h”nh cuĂši cĂn ph¶i ٦m b¶o hâĂng trong quž trĂnh di chuyĂn. Gi¶i b”i tožn ngâĂźc phâÂŹng trĂnh Ÿéng hĂ€c ta cĂŁ thĂ gi¶i quyĂt vĂ mĂt Ÿéng hĂ€c yÂȘu cĂu trÂȘn. §ã cĂČng l” nĂ©i dung cÂŹ b¶n Ÿà x©y dĂčng châÂŹng trĂnh ÂźiĂu khiĂn vĂ trĂ cho robot. Tuy nhiÂȘn viĂc gi¶i b”i tožn nĂy châa xĂt tĂi ÂźiĂu kiĂn thĂčc tĂ khi robot l”m viĂc, nhâ l” cžc tžc Ÿéng cña momen lĂčc, ma sžt ... TuĂș theo yÂȘu cĂu n©ng cao chĂt lâĂźng ÂźiĂu khiĂn (Ÿé chĂnh xžc) m” ta cĂn tĂnh ÂźĂn ¶nh hâĂ«ng cña cžc yĂu tĂš trÂȘn, v” theo Ÿã, phâÂŹng phžp ÂźiĂu khiĂn cĂČng trĂ« nÂȘn Âźa dÂčng v” phong phĂł hÂŹn.
9.3.1. §iĂu khiĂn tĂ lĂ sai lĂch (PE : Propotional Error): NguyÂȘn tŸc cÂŹ b¶n cña phâÂŹng phžp nĂy rĂt dĂ hiĂu; Ÿã l” l”m cho hĂ
thĂšng thay ŸÊi theo chiĂu huĂng cĂŁ sai lĂch nhĂĄ nhĂt. H”m sai lĂch cĂŁ thĂ l” Δ = Ξd - Ξ(t), Ă« Ÿ©y Ξd l” gĂŁc quay mong muĂšn v” Ξ(t) l” giž trĂ quay thĂčc tĂ cña biĂn khĂp, ta sĂ gĂ€i Ξd l” "gĂŁc ÂźĂt". Khi Δ = 0 thĂ khĂp ÂźÂčt ÂźâĂźc vĂ trĂ mong muĂšn. NĂu Δ < 0, thĂ khĂp Ÿ· di chuyĂn quž mĂžc v” cĂn chuyĂn Ÿéng ngâĂźc lÂči. Nhâ vĂy, kiĂu ÂźiĂu khiĂn chuyĂn Ÿéng nĂy l” lu«n cĂŁ chiĂu hâĂng l”m cho sai lĂch Δ xĂp xĂ zero.
BÂȘn cÂčnh Ÿã, chĂłng ta cĂČng cĂn quan t©m ÂźĂn phĂn Ÿé lĂn, nghĂa l”, chĂłng ta kh«ng nhĂ·ng cĂn biĂt "l”m cho Ÿéng cÂŹ chuyĂn Ÿéng b»ng cžch n”o?" m” cĂn cĂn biĂt "cĂn cung cĂp cho Ÿéng cÂŹ mĂ©t nšng lâĂźng (m«men Ÿéng) l” bao nhiÂȘu?". §à tr¶ lĂȘi c©u hĂĄi nĂy mĂ©t lĂn nĂ·a, chĂłng ta cĂŁ thĂ dĂŻng tĂn hiĂu sai sĂš Δ = Ξd - Ξ. ChĂłng ta h·y žp dĂŽng mĂ©t tĂn hiĂu ÂźiĂu khiĂn m” nĂŁ tĂ lĂ vĂi Δ :
F = Kp(Ξd - Ξ(t)) (9.1) Qui luĂt nĂy xžc ÂźĂnh mĂ©t hĂ ÂźiĂu khiĂn ph¶n hĂ„i v” ÂźâĂźc gĂ€i l” hĂ ÂźiĂu
khiĂn tĂ lĂ sai lĂch.
TS. PhÂčm §šng PhâĂc
robot c«ng nghiĂp 104
9.3.2. §iĂu khiĂn tĂ lĂ - ÂźÂčo h”m (PD : Propotional Derivative): PhâÂŹng phžp ÂźiĂu khiĂn tĂ lĂ sai lĂch cĂn nhiĂu nhâĂźc ÂźiĂm nhâ : HĂ dao
Ÿéng lĂn khi ma sžt nhĂĄ (tĂnh trÂčng vâĂźt quž) v” Ă« trÂčng thži tĂnh, khi Δ â 0 thĂ momen cĂČng gĂn b»ng kh«ng, nÂȘn kh«ng giĂ· ÂźâĂźc vĂ trĂ dâĂi tžc dĂŽng cña t¶i.
§à khŸc phĂŽc ÂźiĂu trÂȘn, cĂŁ thĂ chĂ€n phâÂŹng phžp ÂźiĂu khiĂn tĂ lĂ - ÂźÂčo h”m (PD), vĂi lĂčc tĂŠng qužt :
(9.2) (t)ΞKΔKF dp
&+=
Trong Ÿã : Δ - sai sĂš vĂ trĂ cña khĂp Ÿéng. Δ = Ξd - Ξ(t). - Th”nh phĂn ÂźÂčo h”m - vĂn tĂšc gĂŁc. (t)Ξ& Ke - HĂ sĂš tĂ lĂ sai lĂch vĂ trĂ.
Kd - HĂ sĂš tĂ lĂ vĂn tĂšc. 9.3.3. §iĂu khiĂn tĂ lĂ - tĂch ph©n - ÂźÂčo h”m (PID : Propotional Integral Derivative): HĂ thĂšng vĂi cĂu trĂłc luĂt ÂźiĂu khiĂn PD vĂn cĂn mĂ©t sĂš nhâĂźc ÂźiĂm,
kh«ng phĂŻ hĂźp vĂi mĂ©t sĂš loÂči robot. MĂ©t hĂ thĂšng ÂźiĂu khiĂn khžc cĂŁ bĂŠ sung thÂȘm tĂn hiĂu tĂšc Ÿé ÂźĂt v” sai lĂch tĂšc Ÿé Δ = tžc Ÿéng v”o kh©u khuyĂch ÂźÂči K
dΞ& & (t)ΞΞd&& â
d. PhâÂŹng trĂnh lĂčc tžc Ÿéng lÂȘn khĂp Ÿéng cĂŁ dÂčng :
(9.3) â«++=t
0ide Δ(t)dtKΔKΔKF &
VĂi Δ - sai sĂš tĂšc Ÿé. = . & Δ& (t)ΞΞd&& â
Nhâ vĂy, tuĂș theo cĂu trĂłc Ÿ· lĂča chĂ€n cña bĂ© ÂźiĂu khiĂn, ta Âźem ŸÚi
chiĂu cžc phâÂŹng trĂnh(9.1), (9.2) hoĂc (9.3) vĂi phâÂŹng trĂnh Lagrange - Euler, TĂ” Ÿã nhĂn ÂźâĂźc cžc phâÂŹng trĂnh cña hĂ ÂźiĂu khiĂn tâÂŹng Ăžng. TĂ” cžc phâÂŹng trĂnh nĂy cña hĂ ÂźiĂu khiĂn, cĂn xžc ÂźĂnh cžc hĂ sĂš tĂ lĂ Ke, Kd, Ki Ÿà hĂ hoÂčt Ÿéng ĂŠn ÂźĂnh. 9.3.4. H”m truyĂn chuyĂn Ÿéng cña mçi khĂp Ÿéng : NĂ©i dung phĂn nĂy trĂnh b”y phâÂŹng phžp x©y dĂčng h”m truyĂn ŸÚi vĂi trâĂȘng hĂźp chuyĂn Ÿéng mĂ©t bĂc tĂč do, mçi khĂp thâĂȘng ÂźâĂźc ÂźiĂu khiĂn b»ng mĂ©t hĂ truyĂn Ÿéng riÂȘng. PhĂŠ biĂn hÂŹn c¶ l” Ÿéng cÂŹ ÂźiĂn mĂ©t chiĂu. XĂt sÂŹ ŸÄ truyĂn Ÿéng cña Ÿéng cÂŹ ÂźiĂn mĂ©t chiĂu vĂi tĂn hiĂu v”o l” ÂźiĂn žp Ua ÂźĂt v”o phĂn Ăžng, tĂn hiĂu ra l” gĂŁc quay Ξm cña trĂŽc Ÿéng cÂŹ; Ÿéng cÂŹ kiĂu kĂch tĂ” Ÿéc lĂp.
TS. PhÂčm §šng PhâĂc
robot c«ng nghiĂp 105
_
+
Ua(t)
La Ra
Mm
Ξm
Lf
Uf
+
_
Rt
+
_eb(t)
ia(t)
Jm
HĂnh 9.3. SÂŹ ŸÄ Ÿéng cÂŹ ÂźiĂn mĂ©t chiĂu. Trong thĂčc tĂ, trĂŽc Ÿéng cÂŹ ÂźâĂźc nĂši vĂi hĂ©p gi¶m tĂšc rĂ„i tĂi trĂŽc phĂŽ t¶i nhâ hĂnh 9.4. GĂ€i n l” tĂ sĂš truyĂn, ΞL l” gĂŁc quay cña trĂŽc phĂŽ t¶i, ta cĂŁ : ΞL(t) = n Ξm(t) (9.4) )(Ξ n (t)Ξ mL t&& =
)(Ξ n (t)Ξ mL t&&&& = ΞL
JL
ML
Mm
Jm
fm
Ξm= ΞL/n
fL
HĂnh 9.4. SÂŹ ŸÄ Ÿéng cÂŹ ÂźiĂn cĂŻng phĂŽ t¶i.
M«men trÂȘn trĂŽc Ÿéng cÂŹ b»ng tĂŠng momen cĂn Ÿà Ÿéng cÂŹ quay, cĂ©ng vĂi m«men phĂŽ t¶i quy vĂ trĂŽc Ÿéng cÂŹ.
(t) M (t) M M(t) *Lm += (9.5)
KĂœ hiĂu : Jm : M«men qužn tĂnh cña Ÿéng cÂŹ. JL : Momen qužn tĂnh phĂŽ t¶i. Ta cĂŁ :
(t)f (t)J (t)M mmmmm ΞΞ &&& += (9.6)
(t)f (t)J (t)M LLLLL ΞΞ &&& += (9.7) Trong Ÿã fm v” fL l” hĂ sĂš c¶n cña Ÿéng cÂŹ v” cña phĂŽ t¶i. Theo ÂźĂnh luĂt b¶o tĂ„n nšng lâĂźng, c«ng do phĂŽ t¶i sinh ra, tĂnh trÂȘn trĂŽc phĂŽ t¶i l” MLΞL ph¶i b»ng c«ng quy vĂ trĂŽc Ÿéng cÂŹ . TĂ” Ÿã ta cĂŁ : mΞM*
L
TS. PhÂčm §šng PhâĂc
robot c«ng nghiĂp 106
(t)nM(t)Ξ
(t)(t)ΞM(t)M Lm
LL*L == (9.8)
Thay (9.1) v” (9.4) v”o c«ng thĂžc trÂȘn : [ ](t)Ξf (t)ΞJn(t)M mLmL
2*L
&&& += (9.9) Thay (9.3) v” (9.6) v”o (9.2) ta cã :
(t)Ξ)fnf (t)Ξ)JnJ(M(t) mL2
mmL2
m&&& ++=
Hay : (9.10) (t)Ξ f (t)ΞJM(t) mm&&& +=
VĂi : J = Jm + n2JL : M«men qužn tĂnh tĂŠng hiĂu dĂŽng. f = fm + n2fL : HĂ sĂš ma sžt tĂŠng hiĂu dĂŽng. M«men trÂȘn trĂŽc Ÿéng cÂŹ phĂŽ thuĂ©c tuyĂn tĂnh vĂi câĂȘng Ÿé dĂng ÂźiĂn phĂn Ăžng v” kh«ng phĂŽ thuĂ©c v”o gĂŁc quay v” vĂn tĂšc gĂŁc, ta cĂŁ : M(t) = Kaia(t) (9.11) VĂi ia : CâĂȘng Ÿé dĂng ÂźiĂn phĂn Ăžng. Ka : HĂ sĂš tĂ lĂ m«men. žp dĂŽng ÂźĂnh luĂt Kirchhoff cho mÂčch ÂźiĂn phĂn Ăžng :
(t)edt
(t)diL(t)iR(t)U ba
aaaa ++= (9.12)
VĂi Ra, La : ÂźiĂn trĂ« v” ÂźiĂn c¶m phĂn Ăžng. eb : sĂžc ph¶n ÂźiĂn Ÿéng cña Ÿéng cÂŹ. (9.13) (t)Ξ K (t)e mbb
&= Kb : hĂ sĂš tĂ lĂ cña sĂžc ph¶n ÂźiĂn Ÿéng. Sö dĂŽng phĂp biĂn ŸÊi Laplace, tĂ” (9.12) ta cĂŁ :
aa
mbaa sLR
(s)ΞsK - (s)U(s)I+
= (9.14)
TÔ (9.10) v” (9.11) ta cã : M(s) = s2JΞm(s) + sfΞm(s) = KaIa(s)
â sfJs(s)IK(s)Ξ 2
aam +
= (9.15)
Thay (9.14) v”o (9.15) :
â„âŠ
â€âąâŁ
âĄ++
=)sLsf)(RJ(s
)(ΞsK-(s)UK(s)Ξaa
2mba
am
s
â a
aa2
m
mba
K)sLsf)(RJ(s
(s)Ξ)(ΞsK-(s)U ++=
s
TS. PhÂčm §šng PhâĂc
robot c«ng nghiĂp 107
a
baaa2
m
a
KKsK)sLsf)(RJ(s
(s)Ξ(s)U +++
=
Hay : [ ]baaa
a
a
m
KK)sLf)(R(sJsK
(s)U(s)Ξ
+++= (9.16)
§©y l” h”m truyĂn cĂn xžc ÂźĂnh, nĂŁ l” tĂ sĂš giĂ·a tĂn hiĂu ra (gĂŁc quay Ξm) v” tĂn hiĂu v”o cña hĂ thĂšng (ÂźiĂn žp Ua). VĂ hĂ thĂšng gĂ„m cĂŁ Ÿéng cÂŹ v” phĂŽ t¶i nÂȘn tĂn hiĂu ra thĂčc tĂ l” gĂŁc quay cña trĂŽc phĂŽ t¶i ΞL, do Ÿã h”m truyĂn chuyĂn Ÿéng 1 bĂc tĂč do cña tay mžy l” :
[ ]baaa
a
a
L
KKf))(sJsL(RsnK
(s)U(s)Ξ
+++= (9.17)
v” ta cĂŁ sÂŹ ŸÄ khĂši tâÂŹng Ăžng vĂi h”m truyĂn trÂȘn l” :
1 sLa+ Ra
1 sJ + f
Ka1 s
n
Kb
_ +
ΞL(s) Ua(s) â
HĂnh 9.5 : SÂŹ ŸÄ khĂši h”m truyĂn chuyĂn Ÿéng mĂ©t bĂc tĂč do.
Trong c«ng thĂžc (9.17) cĂŁ thĂ bĂĄ qua th”nh phĂn ÂźiĂn c¶m phĂn Ăžng La, vĂ nĂŁ thâĂȘng quž nhĂĄ so vĂi cžc nh©n tĂš ¶nh hĂ«ng cÂŹ khĂ khžc. NÂȘn :
)KKfRJs(sRnK
(s)U(s)Ξ
baaa
a
a
L
++= (9.18)
9.3.6. §iĂu khiĂn vĂ trĂ mçi khĂp Ÿéng :
MĂŽc ÂźĂch cña ÂźiĂu khiĂn vĂ trĂ l” l”m sao cho Ÿéng cÂŹ chuyĂn dĂch khĂp Ÿéng Âźi mĂ©t gĂŁc b»ng gĂŁc quay Ÿ· tĂnh tožn و ٦m b¶o quĂŒ ÂźÂčo Ÿ· chĂ€n trâĂc (châÂŹng 8). ViĂc ÂźiĂu khiĂn ÂźâĂźc thĂčc hiĂn nhâ sau : Theo tĂn hiĂu sai lĂch giĂ·a giž trĂ thĂčc tĂ v” giž trĂ tĂnh tožn cña vĂ trĂ gĂŁc m” ÂźiĂu chĂnh ÂźiĂn žp Ua(t) ÂźĂt v”o Ÿéng cÂŹ. NĂŁi cžch khžc, Ÿà ŸiĂu khiĂn Ÿéng cÂŹ theo quĂŒ ÂźÂčo mong muĂšn ph¶i ÂźĂt v”o Ÿéng cÂŹ mĂ©t ÂźiĂn žp tĂ lĂ thuĂn vĂi Ÿé sai lĂch gĂŁc quay cña khĂp Ÿéng.
n(t))Ξ(t)Ξ~(K
ne(t)K
(t)U LLppa
â== (9.19)
Trong Ÿã Kp : hĂ sĂš truyĂn tĂn hiĂu ph¶n hĂ„i vĂ trĂ.
TS. PhÂčm §šng PhâĂc
robot c«ng nghiĂp 108
e(t) = (t)Ξ(t)Ξ~ LL â : Ÿé sai lĂch gĂŁc quay.
Giž trĂ gĂŁc quay tĂžc thĂȘi : (t)Ξ~L ÂźâĂźc Âźo b»ng c¶m biĂn quang hĂ€c hoĂc chiĂt žp. BiĂn ŸÊi Laplace phâÂŹng trĂnh (9.18) :
nE(s)K
n(s))Ξ(s)Ξ~(K
(s)U pLLpa =
â= (9.20)
Thay (9.20) v”o phâÂŹng trĂnh (9.18) :
G(s))KKfRJs(sR
KKE(s)
(s)Ξ
baaa
paL =++
= (9.21)
Sau khi biĂn ŸÊi ÂźÂči sĂš ta cĂŁ h”m truyĂn :
=+++
=+
=babaaa
2pa
L
L
KK)KKfs(RJRsKK
G(s)1G(s)
(s)Ξ~(s)Ξ
JRKKs
JR)KKf(Rs
JR/KK
a
ba
a
baa2
apa
++
+ (9.22)
PhâÂŹng trĂnh (9.22) cho thĂy r»ng hĂ ÂźiĂu khiĂn tĂ lĂ cña mĂ©t khĂp Ÿéng l” mĂ©t hĂ bĂc hai, nĂŁ sĂ lu«n ĂŠn ÂźĂnh nĂu cžc hĂ sĂš cña cña phâÂŹng trĂnh bĂc hai l” nhĂ·ng sĂš dâÂŹng. §à n©ng cao ÂźĂc tĂnh Ÿéng lĂčc hĂ€c v” gi¶m sai sĂš trÂčng thži ĂŠn ÂźĂnh cña hĂ ngâĂȘi ta cĂŁ thĂ tšng hĂ sĂš ph¶n hĂ„i vĂ trĂ Kp v” kĂt hĂźp l”m gi¶m dao Ÿéng trong hĂ b»ng cžch thÂȘm v”o th”nh phĂn ÂźÂčo h”m cña sai sĂš vĂ trĂ. VĂi viĂc thÂȘm ph¶n hĂ„i nĂy, ÂźiĂn žp ÂźĂt lÂȘn Ÿéng cÂŹ sĂ tĂ lĂ tuyĂn tĂnh vĂi sai sĂš vĂ trĂ v” ÂźÂčo h”m cña nĂŁ :
n
(t)eKe(t)Kn
(t))Ξ(t)Ξ~(K(t))Ξ(t)Ξ~(K(t)U vpLLvLLp
a
&&& +=
â+â= (9.23)
Trong Ÿã Kv l” hĂ sĂš ph¶n hĂ„i cña sai sĂš vĂ vĂn tĂšc. VĂi ph¶n hĂ„i nÂȘu trÂȘn, hĂ thĂšng trĂ« th”nh khĂp kĂn v” cĂŁ h”m truyĂn nhâ
thĂ hiĂn trÂȘn sÂŹ ŸÄ khĂši hĂnh (9.6). §©y l” phâÂŹng phžp ÂźiĂu khiĂn tĂ lĂ - §Âčo h”m.
1 sLa+ Ra
1 sJ + f
Ka1 s
n
Kb
âUa(s) ΞL(s)
+ _
1 n
Kp+ sKv â
_
ΞL(s)
HĂnh 9.6 : SÂŹ ŸÄ khĂši ÂźiĂu khiĂn chuyĂn dĂch mĂ©t khĂp Ÿéng cĂŁ liÂȘn hĂ ph¶n hĂ„i. TS. PhÂčm §šng PhâĂc
robot c«ng nghiĂp 109
BiĂn ŸÊi Laplace phâÂŹng trĂnh (9.23) v” thay Ua(s) v”o (9.21) ta cĂŁ :
G(s))KKfRJs(sR
KKsKK)KKfRJs(sR
)sK(KKE(s)
(s)Ξ
baaa
pva
baaa
vpaL =++
+=
+++
= a (9.24)
TÔ Ÿã ta cã :
pavabaaa
2pva
L
L
KK)KKKKfs(RJRs)Ks(KK
G(s)1G(s)
(s)Ξ~(s)Ξ
+++++
=+
= (9.25)
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp
92
ChâÂŹng VIII
ThiĂt kĂ quĂ ÂźÂčo robot. (Trajectory Planing)
Trong cžc Ăžng dĂŽng c«ng nghiĂp cña robot, ta thâĂȘng gĂp hai trâĂȘng hĂźp sau :
TrâĂȘng hĂźp 1 : Kh©u chĂp h”nh cuĂši cña robot chĂ cĂn ÂźÂčt ÂźâĂźc vĂ trĂ v” hâĂng tÂči cžc ÂźiĂm nĂłt (ÂźiĂm tĂča : Knot point). §©y chĂnh l” phâÂŹng phžp ÂźiĂu khiĂn ÂźiĂm (PTP). TÂči Ÿã, b”n tay robot thĂčc hiĂn cžc thao tžc cĂm nŸm ŸÚi tâĂźng hoĂc bu«ng nh¶ ŸÚi tâĂźng. §©y l” trâĂȘng hĂźp cña cžc robot thĂčc hiĂn c«ng viĂc vĂn chuyĂn v” trao ŸÊi ph«i liĂu trong mĂ©t hĂ thĂšng tĂč Ÿéng linh hoÂčt robot hož. B”n tay robot kh«ng trĂčc tiĂp tham gia v”o cžc nguyÂȘn c«ng c«ng nghĂ nhâ h”n, cŸt kim loÂči ... Cžc ÂźiĂm nĂłt l” mĂŽc tiÂȘu quan trĂ€ng nhĂt, cĂn dÂčng ÂźâĂȘng Âźi tĂi cžc ÂźiĂm nĂłt l” vĂn Ÿà thĂž yĂu. Trong trâĂȘng hĂźp nĂy Robot thâĂȘng ÂźâĂźc lĂp trĂnh b»ng phâÂŹng phžp dÂčy hĂ€c (Teach and playback mode). Trong trâĂȘng hĂźp nĂy kh«ng cĂn tĂnh tožn phâÂŹng trĂnh Ÿéng hĂ€c hoĂc Ÿéng hĂ€c ngâĂźc robot, chuyĂn Ÿéng mong muĂšn ÂźâĂźc ghi lÂči nhâ mĂ©t tĂp hĂźp cžc gĂŁc khĂp (thĂčc tĂ l” tĂp hĂźp cžc giž trĂ m· hož cña biĂn khĂp) Ÿà robot thĂčc hiĂn lÂči (Playback) khi l”m viĂc.
TrâĂȘng hĂźp 2 : Kh©u chĂp h”nh cuĂši cña robot ph¶i xžc ÂźĂnh ÂźâĂȘng Âźi qua cžc ÂźiĂm nĂłt theo thĂȘi gian thĂčc. §ã l” trâĂȘng hĂźp cžc tay mžy trĂčc tiĂp thĂčc hiĂn cžc nguyÂȘn c«ng c«ng nghĂ nhâ sÂŹn, h”n, cŸt kim loÂči ... VĂn Ÿà thiĂt kĂ quĂŒ ÂźÂčo cho cžc robot trong trâĂȘng hĂźp nĂy l” rĂt quan trĂ€ng. NĂŁ quyĂt ÂźĂnh trĂčc tiĂp chĂt lâĂźng thĂčc hiĂn cžc nguyÂȘn c«ng c«ng nghĂ m” robot ٦m nhĂn. Trong châÂŹng nĂy, chĂłng ta Ÿà cĂp ÂźĂn b”i tožn thiĂt kĂ quĂŒ ÂźÂčo vĂi mĂ©t sĂš quĂŒ ÂźÂčo ÂźiĂn hĂnh. Cžc quĂŒ ÂźÂčo nĂy kh«ng chĂ cĂŁ Ăœ nghĂa trong trâĂȘng hĂźp Ăžng dĂŽng thĂž hai m” nĂŁ bao h”m mĂ©t Ăœ nghĂa chung cho mĂ€i robot, vĂ ngay c¶ trâĂȘng hĂźp Ÿn gi¶n nhâ cžc robot thuĂ©c Ăžng dĂŽng thĂž nhĂt cĂČng thĂčc hiĂn nhĂ·ng chuyĂn Ÿéng quĂŒ ÂźÂčo cÂŹ b¶n m” chĂłng ta sĂ nghiÂȘn cĂžu dâĂi Ÿ©y. 8.1. Cžc khži niĂm vĂ quĂŒ ÂźÂčo robot : §à xžc ÂźĂnh ÂźâĂźc ÂźâĂȘng Âźi mong muĂšn cña robot theo thĂȘi gian, quĂŒ ÂźÂčo cĂŁ thĂ ÂźâĂźc tĂnh tožn thiĂt kĂ trong mĂ©t hĂ toÂč Ÿé truyĂn thĂšng Oxyz (Cartesian Space) hoĂc thiĂt kĂ trong kh«ng gian biĂn khĂp (kh«ng gian trâĂȘng vectÂŹ cžc toÂč Ÿé suy rĂ©ng cña robot), chÂŒng hÂčn vĂi robot 6 bĂc tĂč do thĂ . [ TX ,.,,, 654321 ΞΞΞΞΞΞ= ] ThiĂt kĂ quĂŒ ÂźÂčo Ă« Ÿ©y ÂźâĂźc hiĂu l” xžc ÂźĂnh qui luĂt chuyĂn Ÿéng cña cžc biĂn khĂp Ÿà ŸiĂu khiĂn chuyĂn Ÿéng cña tĂ”ng khĂp v” tĂŠng hĂźp th”nh chuyĂn Ÿéng chung cña robot theo mĂ©t quĂŒ ÂźÂčo Ÿ· ÂźâĂźc xžc ÂźĂnh.
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp
93
QuĂŒ ÂźÂčo cĂn thiĂt kĂ nhĂt thiĂt ph¶i Âźi qua mĂ©t sĂš ÂźiĂm nĂłt cho trâĂc (Ăt nhĂt l” ÂźiĂm ÂźĂu v” ÂźiĂm cuĂši). Ngo”i cžc ÂźiĂm nĂłt chĂnh, ta cĂn cĂŁ thĂ chĂ€n thÂȘm cžc ÂźiĂm nĂłt phĂŽ gĂ€i l” ÂźiĂm dĂn hâĂng (via point) Ÿà tržnh cžc châĂng ngÂči vĂt.
Khi thiĂt kĂ quĂŒ ÂźÂčo trong kh«ng gian biĂn khĂp, tÂči mçi ÂźiĂm nĂłt ph¶i xžc ÂźĂnh giž trĂ cña cžc biĂn khĂp b»ng phâÂŹng phžp tĂnh tožn Ÿéng hĂ€c ngâĂźc. ThĂȘi gian yÂȘu cĂu cña mçi ÂźoÂčn quĂŒ ÂźÂčo (giĂ·a 2 ÂźiĂm nĂłt) l” giĂšng nhau cho tĂt c¶ cžc khĂp vĂ vĂy yÂȘu cĂu tĂt c¶ cžc khĂp ph¶i ÂźÂčt ÂźĂn ÂźiĂm nĂłt ŸÄng thĂȘi. Ngo”i viĂc yÂȘu cĂu thĂȘi gian ph¶i giĂšng nhau cho cžc khĂp, viĂc xžc ÂźĂnh cžc h”m quĂŒ ÂźÂčo cña mçi biĂn khĂp kh«ng phĂŽ thuĂ©c v”o cžc h”m cña cžc khĂp khžc. VĂ vĂy viĂc thiĂt kĂ quĂŒ ÂźÂčo trong kh«ng gian biĂn khĂp Ÿn gi¶n v” dĂ tĂnh tožn hÂŹn khi m« t¶ trong hĂ toÂč Ÿé §Ăcžc.
QuĂŒ ÂźÂčo thiĂt kĂ ph¶i ٦m b¶o cžc ÂźiĂu kiĂn liÂȘn tĂŽc (continous conditions) bao gĂ„m : + LiÂȘn tĂŽc vĂ vĂ trĂ (Position) + LiÂȘn tĂŽc vĂ tĂšc Ÿé (Velocity) + LiÂȘn tĂŽc vĂ gia tĂšc (Acceleration).
qi(t2)...
x(t)
t
xo
xf-1
x1 x2
xf
tf tf-1t2 t1 to
Cžc ÂźiĂm nĂłt
HĂnh 8.1. TĂnh liÂȘn tĂŽc cña quĂŒ ÂźÂčo robot. §à thiĂt kĂ quĂŒ ÂźÂčo robot, ngâĂȘi ta thâĂȘng dĂŻng phâÂŹng phžp xĂp xĂ cžc Âźa thĂžc bĂc n, cžc quĂ ÂźÂčo thâĂȘng gĂp l” : + QuĂ ÂźÂčo CS (Cubic Segment) : TâÂŹng ÂźâÂŹng Âźa thĂžc bĂc 3; + QuĂŒ ÂźÂčo LS (linear Segment) : TâÂŹng ÂźâÂŹng Âźa thĂžc bĂc 1; + QuĂŒ ÂźÂčo LSPB (Linear Segment with Parabolic Blend) : PhĂši hĂźp Âźa thĂžc bĂc 2 vĂi Âźa thĂžc bĂc 1.
§oÂčn thÂŒngq0 q2
q1
§âĂȘng cong bĂc 2
qf
HĂnh 8.2 : QuĂŒ ÂźÂčo LSPB
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp
94
+ QuĂŒ ÂźÂčo BBPB (Bang Bang Parabolic Blend) : l” trâĂȘng hĂźp ÂźĂc biĂt cña quĂŒ ÂźÂčo LSPB khi ÂźoÂčn tuyĂn tĂnh thu vĂ b»ng 0 v” xuĂt hiĂn ÂźiĂm uĂšn.
HĂnh 8.2 : QuĂŒ ÂźÂčo BBPB NĂu cho trâĂc nhiĂu ÂźiĂm nĂłt, ta cĂŁ thà žp dĂŽng nhiĂu dÂčng quĂŒ ÂźÂčo cÂŹ b¶n khžc nhau cho mĂ©t biĂn khĂp. 8.2. QuĂŒ ÂźÂčo Âźa thĂžc bĂc 3 :
Khi thiĂt kĂ quĂŒ ÂźÂčo robot theo Âźa thĂžc bĂc 3 qua cžc ÂźiĂm nĂłt, mçi ÂźoÂčn quĂŒ ÂźÂčo giĂ·a hai ÂźiĂm nĂłt sĂ ÂźâĂźc biĂu diĂn b»ng mĂ©t phâÂŹng trĂnh bĂc 3 riÂȘng biĂt. QuĂŒ ÂźÂčo Âźa thĂžc bĂc 3 ٦m b¶o sĂč liÂȘn tĂŽc cña ÂźÂčo h”m bĂc nhĂt v” bĂc hai tÂči cžc ÂźiĂm nĂłt. TÂči thĂȘi ÂźiĂm tk †t †tk+1, quĂŒ ÂźÂčo xĂp xĂ Âźa thĂžc bĂc 3 cña biĂn khĂp thĂž i l” qi(t) cĂŁ dÂčng :
qi(t) = ai + bi(t - tk) + ci(t - tk)2 + di(t - tk)
3 (8.1)
VĂi cžc r”ng buĂ©c : qi(tk) = qk v” kki q )(tq && = qi(tk+1) = qk+1 v” 1k1ki q )(tq ++ = &&
TĂ” (8.1) ta thĂy : t = tk â ai = qk (8.2)
q0
qf
BĂc 3
tk+1tk
qk
qk+1
t
qi(t)
LĂy ÂźÂčo h”m cña (8.1) theo t, ta cĂŁ : 2
kikiii )t(t3d)t(t2cb(t)q â+â+=&
TÂči : t = tk â (8.3) ki q b &= TÂči t = ti+1 ta cĂŁ hai tham sĂš :
2k
k1kkk1ki ÎŽt
ÎŽt )qq(2)q3(qc ++ +ââ=
&& (8.4)
3k
k1kkk1ki ÎŽt
)q 2(qÎŽt )qq(d ââ+= ++ &&
(8.5)
Trong Ÿã : k1kk t t ÎŽt â= + Cžc phâÂŹng trĂnh (8.4) v” (8.5) nhĂn ÂźâĂźc khi gi¶i (8.1) ... (8.3).
TĂnh liÂȘn tĂŽc cña vĂn tĂšc l” sĂč ٦m b¶o cho quĂŒ ÂźÂčo kh«ng gĂp khĂłc, giĂt cĂŽc, g©y sĂšc trong quž trĂnh hoÂčt Ÿéng cña robot. VĂn tĂšc v” gia tĂšc tÂči ÂźiĂm cuĂši cña mĂ©t ÂźoÂčn ÂźâĂȘng cong bĂc 3 chĂnh b»ng vĂn tĂšc v” gia tĂšc cña ÂźoÂčn cong bĂc 3 tiĂp theo. CĂn chĂł Ăœ r»ng khi thiĂt kĂ quĂŒ ÂźÂčo trong kh«ng gian §à cžt, Ÿà ŸiĂu khiĂn ÂźâĂźc robot, Ă« mçi thĂȘi ÂźiĂm ÂźĂu ph¶i tĂm ÂźâĂźc nghiĂm cña b”i tožn Ÿéng hĂ€c ngâĂźc. VĂ vĂy yÂȘu cĂu "n·o bĂ©" cña robot (mžy tĂnh) ph¶i thĂčc hiĂn
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp
95
mĂ©t khĂši lâĂźng cžc phĂp tĂnh khĂŠng lĂ„ trong mĂ©t kho¶ng thĂȘi gian rĂt ngŸn (v”i chĂŽc microgi©y) و ٦m b¶o thĂȘi gian thĂčc khi robot hoÂčt Ÿéng. NĂu ta kh«ng tĂm cžch c¶i biĂn thiĂt kĂ quĂŒ ÂźÂčo thĂ rĂt khĂŁ ٦m b¶o yÂȘu cĂu nĂy. * VĂ dĂŽ vĂ thiĂt kĂ quĂŒ ÂźÂčo CS: ThiĂt kĂ quĂŒ ÂźÂčo CS (Path with Cubic segment) cña khĂp thĂž i Âźi qua hai ÂźiĂm nĂłt cĂŁ giž trĂ q0 v” qf. VĂi cžc r”ng buĂ©c 0 ; 00 == fqq && .
TĂ” cžc c«ng thĂžc (8.2) . . . (8.5) ta xžc ÂźĂnh cžc hĂ sĂš cña Âźa thĂžc bĂc 3 nhâ sau : ai = q0 ; bi = 0;
20f
0fi )t(t
)q3(qcââ
= V” 30f
0fi )t(t
)q2(q-dââ
=
Do vĂy quĂŒ ÂźÂčo qi(t) cĂŁ dÂčng nhâ sau : 3
030f
0f202
0f
0f0i )(
)t(t)q2(q)(
)t(t)q3(qq (t)q tttt â
ââ
ââââ
+=
VĂn tĂšc l” : 203
0f
0f02
0f
0fi )(
)t(t)q6(q)(
)t(t)q6(q (t)q tttt â
ââ
ââââ
=&
V” gia tÚc l” : )()t(t
)q12(q)t(t
)q6(q (t)q 030f
0f2
0f
0fi tt â
ââ
âââ
=&&
Trong vĂ dĂŽ trÂȘn, gi¶ sö thĂȘi gian t0 = 0 v” tf = 1 gi©y, thĂ : qi(t) = q0 + 3(qf - q0) t
2 - 2(qf - q0) t3
20f
0f
)t(t)q6(q
ââ
â
tTÚc Ÿé
QuĂŒ ÂźÂčo
tf
t
tf
t
tf
Gia tĂšc
(t)q&
(t)q&&20f
0f
)t(t)q6(q
ââ
0qq f0 == &&
t0
t0
t0
O
q0
q(t)
qf
HĂnh 8.3. ThiĂt kĂ quĂŒ ÂźÂčo CS
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp
96
TĂ” cžc phâÂŹng trĂnh quĂŒ ÂźÂčo, phâÂŹng trĂnh vĂn tĂšc v” phâÂŹng trĂnh gia tĂšc ta x©y dĂčng ÂźâĂźc cžc biĂu ŸÄ ÂźĂc tĂnh chuyĂn Ÿéng cña khĂp thĂž i trÂȘn ÂźoÂčn quĂŒ ÂźÂčo thiĂt kĂ.
8.3. QuĂŒ ÂźÂčo tuyĂn tĂnh vĂi cung Ă« hai ÂźĂu l” parabol (LSPB) : Khi yÂȘu cĂu c«ng cĂŽ gŸn trÂȘn kh©u chĂp h”nh cuĂši cña robot chuyĂn Ÿéng vĂi vĂn tĂšc ÂźĂu ÂźĂn, ta dĂŻng quĂŒ ÂźÂčo LSPB.
qi(t)
tf tf - tbtf/2tb
v = constant
Parabol O t0
Parabol
t
(q0+qf)/2
HĂnh 8.3. QuĂŒ ÂźÂčo LSPB. Cžc ÂźiĂu kiĂn liÂȘn tĂŽc cña quĂŒ ÂźÂčo nĂy thĂ hiĂn Ă« :
q(to) = q0 ; q(tf) = qf; v” 0 )(tq )(q f0 == && t v” ÂźiĂu kiĂn c«ng nghĂ l” v = constant. QuĂŒ ÂźÂčo ÂźâĂźc chia l”m 3 ÂźoÂčn : a/ Trong ÂźoÂčn 1 : 0 †t †tb quĂŒ ÂźÂčo Parabol cĂŁ dÂčng : qi(t) = α + ÎČt + Îłt2 (8.6) Khi t = 0 thà α = q(t0) = q0 (8.7)
LĂy ÂźÂčo h”m (8.6) : t2ÎłÎČ(t)q +=& (8.8) Khi t = 0 thĂ 0 )(tq ÎČ o == &
TÂči thĂȘi ÂźiĂm tb ta cĂn cĂŁ vĂn tĂšc b»ng h»ng sĂš vĂn tĂšc cho trâĂc v : NÂȘn khi t = tb Îł = v/2tb
§Ăt v/tb = a â Îł = a/2 v” quĂŒ ÂźÂčo cĂŁ dÂčng : qi(t) = q0 + at2/2 (0 †t †tb) (8.9)
b/ Trong ÂźoÂčn 2 : [tb, (tf-tb)] quĂŒ ÂźÂčo tuyĂn tĂnh cĂŁ dÂčng : qi(t) = α0 + vt
Do tĂnh ŸÚi xĂžng : 2
)q(q)2t(q f0f +
=
Suy ra 2tvα
2)q(q f
0f0 +=
+
VĂy 2
)vtq(qα ff00
â+=
PhâÂŹng trĂnh quĂŒ ÂźÂčo tuyĂn tĂnh sĂ l” :
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp
97
vt2
vtqq(t)q f0fi +
â+= (8.10)
TĂ” ÂźiĂu kiĂn liÂȘn tĂŽc vĂ vĂ trĂ, tÂči thĂȘi ÂźiĂm tb ta cĂŁ :
bf0f
2b
0 vt2
vtqq2
atq +â+
=+
RĂłt ra :
v
vtqqt ff0b
+â=
VĂi ÂźiĂu kiĂn tĂ„n tÂči : 0 < tb †tf/2, dĂn ÂźĂn :
v)q2(qt
vqq 0f
f0f â
â€<â
§iĂu nĂy xžc ÂźĂnh vĂn tĂšc ph¶i n»m giĂ·a cžc giĂi hÂčn trÂȘn, nĂu kh«ng chuyĂn Ÿéng sĂ kh«ng thĂčc hiĂn ÂźâĂźc. VĂ mĂt vĂt lĂœ : NĂu tf > (qf - q0) / v v” tf †2(qf - q0) / v thĂ : v > (qf - q0) / tf v” v †2(qf - q0) / tf. NghĂa l” tgΞ < v †tg2Ξ. c/ Trong ÂźoÂčn 3 : (tf - tb) †t †tf quĂŒ ÂźÂčo Parabol cĂŁ dÂčng :
2f
2f
fi t2atat
2atq(t)q â+â= (8.11)
TĂ” cžc phâÂŹng trĂnh (8.9)...(8.11) ta x©y dĂčng ÂźĂc tĂnh chuyĂn Ÿéng theo quĂŒ ÂźÂčo LSPB cña khĂp qi nhâ sau : (t) iq&
( iq&& t)
Ξ
tft0q0
qf
t
t
t
qi(t); q
v = const
tf
tf
tf
tf-tb
tf-tb
tf-tb
tb
tb
tb
t0
t0
t0 q0
(t)iq(t);i &&&
qf
HĂnh 8.4 : §Ăc tĂnh quĂŒ ÂźÂčo LSPB
TS. PhÂčm §šng PhâĂc
Robot c«ng nghiĂp
98
8.4. QuĂŒ ÂźÂčo Bang Bang Parabolic blend (BBPB) : Nhâ Ÿ· trĂnh b”y Ă« trÂȘn, Ÿ©y l” trâĂȘng hĂźp ÂźĂc biĂt cña quĂŒ ÂźÂčo LSPB khi ÂźoÂčn tuyĂn tĂnh thu vĂ 0.
VĂi : 0 †t †2tf qi(t) = q0 +
2at2
v” vĂi 2tf †t †tf qi(t) = 2q0 - qf +2a
2at-t
aqq 2
0f â
§Ä thĂ ÂźĂc tĂnh cña quĂŒ ÂźÂčo nĂy nhâ sau :
(t)iq&&
(t)iq&Vmax
t
t
t
tf
tf
tf
tf/2
tf/2
tf/2
t0
t0
t0
qf
q0
qi(t)
HĂnh 8.5. §Ăc tĂnh quĂŒ ÂźÂčo BBPB
=======================
TS. PhÂčm §šng PhâĂc