Robo-CIRCLE3S_zx-LineTracker

Page 1

ZX-LineTracker Robo-CIRLCE3S  1

    ZX-LineTracker Robo-CIRCLE3S การเชื่อมตอตัวตรวจจับ  ตอสายจากจุดตอ L1 ของ ZX-LineTracker เขากับจุดตอ IN0  ตอสายจากจุดตอ C ของ ZX-LineTracker เขากับจุดตอ IN1  ตอสายจากจุดตอ R1 ของ ZX-LineTracker เขากับจุดตอ IN2  ตอสายจากจุตตอ X ของ ZX-LineTracker เขากับจุดตอ IN3

การตอสายมอเตอร  ตอสายมอเตอรดานซายเขากับจุดตอ MOTOR-A  ตอสายมอเตอรดานขวาเขากับจุดตอ MOTOR-B


2ZX-LineTracker Robo-CIRLCE3S

ขั้นตอนการพัฒนาโปรแกรม 1.สรางโปรแกรมยอยจากบล็อก Procedure 1.1 เคลื่อนที่ไปขางหนา : fd

1.2 เคลือนที ่ ่ถอยหลัง : bk

1.3 เลียวซ ้ าย : tl

1.4 เลียวขวา ้ : tr

2. sensor4 บล็อกคําสังพิ ่ เศษ : อานคาตัวตรวจจับทุกชองในคราวเดียว โดยปกติแลวการเขียนโปรแกรมเคลื่อนที่ตามเสน จะตรวจสอบเงื่อนไขโดยใชคําสัง่ in หรือ sensor เพื่อตรวจสอบการทํางานของตัวตรวจจับแตละตัววาเปนจริงหรือไม (อาทิ ตรวจพบเสนหรือ ไมพบ ถาพบเสนแลวทําอะไร หรือถาไมพบเสน ตองทําอะไร) แตในกรณีนี้จะใชการอานคาจาก sensor4 โดย sensor4 เปนคําสังอ ่ านคาจากจุดตอตรวจจับทั้งหมดทุกชองของ i-BOX3S ในครั้งเดียว แลวแสดงผลออกมาวา คาทีอ่ านไดเปนอยางไร


ZX-LineTracker Robo-CIRLCE3S  3

    (1) คลิกเลือกไปยังกลุม Procedure (สีมวง)

(2) คลิกเลือกบล็อกเริ่มตนโปรแกรม แลวลากมาวาง บนพื้นที่เขียนโปรแกรม จะเกิดบล็อกใหมชือ่ proc1

(3) ดับเบิลคลิกที่บล็อก proc1 เพื่อเปลียนชือเป ่ น fd

(4) จากนันคลิ ้ กเลือกกลุม Action เลือกและลากบล็อก this way กับ on มาวางตอกัน จะไดโปรแกรมยอย fd

หากสังเกตทีช่ องกลุมคําสัง่ Procedure ในหมวด user จะเห็นบล็อกคําสั่ง fd ซึงนํ ่ าไปใชงานไดทันที

(5) หากตองการยุบบล็อกคําสังของโปรแกรมเพื ่ อ่ ชวยใหโปรแกรมโดยรวมดูกระทัดรัดขึน้ และเพิมพื ่ นที ้ ่ ในการเขียนโปรแกรม ทําไดโดยลาก เมาสเลือกบล็อก คํ าสั่ งที่ต องการยุบ จากนั้นคลิ กที่เมนู Project > Compress Procedure Blocks

บล็อกของโปรแกรมยอยจะถูกยุบรวม เหลือเปน บล็อกรูปสีเหลี ่ ่ยมขาวหลามตัด fd ดังรูป


4ZX-LineTracker Robo-CIRLCE3S

3. อานคาจากตัวตรวจจับและการตีความ กรณีที่ 1 sensor4 อานคาเปน 0

หมายถึง ตัวตรวจจับพบสีดํา หมายถึง ตัวตรวจจับพบสีขาว

ตําแหนงของตัวตรวจจับที่แสดงในรูปเปนภาพทีมองจากด ่ านบน

กรณีที่ 2 sensor4 อานคาเปน 1

กรณีที่ 3 sensor 4 อานคาเปน 2

กรณีที่ 4 sensor4 อานคาเปน 3

กรณีที่ 5 sensor4 อานคาเปน 4


ZX-LineTracker Robo-CIRLCE3S  5

กรณีที่ 6 sensor4 อานคาเปน 5

กรณีที่ 7 sensor4 อานคาเปน 6

กรณีที่ 8 sensor4 อานคาเปน 7

กรณี ที่ 9 ML และ MR พบเส นสี ดํา ไม วาจะพบในลักษณะใดก็ตาม sensor4 อานคาไดตั้งแต 8 ขึนไป ้


6ZX-LineTracker Robo-CIRLCE3S

4. ตัวอยางโปรแกรมตรวจจับเสนและทางแยก

  การเคลือนที ่ ตามเส ่ นในแตละสนามไมควรตรวจสอบเงือนไขในการเคลื ่ อนที ่ เพี ่ ยงครังเดี ้ ยว ในแต ละกรณี ดังนันจึ ้ งควรเริมการทํ ่ างานของโปรแกรมดวยคําสัง่ LOOP หรือคําสังวนทํ ่ าซําเพื ้ อให ่ เกิดการ ตรวจสอบเงือนไขของการเคลื ่ อนที ่ ตามเส ่ นอยางตอเนือง ่ จนกวาจะพบบล็อกคําสังให ่ หยุดวนทํางานซํา้ จากนันจึ ้ งใชบล็อกคําสัง่ sensor4 อานคาจากตัวตรวจจับทังหมด ้ แลวสงคามาเก็บทีตั่ วแปร group คาของตัวแปร group จะนํามาเปรียบเทียบกับเงื่อนไขที่กําหนดไวดังนี้ 1. เงือนไขที ่ ่ 1 : ถาตัวแปร group มีคามากกวา 7 นั่นคือ เอาตพุต ML และ MR ของ ZXLineTracker แจงวาพบสีดํา นันหมายวคามว ่ า เกิดการตรวจพบทางแยกทุกรูปแบบ ทั้งแยกตัว L, สาม แยก และสี่แยก  หยุดเคลือนที ่ )่ และหยุดการวนซํา้ สิงที ่ ต่ องทํา : มอเตอร A และ B หยุดหมุน (หุนยนต


ZX-LineTracker Robo-CIRLCE3S  7

2. เงื่อนไขที่ 2 : ถาตัวแปร group เทากับ 1 นั่นคือ ตัวตรวจจับ L1 พบสีดํา  เลี้ยวซายจนกวาตัวตรวจจับขวา R1 พบสีขาว สิงที ่ ต่ องทํา : กําหนดใหหุนยนต 3. เงือนไขที ่ ่ 3 : ถาตัวแปร group มีคาเทากับ 3 นั่นคือ ตัวตรวจจับ C และ L1 พบสีดํา  เลียวซ ้ ายจนกวาตัวตรวจจับซาย L1 พบสีขาว สิงที ่ ต่ องทํา : กําหนดใหหุนยนต 4. เงือนไขที ่ ่ 4 : ถาตัวแปร group มีคาเทากับ 4 นั่นคือ ตัวตรวจจับ R1 พบสีดํา สิงที ่ ต่ องทํา : กําหนดใหหุนยนต  เลียวขวาจนกว ้ าตัวตรวจจับขวา R1 พบสีขาว 5. เงื่อนไขที่ 5 : ถาตัวแปร group มีคาเทากับ 6 นั่นคือ ตัวตรวจจับ C และ R1 พบสีดํา  เลี้ยวขวาจนกวาตัวตรวจจับขวา R1 พบสีขาว สิงที ่ ต่ องทํา : กําหนดใหหุนยนต 6. เงือนไขอื ่ ่นๆ นอกจากนี้ กําหนดใหหุนยนต  เคลื่อนที่ตรงไปขางหนา

5. สรางโปรแกรมยอย r-90 เพือเลี ่ ยวขวาเมื ้ ่อพบแยกทางขวา 5.1 ตัวอยางบล็อกโปรแกรม

5.2 อธิบายโปรแกรม การเลี้ยวขวาที่แยกทางขวา มีขันตอนดั ้ งนี้ (5.2.1) กําหนดใหหุนยนต  เคลื่อนที่ไปขางหนา จนกวาตัวตรวจจับจะพนจากเสนตัดสีดํา หนวงเวลาเพิม่ เล็กนอยเพื่อชวยใหเลียวได ้ พอดี (5.2.2) สั่งเลี้ยวขวาจนกวาตัวตรวจจับขวาสุด (MR) พบเสนสีดํา (5.2.3) สังเลี ่ ยวขวาต ้ อไป จนกวาตัวตรวจจับขวา สุด (MR) จะพบสีขาว (5.2.4) สังเลี ่ ยวขวาต ้ อไป จนกวาตัวตรวจจับขวา (R1) จะพบเสนสี ดํา เพื่ อให ตั วหุนคร อมเสนพอดี จากนั้นสั่งหยุด

ใชบล็อก Procedure สรางบล็อก r-90 จากนั้นลากบล็อกคําสังต ่ างๆ มาวางตอ กัน แลวยุบรวมกันเปนบล็อก r-90


8ZX-LineTracker Robo-CIRLCE3S

6. สรางโปรแกรมยอย l-90 เพือเลี ่ ยวซ ้ ายเมื่อพบแยกทางซาย 6.1 ตัวอยางบล็อกโปรแกรม

6.2 อธิบายโปรแกรม การเลียวซ ้ ายที่แยกทางซาย มีขั้นตอนดังนี้ (6.2.1) กํ าหนดใหหุนยนตเคลื่อนที่ไปขางหนา จนกว าตัวตรวจจับจะพนจากเสนตัดสีดํา หนวง เวลาเพิมเล็ ่ กนอยเพือช ่ วยใหเลียวได ้ พอดี (6.2.2) สังเลี ่ ยวซ ้ ายจนกวาตัวตรวจจับซายสุด (ML) พบเสนสีดํา (6.2.3) สั่งเลี้ยวซายตอไป จนกวาตัวตรวจจับซาย สุด (ML) จะพบสีขาว (6.2.4) สั่งเลี้ยวซายตอไป จนกวาตัวตรวจจับซาย (L1) จะพบเสนสีดํา เพื่อใหตัวหุนครอมเสนพอดี จากนั้นสั่งหยุด

ใชบล็อก Procedure สรางบล็อก l-90 (แอล-90) จากนันลากบล็ ้ อกคําสังต ่ างๆ มาวางตอกัน แลว ยุบรวมกันเปนบล็อก l-90 (แอล-90)

7. ตัวอยางโปรแกรมเลียวขวาบริ ้ เวณสามหรือสีแยก ่ ใชในกรณีทีหุ่ นยนต  เคลือนที ่ ถอยหลั ่ งตามเสนลงมาพบทางแยก แลวตองการเลี้ยวขวาเพื่อไปทําภาระกิจตอ ดังรูป


ZX-LineTracker Robo-CIRLCE3S  9

7.1 ตัวอยางโปรแกรม

7.2 อธิบายโปรแกรม (7.2.1) กําหนดใหหุนยนตเคลื่อนที่ไปขางหนา จนกวาตัวตรวจจับจะพนจากเสนตัดสีดํา หนวงเวลาเพิมเล็ ่ ก นอยเพือช ่ วยใหเลียวได ้ พอดี (7.2.2) สั่งเลี้ยวขวาจนกวาตัวตรวจจับขวา (R1) พบเสนสีดํา (7.2.3) สังเลี ่ ยวขวาต ้ อไป จนกวาตัวตรวจจับขวา (R1) จะพบสีขาว (7.2.4) สั่งเลี้ยวขวาตอไป จนกวาตัวตรวจจับซาย (L1) จะพบสีขาว จากนั้นสั่งหยุด

ในการกําหนดใหหุนยนต  เคลือนที ่ ไปข ่ างหนาจนตัวตรวจ ใชบล็อก Procedure สรางบล็อก r-3 จับพนเสนตัดนั้น เปนการสั่งแบบมีเงื่อนไข หุนยนต  จึง จากนันลากบล็ ้ อกคําสังต ่ างๆ มาวางตอ เคลือนที ่ ่เพียงเพื่อใหตัวตรวจจับพนเสนตัดเพียงเล็กนอย กัน แลวยุบรวมกันเปนบล็อก r-3 เพือให ่ การเลียวของหุ ้ นยนต  ในขอ (7.2.2) และ (7.2.3) โดย ตัวรวจจับซาย (L1) ของหุนยนต  ยังคงจับเสนสีดําของทาง เสนทางเดิมอยู จึงไมสามารถสั่งใหหุนยนต  เคลือนที ่ ่ตาม เสนตอไดทันที จะตองสังเลี ่ ยวให ้ ตัวตรวจจับทางซายหลุด จากการจับเสนบนเสนทางเดิมกอน จากนันจึ ้ งจะเคลือนที ่ ่ ตามเสนตอไป


10ZX-LineTracker Robo-CIRLCE3S

8. ตัวอยางโปรแกรมเคลือนที ่ ่ขามเสนตัด/สีแยก ่ 8.1 ตัวอยางโปรแกรม

ใช บล็อก Procedure สราง บล็อก f_cross จากนั้นลาก บล็อกคําสั่งตางๆ มาวางตอ กัน แลวยุบรวมกันเปนบล็อก f_cross

8.2 อธิบายโปรแกรม จุดมุงหมายของโปรแกรมนี้คือ กําหนดใหหุนยนต  เคลือนที ่ ่ ไปขางหนาเมื่อพบทางแยกหรือเสนตัด จุดที่ตองใหความสนใจคือ ตองปรับคาหนวงเวลาเพื่อใหหุนยนต  เคลือนที ่ พ่ นเสนไดพอดี หาก หนวงเวลามากเกินไป หุนยนต  อาจเคลือนที ่ ข่ ามทางแยกแลวเลยไป มากกวาทีต่ องการ แตถาหนวงเวลานอยเกินไปหุนยนต  อาจเคลือนที ่ ่ ไมพนเสนตัดหรือทางแยกได อี กวิ ธีหนึ่งที่ทําไดและแมนยําคือ การเคลื่อนที่ขามเสนตัด โดยใชตัวตรวจจับเสนตรวจสอบวา พนเสนตัดหรือไม ถายังไมพน ตองควบคุมใหหุนยนต  เคลือนที ่ ไปข ่ างหนาตอไป แตถาพนแลวก็ให หยุดและทําคําสังอื ่ ่นตอไป

9. ตัวอยางโปรแกรมถอยหลังจนพบเสนตัด/ทางแยก 9.1 ตัวอยางโปรแกรม

9.2 อธิบายโปรแกรม ใชหลักการเดียวกับโปรแกรมเคลือนที ่ ข่ ามเสน ตัด (f_cross) แตเปนการเคลือนที ่ ถอยหลั ่ ง และมีการนํา ตัวตรวจจับเสนมาใชตรวจสอบวา เคลือนที ่ ถอยหลั ่ งมา จนถึงเสนตัดแลวหรือไม การทํางานของโปรแกรมมีลําดับดังนี้

ใชบล็อก Procedure สรางบล็อก b_cross จากนันลากบล็ ้ อกคําสังต ่ างๆ มาวางตอกัน แลวยุบรวมกันเปนบล็อก b_cross

(9.2.1) เคลือนที ่ ถอยหลั ่ ง โดยมีคาหนวงเวลาการ เดินเทากับ 60 (0.6 วินาที) โดยเวลาทีหน ่ วงจะตองทําให หุนยนต  เคลือนที ่ ถอยหลั ่ งพนจากกรอบสีเหลี ่ ยมสี ่ ดําพอดี โดยผูใช  งานสามารถปรับเปลียนเพื ่ อหาค ่ าทีเหมาะสมได ่ (9.2.2) กําหนดใหหุนยนต  เคลือนที ่ ถอยหลั ่ งตอ เนืองไปอี ่ ก โดยมีเงือนไขกํ ่ าหนดวา ใหถอยหลังจนกวา sensor4 จะมีคามากกวา 8 (นันคื ่ อ ML และ MR พบเสน ตัด) จากนั้นสั่งหยุด


ZX-LineTracker Robo-CIRLCE3S  11

10. การเขียนโปรแกรมเพื่อปฏิบัติภารกิจในสนามแขงขัน 10.1 สนามแขงขันและการออกแบบโปรแกรม ในรูปที่ 1 เปนตัวอยางสนามทดสอบการเคลือนที ่ ่ ในการเขียนโปรแกรมเพือปฏิ ่ บัติภารกิจตอง แบงออกเปนสวนๆ ประกอบดวย 1. โปรแกรมยอย s1 คือ เคลื่อนที่จากจุด A ไปยังจุด B 2. โปรแกรมยอย s2 คือ เคลื่อนที่จากจุด B ไปยังจุด C 3. โปรแกรมยอย s3 คือ เคลื่อนที่จากจุด C ไปยังจุด A

รูปที่ 1 สนามทดสอบทีใช ่ เปนตัวอยางในการอธิบาย


12ZX-LineTracker Robo-CIRLCE3S

10.2 ตัวอยางโปรแกรม

10.2.1 โปรแกรมยอย S1 เปนโปรแกรมยอยสําหรับการเคลือนที ่ ่จากจุด A ไปยังจุด B มีขั้นตอนการทํางานดังนี้ (s1.1) เคลื่อนทีจากจุ ่ ดเริ่มตนดวยบล็อกคําสังที ่ ่สรางมาจากโปรแกรมยอย f_cross (s1.2) เคลื่อนทีตามเส ่ นดวยบล็อกคําสังที ่ สร ่ างมาจากโปรแกรมยอย track (s1.3) เมือพบทางแยกที ่ ่ 1 เลียวซ ้ าย 90 องศาดวยบล็อกคําสังที ่ สร ่ างมาจากโปรแกรมยอย l-90 (s1.4) เคลื่อนทีตามเส ่ นดวยบล็อกคําสังที ่ สร ่ างมาจากโปรแกรมยอย track (s1.5) พบทางแยกที่ 2 เลี้ยวขวา 90 องศาดวยบล็อกคําสังที ่ ่สรางมาจากโปรแกรมยอย r-90 (s1.6) เคลื่อนทีตามเส ่ นดวยบล็อกคําสังที ่ สร ่ างมาจากโปรแกรมยอย track (s1.7) เมือถึ ่ งจุด B เคลือนที ่ ข่ ามเสนตัดหรือทางแยกดวยบล็อกคําสังที ่ สร ่ างมาจากโปรแกรม ยอย f_cross


ZX-LineTracker Robo-CIRLCE3S  13

10.2.2 โปรแกรมยอย S2 มีขันตอนการทํ ้ างานดังนี้ (s2.1) เคลื่อนที่ตามเสนจากจุด B ดวยบล็อกคําสังที ่ ่สรางมาจากโปรแกรมยอย track (s2.2) พบทางแยกที่ 3 เลี้ยวขวา 90 องศาดวยบล็อกคําสังที ่ ่สรางมาจากโปรแกรมยอย r-90 (s2.3) เคลื่อนทีตามเส ่ นดวยบล็อกคําสังที ่ สร ่ างมาจากโปรแกรมยอย track (s2.4) พบทางแยกที่ 4 เลี้ยวซาย 90 องศาดวยบล็อกคําสังที ่ ่สรางมาจากโปรแกรมยอย l-90 (s2.5) เคลื่อนทีตามเส ่ นดวยบล็อกคําสังที ่ สร ่ างมาจากโปรแกรมยอย track (s2.6) เคลือนที ่ ข่ ามเสนตัดหรือทางแยกดวยบล็อกคําสังที ่ สร ่ างมาจากโปรแกรมยอย f_cross (s2.7) เคลือนที ่ ตามเส ่ นดวยบล็อกคําสังที ่ สร ่ างมาจากโปรแกรมยอย track เพือย ่ ายกระปอง ไปยังจุด C

10.2.3 โปรแกรมยอย S3 มีขันตอนการทํ ้ างานดังนี้ (s3.1) ถอยหลังออกจากจุด C ไปยังเสนตัดดวยบล็อกคําสั่งที่สรางมาจากโปรแกรมยอย b_cross เพื่อเตรียมเคลือนที ่ กลั ่ บไปยังจุดสินสุ ้ ดใหเร็วขึน้ (s3.2) ถอยหลังไปยังสามแยกดวยบล็อกคําสังที ่ สร ่ างมาจากโปรแกรมยอย b_cross อีกครัง้ (s3.3) เลี้ยวขวาบริเวณสามแยก ดวยบล็อกคําสังที ่ ่สรางมาจากโปรแกรมยอย r-3 (s3.4) เคลื่อนทีตามเส ่ นดวยบล็อกคําสังที ่ สร ่ างมาจากโปรแกรมยอย track (s3.5) เมื่อพบทางแยก 3 เลี้ยวขวา 90 องศาดวยบล็อกคําสังที ่ ่สราาจากโปรแกรมยอย r-90 (s3.6) เคลื่อนทีตามเส ่ นดวยบล็อกคําสังที ่ สร ่ างมาจากโปรแกรมยอย track (s3.7) เมื่อพบทางแยก เลี้ยวขวา 90 องศาดวยบล็อกคําสังที ่ ่สรางมาจากโปรแกรมยอย r-90 (s3.8) เคลื่อนทีตามเส ่ นดวยบล็อกคําสังที ่ สร ่ างมาจากโปรแกรมยอย track (s3.9) เมือพบสามแยก ่ ใหเลียวซ ้ าย 90 องศา ดวยบล็อกคําสังที ่ สร ่ างจากโปรแกรมยอย l-90 (s3.10) เคลือนที ่ ตามเส ่ นดวยบล็อกคําสังที ่ สร ่ างจากโปรแกรมยอย track เพือเข ่ าสูจุ ดสินสุ ้ ด สรางโปรแกรมยอยทั้งหมด แลวยุบรวมเปนบล็อกคําสัง่ s1, s2 และ s3 เก็บไวในกลุมบล็อก คําสัง่ Procedure


14ZX-LineTracker Robo-CIRLCE3S

10.3 ตัวอยางโปรแกรมหลัก หลังจากสรางบล็อกคําสังของโปรแกรมย ่ อยทั้งหมดเสร็จแลว ตอไปเปนการนําบล็อกคําสัง่ ของโปรแกรมยอยทั้งหมดมาใชงาน สรางเปนโปรแกรมหลักสําหรับการปฏิบัติภารกิจในสนามทด สอบ จะไดโปรแกรมหลักแสดงดังนี้

การทํางานของโปรแกรมเริมจากกํ ่ าหนดกําลังขับเคลือนของหุ ่ นยนต  ดวยบล็อกคําสัง่ set power ในทีนี่ กํ้ าหนดไวที่ 2 จากนั้นลากบล็อกของโปรแกรมยอย s1 มาวางตามดวยบล็อกของโป แกรมยอย s2 และ s3 ตามลําดับ ปดทายดวยคําสังบล็ ่ อกคําสังหยุ ่ ดมอเตอร (brake)


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.