logo

Robot công nghiệp: Chương 5 - ThS.Phạm Đăng Phước

Tài liệu "Robot công nghiệp: Chương 5 - ThS.Phạm Đăng Phước" trình bày các kiến thức về ngôn ngữ lập trình Robot như: giới thiệu chung về lập trình điều khiển Robot, các mức lập trình điều khiển Robot, giới thiệu tóm tắt phần mềm Procomm Plus For Windows.
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 . Meta keys Thanh tr¹ng th¸i Dßng chän nhanh kiÓu giao diÖn 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. >, =, 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 [WITH ] [INTO ] Khi gäi mét thñ tôc : call [WITH ] 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 : 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 (string | integer | long) case (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 ... [elseif 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 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 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 VÝ dô : copy “C:\ Procom3\ aspect\ robot.was” “C:\ tam\ robot1.txt” delfile : Xo¸ mét file theo chØ ®Þnh. Có ph¸p : delfile mkdir : T¹o mét th− môc míi. Có ph¸p : mkdir 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 rename : §æi tªn mét file. Có ph¸p : rename Fopen : Më mét file ®Ó ®äc hoÆc ghi. Có ph¸p : fopen 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 fputs : Ghi mét chuçi ký tù lªn file. Có ph¸p : fputs 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 [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 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 [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 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 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 : Vai o C¸nh tay o o Cæ tay Th©n 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
DMCA.com Protection Status Copyright by webtailieu.net