67
โครงงานทางวิศวกรรม เรื ่อง ระบบหุ ่นยนต์หลายตัวสาหรับการควบคุมวัตถุ Multi-Robot System for Object Manipulation โดย นายรุ ่งโรจน์ จินตเมธาสวัสดิ 5031061821 อาจารย์ที่ปรึกษาโครงงาน ผู ้ช่วยศาสตราจารย์ ดร.อรรถวิทย์ สุดแสง อาจารย์ ดร.นัทที นิภานันท์ รายงานนี้เป็นส่วนหนึ่งของการศึกษาวิชา โครงงานวิศวกรรมคอมพิวเตอร์ หลักสูตรปริญญาวิศวกรรมศาสตรบัณฑิต สาขาวิศวกรรมคอมพิวเตอร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย ปีการศึกษา 2553

Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

โครงงานทางวศวกรรม

เรอง

ระบบหนยนตหลายตวส าหรบการควบคมวตถ

Multi-Robot System for Object Manipulation

โดย

นายรงโรจน จนตเมธาสวสด 5031061821

อาจารยทปรกษาโครงงาน

ผชวยศาสตราจารย ดร.อรรถวทย สดแสง

อาจารย ดร.นทท นภานนท

รายงานนเปนสวนหนงของการศกษาวชา โครงงานวศวกรรมคอมพวเตอร

หลกสตรปรญญาวศวกรรมศาสตรบณฑต สาขาวศวกรรมคอมพวเตอร

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร

จฬาลงกรณมหาวทยาลย

ปการศกษา 2553

Page 2: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

บทคดยอ

ปจจบน หนยนตไดเขามามบทบาทตอชวตเรามากขน อยางไรกด หนยนตทมประสทธภาพมากขนก

ยอมมราคาแพงขน แตกไมไดท างานเรวขนมากนก และถาหนยนตตวนนเกดขดของ งานทเหลอทหนยนตยงท า

คางอย กจะด าเนนตอไปไมไดเลย ผพฒนาพบวา ปญหาเรองคาใชจาย เวลาในการท างาน และความทนทาน

ตอความผดพลาด เปนปญหาทส าคญ และยงคงเกดขนกบระบบหนยนตในปจจบน ดงนน ผพฒนาจงไดศกษา

และพฒนาระบบหนยนต ทสามารถแกไขปญหาเหลานได

ระบบหนยนตทพฒนาขน ประกอบดวยหนยนตมากกวา 1 ตว และทกตวตองเปนหนยนตแบบเดยวกน

(Homogeneous) โดยผพฒนาจะใชหนยนตยหอ Surveyor SRV-1 การท างานของระบบหนยนตน คอ

หนยนตภายในกลมตองท าหนาทเคลอนยายวตถ 3 ชน คอ ทรงกระบอกสน าเงน ทรงสเหลยมสเขยว และ

ปรซมหนาตดรปสามเหลยมสแดง ไปยงเปาหมายทก าหนดไวให นอกจากน หนยนตภายในกลมจะท างาน

ภายในสนามพนสขาว และตองตดตอสอสารกนภายในเครอขายไรสาย (Wireless LAN) เดยวกน

จากการทดสอบระบบหนยนตหลายตวทพฒนาขน ผพฒนาพบวา ระบบหนยนตหลายตว สามารถ

แกปญหาไดในเรองของคาใชจาย เวลาในการท างาน รวมทงความทนทานตอความผดพลาด อยางไรกตาม

ความถกตองและประสทธภาพของการท างาน ยงไมเปนทนาพอใจมากนก เนองจากมปญหาทางกายภาพท

เกดจากตวหนยนตเอง และปญหาทเกดจากสภาพแวดลอมภายนอกของหนยนต

โครงงานวศวกรรมคอมพวเตอร ปการศกษา 2553 ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย ลายมอชอนสต___________________________________ ลายมอชออาจารยทปรกษาโครงงาน___________________________________ ลายมอชออาจารยทปรกษาโครงงาน___________________________________

Page 3: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

Abstract

Nowadays, robots deal with people’s daily life more. However, spending much more money

to invent a new robot does not always result in a smarter robot. Moreover, single robot can fail

easily, and if it fails, the remaining tasks will be ignored. We noticed that budget, execution time,

and fault tolerance are the critical problems, and they still occur in many robot systems. Therefore,

we would like to study for implementing a new robot system, where they could provide solutions for

these problems.

The developed robot system consists of more than one homogeneous Surveyor SRV-1

robot. The multi-robot system must bring 3 kinds of objects, a blue cylinder, a green cube, and a

red triangle prism, to the specified destination. Besides, robots have to work in a white field, and

communicate among themselves in group via the same wireless local area network (Wireless LAN).

The experimental results show us that multi-robot system can solve budget, execution time,

and fault tolerance problems. However, the accuracy and efficiency are not considered to be good

enough because of the physical problems of robots themselves and the harsh environment outside

the robots.

Senior Project, Academic Year 2010 Department of Computer Engineering Faculty of Engineering, Chulalongkorn University Student’s Signature___________________________________ Project Advisor’s Signature___________________________________ Project Advisor’s Signature___________________________________

Page 4: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

กตตกรรมประกาศ

ในการจดท าโครงงานครงน ผพฒนาไดรบความอนเคราะหจาก ผศ.ดร.อรรถวทย สดแสง และ

อ.ดร.นทท นภานนท ในการใหค าแนะน าทเปนประโยชนตอการท าโครงงาน การน าเสนอโครงงาน รวมทง

การตอยอดโครงงานไปสงานวจยอนๆ

ขอขอบคณส านกงานพฒนาวทยาศาสตรและเทคโนโลยแหงชาต ทไดมอบทนวจยระดบปรญญาตร

ใหแกผพฒนาตลอดระยะเวลาการศกษา

ขอขอบคณภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย ทได

ประสทธประสาทวชาความรตลอดระยะเวลาการศกษา

ขอขอบคณพๆ จากหองวจย ISL2 ทไดเออเฟอสถานท และอปกรณตางๆ ทเกยวของกบโครงงาน

อกทงยงใหค าแนะน าทเปนประโยชน และวธการแกไขปญหาทเกดขนในระหวางการท าโครงงาน

สดทายน ขอขอบคณบดา มารดา ทคอยใหก าลงใจเสมอมา และคอยจดหาอปกรณในการท าโครงงาน

ใหอยางครบถวน

รงโรจน จนตเมธาสวสด

Page 5: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

สารบญ

บทท 1 บทน า 1

1.1 ความเปนมาของโครงการ 1

1.2 วตถประสงค 1

1.3 ขอบเขตของโครงงาน 2

1.4 แนวทางการด าเนนงาน 2

1.5 ขนตอนและระยะเวลาการด าเนนงาน 4

1.6 ประโยชนทคาดวาจะไดรบ 4

บทท 2 ทฤษฎและหลกการทเกยวของ 5

2.1 งานวจยเบองตน 5

2.1.1 Heterogeneous Multi-Robot Cooperation 5

2.1.2 Cooperative Localization and Control for Multi-Robot Manipulation 5

2.1.3 Multi-Robot Manipulation via Caging in Environments with Obstacle 6

2.1.4 Abstractions and Algorithms for Cooperative

Multiple Robot Planar Manipulation 6

2.1.5 Behavior-Based Multi-Robot Collaboration for Autonomous Construction 6

2.2 การฉายภาพแบบทศนมต (Perspective Projection) 7

2.3 การท าความตกลงแบบประชามต (Consensus Agreement) 9

2.4 การตรวจหาวตถ (Object Detection) 10

2.4.1 การแบงแยกส (Color Segmentation) 10

2.4.2 การนบจ านวนองคประกอบในรปภาพ (Connected Component Counting) 11

2.5 การหลกเลยงการชนกนของหนยนต 14

Page 6: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

2.6 การควบคมหนยนต Surveyor SRV-1 (Controlling Surveyor SRV-1 Robot) 15

2.7 การตงคา IP และการแบง Subnet (IP Assignment and Subnetting) 18

บทท 3 รายละเอยดของการพฒนา 20

3.1 เครองมอทใชในการพฒนา 20

3.1.1 ฮารดแวร (Hardware) 20

3.1.2 ซอฟตแวร (Software) 20

3.1.3 อปกรณเสรมอนๆ 20

3.2 Functional Specification 20

3.2.1 Functional Specification ของ Console 21

3.2.2 Functional Specification ของโปรแกรมผใช 21

3.2.3 Functional Specification ของกลมหนยนต 21

3.3 ขนตอนการท างานของระบบหนยนตหลายตว 22

3.4 โครงสรางของซอฟตแวร 28

3.4.1 โครงสรางซอฟตแวรของ Console 29

3.4.2 โครงสรางซอฟตแวรของโปรแกรมผใช 30

3.4.3 โครงสรางซอฟตแวรของกลมหนยนต 31

3.5 ขอบเขตละขอจ ากดของระบบทพฒนา 31

บทท 4 ผลการทดสอบระบบ 32

4.1 การทดสอบความแมนย าในการจบวตถ 33

4.2 การทดสอบความสามารถในการปองกนการชน 34

4.3 การทดสอบความทนทานตอความผดพลาด โดยทดลองปดการท างานหนยนต 1 ตว 35

4.4 การทดสอบความถกตองโดยรวม และเวลาทใช 36

4.5 วเคราะหผลการทดสอบ 39

Page 7: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

บทท 5 ปญหาและอปสรรค 41

5.1 ขอบเขตของโครงงานไมชดเจน 41

5.2 ผพฒนาขาดความรในการเขยนโปรแกรมบนตวหนยนต 41

5.3 ฟงกชนการประมวลผลภาพในหนยนต ไมสามารถท างานได

ในกรณทมสงรบกวนในภาพมาก 42

5.4 แสงของวตถเปลยนไป เมอหนยนตเคลอนทเขาใกลวตถ 42

5.5 ไมมวธการหลบหลกหนยนตตวอนทด 43

5.6 ลกษณะทางกายภาพของหนยนตแตละตวไมเหมอนกน 43

5.7 ระบบเครอขายทใชมความลาชา 44

บทท 6 แนวทางการพฒนาตอในอนาคต 45

บทท 7 ขอสรปและขอเสนอแนะ 46

บทท 8 เอกสารอางอง 47

บทท 9 ภาคผนวก 49

9.1 วธการตงคาระบบเครอขายไรสาย 49

9.1.1 การตงคา IP ใหกบเครองคอมพวเตอร 49

9.1.2 การตงคา IP ใหกบหนยนต Surveyor SRV-1 50

9.1.3 การตงคา IP ของหนยนต ใหกบ Console 51

9.2 วธการใชงานระบบเบองตน 52

Page 8: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

สารบญรป

รปท 1 Gantt chart แสดงขนตอนและระยะเวลาการด าเนนงาน 4

รปท 2 การเกดภาพในกลองรเขม 7

รปท 3 (ซาย) เมอหนยนตอยไกลวตถ วตถจะมสสด

(ขวา) เมอหนยนตอยใกลวตถ วตถจะมสซดลง 8

รปท 4 (ซาย) การท าความตกลงแบบประชามต

(ขวา) แสดงกรณทมหนยนตภายในกลมเกดขดของ 9

รปท 5 ขนตอนการตรวจหาวตถ 10

รปท 6 (ซาย) ปรภมส RGB (ขวา) ปรภมส HSV 10

รปท 7 (ซาย) ภาพวตถสแดง

(ขวา) ภาพวตถหลงจากผานกระบวนการแบงแยกส ซงเปนภาพขาวด า 11

รปท 8 ภาพขนาด 13 x 13 pixels ทม 2 องคประกอบ 12

รปท 9 แถบสเขยว-น าเงน ทตดตงบนตวหนยนต 13

รปท 10 (บนซาย) สถานการณทหนยนตสามารถปองกนการชนได

(ลางซาย) สถานการณทเกดจากมมกลองของหนยนตไมกวางพอ

(ลางขวา) สถานการณทกลมของหนยนตเกดการตดตาย 14

รปท 11 โปรแกรม TeraTerm ทรองรบโปรโตคอล XMODEM 15

Page 9: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

รปท 12 (บน) Console ทพฒนาขน เพอใชสงงานพนฐานใหกบหนยนต

(ลาง) Console ทพฒนาขน เพอใชส าหรบโหลดโปรแกรมลงบนหนวยความจ าแฟลช 16-17

รปท 13 การออกแบบระบบ เพอใหหนยนตแตละตวสามารถประสานงานกนได 19

รปท 14 ผงการท างานแสดงขนตอนการท างานท 1 และ 2 23

รปท 15 ผงการท างานแสดงขนตอนการท างานท 3 24

รปท 16 ผงการท างานแสดงขนตอนการท างานท 4 25

รปท 17 ผงการท างานแสดงขนตอนการท างานท 5, 6 และ 7 26

รปท 18 ผงการท างานแสดงขนตอนการตรวจสอบความผดพลาด

ของหนยนตในระบบทจะท าใหเกดกรณพเศษขนมา 27

รปท 19 โครงสรางของซอฟตแวรของ Console, โปรแกรมผใช และกลมหนยนต 28

รปท 20 รปแสดงการบอกพกดของวตถ และหนยนตในสนาม 32

รปท 21 ความลาชาในการสงงานระบบหนยนตหลายตว เทยบกบหนยนตตวเดยว 44

รปท 22 วธการตงคา IP ใคกบเครองคอมพวเตอร 49

รปท 23 การตงคา Network ใหกบหนยนต Surveyor SRV-1 50

รปท 24 การตงคา IP ใหกบหนยนต Surveyor SRV-1 51

รปท 25 หนาตาเรมตนของโปรแกรมผใช 52

รปท 26 หนาตาเรมตนของ Console 52

รปท 27 การเปลยนแปลงในฝง Console (บน) และโปรแกรมผใช (ลาง) 53

Page 10: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

รปท 28 Output แสดงคาสของจดภาพทเกบมา 54

รปท 29 Output แสดงคาสของวตถทค านวณได 54

รปท 30 สวนแสดงภาพทสามารถเปลยนรปแบบการแสดงผล

ไปเปนแบบจ านวนองคประกอบ (ซาย) หรอต าแหนงของวตถ (ขวา) ได 55

รปท 31 สถานะการท างานของระบบหนยนตจะถกรายงาน

ทงฝง Console (ซาย) และฝงโปรแกรมผใช (ขวา) 55-56

รปท 32 แสดงหนาตางของ Console ทใชส าหรบการเขยนโปรแกรม

ลงบนหนวยความจ าแฟลซของหนยนต 56

Page 11: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

สารบญตาราง

ตารางท 1 ผลการทดสอบความแมนย าในการจบวตถ 33

ตารางท 2 ผลการทดสอบความสามารถในการปองกนการชน 34

ตารางท 3 ผลการทดสอบความทนทานตอความผดพลาด 35

ตารางท 4 ผลการทดสอบความถกตองโดยรวม และเวลาทใช 36-38

ตารางท 5 ตารางการเปรยบเทยบความถกตองและเวลาในการท างาน ของจ านวนหนยนตในกรณตางๆ 39

Page 12: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

1

บทท 1 บทน า

1.1 ความเปนมาของโครงการ

ทกวนน หนยนตไดเขามามบทบาทในการด ารงชวตของมนษยมากขน ดงจะเหนไดจากการน าหนยนต

มาใชงานในหลายดานดวยกน เชน ในงานการผลตแบบอตสาหกรรม งานชวยเหลอผประสบภย งาน

ลาดตระเวนพนทเสยงภย ในภตตาคาร หรอแมกระทงน าหนยนตมาใชในบาน เพอใหท างานบานเลกๆ นอยๆ

อกดวย อยางไรกตาม หากตองการใหหนยนตมความสามารถหลากหลาย ราคาของตวหนยนตเองกยอมแพง

ขนไปดวย เพราะการประดษฐหนยนตแบบน อาจจ าเปนตองใชอปกรณชนดพเศษ และเมอหนยนตเกดความ

ผดพลาด งานทเหลอทก าลงด าเนนอยนน กจะหยดชะงกทนท

ในทางกลบกน หากกระจายงานใหหนยนตหลายๆ ตว โดยทแตละตวรบผดชอบงานเพยงบางสวนตาม

ความสามารถของหนยนตตวนน โอกาสทงานจะส าเรจลลวงไปไดกยอมมมากขน เพราะหากมหนยนตตวใดตว

หนงเกดขดของ หนยนตตวอนกยงสามารถท างานทเหลอตอไปได และเนองจากหนยนตแตละตวถกออกแบบ

มาใหมความสามารถเทาทจ าเปน ดงนน ชนสวนทเปนองคประกอบของตวหนยนตเอง กยอมมราคาถก เพราะ

สามารถหาซอไดตามทองตลาด

1.2 วตถประสงค

เพอสรางระบบหนยนตหลายตว ทชวยกนน าวตถ 3 ชน คอ ทรงกระบอก ทรงสเหลยม และปรซม

หนาตดรปสามเหลยม ไปรวมกน ณ ต าแหนงปลายทางทไดก าหนดไวให

Page 13: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

2

1.3 ขอบเขตของโครงงาน

1. ระบบหนยนตสามารถขนยายวตถได 3 แบบ คอ ทรงกระบอก ทรงสเหลยม และปรซมหนาตดรป

สามเหลยม โดยวตถแตละชนมสน าเงน เขยว และแดงตามล าดบ

2. หนยนตแตละตว สามารถรบรรายละเอยดของวตถทง 3 แบบได โดยใชกลองทตดตงอยดานหนาของ

ตวหนยนต และสามารถคนหาวตถได โดยการหมนรอบตวเองแลวคอยตรวจสอบภาพทไดรบจาก

กลองมาเรอยๆ จนกวาจะเจอภาพของวตถทตองการ หนยนตจงหยดหมนรอบตวเอง

3. หนยนตแตละตว ไมรวาตวเองอย ณ ต าแหนงใดในสนาม หนยนตรเพยงแควา วตถแตละชน

เปาหมายทจะน าวตถไปวาง รวมทงหนยนตตวอนในสนาม อยใกล หรอไกลจากตวมนเองมากแคไหน

4. หนยนตทกตว จะตองรสถานะการท างานของตนเองและหนยนตตวอน โดยอาศยการสงขอความ

ตดตอกนเปนระยะๆ ภายในเครอขายไรสาย (Wireless LAN)

5. เมอมหนยนตตวใดตวหนงเกดขดของ หนยนตตวอนจะตองรบร และเขาไปท างานแทนหนยนตตวนน

1.4 แนวทางการด าเนนงาน

1. ศกษาคนควาขอมลทเกยวของ

ในขนตอนน จะท าการศกษาการตงคา IP ใหหนยนต การเขยนโปรแกรมลงบนหนยนต และการใช

กลองของหนยนต

2. จดเตรยมวสดทเกยวของกบการท าโครงงาน

ในขนตอนน จะท าการเตรยมอปกรณทเกยวของ ไดแก การเตรยมสนาม วตถ และหนยนต

Surveyor SRV-1 รวมทงออกแบบแขนส าหรบจบวตถ ซงจะถกน าไปตดตงทดานหนาของหนยนต

ในภายหลง

Page 14: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

3

3. พฒนาโปรแกรมส าหรบจดการระบบหนยนตหลายตว ในขนตอนน จะท าการศกษา Library ทใชส าหรบการควบคมหนยนต และน า Library มาพฒนา

ตอยอดใหเปนโปรแกรมทใชควบคมระบบหนยนต หรอทเรยกวา Console อกทหนง

4. พฒนาระบบตรวจจบวตถ

ในขนตอนน จะท าการพฒนาสวนทใชในการตรวจจบชนดของวตถ โดยพจารณาจากสของวตถใน

ภาพ ถาตรวจพบสแดง แสดงวาพบวตถปรซมหนาตดรปสามเหลยม ถาตรวจพบสเขยว แสดงวาพบวตถ

ทรงสเหลยม และถาตรวจพบสน าเงน แสดงวาพบวตถทรงกระบอก นอกจากน ยงท าการพฒนาสวนทใช

ในการหาทศทางของวตถเทยบกบตวหนยนตอกดวย โดยพจารณาจากต าแหนงของวตถทปรากฎในภาพ

5. ออกแบบวธการเคลอนทหนยนต

ในขนตอนน จะท าการออกแบบวธการเคลอนทของหนยนต ในสถานการณตางๆ เพอใหหนยนต

เคลอนทไปยงต าแหนงปลายทางไดถกตองและไมชนสงกดขวาง

6. พฒนาหนยนตหนงตว เพอใหสามารถน าวตถไปวางไว ณ ต าแหนงทถกตองได

ในขนตอนน จะท าการทดลองเพอใหหนยนตเพยงหนงตว น าวตถไปวางไว ณ ต าแหนง

ปลายทางไดถกตอง

7. พฒนาระบบหนยนตหลายตว เพอใหสามารถน าวตถไปวางไว ณ ต าแหนงทถกตองได

เมอหนยนตหนงตวท างานไดถกตองแลว กจะท าการเพมจ านวนหนยนตใหมตงแต 2 ตวขนไป โดย

ท าการพฒนาใหหนยนตมการประสานงานกน เพอชวยกนน าวตถไปวางไวในต าแหนงปลายทางไดถกตอง

8. เปรยบเทยบผลการท างานทได ระหวางระบบหนยนตหลายตว กบหนยนตตวเดยว

ท าการเปรยบเทยบประสทธภาพทได ระหวางหนยนตตวเดยว กบระบบหนยนตหลายตว และท า

การเปรยบเทยบเวลาทใชเคลอนยายวตถทงหมดในสนามไปยงต าแหนงปลายทาง ระหวางหนยนต

ตวเดยว กบหนยนตหลายตว

Page 15: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

4

1.5 ขนตอนและระยะเวลาการด าเนนงาน

รปท 1 Gantt chart แสดงขนตอนและระยะเวลาการด าเนนงาน

1.6 ประโยชนทคาดวาจะไดรบ

1. ระบบหนยนตหลายตวสามารถลดขอผดพลาดทเกดจากการท างานของหนยนตเพยงตวเดยวได

2. ระบบหนยนตหลายตวสามารถแกปญหาขอจ ากดทางดานฮารดแวรทมอยในปจจบนได

3. ระบบหนยนตหลายตวสามารถลดคาใชจายในการออกแบบและประดษฐหนยนตได

4. ระบบหนยนตหลายตว มความยดหยนสง กลาวคอ สามารถเพมจ านวนของหนยนตภายในกลมได

โดยไมจ าเปนตองแกไขระบบมากนก

Page 16: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

5

บทท 2 ทฤษฎและหลกการทเกยวของ

2.1 งานวจยเบองตน

2.1.1 Heterogeneous Multi-Robot Cooperation [2]

งานวจยน ไดท าการวเคราะหขอผดพลาดของระบบหนยนตหลายตว อนเกดจากการทหนยนตเกด

ขดของในระหวางการท างาน หนยนตไมมความสามารถเพยงพอในการท างาน หรอสภาพแวดลอมได

เปลยนแปลงไปจากเดม งานวจยนไดท าการพฒนาสถาปตยกรรมทชอวา ALLIANCE ซงเปนสถาปตยกรรม

ของระบบหนยนตหลายตว ทออกแบบมาเพอใหสามารถตรวจสอบและแกไขขอผดพลาดทเกดขนได โดยอาศย

หลกการของการเผยแพรขอมลสถานะการท างานของหนยนตแตละตว ไปใหหนยนตทกตวในกลมรบทราบ

นอกจากน งานวจยยงไดพฒนาสถาปตยกรรมหนยนตหลายตวทชอวา L-ALLANCE ซงเปนสถาปตยกรรมท

เปดโอกาสใหหนยนตเรยนรจากประสบการณทพบกอนหนานนได ท าใหหนยนตท างานไดมประสทธภาพมาก

ขน และลดปรมาณงานในการตงคาพารามเตอรใหกบหนยนตแตละตว

2.1.2 Cooperative Localization and Control for Multi-Robot Manipulation [3]

งานวจยน ไดออกแบบโมเดลในการหาต าแหนง และทศทางของหนยนตภายในกลม โดยใหหนยนตตว

หนงเปนจดอางองของหนยนตทงหมด การหาต าแหนงของหนยนต จะมประเดนหลกอย 2 อยาง คอ

1. การหาต าแหนง และทศทางของหนยนตแตละตว หนยนตแตละตวจะรบภาพจากกลองทสามารถ

มองเหนไดโดยรอบ (Omni-Camera) ทตดตงบนตวหนยนต จากนนภาพทรบมา จะถกน าไป

ประมวลผลเพอหาต าแหนง และทศทางของหนยนตตวอนอกทหนง

2. การรกษาการจดวางตวของหนยนตแตละตว หนยนตแตละตวจะตองอย ณ ต าแหนงทเหมาะสม

เพอใหการจดวางตวของหนยนตภายในกลมไมผดเพยนจนเกนไป เชน ถาหนยนตทง 3 ตว จะตองจด

วางตวกนเปนรปสามเหลยมหนาจว หนยนตแตละตวจะตองอย ณ ต าแหนงทเปนจดยอดของรป

สามเหลยม

Page 17: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

6

2.1.3 Multi-Robot Manipulation via Caging in Environments with Obstacle [4]

งานวจยน ไดท าการออกแบบอลกอรทมในการเคลอนยายวตถโดยใชระบบหนยนตหลายตว โดย

หนยนตแตละตว จะไมรขนาดของกลม และความสามารถของหนยนตตวอนเลย รวมทงจะตองมการสอสารกน

ภายในกลมใหนอยทสด การท าเชนน ท าใหระบบหนยนตหลายตวมความทนตอขอผดพลาดสง งายตอการ

ควบคม และเสยเวลานอยในการสอสาร หนยนตแตละตวภายในระบบน จะมสถานะอย 3 สถานะดวยกน คอ

1. Approach เปนสถานะทท าการคนหาวตถ ในขณะเดยวกนกตองหลกเลยงการชนสงกดขวาง และ

หนยนตตวอนดวย

2. Surround เปนสถานะทหนยนตตรวจพบวตถ และก าลงจะไปควมคมวตถชนนน ในขณะเดยวกนก

ตองหลกเลยงการชนสงกดขวาง และหนยนตตวอนดวย

3. Transport เปนสถานะทหนยนตก าลงเคลอนยายวตถไปยงต าแหนงเปาหมาย

2.1.4 Abstractions and Algorithms for Cooperative Multiple Robot Planar Manipulation [5]

งานวจยน ไดท าการออกแบบอลกอรทมอยางงาย ในการเคลอนยายวตถบนระนาบ 2 มต ทมสงกด

ขวางอย โดยใชหนยนต 2 ตว อลกอรทมนมความทนทานตอสภาวะการณทไมปกต เชน แรงเสยดทานบนพน

หรอขอจ ากดของเซนเซอรบนตวหนยนต

2.1.5 Behavior-Based Multi-Robot Collaboration for Autonomous Construction Tasks [6]

งานวจยน ไดท าการออกแบบระบบ RCC (Robot Construction Crew) ส าหรบระบบหนยนตหลายตว

โดยทหนยนตแตละตวมหนาทแตกตางกน RCC เปนระบบทมพนฐานมาจากการแบงงานเปนล าดบชน งาน

ระดบลาง จะถกควมคมโดยงานระดบบนอกทหนง เชน การสงใหหนยนตเคลอนแขน (งานระดบบน) จะท าให

มอเตอรหมน (งานระดบลาง) แตงานวจยนไดใชวธลดความผดพลาดทเกดขนในระบบโดยการควบคม

ความเรวของมอเตอรใหเหมาะสม

Page 18: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

7

2.2 การฉายภาพแบบทศนมต (Perspective Projection)

หลกการของการไดภาพมานน แสดงไดดงรปท 2

รปท 2 การเกดภาพในกลองรเขม (ทมา: http://jde.gsyc.es/index.php/JDEROBOT_4.3.0:Manual)

จากรป จะพบวา รงสของแสง (Optical Ray) ทกเสน จะผานจดศนยกลางของการฉาย (Center of

Projection) และจะไปตกกระทบทฉากรบภาพ (Image Plane) โดยภาพทไดจากการฉายภาพเชนน จะเปน

ภาพหวกลบ และเราสามารถค านวณหาขนาดของภาพได โดยใชหลกการของสามเหลยมคลาย ดงน

โดยท O’C แทนความยาวโฟกสของกลอง OC แทนระยะหางระหวางวตถกบเลนสกลอง

O’P แทนขนาดของภาพ OP แทนขนาดของวตถ

Page 19: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

8

จากความสมพนธดงกลาว จะพบวา เมอวตถอยไกลกลอง หากเลอนวตถใหเขาใกลกลอง ขนาดของ

ภาพวตถจะเพมไมมากนก แตถาวตถอยใกลกลอง หากเลอนวตถใหใกลกลองเขามาอก ขนาดของภาพจะ

ใหญขนมาก ดงนน เราสามารถค านวณไดวา วตถอยหางจากหนยนตเทาใด โดยค านวณระยะหาง OC ตามรป

ดานบน และดอตราการเปลยนแปลงของขนาดของภาพ

อยางไรกตาม เมอน าวธการนไปใชจรง กลบไมไดผลตามทคาดไว ทงนเพราะเมอหนยนตเคลอนทเขา

ใกลวตถมากขน สของวตถกยอมเปลยนไป ท าใหหนยนตไมสามารถตรวจจบวตถไดอยางถกตอง ดงเชนรปท 3

เปนผลท าใหเกดความคลาดเคลอนในการหาวตถ ดงนน ผพฒนาจงใชวธการหาความกวางโดยประมาณของ

วตถ ควบคไปกบขนาดโดยประมาณของวตถ เพอใหมความแมนย ามากขน การหาความกวางและขนาด

โดยประมาณของวตถ จะกลาวถงในหวขอท 2.4 การตรวจหาวตถ (Object Detection)

รปท 3 (ซาย) เมอหนยนตอยไกลวตถ วตถจะมสสด

(ขวา) เมอหนยนตอยใกลวตถ วตถจะมสซดลง

Page 20: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

9

2.3 การท าความตกลงแบบประชามต (Consensus Agreement) [1] ระบบหนยนตหลายตวทออกแบบ สามารถท างานไดแมกระทงในกรณทเกดขอผดพลาดกบหนยนต

ภายในกลม กลาวคอ หากหนยนตตวใดตวหนงเกดขดของแบบทหนยนตตวอนไมสามารถตดตอกบหนยนต

ตวนได หนยนตตวทเหลอจะตองไปชวยท าหนาทแทนหนยนตตวทขดของ การตรวจสอบวาหนยนตตวใดใน

ระบบขดของในระหวางการท างาน สามารถท าไดโดยใชวธการทเรยกวา การท าความตกลงแบบประชามต

(Consensus Agreement)

รปท 4 (ซาย) การท าความตกลงแบบประชามต (ขวา) แสดงกรณทมหนยนตภายในกลมเกดขดของ

จากรป ให R1, R2 และ R3 แทนหนยนตทง 3 ตว หนยนตแตละตว จะสงขอความกระจายไปให

หนยนตทเหลอภายในกลมรบทราบ ทงขอมลของงานทท า และสถานะการท างานทบอกวาตวมนเองยง

สามารถท างานไดอย ดงรปท 4 ทางดานซาย หนยนตแตละตว จะสงขอความไปบอกหนยนตทกตวในกลม วา

หนยนตตวนนก าลงจะไปหยบวตถสอะไร เพอทวาหนยนตตวอนจะไดไมท าหนาทซ ากบหนตวนน แตหากม

หนยนตตวใดตวหนงเกดขดของ (จากรปท 4 ทางดานขวา คอหนยนต R3) หนยนตตวนนกจะไมสามารถสง

ขอความกระจายไปใหหนยนตตวทเหลอได เมอหนยนตตวทเหลอ ไมไดรบขอความจากหนยนตตวนนภายใน

เวลาทก าหนด กจะทราบทนทวาหนยนตตวนนเกดขอผดพลาด หนยนตตวทวางงานอย กจะไปรบหนาทแทน

หนยนตตวทเกดขดของ

Hold Green, R1

Hold Blue, R2

Hold Blue, R2 Hold Green, R1 Hold Red, R3

R2

R1

R3

Hold Green, R1

Hold Blue, R2

Hold Blue, R2 Hold Green, R1 Abort

R2

R1

R3

Page 21: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

10

2.4 การตรวจหาวตถ (Object Detection)

ขนตอนการตรวจหาวตถ สามารถแบงไดเปน 2 ขนตอนใหญๆ คอ ขนตอนการแบงแยกส (Color

Segmentation) และขนตอนการนบจ านวนองคประกอบในรปภาพ (Connected Component Counting)

รปท 5 ขนตอนการตรวจหาวตถ

2.4.1 การแบงแยกส (Color Segmentation)

เนองจากวตถแตละชนด มสทแตกตางกน และสนามของหนยนตมพนและขอบเปนสขาวทงหมด

ดงนน ผพฒนาจงใชวธการจ าแนกวตถ โดยใชสของวตถเปนเกณฑในการแบง อยางไรกตาม ภาพทรบเขามา

จากกลอง จะเปนภาพทอยในปรภมส RGB โดยท R (Red) แทนความเขมของสแดง G (Green) แทนความเขม

ของสเขยว และ B (Blue) แทนความเขมของสน าเงน ซงปรภมส RGB ไมเหมาะส าหรบใชจ าแนกส ผพฒนาจง

ตองแปลงปรภมสใหเปนแบบ HSV แทน โดยท H (Hue) แทนคาส S (Saturation) แทนความอมตวของส และ

V (Value) แทนความสวางของส ปรภม RGB และ HSV แสดงไดดงรปดานลาง

รปท 6 (ซาย) ปรภมส RGB (ขวา) ปรภมส HSV

(ทมา: http://msdn.microsoft.com/en-us/library/aa511283.aspx)

Color Segmentation

Connected Component Counting

2 องคประกอบ

Page 22: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

11

ในทางทฤษฎ คา H เพยงอยางเดยว กเพยงพอส าหรบการบอกสของวตถ แตเมอน ามาใชจรง กลบไม

ไดผลตามทคาดหวงไว เพราะบรเวณพนหรอขอบสนามทอยใกลๆ วตถมาก กจะมคา H ทใกลเคยงกบวตถดวย

ดงนน ผพฒนาจงตองใชทงคา H, S และ V ในการจ าแนกวตถ

การแยกภาพวตถออกจากพนหลง ท าไดโดยพจารณาวาจดภาพ (Pixel) ใดในภาพ เปนจดภาพของ

วตถทก าลงพจารณาอย โดยดวาจดภาพทเลอกมานน มคา H, S และ V อยในชวงเดยวกบคา H, S และ V ของ

วตถนนหรอไม ถาคาทงสามอยในชวงเดยวกน แสดงวาจดภาพนนเปนสวนหนงของภาพวตถ ใหแทนดวยจด

ภาพสขาว ในทางกลบกน ถามคาใดคาหนงไมอยในชวง กแสดงวาจดภาพนนไมไดเปนสวนหนงของภาพวตถ

ใหแทนดวยจดภาพสด า รปท 7 แสดงการแยกวตถออกจากพนหลงดวยวธการแบงแยกส

รปท 7 (ซาย) ภาพวตถสแดง

(ขวา) ภาพวตถหลงจากผานกระบวนการแบงแยกส ซงเปนภาพขาวด า

2.4.2 การนบจ านวนองคประกอบในรปภาพ (Connected Component Counting)

หลงจากทไดภาพขาวด าจากการบวนการแบงแยกสแลว กระบวนการตอไป คอ การนบจ านวนองคประกอบภายในภาพเดยวกน การหาจ านวนองคประกอบ ท าไดโดยการกวาดจดภาพทกจดภาพ จากซายไปขวา และบนลงลาง เมอใดทเจอจดสขาว กจะพจารณาจดภาพรอบๆ จดนน ทง 4 ทศ วาจดภาพทศใดบางทมสขาว ถาจดภาพในทศใดมสขาว กจะท าการแผขยายไปตอในทศทางนน ท าเชนนไปเรอยๆ จนกระทงไม

Page 23: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

12

สามารถแผขยายไปไดอก (จดภาพทง 4 ทศเปนสด าหมด) การแผขยายจงหยด และจะไดวาในองคประกอบนนมจดภาพใดบาง และมจ านวนจดภาพกจด ขอมลเหลาน ท าใหสามารถหาต าแหนงจดศนยกลาง ขนาด และมตขององคประกอบนนได รปท 8 แสดงจ านวนองคประกอบในรปภาพ โดยทจดภาพสเดยวกน จะอยในองคประกอบเดยวกน

รปท 8 ภาพขนาด 13 x 13 pixels ทม 2 องคประกอบ

(ทมา: http://en.wikipedia.org/wiki/File:Two-pass_connected_component_labeling.svg)

ขอมลของแตละองคประกอบ จะประกอบดวย ต าแหนงจดศนยกลาง (cx, cy) ขนาด (A) และมต (ความกวาง (w), ความสง (h)) ให C เปนองคประกอบ และให I[r, c] เปนจดภาพ ณ ต าแหนง (r, c) จะไดวา

ขอมลของแตละองคประกอบ จะถกเกบอยในแถวล าดบความส าคญ (Priority Queue) ซงจดล าดบ

ความส าคญตามขนาดขององคประกอบ กลาวคอ ขอมลทจะถกดงออกมาจากแถวล าดบกอน จะเปนขอมล

ขององคประกอบทมขนาดใหญทสด ทท าเชนนเพราะองคประกอบทใหญทสด มแนวโนมทจะเปนวตถท

Page 24: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

13

ตองการมากทสด และส าหรบองคประกอบทมขนาดเลกเกนไป กจะไมถกเกบเขาแถวล าดบเลย เพราะม

แนวโนมสงมากทจะเปนสงรบกวนจากภายนอก

นอกจากน ระบบหนยนตหลายตว ตองมการจดการไมใหหนยนตเคลอนทชนกน ผพฒนาจงเลอกส

เขยว และสน าเงน มาประกอบกนเปนแถบส และน าไปตดตงบนหนยนตทกตว ดงรปท 9 เพอเปนสญลกษณ

แทนต าแหนงของหนยนต

รปท 9 แถบสเขยว-น าเงน ทตดตงบนตวหนยนต

ดงนน เมอหนยนตตรวจพบวตถทงสเขยวและสน าเงน จะตองท าการตรวจสอบวาเปนวตถทหนยนต

จะตองไปเกบ หรอเปนเพยงแคแถบสทใชแทนต าแหนงหนยนตเทานน วธการตรวจสอบวา ภาพวตถทมองเหน

นนเปนแถบส ท าไดดงน

ให G(x1, y1) และ B(x2, y2) เปนจดศนยกลางขององคประกอบสเขยว และสสน าเงน ตามล าดบ

ถา

หรอ

หรอกลาวอกนยหนง คอ พบองคประกอบสน าเงน อยบนองคประกอบสเขยว หรอพบองคประกอบส

เขยว อยบนองคประกอบสน าเงนนนเอง แสดงวา องคประกอบสเขยวและสน าเงนทเหนนน เปนแถบสบนตว

หนยนต นนคอ มหนยนตตวอนก าลงขวางแนวการเดนของหนยนตตวนอย

Page 25: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

14

2.5 การหลกเลยงการชนกนของหนยนต

ระบบหนยนตทออกแบบน สามารถปองกนไมใหหนยนตเคลอนทชนกนเองได แตไดเพยงบางกรณ

เทานน ดงรปท 10

จากรปบนซาย หนยนต R1 เหนแถบสของหนยนต R2 แตหนยนต R2 ไมเหนแถบสของหนยนต R1

ดงนน หนยนต R1 จะหยดการเคลอนท และใหหนยนต R2 เคลอนทผานไปจนกวาจะพนมมกลองของหนยนต

R1 หนยนต R1 จงจะกลบมาเคลอนทใหมอกครง

รปลางซาย เกดจากการทมมกลองของหนยนตไมกวางพอ ท าใหหนยนตทง 2 ตวไมเหนแถบส และท า

ใหหนยนตเคลอนทตอไปเรอยๆ จนมาบรรจบกนและชนกนในทสด สวนรปลางขวา เกดจากการทหนยนตแตละ

ตว ตางกเหนแถบสของหนยนตตวอนซงกนและกน ท าใหหนยนตทกตวในกลมนหยดการเคลอนท และจะหยด

รอไปเรอยๆ ไมมทสนสด สถานการณเชนน เรยกวา การตดตาย (Deadlock)

R2

R1

R2

R1

R3

รปท 10 (บนซาย) สถานการณทหนยนตสามารถปองกนการชนได

(ลางซาย) สถานการณทเกดจากมมกลองของหนยนตไมกวางพอ

(ลางขวา) สถานการณทกลมของหนยนตเกดการตดตาย

R2 R1

Page 26: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

15

2.6 การควบคมหนยนต Surveyor SRV-1 (Controlling Surveyor SRV-1 Robot)

เนองจากหนยนต Surveyor SRV-1 เปนหนยนต Open Source ทใชระบบปฏบตการ Linux ดงนน

ผพฒนาทกคนจงมสทธพฒนาโปรแกรมทใชควบคมหนยนต หรอทเรยกวา Console หรอพฒนา Library เพอ

ใชควบคมหนยนตไดเอง นอกจากนยงสามารถแกไข Firmware ภายในตวหนยนตไดอกดวย

การสงงานหนยนต Surveyor SRV-1 สามารถท าได 2 แบบ คอ

1. โดยการสงค าสงไปในรปแบบของ Byte Array ผานโปรโตคอล TCP หรอ UDP ส าหรบรปแบบของ

ค าสง สามารถดไดท http://www.surveyor.com/SRV_protocol.html [9]

2. โดยการเขยนโปรแกรมลงบนตวหนยนตโดยตรง โดยใชภาษา PicoC [12]

การสงโปรแกรมจากคอมพวเตอรไปเกบลงในหนวยความจ าแฟลซของหนยนต สามารถท าได 2

วธหลก คอ

1. ใชโปรโตคอล XMODEM [10] ซงเปนโปรโตคอลอยางงายทใชในการสงไฟล และมความสามาร

ตรวจสอบขอผดพลาดทเกดจากการสง โปรแกรมทรองรบการสงไฟลผานโปรโตคอล XMODEM เชน

โปรแกรม TeraTerm [11] ดงแสดงในรปท 11

2. ใชวธการสราง Console โดย Console จะเรยกใชโปรโตคอลของหนยนต Surveyor SRV-1 เพอท าการ

สง Byte Array ไปบอกหนยนตทจะโหลดโปรแกรมใสกอน จากนน Console จงคอยสงโปรแกรมไป

รปท 11 โปรแกรม TeraTerm ทรองรบโปรโตคอล XMODEM

Page 27: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

16

เนองจากโครงงานของผพฒนาเปนงานเฉพาะทาง ทจ าเปนตองใช Console ทมรปแบบการท างาน

แตกตางจาก Console ทมอยแลว กลาวคอ Console ตองสามารถประสานงานกบหนยนตตวอนๆ ได อกทงยง

ม Library เปนจ านวนมาก ทสามารถน ามาใชสราง Console ไดอยางสะดวก และนอกจากน ผพฒนาพบวา

การใชโปรแกรม TeraTerm ในการสงไฟล มความยงยากกวาการสราง Console ขนมาใชเอง ทงนเนองจาก

การสงโปรแกรมผานโปรแกรม TeraTerm จะตองน าโปรแกรมเกบลงไฟลกอน แลวจงคอยสงไฟลไป และหาก

ตองการใหโปรแกรมบนหนยนตท างาน จะตองเรยกใชโปรแกรม TeraTerm อกครงหนง แตถาเปน Console ท

เขยนขนเอง ผพฒนาสามารถออกแบบ Console ใหมทวางส าหรบใชแกไขโปรแกรม และมป มส าหรบโหลด

โปรแกรมลงบนตวหนยนต รวมทงมป มสงใหโปรแกรมบนตวหนยนตท างานอกดวย ผพฒนาจงตดสนใจสราง

Console ใชเอง โดยอางองจากซอรสโคดของ Console ทมอยแลว

ผพฒนาจะใช Library ของ AForge.NET [7] เพอพฒนา Console และ Console ทพฒนาขน จะม

ความสามารถในการสงงานหนยนตเบองตน เชน การควบคม Motor การสงงาน Laser การรบภาพจากกลอง

บนตวหนยนตมาแสดงผลและประมวลผล เปนตน และมความสามารถในการเขยนโปรแกรมลงใน

หนวยความจ าแฟลซของตวหนยนต หนาตาของ Console ทพฒนาขน แสดงดงรปท 12

Page 28: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

17

รปท 12 (บน) Console ทพฒนาขน เพอใชสงงานพนฐานใหกบหนยนต

(ลาง) Console ทพฒนาขน เพอใชส าหรบโหลดโปรแกรมลงบนหนวยความจ าแฟลช

อยางไรกตาม ผพฒนาไมสามารถน าโปรแกรมการตรวจหาวตถ ตามหวขอ 2.4 ทเขยนดวยภาษา

PicoC ไปใสไวในหนวยความจ าแฟลซ และใหหนวยประมวลผล (Processor) บนตวหนยนตท าการ

ประมวลผลได ทงนเนองจากหนวยความจ าบนตวหนยนตนอยเกนไป เปนผลท าใหการประมวลผลผดพลาด

และหากน า Library ส าหรบการตรวจหาวตถทมอยแลวในภาษา PicoC มาใช กไมสามารถท าได เพราะ

เนองจากจ านวนองคประกอบในภาพมากกนไป (อางองจากบรษทผผลตหนยนต Surveyor SRV-1) และตองม

การค านวณเพมเตม จงจะใช Library ได แตกยงท าใหการประมวลผลชาลงไปมาก ปญหาเหลาน สามารถด

รายละเอยดเพมเตมไดในบทท 7 ปญหาและอปสรรค

ดงนน ผพฒนาจงตดสนใจออกแบบให Console กลายเปนหนวยประมวลผลของหนยนตแทน โดย

Console หนง Console สามารถเชอมตอกบหนยนตไดเพยงตวเดยวเทานน และจะท าหนาทประมวลผลทก

อยางเกยวกบหนยนตตวทเชอมตอกบ Console นอย รวมทงการประมวลผลภาพดวย และ Console แตละ

Page 29: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

18

Console สามารถตดตอสอสารกบ Console อนๆ ได ทงนเพอใหเกดการประสานงานกนระหวางหนยนต

ภายในกลม ส าหรบตวหนยนตเอง กเพยงแตรบค าสงทไดรบการประมวลผลแลวจาก Console เทานน

กรณท Console ตองท าการตดตอกบหนยนต มอย 2 กรณ ดงน

1. การสงงานทวไป

การสงงานทวไป สามารถท าไดโดยการสงขอความในรปแบบทก าหนดให ผานโปรโตคอล TCP หรอ

UDP เชน หากตองการสงให Motor เดนหนาเปนเวลา 0.7 วนาท จะตองสง Byte Array เปน 0x4D 0x32 0x46

0x14 (หรอเขยนอยในรปขอความอกขระไดเปน “M22F”) หรอหากตองการสงเปด Laser จะตองสง Byte

Array เปน 0x6C (หรอเขยนอยในรปขอความอกขระไดเปน “l”) เปนตน

2. การเขยนโปรแกรมลงบนหนวยความจ าแฟลซ

การเขยนโปรแกรมลงบนหนวยความจ าแฟลซ สามารถท าไดโดยมขนตอนดงน

1. สงขอความ “zc” เพอท าการลางขอมลเดมในหนวยความจ าแฟลซออกใหหมด

2. สงขอความ “E” เพอเขาสโหมด Editor ส าหรบแกไขขอมลในหนวยความจ าแฟลซ

3. ส าหรบแตละบรรทดของโปรแกรม ใหสงขอความ “I” ไปบอกหนยนตกอน เพอบอกวาจะท าการเพม

ขอมลลงในหนวยความจ าแฟลซ

4. สงโปรแกรมบรรทดนนเขาไป

5. สงขอความ 0x1B หรอเปนขอความแสดงการกด Esc Key เพอออกจากโหมดการเพมขอมล

6. ท าขนตอนท 3-5 เรอยๆ จนสงโปรแกรมครบทกบรรทด

2.7 การตงคา IP และการแบง Subnet (IP Assignment and Subnetting)

หนยนต Surveyor SRV-1 รองรบการตดตอสอสารผาน Wireless LAN 802.11g ดงนน เพอทจะให

หนยนตตดตอสอสารกนไดภายในกลม ผพฒนาจ าเปนตองออกแบบระบบเครอขาย รปท 13 แสดงออกแบบ

ระบบเครอขาย โดยการตงคา IP ใหกบแตละสวน

Page 30: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

19

รปท 13 การออกแบบระบบ เพอใหหนยนตแตละตวสามารถประสานงานกนได

จากการตง Subnet Mask ท าใหสามารถก าหนด IP ในเครอขายนไดแตกตางกน 32 แบบ แตเครอขาย

น จะตองเสยไป 2 IP ส าหรบ Subnet Address และ Broadcast Address ดงนน ในเครอขายน จะมหนยนต

ไดมากทสด 28 ตว โดยกรณทสามารถใชหนยนตได 28 ตว คอ ให Console และโปรแกรมผใช ท างานในเครอง

คอมพวเตอรเครองเดยวกนใหหมด

Console หนง Console ท าหนาทควบคมหนยนต 1 ตว ดงทไดกลาวไปแลวในหวขอ 2.5 จากรปท 13

C1, C2 และ C3 ท าหนาทควบคมหนยนต R1, R2 และ R3 ตามล าดบ Console ตางๆ รวมทงโปรแกรมทใช

เรมระบบการท างานหนยนต (User Program) สามารถท างานบนเครองคอมพวเตอรเครองเดยวกน หรอตาง

เครองกนกได โดย Console และ User Program จะตดตอสอสารกนดวยโปรโตคอล TCP (Transmission

Control Protocol)

Subnet Mask = 255.255.255.224 Subnet Address = 10.0.0.0 Broadcast Address = 10.0.0.31

R1 R1

R2 R2

R3 R3

User Program: 10.0.0.19 C1: 10.0.0.14

C2: 10.0.0.16

C3: 10.0.0.18

R2: 10.0.0.15

R3: 10.0.0.17

R1: 10.0.0.13

Page 31: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

20

บทท 3 รายละเอยดของการพฒนา

3.1 เครองมอทใชในการพฒนา

3.1.1 ฮารดแวร (Hardware)

หนยนต Surveyor SRV-1 จ านวน 2 ตวขนไป

Cisco Aironet 1100 Series Wireless Access Point ส าหรบใชเปนศนยรวมการรบ-สงขอมลทงหมด

3.1.2 ซอฟตแวร (Software)

ระบบปฏบตการ Windows 7

Microsoft Visual Studio 2010 ส าหรบใชเขยนภาษา C#

AForge.NET Framework เวอรชน 2.1.5 ส าหรบใชตดตอกบหนยนต Surveyor SRV-1

3.1.3 อปกรณเสรมอนๆ

สนามฟวเจอรบอรดสขาว ทมความกวาง และความยาว มากกวา 1 เมตรขนไป แตไมเกน 2 เมตร

วตถทรงสเหลยม ทรงกระบอก และปรซมหนาตดรปสามเหลยม ทมขนาดทบรรจไดพอดในทรง

ลกบาศกขนาด 6 x 6 x 6 ลกบาศกเซนตเมตร

วตถทรงกระบอก ทจะใชเปนเปาหมายใหหนยนตน าวตถมาวาง และมขนาดเสนผานศนยกลาง 10

เซนตเมตร สง 20 เซนตเมตร

3.2 Functional Specification

Functional Specification ของระบบหนยนตหลายตว สามารถแบงไดออกเปน 3 สวน ตามหนาทการ

ท างาน คอ Functional Specification ของ Console ของโปรแกรมผใช และของกลมหนยนต

Page 32: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

21

3.2.1 Functional Specification ของ Console

1. Console สามารถสงงานพนฐานแกหนยนตได เชน สงใหมอเตอรหมน สงเปด Laser หรอสงใหรบภาพ

จากกลองทตดตงบนตวหนยนต และ Console ตองสามารถรองรบการเขยนโปรแกรมภาษา PicoC ลง

หนวยความจ าแฟลชบนตวหนยนตได

2. ผใชสามารถก าหนดคาสของวตถตางๆ โดยการเกบจดภาพตวอยางของวตถ จากภาพใน Console

รวมทงน าเขา หรอจดเกบคาสของวตถได

3. Console ตองมความสามารถในการประมวลผลภาพ (Image Processing) เพอใชใน

การตรวจหาวตถ

4. ผใชสามารถเขยนโปรแกรมสงงานหนยนตได โดยการเขยนโปรแกรมภาษา C# ในไฟล

RobotExecutionCode.cs ซงเปนไฟลเกบซอรสโคดการท างานของหนยนต และเปนสวนหนงของ

ซอรสโคดทงหมดของโปรแกรม Console ดงนน เมอมการแกไขไฟลน จะตองท าการคอมไพลโปรแกรม

Console ใหมทงหมด

5. Console ทพฒนาขนมา รวมทงซอรสโคดในไฟล RobotExecution.cs สามารถน าไปใชกบหนยนตตว

ใดกได (Write once, run anywhere)

3.2.2 Functional Specification ของโปรแกรมผใช

1. ผใชสามารถเรยกดสถานะการท างานของระบบหนยนตได

2. ผใชสามารถเรมการท างาน หรอหยดการท างานของระบบหนยนตหลายตวไดทกเมอ

3.2.3 Functional Specification ของกลมหนยนต

1. ในกรณทมหนยนตภายในกลมเกดขอผดพลาด ระบบจะตองรายงานใหผใชทราบ และหนยนตตวท

สามารถท างานได จะตองมาท างานแทนทหนยนตตวทขดของ

2. หนยนตภายในสนาม สามารถหลบหลกหนยนตตวอนได ตามรปแบบทไดอธบายไวในหวขอ 2.4

3. ระบบหนยนตหลายตว จะตองรองรบการเพม-ลดจ านวนหนยนตได โดยไมจ าเปนตองปรบแกระบบแต

อยางใด อยางไรกตาม ระบบหนยนตหลายตวสามารถรองรบจ านวนหนยนตไดไมเกน 5 ตว

Page 33: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

22

3.3 ขนตอนการท างานของระบบหนยนตหลายตว

ขนตอนการท างานของระบบหนยนต สามารถแบงไดเปน 7 ขนตอน ดงน

1. ผใชสงเรมระบบหนยนตหลายตว โดยผานทางโปรแกรมผ ใช

2. หนยนตแตละตว หมนรอบตวเองเพอหาวตถทตวมนเองจะตองไปจบ

3. เมอหนยนตพบวตถทตองการแลว หนยนตกจะมงหนาไปยงวตถชนนน

4. เมอหนยนตจบวตถไดแลว หนยนตจะตองหาต าแหนงเปาหมายทจะน าวตถไปวางตอ

5. เมอหนยนตพบต าแหนงเปาหมายแลว หนยนตจะตองน าวตถไปวางไว ณ ต าแหนงเปาหมาย

6. เมอหนยนตท างานเสรจแลว หนยนตตวนนจะรายงานใหหนยนตตวอนทราบ

7. เมอหนยนตทกตวท างานเสรจสนแลว กจะแจงใหผใชทราบผานทางโปรแกรมผใช

ขนตอนท 1 และ 2 สามารถแสดงไดโดยผงการท างานตามรปท 14

ขนตอนท 3 สามารถแสดงไดโดยผงการท างานตามรปท 15

ขนตอนท 4 สามารถแสดงไดโดยผงการท างานตามรปท 16

ขนตอนท 5, 6 และ 7 สามารถแสดงไดโดยผงการท างานตามรปท 17

ส าหรบกรณเฉพาะ ทท าใหขนตอนการท างานของระบบหนยนตหลายตว ไมตรงตามทไดเขยนไว มอย

2 กรณ คอ

1. หนยนตไมสามารถหาวตถทจะไปจบไดภายในระยะเวลาทก าหนด ทงทเกดจากการทหนยนตตว

อนบงวตถ และการทไมมวตถเหลอใหหนยนตตวนเขาไปจบเลย โดยหนยนตตวนจะหยดการ

คนหา และจะไมท าอะไรตอ แตจะรอท างานในกรณทมหนยนตตวอนเกดขอผดพลาด

2. หนยนตภายในกลมตรวจพบวา มหนยนตภายในกลมเกดขดของ ท าใหหนยนตตวทท างานเสรจ

แลว หรอตวทท างานได ตองเขามารบงานแทนทหนยนตทขดของ

กรณพเศษทง 2 กรณ สามารถแสดงไดโดยผงการท างานตามรปท 18

Page 34: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

23

� �

� �

B

5

รปท 14 ผงการท างานแสดงขนตอนการท างานท 1 และ 2

Page 35: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

24

A > 10000 pixels w > 0.5 * WIDTH

cx = � w =

A =

WIDTH = XCENTER = WIDTH / 2

B

D

cx > XCENTER + 40

cx < XCENTER - 40

� C

C

รปท 15 ผงการท างานแสดงขนตอนการท างานท 3

Page 36: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

25

E

D

รปท 16 ผงการท างานแสดงขนตอนการท างานท 4

Page 37: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

26

A > 7000 pixels w > 0.5 * WIDTH

cx = � w =

A =

WIDTH = XCENTER = WIDTH / 2

E

cx > XCENTER + 40

cx < XCENTER - 40

� F

F

� �

รปท 17 ผงการท างานแสดงขนตอนการท างานท 5, 6 และ 7

Page 38: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

27

� 5

G

G

ID �

ID � �

G

รปท 18 ผงการท างานแสดงขนตอนการตรวจสอบความผดพลาดของหนยนตในระบบ

ทจะท าใหเกดกรณพเศษขนมา

Page 39: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

28

3.4 โครงสรางของซอฟตแวร

รปท 19 โครงสรางของซอฟตแวรของ Console, โปรแกรมผใช และกลมหนยนต

Page 40: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

29

โครงสรางของซอฟตแวร (Software Architecture) ของระบบหนยนตหลายตว ดงรปท 19

ประกอบดวยโครงสรางซอฟตแวรของ 3 สวนยอย คอ

1. โครงสรางซอฟตแวรของ Console

2. โครงสรางซอฟตแวรของโปรแกรมผใช

3. โครงสรางซอฟตแวรของกลมหนยนต

โดยทแตละสวน ประกอบดวยโมดล (Module) ตางๆ ดงน

3.4.1 โครงสรางซอฟตแวรของ Console

1. TCP Communication Module

TCP Communication Module เปนโมดลทใชในการรบ-สงขอความสงงาน หรอขอความรายงาน

สถานะการท างานตางๆ กบระบบหนยนต และโปรแกรมผใช ภายในโมดลน จะมโมดลยอยทชอวา Message

Interpretation Module ส าหรบใชตความขอความ ทถกสงมาในรปแบบตางๆ วาเปนค าสง หรอสถานะการ

ท างานประเภทใดนนเอง

2. Image Processing Module

Image Processing Module เปนโมดลทท าหนาทรบภาพจากกลองของหนยนต มาท าการประมวลผล

โดยเรมแรก ผใชจะตองก าหนดคาสของวตถใหกบโปรแกรมกอน โดยผานทางไฟลขอความ (Text File) หรอ

ผานทาง Console โมดลน ประกอบดวย 2 โมดลยอยคอ

a. Object Detection Module เปนโมดลทท าหนาทหาต าแหนง ทศทาง และขนาด

ของวตถและปลายทาง

b. Collision Detection Module เปนโมดลทท าหนาทคอยตรวจสอบวา มหนยนตตวอนขวางแนวการ

เดนหรอไม โดยใชวธการหาต าแหนง ทศทาง และขนาดของแถบสทตดอยบนตวหนยนต

Page 41: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

30

3. Core Module

Core Module เปนโมดลทท าหนาทรบขอมลจากโมดล TCP Communication และ Image

Processing มาท าการประมวลผลตอ โดยขอมลทรบเขามา คอ ค าสงทใชสงงานหนยนต สถานะการท างาน

ของหนยนตภายในกลม และขอมลต าแหนง ทศทาง และขนาดของทงวตถและปลายทาง โมดลน ประกอบดวย

3 โมดลยอย คอ

a. Robot Execution Module เปนโมดลทก าหนดขนตอนการท างานของหนยนต และเปนโมดลท

สามารถแกไขได เพอใหหนยนตมการท างานเปนไปตามทผใชตองการ

b. Fault Tolerance Module เปนโมดลทคอยจดการเกยวกบความผดพลาดทเกดขนกบหนยนตภายใน

ระบบ และท าหนาทก คนระบบใหกลบสสภาพปกตเทาทจะเปนไปได

c. Coordination and Agreement Module ท าหนาทเกบสถานะการท างานของหนยนตทกตวภายใน

กลม และถาหากเกดการเปลยนแปลงกบระบบหนยนต โมดลน จะตองปรบปรงคาสถานะใหเปน

สถานะลาสดของระบบดวย

3.4.2 โครงสรางซอฟตแวรของโปรแกรมผใช

1. TCP Communication Module

TCP Communication Module เปนโมดลทใชในการรบ-สงขอความสงงาน หรอขอความรายงาน

สถานะการท างานตางๆ กบ Console ภายในโมดลน จะมโมดลยอยทชอวา Message Interpretation Module

ส าหรบใชตความขอความ ทถกสงมาในรปแบบตางๆ วาเปนค าสง หรอสถานะการท างานประเภทใดนนเอง

นอกจากน โมดลนยงท าหนาทรบค าสงจากผใช มาท าการวเคราะห และสงงานให Console รวมทงกลม

หนยนต ท างานตามทผใชตองการ

Page 42: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

31

3.4.3 โครงสรางซอฟตแวรของกลมหนยนต

1. TCP Communication Module

TCP Communication Module เปนโมดลทใชในการรบขอความสงงานจาก Console และสง

ขอมลภาพใหกบ Console

3.5 ขอบเขตละขอจ ากดของระบบทพฒนา

1. ระบบหนยนตหลายตวทพฒนาขนมาน สามารถท างานไดภายในสนาม ทมพนและขอบสนามเปนสขาว

เทานน หากท างานภายในสภาวะแวดลอมอน ระบบหนยนตจะท างานผดพลาด เพราะมแสงรบกวนจาก

ภายนอกมาก

2. ระบบหนยนตหลายตว สามารถปองกนการชนไดบางกรณเทานน กลาวคอ หนยนตสามารถปองกนการ

ชนได กตอเมอหนยนตตองเหนแถบสทตดตงบนหนยนตตวอน การเกดมมอบของกลอง ท าใหหนยนตไม

สามารถตรวจสอบต าแหนงของหนยนตตวอนได

3. ระบบหนยนตหลายตว สามารถทนตอความผดพลาดแบบแครช (Crash) ไดเทานน ไมสามารถทนตอ

ความผดพลาดแบบอารบทราร (Arbitrary) ได กลาวคอ หนยนตภายในกลม สามารถเขาไปชวยเหลอ

หนยนตทหยดการตอบสนองได แตจะไมสามารถเขาไปชวยเหลอหนยนตทท างาน แตท างานผดพลาดได

4. หนยนตสามารถท างานรวมกนได เมอหนยนตอยภายในเครอขายทก าหนดไวใหเทานน

5. ระบบหนยนตสามารถรองรบหนยนตไดไมเกน 5 ตว

Page 43: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

32

บทท 4 ผลการทดสอบระบบ

การทดสอบระบบ จะเรมจากการทดสอบความถกตองของหนวยการท างานยอยๆ กอน แลวจงคอย

ทดสอบระบบโดยรวมในภายหลง เพอเปรยบเทยบความถกตอง ระยะเวลาทใช และประสทธภาพระหวาง

หนยนตตวเดยว กบระบบหนยนตหลายตว ดงนน การทดสอบระบบจะแบงออกเปน 4 ชดการทดสอบ แต

กอนทจะกลาวถงรายละเอยดของการทดสอบ ผพฒนาขอนยามการระบต าแหนงและวตถในสนาม โดยใช

Configuration ซงการหา Configuration มขนตอนดงน

รปท 20 รปแสดงการบอกพกดของวตถ และหนยนตในสนาม

ให R, G, B เปนต าแหนงของวตถสแดง, สเขยว, สน าเงน, และ Ri เปนต าแหนงของหนยนตตวท i

Configuration ของสนามน คอ (R, G, B, R1, R2, …) และหากวตถใดหรอหนยนตตวใดไมมในสนาม กใชคา null แทน

+x(cm)

+y(cm)

R1

R

R2 G

B

Page 44: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

33

4.1 การทดสอบความแมนย าในการจบวตถ

ตารางท 1 ผลการทดสอบความแมนย าในการจบวตถ

Configuration ครงท ผลการทดสอบ

((90, 10), null, null, (10, 90), null) 1 หนยนตหาวตถไมพบ (null, (90, 10), null, (10, 90), null) 2 หนยนตหาวตถไมพบ (null, null, (90, 10),(10, 90), null) 3 หนยนตหาวตถไมพบ ((80, 30), null, null, (10, 90), null) 4 หนยนตหาวตถไมพบ (null, (80, 30), null, (10, 90), null) 5 หนยนตหยบวตถสเขยวได (null, null, (80, 30),(10, 90), null) 6 หนยนตหาวตถไมพบ ((85, 50), null, null, (10, 90), null) 7 หนยนตหยบวตถสแดงได (null, (85, 50), null, (10, 90), null) 8 หนยนตหยบวตถสเขยวได (null, null, (85, 50),(10, 90), null) 9 หนยนตหาวตถไมพบ ((50, 50), null, null, (10, 90), null) 10 หนยนตหยบวตถสแดงได (null, (50, 50), null, (10, 90), null) 11 หนยนตหยบวตถสเขยวไมได (null, null, (50, 50),(10, 90), null) 12 หนยนตหยบวตถสน าเงนได ((40, 75), null, null, (10, 90), null) 13 หนยนตหยบวตถสแดงได (null, (40, 75), null, (10, 90), null) 14 หนยนตหยบวตถสเขยวได (null, null, (40, 75),(10, 90), null) 15 หนยนตหยบวตถสน าเงนได

Page 45: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

34

4.2 การทดสอบความสามารถในการปองกนการชน

ตารางท 2 ผลการทดสอบความสามารถในการปองกนการชน

Configuration ครงท ผลการทดสอบ

(null, (30, 0), (100, 70)), (20, 70), (30, 80))

1 หนยนต R1 และ R2 ชนกนตงแตเรมการท างาน 2 หนยนต R1 และ R2 ชนกนตงแตเรมการท างาน

(null , (30, 0), (100, 50), (20, 50), (30, 80))

3 หนยนต R2 หยดรอหนยนต R1 ใหเคลอนทผานไปกอน 4 หนยนต R2 หยดรอหนยนต R1 ใหเคลอนทผานไปกอน

null , (30, 0), (100, 30), (20, 30), (30, 80))

5 หนยนต R2 ไมเหนหนยนต R1 แตไมเกดการชนกน 6 หนยนต R2 ไมเหนหนยนต R1 แตไมเกดการชนกน

(null , (50, 0), (100, 70), (20, 70), (50, 80))

7 หนยนต R2 หยดรอหนยนต R1 ใหเคลอนทผานไปกอน 8 หนยนต R2 หยดรอหนยนต R1 ใหเคลอนทผานไปกอน

(null , (50, 0), (100, 50), (20, 50), (50, 80))

9 หนยนต R1 และ R2 ชนกนตรงกลางสนาม 10 หนยนต R1 และ R2 ชนกนตรงกลางสนาม

(null , (50, 0), (100, 30), (20, 30), (50, 80))

11 หนยนต R2 หยดรอหนยนต R1 ใหเคลอนทผานไปกอน 12 หนยนต R2 หยดรอหนยนต R1 ใหเคลอนทผานไปกอน

(null , (70, 0), (100, 70), (20,70), (70, 80))

13 หนยนต R2 วงเขาหาหนยนต R1 เพราะคดวาเปนวตถสน าเงน 14 หนยนต R2 วงเขาหาหนยนต R1 เพราะคดวาเปนวตถสน าเงน

(null , (70, 0), (100, 50), (20, 50), (70, 80))

15 หนยนต R2 หยดรอหนยนต R1 ใหเคลอนทผานไปกอน 16 หนยนต R2 หยดรอหนยนต R1 ใหเคลอนทผานไปกอน

(null , (70, 0), (100, 30), (20, 30), (70, 80))

17 หนยนต R1 และ R2 ชนกนตรงบรเวณวตถ 18 หนยนต R1 และ R2 ชนกนตรงบรเวณวตถ

Page 46: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

35

4.3 การทดสอบความทนทานตอความผดพลาด โดยทดลองปดการท างานหนยนต 1 ตว

การทดสอบน จะทดลองปดสวตซทหนยนตตวท 2 ณ สถานะการท างานตางๆ ของระบบหนยนต

จากนนจงสงเกตการตอบสนองของหนยนตตวท 1

ตารางท 3 ผลการทดสอบความทนทานตอความผดพลาด

สถานะการท างานของหนยนต ครงท ผลการทดสอบ

หนยนตตวท 2 ยงหาวตถท จะเขาไปจบไมเจอ

1 หนยนตตวท 1 ท างานตอจนเสรจ

หนยนตตวท 2 หาวตถทจะเขาไปจบไดแลว และหนยนตตวท 1 ก าลงท างานอย

2 เมอหนยนตตวท 1 ท างานเสรจแลว จงจะไปชวยหนยนตตวท 2 ท างาน

หนยนตตวท 2 หาวตถทจะเขาไปจบไดแลว แตหนยนตตวท 1 วางงาน

3 หนยนตตวท 1 เรมการท างานอกครง โดยจะไปชวยหนยนตตวท 2 ท างาน

หนยนตตวท 2 วางงาน 4 หนยนตตวท 1 ท างานตอจนเสรจ

Page 47: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

36

4.4 การทดสอบความถกตองโดยรวม และเวลาทใช

Configuration ครงท ผลการทดสอบ

((40, 60), (50, 30), (70, 60), (30, 80), null)

1 หนยนต R1 ท างานเสรจในเวลา 37.3 วนาท 2 หนยนต R1 ท างานเสรจในเวลา 38.7 วนาท

((40, 60), (50, 30), (70, 60), (30, 80), (80, 80))

3 หนยนต R1 และ R2 ชนกนเพราะเกดจากมมอบกลอง 4 หนยนต R2 หยบวตถสน าเงนไมได

((40, 60), (50, 30), (70, 60), (30, 80), (80, 80), (20, 20))

5 หนยนต R2 และ R3 ชนปะทะกน เพราะแผงตงกลองบนตวหนบดบงแถบส

6 หนยนต R2 จบวตถสน าเงนไมได

((40, 60), (50, 30), (70, 60), (20, 80), null)

7 หนยนต R1 ท างานเสรจในเวลา 35.2 วนาท 8 หนยนต R1 ท างานเสรจในเวลา 38.1 วนาท

((40, 60), (50, 30), (70, 60), (20, 80), (80, 80))

9 หนยนต R2 ไมยอมปลอยวตถสน าเงน 10 หนยนตทงสองตวชวยกนท างานเสรจในเวลา 34.0 วนาท

((40, 60), (50, 30), (70, 60), (20, 80), (80, 80), (80, 20))

11 หนยนต R2 และ R3 ชนปะทะกน แตกเคลอนทตอไปได ท าใหหนยนตทงสามตว ท างานเสรจในเวลา 24.3 วนาท

12 หนยนต R2 ถก R1 ขวางอย แต R2 ไมสามารถตรจวจสอบได เพราะมมอบของกลอง

((40, 60), (50, 30), (70, 60), (60, 50), null)

13 หนยนต R1 ท างานเสรจในเวลา 37.0 วนาท 14 หนยนต R1 ท างานเสรจในเวลา 34.5 วนาท

((40, 60), (50, 30), (70, 60), (60, 50), (70, 50))

15 หนยนต R2 ขวางทาง R1 ในณะทหนยนต R1 จะไปหยบวตถสแดง ท าใหเกดการชนกน

16 หนยนต R2 ขวางทาง R1 ในณะทหนยนต R1 จะไปหยบวตถสแดง ท าใหเกดการชนกน

((40, 60), (50, 30), (70, 60), (60, 50), (70, 50), (40, 50))

17 หนยนต R3 ไมสามารถเคลอนทตอไปได เพราะตดแขนของหนยนต R1

18 หนยนตทงสามตวชวยกนท างานเสรจในเวลา 18.5 วนาท

Page 48: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

37

Configuration ครงท ผลการทดสอบ

((80, 50), (50, 20), (50, 50), (30, 80), null)

19 หนยนต R1 ท างานเสรจในเวลา 34.2 วนาท 20 หนยนต R1 ท างานเสรจในเวลา 42.2 วนาท

((80, 50), (50, 20), (50, 50), (30, 80), (80, 80))

21 หนยนต R1 จบวตถสเขยวไมได 22 หนยนต R1 จบวตถสน าเงนไมได และหนยนตเกดการชนกน

((80, 50), (50, 20), (50, 50), (30, 80), (80, 80), (20, 20))

23 หนยนต R1 ถอยหลงชน R3 24 หนยนต R2 ตดขอบสนาม

((80, 50), (50, 20), (50, 50), (20, 80), null)

25 หนยนต R1 จบวตถสเขยวไมได 26 หนยนต R1 ท างานเสรจในเวลา 35.4 วนาท

((80, 50), (50, 20), (50, 50), (20, 80), (80, 80))

27 หนยนต R1 จบวตถสเขยวไมได 28 หนยนตทงสองตวชวยกนท างานเสรจในเวลา 33.9 วนาท

((80, 50), (50, 20), (50, 50), (20, 80), (80, 80), (80, 20))

29 หนยนต R2 และ R3 ชนปะทะกน เพราะแผงตงกลองบนตวหนบดบงแถบส

30 หนยนต R2 และ R3 ชนปะทะกน เพราะแผงตงกลองบนตวหนบดบงแถบส

((80, 50), (50, 20), (50, 50), (60, 50), null)

31 หนยนต R1 จบวตถสเขยวไมได 32 หนยนต R1 ท างานเสรจในเวลา 30.6 วนาท

((80, 50), (50, 20), (50, 50), (60, 50), (70, 50))

33 หนยนต R1 และ R2 ชนกนตงแตตอนเรมงาน 34 หนยนต R1 และ R2 ชนกนตงแตตอนเรมงาน

((80, 50), (50, 20), (50, 50), (60, 50), (70, 50), (40, 50))

35 หนยนตทงสามตวหยบวตถได แตวงชนกนทกตว 36 หนยนตทงสามตวหยบวตถได แตวงชนกนทกตว

Page 49: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

38

ตารางท 4 ผลการทดสอบความถกตองโดยรวม และเวลาทใช

Configuration ครงท ผลการทดสอบ

((30, 70), (70, 30), (50, 50), (30, 80), null)

37 หนยนต R1 ท างานเสรจในเวลา 36.6 วนาท 38 หนยนต R1 ท างานเสรจในเวลา 42.1 วนาท

((30, 70), (70, 30), (50, 50), (30, 80), (80, 80))

39 หนยนต R1 และ R2 ชนกนเพราะเกดจากมมอบกลอง

40 หนยนต R1 ถกขวางโดยหนยนต R2 หนยนต R1 จงตองรอเปนเวลานาน ท าใหหนยนตทงสองตวชวยกนท างานเสรจในเวลา 122.3 วนาท

((30, 70), (70, 30), (50, 50), (30, 80), (80, 80), (20, 20))

41 หนยนตทงสามตวชวยกนท างานเสรจในเวลา 25.2 วนาท

42 หนยนต R1 ไมสามารถเคลอนทตอไปได เพราะตดแขนของหนยนต R3

((30, 70), (70, 30), (50, 50), (20, 80), null)

43 หนยนต R1 ท างานเสรจในเวลา 40.9 วนาท 44 หนยนต R1 ท างานเสรจในเวลา 45.6 วนาท

((30, 70), (70, 30), (50, 50), (20, 80), (80, 80))

45 หนยนตทงสองตวชวยกนท างานเสรจในเวลา 27.8 วนาท 46 หนยนตทงสองตวชวยกนท างานเสรจในเวลา 26.9 วนาท

((30, 70), (70, 30), (50, 50), (20, 80), (80, 80), (80, 20))

47 หนยนต R1 และ R2 ชนกนเพราะเกดจากมมอบกลอง

48 หนยนต R2 ไมสามารถเคลอนทตอไปได เพราะตดแขนของหนยนต R3

((30, 70), (70, 30), (50, 50), (60, 50), null, null)

49 หนยนต R1 จบวตถสเขยวไมได 50 หนยนต R1 ท างานเสรจในเวลา 40.6 วนาท

((30, 70), (70, 30), (50, 50), (60, 50), (70, 50), null)

51 หนยนต R1 และ R2 ชนกนเพราะเกดจากมมอบกลอง 52 หนยนต R1 และ R2 ชนกนเพราะเกดจากมมอบกลอง

((30, 70), (70, 30), (50, 50), (60, 50), (70, 50), (40, 50))

53 หนยนต R1 และ R3 ชนปะทะกน เพราะแผงตงกลองบนตวหนบดบงแถบส

54 หนยนต R1 ไมสามารถเคลอนทตอไปได เพราะตดแขนของหนยนต R3

Page 50: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

39

จ านวนหนยนต ผลการทดสอบ จ านวน 18 ครง

เวลาทใชโดยเฉลย (กรณทท างานถกตอง)

สวนเบยงเบนมาตรฐาน

1 ท างานส าเรจ 15 ครง 37.9 3.71

2 ท างานส าเรจ 5 ครง 30.6* 3.32*

3 ท างานส าเรจ 3 ครง 22.7 2.97

*คดจากคาการทดสอบ 4 ครง และตดผลการทดสอบ 1 ครงทมคาสงผดปกตออกไป

ตารางท 5 ตารางการเปรยบเทยบความถกตอง

และเวลาในการท างาน ของจ านวนหนยนตในกรณตางๆ 4.5 วเคราะหผลการทดสอบ

จากการทดสอบระบบหนยนตหลายตวทง 4 หวขอนน ผพฒนาพบวา ประสทธภาพ และระยะเวลา

การท างานของระบบหนยนตหลายตว ไมเปนไปตามทผพฒนาไดตงสมมตฐานไว ผพฒนาจงน าผลการ

ทดสอบมาวเคราะห และพบวาปญหาเหลาน ท าใหระบบหนยนตไมสามารถท างานไดถกตอง

1. เมอวตถอยไกลจากหนยนตมากเกนไป หนยนตจะมองไมเหนวตถ ท าใหหนยนตหาวตถไมพบ (อางอง

จากการทดสอบท 4.1)

2. ขณะทหนยนตตองการจะเขาไปหยบวตถ อาจเกดความลาชาของระบบเครอขาย หรอแสงของวตถ

เปลยนไปกได ท าใหหนยนตประมวลผลภาพผดพลาด หรอประมวลผลไมทน ท าใหหนยนตไมสามารถ

เขาไปจบวตถไดอยางแมนย า (อางองจากการทดสอบท 4.1)

3. หนยนตสามารถปองกนการชนไดเพยงบางกรณเทานน ตามทไดอธบายในหวขอ 2.3.2 นอกจากน

หนยนตอาจเกดขอผดพลาด โดยการมองแถบสเปนวตถกได (อางองจากการทดสอบท 4.2)

Page 51: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

40

4. ระบบหนยนตสามารถทนตอความผดพลาดแบบแครชเทานน ดงนน หากเกดความผดพลาดแบบอน

ระบบหนยนตจะท างานแบบผดพลาดตอไป (อางองจากการทดสอบท 4.3)

5. การวางของวตถ มผลตอความถกตองของระบบ และจากการทดสอบ ผพฒนาพบวา การวางวตถทง 3

ชน ตามแนวทแยง ท าใหระบบหนยนตหลายตวมประสทธภาพโดยรวมมากทสด (อางองจากการ

ทดสอบท 4.4)

Page 52: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

41

บทท 5 ปญหาและอปสรรค

ในระหวางการพฒนาระบบ ผพฒนาไดพบปญหามากมาย ซงท าใหการพฒนาระบบไมเปนไปตามท

คาดหวงไว และผพฒนาตองเสยเวลาสวนใหญไปกบการแกปญหา ปญหาบางปญหา ผพฒนาสามารถแกไข

ได ในขณะทบางปญหา กไมสามารถแกไขได เนองจากขอจ ากดทางฮารดแวร วธการทใช รวมทงความร ความ

เขาใจระบบของผพฒนาเอง ปญหาตางๆ ทผพฒนายงแกไขไมได จะถกเกบรวบรวมไว เพอน าไปแกไขตอใน

อนาคต ส าหรบรายละเอยดของปญหาตางๆ ทผพฒนาพบ มดงน

5.1 ขอบเขตของโครงงานไมชดเจน

ในชวงแรกของการพฒนาระบบหนยนตหลายตว ผพฒนาไดศกษางานวจยทผานมา และพบวา

หนยนตแตละตว จะมวธระบต าแหนงของตวมนเอง แตระบบหนยนตหลายตวทผพฒนาจดท าขนนน หนยนต

แตละตว จะไมรต าแหนงและทศทางของตนเอง ดงนน ผพฒนาจงตองออกแบบสนาม และสภาพแวดลอมของ

หนยนตเอง เพอใหหนยนตสามารถท างานได โดยทไมจ าเปนตองรวา วตถและหนยนตตวอนอย ณ ต าแหนงใด

ในสนาม อยางไรกตาม การออกแบบระบบในชวงแรก ผพฒนากยงไมสามารถก าหนดของเขตของโครงงานได

อยางชดเจน เพราะผพฒนาไดพบปญหาตางๆ เปนจ านวนมาก โดยสงทผพฒนาคดวาสามารถท าได แททจรง

แลวกลบท าไมไดอยางทคาดหวงไว จนกระทงผพฒนาไดท าการพฒนาระบบไประยะหนง จงสามารถก าหนด

ขอบเขตของโครงงานไดชดเจนขน

5.2 ผพฒนาขาดความรในการเขยนโปรแกรมบนตวหนยนต

การเขยนโปรแกรมบนหนยนต จ าเปนตองอาศยโปรโตคอลทมชอวา XMODEM ในการสงโปรแกรมไป

เกบยงหนวยความจ าแฟลซบนตวหนยนต ซงผพฒนายงขาดความรเกยวกบการตดตอสอสารระหวาง

คอมพวเตอรกบหนยนตโดยใชโปรโตคอลน และหลงจากทผพฒนาสามารถสงขอมลไปยงหนยนตไดแลว

ผพฒนากตองศกษาภาษา PicoC เพมเตมอก ซงเปนภาษาทใชในการสงงานหนยนต Surveyor SRV-1

Page 53: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

42

5.3 ฟงกชนการประมวลผลภาพในหนยนต ไมสามารถท างานได ในกรณทม สงรบกวนในภาพมาก [8]

หนยนต Surveyor SRV-1 มฟงกชนในการตรวจบวตถทสามารถเขยนไดดวยภาษา PicoC แตผพฒนา

พบวา การประมวลผลภาพ เพอท าการตรวจจบวตถ โดยใชฟงกชนของตวหนยนต มปญหาเปนอยางมาก

กลาวคอ ภาพน าเขา ทจะน ามาใชในการตรวจจบวตถ ตองเปนภาพทไมมสงรบกวน แตจากสภาพการท างาน

จรงของหนยนต เมอหนยนตเคลอนท ยอมท าใหภาพน าเขาเกดการเปลยนแปลง และเกดสงรบกวนในภาพมาก

ขน ท าใหฟงกชนตรวจจบวตถของหนยนต ไมสามารถท างานได เมอมสงรบกวนในภาพมากเกนไปไป

ผพฒนาไดพยายามศกษาวธการก าจดสงรบกวนในภาพ แตผพฒนากพบวา ฟงกชนการตรวจจบวตถ

มความเรวในการท างาน 150 มลลวนาทตอเฟรม และหากเพมสวนก าจดสงรบกวน กยงท าใหการตรวจหาวตถ

ชามากขนไปอก ในทางกลบกน หากน าภาพไปประมวลผลบนคอมพวเตอร กจะไดความเรว และความยดหยน

ในการประมวลผลมากกวาน ดวยเหตน ผพฒนาจงเลอกทจะพฒนาสวนประมวลผลภาพใน Console แทน

5.4 แสงของวตถเปลยนไป เมอหนยนตเคลอนทเขาใกลวตถ

ในระยะแรก ผพฒนาไดใชทฤษฎของการฉายภาพแบบทศนคต มาใชในการค านวณระยะหางระหวาง

หนยนตกบวตถ แตเมอหนยนตเคลอนทเขาใกลวตถมากขน สของวตถจะซดลง ท าใหหนยนตตรวจจบวตถได

แยลง สงผลใหขนาดของวตถทหาไดมความถกตองนอยลง ดงนน ผพฒนาจงเลอกใชความกวาง และขนาด

ของวตถโดยประมาณแทน แตอยางไรกตาม ความกวาง และขนาดของวตถทหามาได กยงมความ

คลาดเคลอนเปนอยางมาก เพราะความเขมของวตถลดลงจนแทบจะเปนสขาว

ผพฒนาพยายามศกษาวธการปรบคาสของวตถ ใหเขากบสภาพแวดลอมทเปลยนไป แตวธการนไม

ไดผล เพราะหนยนตจะจ าคาสคาลาสดทหนยนตเหนเสมอ ตวอยางเชน หากหนยนตเคลอนทไปใกลต าแหนง

ปลายทางสมวงมากๆ หนยนตจะปรบคาสของต าแหนงเปาหมายใหเปนสทมนเหน ซงกคอสทใกลสขาวมากๆ

นนเอง และจากนน หนยนตกเคลอนทไปหยบวตถอน และกท าการหาต าแหนงปลายทางอกครง ซงอยไกลจาก

ตวมน ท าใหในชวงน หนยนตจะไมสามารถหาต าแหนงปลายทางสมวงไดอกตอไป เพราะคาสมวงไดถก

เปลยนเปนสอนทใกลเคยงกบสขาวไปแลว ปญหาน ผพฒนายงไมสามารถแกไขได แตกเปนปญหาทผพฒนา

จะพยายามแกไขในอนาคต

Page 54: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

43

5.5 ไมมวธการหลบหลกหนยนตตวอนทด

ถงแมวาระบบหนยนตหลายตว จะมความสามารถในการปองกนการชนกน แตจากการทดสอบระบบ

ผพฒนาพบวา วธการปองกนการชนทพฒนาขนมา แทบจะไมสามารถท างานไดเลย เนองมาจากสาเหต 2

ประการดงน

1. หนยนตมแนวโนมทจะเคลอนทเขาหาต าแหนงเปาหมายพรอมๆ กน แตเนองจากมมอบของกลอง ท า

ใหหนยนตแตละตวไมเหนแถบสทตดอยบนหนยนตตวอน ท าใหหนยนตแตละตวไมมทางรเลยวา

ก าลงจะมหนยนตตวอนเคลอนทมาชน และท าใหหนยนตเคลอนทตอไป จนมาบรรจบกนและชนกน

ในทสด

2. เมอหนยนตพบหนยนตตวอน หนยนตจะหยดรอ แตหากหนยนตตวอนไมเคลอนท หนยนตตวนนจะ

หยดรอไปเรอยๆ ท าใหเกดการตดตาย แตอยางไรกตาม เมอหนยนตหยดรอนานถงชวงเวลาหนง

หนยนตจะเบยงซาย และพยายามเคลอนทออกไป แตสดทาย กจะมโอกาสสงมากทหนยนตจะหนมา

เจอหนยนตตวนนอก และกจะวนการท างานเชนนไปเรอยๆ ไมมทสนสด

ปญหาน ผพฒนายงไมสามารถหาวธการทดกวานได แตกเปนปญหาทผพฒนาจะพยายาม

แกไขในอนาคต

5.6 ลกษณะทางกายภาพของหนยนตแตละตวไมเหมอนกน

หนยนตแตละตวทน ามาใชงาน ถงแมจะเปนรนเดยวกน กมความสามารถในการท างานแตกตางกน

เนองจากความสกหรอทแตกตางกน ความแตกตางทผพฒนาพบ มทงความเรวของมอเตอร ความชดของกลอง

รวมทงความเรวในการสงขอมล ความแตกตางทางกายภาพ ท าใหหนยนตแตละตว ท างานไมเหมอนกน แมวา

จะใชโปรแกรมชดเดยวกนกตาม และอาจท าใหระบบหนยนตท างานผดพลาดในทสด

Page 55: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

44

5.7 ระบบเครอขายทใชมความลาชา

ระบบเครอขายไรสายทใช ถงแมวาจะเปนแบบ 802.11g ทมความเรวในการสงขอมล 54Mbps ซงจาก

การค านวณพบวา หนยนตสามารถสงภาพมาใหยงคอมพวเตอรได 30 ภาพตอวนาท แตจรงๆ แลว ขอมลท

สงไป จะตองถกเตมดวยขอมลอกชดหนงทเรยกวา Header ท าใหอตราการรบ-สงขอมล ชากวาทไดค านวณ ไว

และอตราการรบ-สงภาพ ทชากวา 30 ภาพตอวนาท กอาจท าใหการประมวลผลไมทนทวงท

นอกจากน ถงแมวาระบบเครอขาย จะสามารถรองรบการสงขอมลในปรมาณมากได แตการสงภาพ

โดยหนยนตหลายตว จะท าใหเกดความลาชา ทงในการสงภาพจากตวหนยนตไปยงคอมพวเตอร และการสง

ค าสงจากคอมพวเตอรไปยงหนยนต ดงรปท 21

รปท 21 ความลาชาในการสงงานระบบหนยนตหลายตว เทยบกบหนยนตตวเดยว

หนยนต 1 ตว

หนยนต 3 ตว

เรมสงงานหนยนต

หนยนต 1 ตวรบค าสง

เวลา

ระบบหนยนต 3 ตวรบค าสง

Page 56: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

45

บทท 6 แนวทางการพฒนาตอในอนาคต

เนองดวยระยะเวลาทจ ากด และความไมคนเคยของผพฒนาตอระบบหนยนตหลายตว ท าใหมหลายๆ

สวนในโครงงาน ไมส าเรจตามทผพฒนาไดคาดหวงไว อยางไรกตาม ผพฒนาไดเสนอแนวทางการพฒนาตอใน

อนาคต เพอเพมประสทธภาพใหกบระบบหนยนตหลายตว ดงน

1. พฒนาวธการหลกหนยนตตวอนภายในสนาม ซงอาจใชวธการลบภาพพนหลงของสนามและวตถออก

ภาพทเหลอคอ ภาพของหนยนตเทานน ท าใหสามารถหาต าแหนงของหนยนตได

2. พฒนาวธการตรวจจบวตถ แทนทจะพจารณาจากขนาดของวตถ กใชวธการตรวจหาขอบของวตถแทน

3. พฒนาหนยนตใหสามารถตรวจจบการท างานแบบอารบทราร (Arbitrary) ได ซงสามารถใชวธการ

ก าหนดระยะเวลามากสด ทยอมใหหนยนตท างานกได

4. พฒนาระบบหนยนตหลายตว เพอใหหนยนตสามารถท านายการเคลอนทลวงหนาได ท าใหหนยนตไม

จ าเปนตองตดตอกบ Console ตลอดเวลา

5. น าแขนจบของวตถออก และพฒนาใหหนยนตเรยนรวธการจบวตถทถกตองได

Page 57: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

46

บทท 7 ขอสรปและขอเสนอแนะ

หนยนตแตละตวภายในระบบหนยนตหลายตวทพฒนาขน สามารถแบงงานกนท าไดจรง แตหนยนต 2

ตวจะ ไดรบปรมาณงานทไมเทากน และถงแมวาหนยนต 3 ตว สามารถแบงงานกนท าไดดกวาหนยนต 2 ตว

แตยงเพมจ านวนหนยนต กจะยงจะเกดปญหามาก เมอหนยนตแตละตวตองท าการประสานงานกน และเมอ

หนยนตก าลงจะชนกน สงผลใหเวลาในการท างานของระบบหนยนตหลายตว นอยกวาหรอไมตางจากหนยนต

ตวเดยวมากนก ยงไปกวานน แมวาระบบหนยนตจะทนตอวามผดพลาด แตกทนไดเฉพาะความผดพลาด

แบบแครช (Crash) เทานน ไมสามารถทนตอความผดพลาดแบบอารบทราร (Arbitrary) ได ดงนน ระบบ

หนยนตหลายตว จงไมสามารถท างานตอไปได เมอเกดการชนกน หรอหยบวตถผด

จากผลการทดสอบ ผพฒนายงพบอกดวยวา ระบบหนยนตหลายตวทด หนยนตแตละตว จะตองไดรบ

ปรมาณงานทเทาๆ กน โดยทแตละงานตองแยกกนอยางอสระ และหนยนตภายในกลม จะตองมความสามารถ

ในการจดการความผดพลาดทด เพอใหระบบสามารถท างานตอไปไดอยางราบรน นอกจากน ระบบหนยนตทด

หนยนตภายในกลม ควรจะตองเรยนรความสามารถและการกระท าของตวมนเองไดดวย เพอทวาหนยนตจะได

ท างานไดแมนย ามากขน

Page 58: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

47

บทท 8 เอกสารอางอง

[1] รศ.ดร.ทวตย เสนวงศ ณ อยธยา. การประสานงานและการท าความตกลงระหวางโพรเซส. จฬาลงกรณมหาวทยาลย, 2006.

[2] Lynne E. Parker, “Heterogeneous Multi-Robot Cooperation,” Submitted to the Department of Electrical Engineering and Computer Science in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY, Feb 1994.

[3] J.Spletzer, A.K.Das, R.Fierro, C.J.Taylor, V.Kumar, and J.P.Ostrowski, “Cooperative Localization and Control for Multi-Robot Manipulation,” GRASP Laboratory – University of Pennsylvania, Philadelphia.

[4] Jonathan Fink, M.Ani Hsieh, and Vijay Kumar, “Multi-Robot Manipulation via Caging in Environments with Obstacles,” GRASP Laboratory – University of Pennsylvania, Philadelphia.

[5] Guilherme A.S.Pereira[a], Vijay Kumar[b], Mario F.M.Campos[a], “Decentralized Algorithms for Multi- Robot Manipulation via Caging,” [a]VERLab, DCC, Universidade Federal de Minas Gerais, Av. Antonio Carlos 6627, Belo Horizonte, MG 31270-010 Brazil, [b]GRASP Lab., University of Pennsylvania, 3330 Walnut Street, Philadelphia, PA 19104-6228 USA.

[6] Peng Cheng, Jonathan Fink, Vijay Kumar, “Abstractions and Algorithms for Cooperative Multiple Robot Planar Manipulation,” GRASP Lab., University of Pennsylvania, 3330 Walnut Street, Philadelphia, PA 19104 USA.

[7] Ashley Stroupe, Terry Huntsberger, Avi Okon, Hrand Aghazarian, Matthew Robinson, “Behavior-Based Multi-Robot Collaboration for Autonomous Construction Tasks,” Jet Propulsion Laboratory / California Institute of Technology 4800 Oak Grove Drive, Pasadena, CA 91 109.

[8] AForge.NET. AForge.NET:: Framework Features – Surveyor Robotics.

[Online] Available from: http://www.aforgenet.com/framework/features/surveyor_robotics.html [2010]. [9] Surveyor Corporation. Surveyor SRV-1 Blackfin Setup.

[Online] Available from: http://www.surveyor.com/blackfin/SRV_setup_bf.html [2010, Apr 24].

Page 59: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

48

[10] Surveyor Corporation. Definition of the SRV-1 Control Protocol (Blackfin Version).

[Online] Available from: http://www.surveyor.com/SRV_protocol.html [2010, Apr 24]. [11] Webopedia. What’s Xmodem?.

[Online] Available from: http://www.webopedia.com/TERM/X/Xmodem.html [2010]. [12] Wikipedia. Tera Term.

[Online] Available from: http://en.wikipedia.org/wiki/Tera_Term [2010, Sep 8]. [13] Surveyor Corporation. SRV-1 C Interpreter.

[Online] Available from: http://www.surveyor.com/C.html [2010, May 7]. [14] Surveyor Robotics Forum. Using the vblob function in PicoC.

[Online] Available from: http://www.surveyor.com/cgi-bin/yabb2/YaBB.pl?num=1250473596/0 [2010, Aug 16].

Page 60: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

49

บทท 9 ภาคผนวก

9.1 วธการตงคาระบบเครอขายไรสาย

9.1.1 การตงคา IP ใหกบเครองคอมพวเตอร

1. เขาไปท Wireless Network Properties และเลอกทแถบ Internet Protocol Version 4 (IPv4) จากนน

ใหคลกป ม Properties จะปรากฎหนาตางขนมาดงรป

รปท 22 วธการตงคา IP ใคกบเครองคอมพวเตอร

2. ตงคา IP address, Subnet mask และ Default gateway ใหถกตองตามทไดออกแบบไว

Page 61: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

50

9.1.2 การตงคา IP ใหกบหนยนต Surveyor SRV-1 [8]

1. เปดโปรแกรม Internet Explorer จากนน ใหใสคา IP ของหนยนตทตองการตงคา IP ใหม (คาเรมตน

คอ 169.254.0.10) จะปรากฎเมนทางดานซาย ส าหรบตงคาหนยนต ใหเลอกเมน WLAN จะปรากฎ

หนาตางดงรป ในชอง Network Name (SSID) ใหตงชอ Access point ทเราตองการใหหนยนต

เชอมตอ และเลอก Network Type เปน Infrastructure

รปท 23 การตงคา Network ใหกบหนยนต Surveyor SRV-1

2. จากนนเลอกเมน Network จะปรากฎหนาตางดงรป ในชอง Network Mode ใหเลอกเปน Wireless

Only จากนน ใหเลอก IP Configuration เปน Use the following IP configuration แลวจงตง IP address, Subnet mask และ Default gateway ใหถกตองตามทไดออกแบบไว

Page 62: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

51

รปท 24 การตงคา IP ใหกบหนยนต Surveyor SRV-1 9.1.3 การตงคา IP ของหนยนต ใหกบ Console

เปดไฟลชอ RobotInfo.txt และท าการเพมรายชอหนยนต กบ IP ของหนยนตนน โดยมรปแบบการ

เพมดงน

<ชอหนยนต> <หมายเลขหนยนต> <IP ของหนยนต>

Page 63: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

52

9.2 วธการใชงานระบบเบองตน

1. ดบเบลคลกทไอคอน เพอเปดโปรแกรมผใช โปรแกรมจะถกเปดขนมาดงรป

รปท 25 หนาตาเรมตนของโปรแกรมผใช

2. ดบเบลคลกทไอคอน เพอเปด Console โปรแกรมจะถกเปดขนมาดงรป

รปท 26 หนาตาเรมตนของ Console

Page 64: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

53

3. เลอกหนยนตทตองการเชอมตอ จากนนคลกป ม Connect โปรแกรมจะท าการเชอมตอเขากบ

โปรแกรมผใชและหนยนต เมอท าการเชอมตอไดแลว ภาพจากกลองของหนยนตจะถกน ามาแสดงบน

หนาจอของโปรแกรมน และผใชสามารถสงค าสงพนฐานไปควบคมได เชน สงใหมอเตอรหมน หรอเปด

เลเซอร เปนตน สวนฝงผใชโปรแกรม จะมการรายงานวาหนยนตตวน ไดถกเพมเขามาในระบบ

หนยนตหลายตว

รปท 27 การเปลยนแปลงในฝง Console (บน) และโปรแกรมผใช (ลาง)

Page 65: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

54

4. ขนตอนนจะเปนการหาคาสของวตถ ในสวนของ Color Sampling ใหเลอกสของวตถทตองการเกบคา

ตามรป คอ สน าเงน จากนน ใหกดเมาสป มซายคางไว และกวาดเมาสไปยงบรเวณทมสน าเงน เพอท า

การเกบตวอยางจดภาพสน าเงน สงเกตตรง Output จะขนคาส HSV ของจดภาพทท าการเกบตวอยาง

ท าเชนนไปเรอยๆ จนครบทง 4 ส

รปท 28 Output แสดงคาสของจดภาพทเกบมา

5. คลกป ม Calculate HSV Color ตรงชอง Output จะแสดงคาสของวตถ ทค านวณมาจากจดภาพ

หลายๆ จดทเลอกมา

รปท 29 Output แสดงคาสของวตถทค านวณได

Page 66: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

55

6. ในสวนของ Image สามารถเลอกไดวา จะใหแสดงภาพจากกลอง (Raw Image) ภาพขาวด าทแสดง

ถงจ านวนองคประกอบ (Blob) หรอต าแหนงของวตถได (Position)

รปท 30 สวนแสดงภาพทสามารถเปลยนรปแบบการแสดงผล

ไปเปนแบบจ านวนองคประกอบ (ซาย) หรอต าแหนงของวตถ (ขวา) ได

7. คลกป ม Start Execution ทโปรแกรมผใช ระบบหนยนตจะเรมท างาน และในระหวางทระบบหนยนต

ท างาน กจะมการรายงานสถานะเปนระยะๆ ทงในโปรแกรมผใช และ Console จนกระทงหนยนต

ท างานเสรจทกตว โปรแกรมผใช และ Console จงแจงสถานะการท างานวาท างานเสรจแลว

Page 67: Multi-Robot System for Object Manipulation · บทที่ 5 ปัญหาและอุปสรรค 41 5.1 ขอบเขตของโครงงานไม่ชัดเจน

56

รปท 31 สถานะการท างานของระบบหนยนตจะถกรายงาน

ทงฝง Console (ซาย) และฝงโปรแกรมผใช (ขวา)

หมายเหต: หากผใชตองการเขยนโปรแกรมลงบนหนวยความจ าแฟลชของหนยนต กสามารถท าไดโดยใชเมน Programming Tools ใน Console ซงมหนาตาดงรป

รปท 32 แสดงหนาตางของ Console ทใชส าหรบการเขยนโปรแกรม ลงบนหนวยความจ าแฟลซของหนยนต