Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
โครงงานทางวศวกรรม
เรอง
ระบบหนยนตหลายตวส าหรบการควบคมวตถ
Multi-Robot System for Object Manipulation
โดย
นายรงโรจน จนตเมธาสวสด 5031061821
อาจารยทปรกษาโครงงาน
ผชวยศาสตราจารย ดร.อรรถวทย สดแสง
อาจารย ดร.นทท นภานนท
รายงานนเปนสวนหนงของการศกษาวชา โครงงานวศวกรรมคอมพวเตอร
หลกสตรปรญญาวศวกรรมศาสตรบณฑต สาขาวศวกรรมคอมพวเตอร
ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร
จฬาลงกรณมหาวทยาลย
ปการศกษา 2553
บทคดยอ
ปจจบน หนยนตไดเขามามบทบาทตอชวตเรามากขน อยางไรกด หนยนตทมประสทธภาพมากขนก
ยอมมราคาแพงขน แตกไมไดท างานเรวขนมากนก และถาหนยนตตวนนเกดขดของ งานทเหลอทหนยนตยงท า
คางอย กจะด าเนนตอไปไมไดเลย ผพฒนาพบวา ปญหาเรองคาใชจาย เวลาในการท างาน และความทนทาน
ตอความผดพลาด เปนปญหาทส าคญ และยงคงเกดขนกบระบบหนยนตในปจจบน ดงนน ผพฒนาจงไดศกษา
และพฒนาระบบหนยนต ทสามารถแกไขปญหาเหลานได
ระบบหนยนตทพฒนาขน ประกอบดวยหนยนตมากกวา 1 ตว และทกตวตองเปนหนยนตแบบเดยวกน
(Homogeneous) โดยผพฒนาจะใชหนยนตยหอ Surveyor SRV-1 การท างานของระบบหนยนตน คอ
หนยนตภายในกลมตองท าหนาทเคลอนยายวตถ 3 ชน คอ ทรงกระบอกสน าเงน ทรงสเหลยมสเขยว และ
ปรซมหนาตดรปสามเหลยมสแดง ไปยงเปาหมายทก าหนดไวให นอกจากน หนยนตภายในกลมจะท างาน
ภายในสนามพนสขาว และตองตดตอสอสารกนภายในเครอขายไรสาย (Wireless LAN) เดยวกน
จากการทดสอบระบบหนยนตหลายตวทพฒนาขน ผพฒนาพบวา ระบบหนยนตหลายตว สามารถ
แกปญหาไดในเรองของคาใชจาย เวลาในการท างาน รวมทงความทนทานตอความผดพลาด อยางไรกตาม
ความถกตองและประสทธภาพของการท างาน ยงไมเปนทนาพอใจมากนก เนองจากมปญหาทางกายภาพท
เกดจากตวหนยนตเอง และปญหาทเกดจากสภาพแวดลอมภายนอกของหนยนต
โครงงานวศวกรรมคอมพวเตอร ปการศกษา 2553 ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย ลายมอชอนสต___________________________________ ลายมอชออาจารยทปรกษาโครงงาน___________________________________ ลายมอชออาจารยทปรกษาโครงงาน___________________________________
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___________________________________
กตตกรรมประกาศ
ในการจดท าโครงงานครงน ผพฒนาไดรบความอนเคราะหจาก ผศ.ดร.อรรถวทย สดแสง และ
อ.ดร.นทท นภานนท ในการใหค าแนะน าทเปนประโยชนตอการท าโครงงาน การน าเสนอโครงงาน รวมทง
การตอยอดโครงงานไปสงานวจยอนๆ
ขอขอบคณส านกงานพฒนาวทยาศาสตรและเทคโนโลยแหงชาต ทไดมอบทนวจยระดบปรญญาตร
ใหแกผพฒนาตลอดระยะเวลาการศกษา
ขอขอบคณภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย ทได
ประสทธประสาทวชาความรตลอดระยะเวลาการศกษา
ขอขอบคณพๆ จากหองวจย ISL2 ทไดเออเฟอสถานท และอปกรณตางๆ ทเกยวของกบโครงงาน
อกทงยงใหค าแนะน าทเปนประโยชน และวธการแกไขปญหาทเกดขนในระหวางการท าโครงงาน
สดทายน ขอขอบคณบดา มารดา ทคอยใหก าลงใจเสมอมา และคอยจดหาอปกรณในการท าโครงงาน
ใหอยางครบถวน
รงโรจน จนตเมธาสวสด
สารบญ
บทท 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
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
บทท 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
สารบญรป
รปท 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
รปท 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
รปท 28 Output แสดงคาสของจดภาพทเกบมา 54
รปท 29 Output แสดงคาสของวตถทค านวณได 54
รปท 30 สวนแสดงภาพทสามารถเปลยนรปแบบการแสดงผล
ไปเปนแบบจ านวนองคประกอบ (ซาย) หรอต าแหนงของวตถ (ขวา) ได 55
รปท 31 สถานะการท างานของระบบหนยนตจะถกรายงาน
ทงฝง Console (ซาย) และฝงโปรแกรมผใช (ขวา) 55-56
รปท 32 แสดงหนาตางของ Console ทใชส าหรบการเขยนโปรแกรม
ลงบนหนวยความจ าแฟลซของหนยนต 56
สารบญตาราง
ตารางท 1 ผลการทดสอบความแมนย าในการจบวตถ 33
ตารางท 2 ผลการทดสอบความสามารถในการปองกนการชน 34
ตารางท 3 ผลการทดสอบความทนทานตอความผดพลาด 35
ตารางท 4 ผลการทดสอบความถกตองโดยรวม และเวลาทใช 36-38
ตารางท 5 ตารางการเปรยบเทยบความถกตองและเวลาในการท างาน ของจ านวนหนยนตในกรณตางๆ 39
1
บทท 1 บทน า
1.1 ความเปนมาของโครงการ
ทกวนน หนยนตไดเขามามบทบาทในการด ารงชวตของมนษยมากขน ดงจะเหนไดจากการน าหนยนต
มาใชงานในหลายดานดวยกน เชน ในงานการผลตแบบอตสาหกรรม งานชวยเหลอผประสบภย งาน
ลาดตระเวนพนทเสยงภย ในภตตาคาร หรอแมกระทงน าหนยนตมาใชในบาน เพอใหท างานบานเลกๆ นอยๆ
อกดวย อยางไรกตาม หากตองการใหหนยนตมความสามารถหลากหลาย ราคาของตวหนยนตเองกยอมแพง
ขนไปดวย เพราะการประดษฐหนยนตแบบน อาจจ าเปนตองใชอปกรณชนดพเศษ และเมอหนยนตเกดความ
ผดพลาด งานทเหลอทก าลงด าเนนอยนน กจะหยดชะงกทนท
ในทางกลบกน หากกระจายงานใหหนยนตหลายๆ ตว โดยทแตละตวรบผดชอบงานเพยงบางสวนตาม
ความสามารถของหนยนตตวนน โอกาสทงานจะส าเรจลลวงไปไดกยอมมมากขน เพราะหากมหนยนตตวใดตว
หนงเกดขดของ หนยนตตวอนกยงสามารถท างานทเหลอตอไปได และเนองจากหนยนตแตละตวถกออกแบบ
มาใหมความสามารถเทาทจ าเปน ดงนน ชนสวนทเปนองคประกอบของตวหนยนตเอง กยอมมราคาถก เพราะ
สามารถหาซอไดตามทองตลาด
1.2 วตถประสงค
เพอสรางระบบหนยนตหลายตว ทชวยกนน าวตถ 3 ชน คอ ทรงกระบอก ทรงสเหลยม และปรซม
หนาตดรปสามเหลยม ไปรวมกน ณ ต าแหนงปลายทางทไดก าหนดไวให
2
1.3 ขอบเขตของโครงงาน
1. ระบบหนยนตสามารถขนยายวตถได 3 แบบ คอ ทรงกระบอก ทรงสเหลยม และปรซมหนาตดรป
สามเหลยม โดยวตถแตละชนมสน าเงน เขยว และแดงตามล าดบ
2. หนยนตแตละตว สามารถรบรรายละเอยดของวตถทง 3 แบบได โดยใชกลองทตดตงอยดานหนาของ
ตวหนยนต และสามารถคนหาวตถได โดยการหมนรอบตวเองแลวคอยตรวจสอบภาพทไดรบจาก
กลองมาเรอยๆ จนกวาจะเจอภาพของวตถทตองการ หนยนตจงหยดหมนรอบตวเอง
3. หนยนตแตละตว ไมรวาตวเองอย ณ ต าแหนงใดในสนาม หนยนตรเพยงแควา วตถแตละชน
เปาหมายทจะน าวตถไปวาง รวมทงหนยนตตวอนในสนาม อยใกล หรอไกลจากตวมนเองมากแคไหน
4. หนยนตทกตว จะตองรสถานะการท างานของตนเองและหนยนตตวอน โดยอาศยการสงขอความ
ตดตอกนเปนระยะๆ ภายในเครอขายไรสาย (Wireless LAN)
5. เมอมหนยนตตวใดตวหนงเกดขดของ หนยนตตวอนจะตองรบร และเขาไปท างานแทนหนยนตตวนน
1.4 แนวทางการด าเนนงาน
1. ศกษาคนควาขอมลทเกยวของ
ในขนตอนน จะท าการศกษาการตงคา IP ใหหนยนต การเขยนโปรแกรมลงบนหนยนต และการใช
กลองของหนยนต
2. จดเตรยมวสดทเกยวของกบการท าโครงงาน
ในขนตอนน จะท าการเตรยมอปกรณทเกยวของ ไดแก การเตรยมสนาม วตถ และหนยนต
Surveyor SRV-1 รวมทงออกแบบแขนส าหรบจบวตถ ซงจะถกน าไปตดตงทดานหนาของหนยนต
ในภายหลง
3
3. พฒนาโปรแกรมส าหรบจดการระบบหนยนตหลายตว ในขนตอนน จะท าการศกษา Library ทใชส าหรบการควบคมหนยนต และน า Library มาพฒนา
ตอยอดใหเปนโปรแกรมทใชควบคมระบบหนยนต หรอทเรยกวา Console อกทหนง
4. พฒนาระบบตรวจจบวตถ
ในขนตอนน จะท าการพฒนาสวนทใชในการตรวจจบชนดของวตถ โดยพจารณาจากสของวตถใน
ภาพ ถาตรวจพบสแดง แสดงวาพบวตถปรซมหนาตดรปสามเหลยม ถาตรวจพบสเขยว แสดงวาพบวตถ
ทรงสเหลยม และถาตรวจพบสน าเงน แสดงวาพบวตถทรงกระบอก นอกจากน ยงท าการพฒนาสวนทใช
ในการหาทศทางของวตถเทยบกบตวหนยนตอกดวย โดยพจารณาจากต าแหนงของวตถทปรากฎในภาพ
5. ออกแบบวธการเคลอนทหนยนต
ในขนตอนน จะท าการออกแบบวธการเคลอนทของหนยนต ในสถานการณตางๆ เพอใหหนยนต
เคลอนทไปยงต าแหนงปลายทางไดถกตองและไมชนสงกดขวาง
6. พฒนาหนยนตหนงตว เพอใหสามารถน าวตถไปวางไว ณ ต าแหนงทถกตองได
ในขนตอนน จะท าการทดลองเพอใหหนยนตเพยงหนงตว น าวตถไปวางไว ณ ต าแหนง
ปลายทางไดถกตอง
7. พฒนาระบบหนยนตหลายตว เพอใหสามารถน าวตถไปวางไว ณ ต าแหนงทถกตองได
เมอหนยนตหนงตวท างานไดถกตองแลว กจะท าการเพมจ านวนหนยนตใหมตงแต 2 ตวขนไป โดย
ท าการพฒนาใหหนยนตมการประสานงานกน เพอชวยกนน าวตถไปวางไวในต าแหนงปลายทางไดถกตอง
8. เปรยบเทยบผลการท างานทได ระหวางระบบหนยนตหลายตว กบหนยนตตวเดยว
ท าการเปรยบเทยบประสทธภาพทได ระหวางหนยนตตวเดยว กบระบบหนยนตหลายตว และท า
การเปรยบเทยบเวลาทใชเคลอนยายวตถทงหมดในสนามไปยงต าแหนงปลายทาง ระหวางหนยนต
ตวเดยว กบหนยนตหลายตว
4
1.5 ขนตอนและระยะเวลาการด าเนนงาน
รปท 1 Gantt chart แสดงขนตอนและระยะเวลาการด าเนนงาน
1.6 ประโยชนทคาดวาจะไดรบ
1. ระบบหนยนตหลายตวสามารถลดขอผดพลาดทเกดจากการท างานของหนยนตเพยงตวเดยวได
2. ระบบหนยนตหลายตวสามารถแกปญหาขอจ ากดทางดานฮารดแวรทมอยในปจจบนได
3. ระบบหนยนตหลายตวสามารถลดคาใชจายในการออกแบบและประดษฐหนยนตได
4. ระบบหนยนตหลายตว มความยดหยนสง กลาวคอ สามารถเพมจ านวนของหนยนตภายในกลมได
โดยไมจ าเปนตองแกไขระบบมากนก
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 ตว จะตองจด
วางตวกนเปนรปสามเหลยมหนาจว หนยนตแตละตวจะตองอย ณ ต าแหนงทเปนจดยอดของรป
สามเหลยม
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 เปนระบบทมพนฐานมาจากการแบงงานเปนล าดบชน งาน
ระดบลาง จะถกควมคมโดยงานระดบบนอกทหนง เชน การสงใหหนยนตเคลอนแขน (งานระดบบน) จะท าให
มอเตอรหมน (งานระดบลาง) แตงานวจยนไดใชวธลดความผดพลาดทเกดขนในระบบโดยการควบคม
ความเรวของมอเตอรใหเหมาะสม
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 แทนขนาดของวตถ
8
จากความสมพนธดงกลาว จะพบวา เมอวตถอยไกลกลอง หากเลอนวตถใหเขาใกลกลอง ขนาดของ
ภาพวตถจะเพมไมมากนก แตถาวตถอยใกลกลอง หากเลอนวตถใหใกลกลองเขามาอก ขนาดของภาพจะ
ใหญขนมาก ดงนน เราสามารถค านวณไดวา วตถอยหางจากหนยนตเทาใด โดยค านวณระยะหาง OC ตามรป
ดานบน และดอตราการเปลยนแปลงของขนาดของภาพ
อยางไรกตาม เมอน าวธการนไปใชจรง กลบไมไดผลตามทคาดไว ทงนเพราะเมอหนยนตเคลอนทเขา
ใกลวตถมากขน สของวตถกยอมเปลยนไป ท าใหหนยนตไมสามารถตรวจจบวตถไดอยางถกตอง ดงเชนรปท 3
เปนผลท าใหเกดความคลาดเคลอนในการหาวตถ ดงนน ผพฒนาจงใชวธการหาความกวางโดยประมาณของ
วตถ ควบคไปกบขนาดโดยประมาณของวตถ เพอใหมความแมนย ามากขน การหาความกวางและขนาด
โดยประมาณของวตถ จะกลาวถงในหวขอท 2.4 การตรวจหาวตถ (Object Detection)
รปท 3 (ซาย) เมอหนยนตอยไกลวตถ วตถจะมสสด
(ขวา) เมอหนยนตอยใกลวตถ วตถจะมสซดลง
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
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 องคประกอบ
11
ในทางทฤษฎ คา H เพยงอยางเดยว กเพยงพอส าหรบการบอกสของวตถ แตเมอน ามาใชจรง กลบไม
ไดผลตามทคาดหวงไว เพราะบรเวณพนหรอขอบสนามทอยใกลๆ วตถมาก กจะมคา H ทใกลเคยงกบวตถดวย
ดงนน ผพฒนาจงตองใชทงคา H, S และ V ในการจ าแนกวตถ
การแยกภาพวตถออกจากพนหลง ท าไดโดยพจารณาวาจดภาพ (Pixel) ใดในภาพ เปนจดภาพของ
วตถทก าลงพจารณาอย โดยดวาจดภาพทเลอกมานน มคา H, S และ V อยในชวงเดยวกบคา H, S และ V ของ
วตถนนหรอไม ถาคาทงสามอยในชวงเดยวกน แสดงวาจดภาพนนเปนสวนหนงของภาพวตถ ใหแทนดวยจด
ภาพสขาว ในทางกลบกน ถามคาใดคาหนงไมอยในชวง กแสดงวาจดภาพนนไมไดเปนสวนหนงของภาพวตถ
ใหแทนดวยจดภาพสด า รปท 7 แสดงการแยกวตถออกจากพนหลงดวยวธการแบงแยกส
รปท 7 (ซาย) ภาพวตถสแดง
(ขวา) ภาพวตถหลงจากผานกระบวนการแบงแยกส ซงเปนภาพขาวด า
2.4.2 การนบจ านวนองคประกอบในรปภาพ (Connected Component Counting)
หลงจากทไดภาพขาวด าจากการบวนการแบงแยกสแลว กระบวนการตอไป คอ การนบจ านวนองคประกอบภายในภาพเดยวกน การหาจ านวนองคประกอบ ท าไดโดยการกวาดจดภาพทกจดภาพ จากซายไปขวา และบนลงลาง เมอใดทเจอจดสขาว กจะพจารณาจดภาพรอบๆ จดนน ทง 4 ทศ วาจดภาพทศใดบางทมสขาว ถาจดภาพในทศใดมสขาว กจะท าการแผขยายไปตอในทศทางนน ท าเชนนไปเรอยๆ จนกระทงไม
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) ซงจดล าดบ
ความส าคญตามขนาดขององคประกอบ กลาวคอ ขอมลทจะถกดงออกมาจากแถวล าดบกอน จะเปนขอมล
ขององคประกอบทมขนาดใหญทสด ทท าเชนนเพราะองคประกอบทใหญทสด มแนวโนมทจะเปนวตถท
13
ตองการมากทสด และส าหรบองคประกอบทมขนาดเลกเกนไป กจะไมถกเกบเขาแถวล าดบเลย เพราะม
แนวโนมสงมากทจะเปนสงรบกวนจากภายนอก
นอกจากน ระบบหนยนตหลายตว ตองมการจดการไมใหหนยนตเคลอนทชนกน ผพฒนาจงเลอกส
เขยว และสน าเงน มาประกอบกนเปนแถบส และน าไปตดตงบนหนยนตทกตว ดงรปท 9 เพอเปนสญลกษณ
แทนต าแหนงของหนยนต
รปท 9 แถบสเขยว-น าเงน ทตดตงบนตวหนยนต
ดงนน เมอหนยนตตรวจพบวตถทงสเขยวและสน าเงน จะตองท าการตรวจสอบวาเปนวตถทหนยนต
จะตองไปเกบ หรอเปนเพยงแคแถบสทใชแทนต าแหนงหนยนตเทานน วธการตรวจสอบวา ภาพวตถทมองเหน
นนเปนแถบส ท าไดดงน
ให G(x1, y1) และ B(x2, y2) เปนจดศนยกลางขององคประกอบสเขยว และสสน าเงน ตามล าดบ
ถา
หรอ
หรอกลาวอกนยหนง คอ พบองคประกอบสน าเงน อยบนองคประกอบสเขยว หรอพบองคประกอบส
เขยว อยบนองคประกอบสน าเงนนนเอง แสดงวา องคประกอบสเขยวและสน าเงนทเหนนน เปนแถบสบนตว
หนยนต นนคอ มหนยนตตวอนก าลงขวางแนวการเดนของหนยนตตวนอย
14
2.5 การหลกเลยงการชนกนของหนยนต
ระบบหนยนตทออกแบบน สามารถปองกนไมใหหนยนตเคลอนทชนกนเองได แตไดเพยงบางกรณ
เทานน ดงรปท 10
จากรปบนซาย หนยนต R1 เหนแถบสของหนยนต R2 แตหนยนต R2 ไมเหนแถบสของหนยนต R1
ดงนน หนยนต R1 จะหยดการเคลอนท และใหหนยนต R2 เคลอนทผานไปจนกวาจะพนมมกลองของหนยนต
R1 หนยนต R1 จงจะกลบมาเคลอนทใหมอกครง
รปลางซาย เกดจากการทมมกลองของหนยนตไมกวางพอ ท าใหหนยนตทง 2 ตวไมเหนแถบส และท า
ใหหนยนตเคลอนทตอไปเรอยๆ จนมาบรรจบกนและชนกนในทสด สวนรปลางขวา เกดจากการทหนยนตแตละ
ตว ตางกเหนแถบสของหนยนตตวอนซงกนและกน ท าใหหนยนตทกตวในกลมนหยดการเคลอนท และจะหยด
รอไปเรอยๆ ไมมทสนสด สถานการณเชนน เรยกวา การตดตาย (Deadlock)
R2
R1
R2
R1
R3
รปท 10 (บนซาย) สถานการณทหนยนตสามารถปองกนการชนได
(ลางซาย) สถานการณทเกดจากมมกลองของหนยนตไมกวางพอ
(ลางขวา) สถานการณทกลมของหนยนตเกดการตดตาย
R2 R1
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
16
เนองจากโครงงานของผพฒนาเปนงานเฉพาะทาง ทจ าเปนตองใช Console ทมรปแบบการท างาน
แตกตางจาก Console ทมอยแลว กลาวคอ Console ตองสามารถประสานงานกบหนยนตตวอนๆ ได อกทงยง
ม Library เปนจ านวนมาก ทสามารถน ามาใชสราง Console ไดอยางสะดวก และนอกจากน ผพฒนาพบวา
การใชโปรแกรม TeraTerm ในการสงไฟล มความยงยากกวาการสราง Console ขนมาใชเอง ทงนเนองจาก
การสงโปรแกรมผานโปรแกรม TeraTerm จะตองน าโปรแกรมเกบลงไฟลกอน แลวจงคอยสงไฟลไป และหาก
ตองการใหโปรแกรมบนหนยนตท างาน จะตองเรยกใชโปรแกรม TeraTerm อกครงหนง แตถาเปน Console ท
เขยนขนเอง ผพฒนาสามารถออกแบบ Console ใหมทวางส าหรบใชแกไขโปรแกรม และมป มส าหรบโหลด
โปรแกรมลงบนตวหนยนต รวมทงมป มสงใหโปรแกรมบนตวหนยนตท างานอกดวย ผพฒนาจงตดสนใจสราง
Console ใชเอง โดยอางองจากซอรสโคดของ Console ทมอยแลว
ผพฒนาจะใช Library ของ AForge.NET [7] เพอพฒนา Console และ Console ทพฒนาขน จะม
ความสามารถในการสงงานหนยนตเบองตน เชน การควบคม Motor การสงงาน Laser การรบภาพจากกลอง
บนตวหนยนตมาแสดงผลและประมวลผล เปนตน และมความสามารถในการเขยนโปรแกรมลงใน
หนวยความจ าแฟลซของตวหนยนต หนาตาของ Console ทพฒนาขน แสดงดงรปท 12
17
รปท 12 (บน) Console ทพฒนาขน เพอใชสงงานพนฐานใหกบหนยนต
(ลาง) Console ทพฒนาขน เพอใชส าหรบโหลดโปรแกรมลงบนหนวยความจ าแฟลช
อยางไรกตาม ผพฒนาไมสามารถน าโปรแกรมการตรวจหาวตถ ตามหวขอ 2.4 ทเขยนดวยภาษา
PicoC ไปใสไวในหนวยความจ าแฟลซ และใหหนวยประมวลผล (Processor) บนตวหนยนตท าการ
ประมวลผลได ทงนเนองจากหนวยความจ าบนตวหนยนตนอยเกนไป เปนผลท าใหการประมวลผลผดพลาด
และหากน า Library ส าหรบการตรวจหาวตถทมอยแลวในภาษา PicoC มาใช กไมสามารถท าได เพราะ
เนองจากจ านวนองคประกอบในภาพมากกนไป (อางองจากบรษทผผลตหนยนต Surveyor SRV-1) และตองม
การค านวณเพมเตม จงจะใช Library ได แตกยงท าใหการประมวลผลชาลงไปมาก ปญหาเหลาน สามารถด
รายละเอยดเพมเตมไดในบทท 7 ปญหาและอปสรรค
ดงนน ผพฒนาจงตดสนใจออกแบบให Console กลายเปนหนวยประมวลผลของหนยนตแทน โดย
Console หนง Console สามารถเชอมตอกบหนยนตไดเพยงตวเดยวเทานน และจะท าหนาทประมวลผลทก
อยางเกยวกบหนยนตตวทเชอมตอกบ Console นอย รวมทงการประมวลผลภาพดวย และ Console แตละ
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 ใหกบแตละสวน
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
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 ของโปรแกรมผใช และของกลมหนยนต
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 ตว
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
23
� �
� �
�
�
�
�
�
�
B
5
�
�
�
รปท 14 ผงการท างานแสดงขนตอนการท างานท 1 และ 2
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
25
�
�
E
D
รปท 16 ผงการท างานแสดงขนตอนการท างานท 4
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
27
� 5
�
�
G
G
�
ID �
�
ID � �
�
�
G
�
�
�
รปท 18 ผงการท างานแสดงขนตอนการตรวจสอบความผดพลาดของหนยนตในระบบ
ทจะท าใหเกดกรณพเศษขนมา
28
3.4 โครงสรางของซอฟตแวร
รปท 19 โครงสรางของซอฟตแวรของ Console, โปรแกรมผใช และกลมหนยนต
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 เปนโมดลทท าหนาทคอยตรวจสอบวา มหนยนตตวอนขวางแนวการ
เดนหรอไม โดยใชวธการหาต าแหนง ทศทาง และขนาดของแถบสทตดอยบนตวหนยนต
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 รวมทงกลม
หนยนต ท างานตามทผใชตองการ
31
3.4.3 โครงสรางซอฟตแวรของกลมหนยนต
1. TCP Communication Module
TCP Communication Module เปนโมดลทใชในการรบขอความสงงานจาก Console และสง
ขอมลภาพใหกบ Console
3.5 ขอบเขตละขอจ ากดของระบบทพฒนา
1. ระบบหนยนตหลายตวทพฒนาขนมาน สามารถท างานไดภายในสนาม ทมพนและขอบสนามเปนสขาว
เทานน หากท างานภายในสภาวะแวดลอมอน ระบบหนยนตจะท างานผดพลาด เพราะมแสงรบกวนจาก
ภายนอกมาก
2. ระบบหนยนตหลายตว สามารถปองกนการชนไดบางกรณเทานน กลาวคอ หนยนตสามารถปองกนการ
ชนได กตอเมอหนยนตตองเหนแถบสทตดตงบนหนยนตตวอน การเกดมมอบของกลอง ท าใหหนยนตไม
สามารถตรวจสอบต าแหนงของหนยนตตวอนได
3. ระบบหนยนตหลายตว สามารถทนตอความผดพลาดแบบแครช (Crash) ไดเทานน ไมสามารถทนตอ
ความผดพลาดแบบอารบทราร (Arbitrary) ได กลาวคอ หนยนตภายในกลม สามารถเขาไปชวยเหลอ
หนยนตทหยดการตอบสนองได แตจะไมสามารถเขาไปชวยเหลอหนยนตทท างาน แตท างานผดพลาดได
4. หนยนตสามารถท างานรวมกนได เมอหนยนตอยภายในเครอขายทก าหนดไวใหเทานน
5. ระบบหนยนตสามารถรองรบหนยนตไดไมเกน 5 ตว
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
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 หนยนตหยบวตถสน าเงนได
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 ชนกนตรงบรเวณวตถ
35
4.3 การทดสอบความทนทานตอความผดพลาด โดยทดลองปดการท างานหนยนต 1 ตว
การทดสอบน จะทดลองปดสวตซทหนยนตตวท 2 ณ สถานะการท างานตางๆ ของระบบหนยนต
จากนนจงสงเกตการตอบสนองของหนยนตตวท 1
ตารางท 3 ผลการทดสอบความทนทานตอความผดพลาด
สถานะการท างานของหนยนต ครงท ผลการทดสอบ
หนยนตตวท 2 ยงหาวตถท จะเขาไปจบไมเจอ
1 หนยนตตวท 1 ท างานตอจนเสรจ
หนยนตตวท 2 หาวตถทจะเขาไปจบไดแลว และหนยนตตวท 1 ก าลงท างานอย
2 เมอหนยนตตวท 1 ท างานเสรจแลว จงจะไปชวยหนยนตตวท 2 ท างาน
หนยนตตวท 2 หาวตถทจะเขาไปจบไดแลว แตหนยนตตวท 1 วางงาน
3 หนยนตตวท 1 เรมการท างานอกครง โดยจะไปชวยหนยนตตวท 2 ท างาน
หนยนตตวท 2 วางงาน 4 หนยนตตวท 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 วนาท
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 หนยนตทงสามตวหยบวตถได แตวงชนกนทกตว
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
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)
40
4. ระบบหนยนตสามารถทนตอความผดพลาดแบบแครชเทานน ดงนน หากเกดความผดพลาดแบบอน
ระบบหนยนตจะท างานแบบผดพลาดตอไป (อางองจากการทดสอบท 4.3)
5. การวางของวตถ มผลตอความถกตองของระบบ และจากการทดสอบ ผพฒนาพบวา การวางวตถทง 3
ชน ตามแนวทแยง ท าใหระบบหนยนตหลายตวมประสทธภาพโดยรวมมากทสด (อางองจากการ
ทดสอบท 4.4)
41
บทท 5 ปญหาและอปสรรค
ในระหวางการพฒนาระบบ ผพฒนาไดพบปญหามากมาย ซงท าใหการพฒนาระบบไมเปนไปตามท
คาดหวงไว และผพฒนาตองเสยเวลาสวนใหญไปกบการแกปญหา ปญหาบางปญหา ผพฒนาสามารถแกไข
ได ในขณะทบางปญหา กไมสามารถแกไขได เนองจากขอจ ากดทางฮารดแวร วธการทใช รวมทงความร ความ
เขาใจระบบของผพฒนาเอง ปญหาตางๆ ทผพฒนายงแกไขไมได จะถกเกบรวบรวมไว เพอน าไปแกไขตอใน
อนาคต ส าหรบรายละเอยดของปญหาตางๆ ทผพฒนาพบ มดงน
5.1 ขอบเขตของโครงงานไมชดเจน
ในชวงแรกของการพฒนาระบบหนยนตหลายตว ผพฒนาไดศกษางานวจยทผานมา และพบวา
หนยนตแตละตว จะมวธระบต าแหนงของตวมนเอง แตระบบหนยนตหลายตวทผพฒนาจดท าขนนน หนยนต
แตละตว จะไมรต าแหนงและทศทางของตนเอง ดงนน ผพฒนาจงตองออกแบบสนาม และสภาพแวดลอมของ
หนยนตเอง เพอใหหนยนตสามารถท างานได โดยทไมจ าเปนตองรวา วตถและหนยนตตวอนอย ณ ต าแหนงใด
ในสนาม อยางไรกตาม การออกแบบระบบในชวงแรก ผพฒนากยงไมสามารถก าหนดของเขตของโครงงานได
อยางชดเจน เพราะผพฒนาไดพบปญหาตางๆ เปนจ านวนมาก โดยสงทผพฒนาคดวาสามารถท าได แททจรง
แลวกลบท าไมไดอยางทคาดหวงไว จนกระทงผพฒนาไดท าการพฒนาระบบไประยะหนง จงสามารถก าหนด
ขอบเขตของโครงงานไดชดเจนขน
5.2 ผพฒนาขาดความรในการเขยนโปรแกรมบนตวหนยนต
การเขยนโปรแกรมบนหนยนต จ าเปนตองอาศยโปรโตคอลทมชอวา XMODEM ในการสงโปรแกรมไป
เกบยงหนวยความจ าแฟลซบนตวหนยนต ซงผพฒนายงขาดความรเกยวกบการตดตอสอสารระหวาง
คอมพวเตอรกบหนยนตโดยใชโปรโตคอลน และหลงจากทผพฒนาสามารถสงขอมลไปยงหนยนตไดแลว
ผพฒนากตองศกษาภาษา PicoC เพมเตมอก ซงเปนภาษาทใชในการสงงานหนยนต Surveyor SRV-1
42
5.3 ฟงกชนการประมวลผลภาพในหนยนต ไมสามารถท างานได ในกรณทม สงรบกวนในภาพมาก [8]
หนยนต Surveyor SRV-1 มฟงกชนในการตรวจบวตถทสามารถเขยนไดดวยภาษา PicoC แตผพฒนา
พบวา การประมวลผลภาพ เพอท าการตรวจจบวตถ โดยใชฟงกชนของตวหนยนต มปญหาเปนอยางมาก
กลาวคอ ภาพน าเขา ทจะน ามาใชในการตรวจจบวตถ ตองเปนภาพทไมมสงรบกวน แตจากสภาพการท างาน
จรงของหนยนต เมอหนยนตเคลอนท ยอมท าใหภาพน าเขาเกดการเปลยนแปลง และเกดสงรบกวนในภาพมาก
ขน ท าใหฟงกชนตรวจจบวตถของหนยนต ไมสามารถท างานได เมอมสงรบกวนในภาพมากเกนไปไป
ผพฒนาไดพยายามศกษาวธการก าจดสงรบกวนในภาพ แตผพฒนากพบวา ฟงกชนการตรวจจบวตถ
มความเรวในการท างาน 150 มลลวนาทตอเฟรม และหากเพมสวนก าจดสงรบกวน กยงท าใหการตรวจหาวตถ
ชามากขนไปอก ในทางกลบกน หากน าภาพไปประมวลผลบนคอมพวเตอร กจะไดความเรว และความยดหยน
ในการประมวลผลมากกวาน ดวยเหตน ผพฒนาจงเลอกทจะพฒนาสวนประมวลผลภาพใน Console แทน
5.4 แสงของวตถเปลยนไป เมอหนยนตเคลอนทเขาใกลวตถ
ในระยะแรก ผพฒนาไดใชทฤษฎของการฉายภาพแบบทศนคต มาใชในการค านวณระยะหางระหวาง
หนยนตกบวตถ แตเมอหนยนตเคลอนทเขาใกลวตถมากขน สของวตถจะซดลง ท าใหหนยนตตรวจจบวตถได
แยลง สงผลใหขนาดของวตถทหาไดมความถกตองนอยลง ดงนน ผพฒนาจงเลอกใชความกวาง และขนาด
ของวตถโดยประมาณแทน แตอยางไรกตาม ความกวาง และขนาดของวตถทหามาได กยงมความ
คลาดเคลอนเปนอยางมาก เพราะความเขมของวตถลดลงจนแทบจะเปนสขาว
ผพฒนาพยายามศกษาวธการปรบคาสของวตถ ใหเขากบสภาพแวดลอมทเปลยนไป แตวธการนไม
ไดผล เพราะหนยนตจะจ าคาสคาลาสดทหนยนตเหนเสมอ ตวอยางเชน หากหนยนตเคลอนทไปใกลต าแหนง
ปลายทางสมวงมากๆ หนยนตจะปรบคาสของต าแหนงเปาหมายใหเปนสทมนเหน ซงกคอสทใกลสขาวมากๆ
นนเอง และจากนน หนยนตกเคลอนทไปหยบวตถอน และกท าการหาต าแหนงปลายทางอกครง ซงอยไกลจาก
ตวมน ท าใหในชวงน หนยนตจะไมสามารถหาต าแหนงปลายทางสมวงไดอกตอไป เพราะคาสมวงไดถก
เปลยนเปนสอนทใกลเคยงกบสขาวไปแลว ปญหาน ผพฒนายงไมสามารถแกไขได แตกเปนปญหาทผพฒนา
จะพยายามแกไขในอนาคต
43
5.5 ไมมวธการหลบหลกหนยนตตวอนทด
ถงแมวาระบบหนยนตหลายตว จะมความสามารถในการปองกนการชนกน แตจากการทดสอบระบบ
ผพฒนาพบวา วธการปองกนการชนทพฒนาขนมา แทบจะไมสามารถท างานไดเลย เนองมาจากสาเหต 2
ประการดงน
1. หนยนตมแนวโนมทจะเคลอนทเขาหาต าแหนงเปาหมายพรอมๆ กน แตเนองจากมมอบของกลอง ท า
ใหหนยนตแตละตวไมเหนแถบสทตดอยบนหนยนตตวอน ท าใหหนยนตแตละตวไมมทางรเลยวา
ก าลงจะมหนยนตตวอนเคลอนทมาชน และท าใหหนยนตเคลอนทตอไป จนมาบรรจบกนและชนกน
ในทสด
2. เมอหนยนตพบหนยนตตวอน หนยนตจะหยดรอ แตหากหนยนตตวอนไมเคลอนท หนยนตตวนนจะ
หยดรอไปเรอยๆ ท าใหเกดการตดตาย แตอยางไรกตาม เมอหนยนตหยดรอนานถงชวงเวลาหนง
หนยนตจะเบยงซาย และพยายามเคลอนทออกไป แตสดทาย กจะมโอกาสสงมากทหนยนตจะหนมา
เจอหนยนตตวนนอก และกจะวนการท างานเชนนไปเรอยๆ ไมมทสนสด
ปญหาน ผพฒนายงไมสามารถหาวธการทดกวานได แตกเปนปญหาทผพฒนาจะพยายาม
แกไขในอนาคต
5.6 ลกษณะทางกายภาพของหนยนตแตละตวไมเหมอนกน
หนยนตแตละตวทน ามาใชงาน ถงแมจะเปนรนเดยวกน กมความสามารถในการท างานแตกตางกน
เนองจากความสกหรอทแตกตางกน ความแตกตางทผพฒนาพบ มทงความเรวของมอเตอร ความชดของกลอง
รวมทงความเรวในการสงขอมล ความแตกตางทางกายภาพ ท าใหหนยนตแตละตว ท างานไมเหมอนกน แมวา
จะใชโปรแกรมชดเดยวกนกตาม และอาจท าใหระบบหนยนตท างานผดพลาดในทสด
44
5.7 ระบบเครอขายทใชมความลาชา
ระบบเครอขายไรสายทใช ถงแมวาจะเปนแบบ 802.11g ทมความเรวในการสงขอมล 54Mbps ซงจาก
การค านวณพบวา หนยนตสามารถสงภาพมาใหยงคอมพวเตอรได 30 ภาพตอวนาท แตจรงๆ แลว ขอมลท
สงไป จะตองถกเตมดวยขอมลอกชดหนงทเรยกวา Header ท าใหอตราการรบ-สงขอมล ชากวาทไดค านวณ ไว
และอตราการรบ-สงภาพ ทชากวา 30 ภาพตอวนาท กอาจท าใหการประมวลผลไมทนทวงท
นอกจากน ถงแมวาระบบเครอขาย จะสามารถรองรบการสงขอมลในปรมาณมากได แตการสงภาพ
โดยหนยนตหลายตว จะท าใหเกดความลาชา ทงในการสงภาพจากตวหนยนตไปยงคอมพวเตอร และการสง
ค าสงจากคอมพวเตอรไปยงหนยนต ดงรปท 21
รปท 21 ความลาชาในการสงงานระบบหนยนตหลายตว เทยบกบหนยนตตวเดยว
หนยนต 1 ตว
หนยนต 3 ตว
เรมสงงานหนยนต
หนยนต 1 ตวรบค าสง
เวลา
ระบบหนยนต 3 ตวรบค าสง
45
บทท 6 แนวทางการพฒนาตอในอนาคต
เนองดวยระยะเวลาทจ ากด และความไมคนเคยของผพฒนาตอระบบหนยนตหลายตว ท าใหมหลายๆ
สวนในโครงงาน ไมส าเรจตามทผพฒนาไดคาดหวงไว อยางไรกตาม ผพฒนาไดเสนอแนวทางการพฒนาตอใน
อนาคต เพอเพมประสทธภาพใหกบระบบหนยนตหลายตว ดงน
1. พฒนาวธการหลกหนยนตตวอนภายในสนาม ซงอาจใชวธการลบภาพพนหลงของสนามและวตถออก
ภาพทเหลอคอ ภาพของหนยนตเทานน ท าใหสามารถหาต าแหนงของหนยนตได
2. พฒนาวธการตรวจจบวตถ แทนทจะพจารณาจากขนาดของวตถ กใชวธการตรวจหาขอบของวตถแทน
3. พฒนาหนยนตใหสามารถตรวจจบการท างานแบบอารบทราร (Arbitrary) ได ซงสามารถใชวธการ
ก าหนดระยะเวลามากสด ทยอมใหหนยนตท างานกได
4. พฒนาระบบหนยนตหลายตว เพอใหหนยนตสามารถท านายการเคลอนทลวงหนาได ท าใหหนยนตไม
จ าเปนตองตดตอกบ Console ตลอดเวลา
5. น าแขนจบของวตถออก และพฒนาใหหนยนตเรยนรวธการจบวตถทถกตองได
46
บทท 7 ขอสรปและขอเสนอแนะ
หนยนตแตละตวภายในระบบหนยนตหลายตวทพฒนาขน สามารถแบงงานกนท าไดจรง แตหนยนต 2
ตวจะ ไดรบปรมาณงานทไมเทากน และถงแมวาหนยนต 3 ตว สามารถแบงงานกนท าไดดกวาหนยนต 2 ตว
แตยงเพมจ านวนหนยนต กจะยงจะเกดปญหามาก เมอหนยนตแตละตวตองท าการประสานงานกน และเมอ
หนยนตก าลงจะชนกน สงผลใหเวลาในการท างานของระบบหนยนตหลายตว นอยกวาหรอไมตางจากหนยนต
ตวเดยวมากนก ยงไปกวานน แมวาระบบหนยนตจะทนตอวามผดพลาด แตกทนไดเฉพาะความผดพลาด
แบบแครช (Crash) เทานน ไมสามารถทนตอความผดพลาดแบบอารบทราร (Arbitrary) ได ดงนน ระบบ
หนยนตหลายตว จงไมสามารถท างานตอไปได เมอเกดการชนกน หรอหยบวตถผด
จากผลการทดสอบ ผพฒนายงพบอกดวยวา ระบบหนยนตหลายตวทด หนยนตแตละตว จะตองไดรบ
ปรมาณงานทเทาๆ กน โดยทแตละงานตองแยกกนอยางอสระ และหนยนตภายในกลม จะตองมความสามารถ
ในการจดการความผดพลาดทด เพอใหระบบสามารถท างานตอไปไดอยางราบรน นอกจากน ระบบหนยนตทด
หนยนตภายในกลม ควรจะตองเรยนรความสามารถและการกระท าของตวมนเองไดดวย เพอทวาหนยนตจะได
ท างานไดแมนย ามากขน
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].
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].
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 ใหถกตองตามทไดออกแบบไว
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 ใหถกตองตามทไดออกแบบไว
51
รปท 24 การตงคา IP ใหกบหนยนต Surveyor SRV-1 9.1.3 การตงคา IP ของหนยนต ใหกบ Console
เปดไฟลชอ RobotInfo.txt และท าการเพมรายชอหนยนต กบ IP ของหนยนตนน โดยมรปแบบการ
เพมดงน
<ชอหนยนต> <หมายเลขหนยนต> <IP ของหนยนต>
52
9.2 วธการใชงานระบบเบองตน
1. ดบเบลคลกทไอคอน เพอเปดโปรแกรมผใช โปรแกรมจะถกเปดขนมาดงรป
รปท 25 หนาตาเรมตนของโปรแกรมผใช
2. ดบเบลคลกทไอคอน เพอเปด Console โปรแกรมจะถกเปดขนมาดงรป
รปท 26 หนาตาเรมตนของ Console
53
3. เลอกหนยนตทตองการเชอมตอ จากนนคลกป ม Connect โปรแกรมจะท าการเชอมตอเขากบ
โปรแกรมผใชและหนยนต เมอท าการเชอมตอไดแลว ภาพจากกลองของหนยนตจะถกน ามาแสดงบน
หนาจอของโปรแกรมน และผใชสามารถสงค าสงพนฐานไปควบคมได เชน สงใหมอเตอรหมน หรอเปด
เลเซอร เปนตน สวนฝงผใชโปรแกรม จะมการรายงานวาหนยนตตวน ไดถกเพมเขามาในระบบ
หนยนตหลายตว
รปท 27 การเปลยนแปลงในฝง Console (บน) และโปรแกรมผใช (ลาง)
54
4. ขนตอนนจะเปนการหาคาสของวตถ ในสวนของ Color Sampling ใหเลอกสของวตถทตองการเกบคา
ตามรป คอ สน าเงน จากนน ใหกดเมาสป มซายคางไว และกวาดเมาสไปยงบรเวณทมสน าเงน เพอท า
การเกบตวอยางจดภาพสน าเงน สงเกตตรง Output จะขนคาส HSV ของจดภาพทท าการเกบตวอยาง
ท าเชนนไปเรอยๆ จนครบทง 4 ส
รปท 28 Output แสดงคาสของจดภาพทเกบมา
5. คลกป ม Calculate HSV Color ตรงชอง Output จะแสดงคาสของวตถ ทค านวณมาจากจดภาพ
หลายๆ จดทเลอกมา
รปท 29 Output แสดงคาสของวตถทค านวณได
55
6. ในสวนของ Image สามารถเลอกไดวา จะใหแสดงภาพจากกลอง (Raw Image) ภาพขาวด าทแสดง
ถงจ านวนองคประกอบ (Blob) หรอต าแหนงของวตถได (Position)
รปท 30 สวนแสดงภาพทสามารถเปลยนรปแบบการแสดงผล
ไปเปนแบบจ านวนองคประกอบ (ซาย) หรอต าแหนงของวตถ (ขวา) ได
7. คลกป ม Start Execution ทโปรแกรมผใช ระบบหนยนตจะเรมท างาน และในระหวางทระบบหนยนต
ท างาน กจะมการรายงานสถานะเปนระยะๆ ทงในโปรแกรมผใช และ Console จนกระทงหนยนต
ท างานเสรจทกตว โปรแกรมผใช และ Console จงแจงสถานะการท างานวาท างานเสรจแลว
56
รปท 31 สถานะการท างานของระบบหนยนตจะถกรายงาน
ทงฝง Console (ซาย) และฝงโปรแกรมผใช (ขวา)
หมายเหต: หากผใชตองการเขยนโปรแกรมลงบนหนวยความจ าแฟลชของหนยนต กสามารถท าไดโดยใชเมน Programming Tools ใน Console ซงมหนาตาดงรป
รปท 32 แสดงหนาตางของ Console ทใชส าหรบการเขยนโปรแกรม ลงบนหนวยความจ าแฟลซของหนยนต