CEW 08 Introduction to Robotic

Document Sample
CEW 08 Introduction to Robotic Powered By Docstoc
					                                                                                                         1
CEW-08: Introduction to Robotics (แนะนำระบบหุ่นยนต์)

วัตถุประสงค์ของกำรทดลอง
                     ี
        เพื่อศึกษาวิธการควบคุม และติดต่อกับหุ่นยนต์ Robo-Box ผ่านทางโปรแกรมคอมพิวเตอร์

อุปกรณ์กำรทดลอง
                            ั
       ชุด Robo-Box ของ บริษท Innovative Experiment, โปรแกรม Cricket Logo และ เครื่องคอมพิวเตอร์

        ้ ้
ควำมรูเบืองต้น
ส่วนที่ 1 ชุด Robo-Box
ส่วนประกอบหลักของ Robo-Box คือ
    1. i-Box เป็ น microcontroller board สามารถทางานตามโปรแกรมทีกาหนดได้ โดยประกอบด้วยไมโครคอนโทรเลอร์
                                                                   ่
          และวงจรประกอบ โดยมีโปรแกรม เพื่อแปลภาษาโลโก้ ให้เป็ นการทางาน




ส่วนประกอบของ i-Box คือ
        อินพุตพอร์ต สีดา 5 พอร์ต (SENSOR0 – SENSOR4) สาหรับเซ็นเซอร์
        อินพุตพอร์ต สีขาว 4 พอร์ต (IN 0 – 3) สาหรับ สวิทช์
        เอาท์พุตพอร์ต สีขาว 2 พอร์ต (OUT-1, OUT-2)
        เอาท์พุตพอร์ต สีขาว/ดา 4 พอร์ต (DIRECT, INVERT) สาหรับมอเตอร์ A และ B
           ่           ่
        ปุมควบคุม 2 ปุมได้แก่
         -          ่                ่             ่
                  ปุม On-Off - ปุม Run/Stop เริมหรือหยุดรันโปรแกรม
2
           LED บอกสถานะภาพ ได้แก่
                     สีแดง ON จะสว่างถ้าป้อนไฟให้ i-box ทางาน, สีเหลือง SEND จะกระพริบตามการส่งข้อมูล
                     สีเขียว RUN จะสว่างเมื่อ i-box กาลังทางานตามโปรแกรม
 นอกจากนี้แล้ว ยังมีลาโพงเล็กๆอยู่ภายใน ลาโพงนี้สามารถให้กาเนิดชุดเสียงต่างๆได้
        2. ตัวส่งอิ นฟรำเรด (UCON-700) เป็ นตัวเชื่อมโยงแบบไร้สายให้เครื่องคอมพิวเตอร์สามารถติดต่อกับกล่อง i-Box
ผ่านอินฟราเรด โดยต่อ UCON-700 กับ USB port ของเครื่องคอมพิวเตอร์
        3. อุปกรณ์ประกอบเป็ นหุ่นยนต์ ได้แก่ มอเตอร์, ลูกล้อ, แผ่นอลูมเิ นียมสาหรับต่อ, เซ็นเซอร์แบบต่างๆ
เซ็นเซอร์ประกอบด้วย
                                          ่           ่
             เซ็นเซอร์สวิทช์ เมื่อกด จะมีคา voltage ทีขา data เป็ น 0 Volt เมื่อไม่ถูกกด จะมีค่า 5 volt
                          ิ
             เซ็นเซอร์อนฟาเรด แบบแสงสะท้อน จะมี LED ส่งแสงอินฟาเรด เมื่อแสงสะท้อนเข้าตัวรับค่า จะมี voltage 0-5 volt
  ้
ขึนกับความเข้มแสงทีรบได้  ่ั
ส่วนที่ 2 Cricket LOGO
                        ่          ่                    ่       ่ ่ ั
           เป็ นภาษาทีใช้ในการสังงาน หุ่นยนต์ โดยเพิมเติมคาสังทีให้กบภาษาโลโก้ โดยมีโปรแกรม Cricket LOGO เป็ น editor
                   ั
และส่งข้อมูลให้กบหุ่นยนต์ ภาษา cricket logo มีโครงสร้างดังนี้
1. Procedure จะประกอบด้วย
to procedure_name                                            to start
                                                              a, on
procedure body                                                wait 10
                                                              a, off
end                                                          end


                  การเรียกใช้ procedure สามารถเรียกโดยชื่อ เช่น start
                ่
2. กำรสังงำนมอเตอร์ จะประกอบ ด้วย มอเตอร์ a และ b การสังงานโดยชื่อ a, b, และใช้ ab, จะหมายถึงทังสองตัว
                                                                          ่                                       ้
ตามด้วยคาสัง่ on, off, onfor ระยะเวลา หน่วยเป็ น 1/10 วินาที (หรือ 1/100 วินาที แล้วแต่รุ่น), brake, thisway, thatway, rd
(หมุนกลับทาง) และ setpower 1-8
เช่น a, on a, off a, thisway a, thatway a, onfor 10 a, setpower 3
                  b, on ab, on
                  ต้องมีช่องว่ำงหลังจำก “,” เสมอ
            ่
3. คำสังหน่ วงเวลำ
                                                                   ่
                  คาสัง่ wait ระยะเวลา เป็ นการรอตามระยะเวลาทีกาหนด หน่วยเป็ น 1/10 วินาที (หรือ 1/100 วินาที แล้วแต่รุ่น) เช่น
wait 10
        ่
4. คำสังเกี่ยวกับเสียง
                  คาสัง่ beep ให้ ลาโพงส่งเสียง
                                                                            ่ ่ี                     ่
                  คาสัง่ note ความถี ่ ระยะเวลา ให้ลาโพงส่งเสียงตามความถีทกาหนด เป็ นระยะเวลาทีกาหนด โดยความถี่
กาหนดเป็ นตัวเลขหรือตัวอักษรตามตาราง เช่น note 100 50
          ่
5. คำสังเกี่ยวกับ อิ นพุตพอร์ต
                  สาหรับ IN 0 – 3 สามารถ อ่านค่าได้ โดยใช้คาสัง่ in ช่อง หรือ switch ช่อง ให้ค่าเป็ นจริง ถ้ามีการกด switch เช่น
 in 0 หรือ switch 0
                  สาหรับ sensor 0 – 4 ใช้คาสัง่ sensor ช่อง จะทาการอ่านค่าของ sensor มีค่าระหว่าง 0 – 1024 เช่น sensor 0
              ่
6. คำสังเกี่ยวกับ อิ นฟำเรด
                  คาสัง่ send ค่า เป็ นการส่งค่าจาก controller กลับมาที่ โปรแกรม cricket logo หรือ ส่งให้กบหุนยนต์ตวอื่น
                                                                                                          ั ่       ั
7. กำรคำนวน
                  การคานวณ สามารถคานวณ +, - , * , / และ %
                  การเปรียบเทียบ สามารถ เปรียบเทียบโดย เครื่องหมาย =, >, <
                                                                                                                 3
        การคานวณทางตรรกะ สามารถคานวณ and, or, not, xor
        มี function สาหรับการคานวณ เช่น abs, random
8. ประโยคควบคุม
        loop [ โปรแกรม ]                           ทางานซ้า
                           ้
        repeat จานวนครัง [ โปรแกรม ]                                        ้ ่
                                                   ทางานซ้า ตามจานวนครังทีกาหนด
              ่
        if เงือนไข [ โปรแกรม ]                     ถ้าเงื่อนไขเป็ นจริง ทางานตามโปรแกรม
                  ่
        ifelse เงือนไข [ โปรแกรม1 ] [โปรแกรม2] ถ้าเงื่อนไขเป็ นจริง ทางานตามโปรแกรม1
                                         เป็ นเท็จ ทางานโปรแกรม 2
                       ่
        waituntil [ เงือนไข ]                                                 ่
                                                   ทาการตรวจสอบ จนกระทังเงื่อนไขเป็ นจริง
        stop                                                                         ่     ่
                                                   จบการทางานของ procedure กลับสูโปรแกรม ทีเรียก

                           ่ ่                 ื
ภาษา Cricket logo ยังมีคาสังอืนๆ อ่านได้จากคู่มอ

      โปรแกรม logo จะทำงำนทีละคำสัง เมื่อเสร็จสิ้ น จะทำงำนคำสังถัดไป กำรตรวจสอบเงือนไข
                                  ่                            ่                   ่
                        ่
จะตรวจสอบสถำนะขณะที่คำสังทำงำน จะประมวลผลและทำงำนตำมผลของเงื่อนไขทันที

กำรทดลอง
                                                                   ่                ่ี    ู
   1. ประกอบหุ่นยนต์ เพื่อใช้ประกอบตลอดการทดลองนี้ตามคาอธิบายทีให้ไว้ หุ่นยนต์ทสร้างอาจมีรปร่างหน้าตาดังรูปที่ 1
      ต่อสายมอเตอร์เข้ากับ Direct ของ Motor A และ Motor B (หรือ ช่องต่อสีขาวที่ A และ B)




                                    รูปที ่ 1 ตัวอย่างหุ่นยนต์ ทีใ่ ช้ประกอบการทดลอง
    2. ต่ออุปกรณ์ ติดต่อระหว่างหุ่นยนต์ กับ คอมพิวเตอร์ ด้วยวิธี 2.1 หรือ 2.2 ตามรุ่นของหุ่นยนต์
                                                                          ้
       2.1 ต่อตัวส่งอินฟราเรด (UCON-700) เข้ากับ USB port และ ชีไปยัง หัวรับส่ง อินฟราเรด ของหุ่นยนต์

                                                            ่ ่
        2.2 หรือ ต่อ ตัวแปลง USB เป็ น RS 232 (UCON-232S) ทีชอง USB ของคอมพิวเตอร์ และ ต่อ สาย RS232 เข้ากับ
          ่
        ทีต่อ ของหุ่นยนต์

                                                                                         ้     ั
    3. เปิ ดโปรแกรม Cricket LOGO เลือก Serial Port ที่ COM 4**** (หมายเหตุ Serial Port ขึนอยู่กบการต่ออุปกรณ์)
4
                                                                                        ้
    4. หัดเขียนโปรแกรมโดยให้หุ่นยนต์เดินหน้าเป็ นเวลา 4 วินาทีแล้วถอยหลัง 4 วินาที จากนันให้หยุด โดยใช้ Cricket
       LOGO ดังรูปที่ 2




                                                                                            ั
                                รูปที ่ 2 หน้าตาของCricket LOGO ทีใ่ ช้ในการเขียนโปรแกรมให้กบหุ่นยนต์
**** หมำยเหตุ เพิ่ มคำสัง set power 1 หลังบรรทัด to start
หลังจาก เขียนโปรแกรมเสร็จ กด download (LED สีเหลืองของ UCON-700 และ LED สีเหลืองของ i-box จะกระพริบ)
                                                ่                                         ่           ่
หลังจาก download เสร็จ พิมพ์ start ทีช่อง Command Center กด enter หุ่นยนต์จะเริมทางาน หรือ กดปุม RUN ที่ i-box
               ่
procedure ทีอยู่ในช่อง Run this จะถูกเรียกใช้งาน โดย LED สีเขียว ของ i-box จะสว่าง และดับลงเมื่อจบการทางาน
คาสัง่ thisway และ thatway เป็ นการกาหนดทิศทางการหมุนของล้อ
                                                    ้
                       ถ้ำไม่พบว่ำมีอะไรเกิ ดขึน ให้ทดลองเปลี่ยนค่ำ 40 เป็ น 400
                              ่                   ้          ่                          ้                           ้
      5. เขียนโปรแกรมทีทาให้โรบอตเลียวเป็ นรูปสีเ่ หลียม โดยให้หุ่นยนต์ เดินหน้า เลียว 90 องศา เดินหน้าอีกที แล้วเลียว 90
                                                               ่          ้
           องศา และทาเช่นนี้ไปเรื่อยๆ จนครบเป็ นรูปสีเ่ หลียม การเลียว ทาได้โดยการให้
                       ั                              ั
           มอเตอร์ตวหนึ่งหมุนอีกตัวหนึ่งอยู่กบที่ หรือ ให้มอเตอร์หมุนในทิศทางกลับทางกัน ตัวอย่างโปรแกรมที่ 1 และ 2
                                                        ่
           ดังนี้ สังเกตความแตกต่างของการสังให้ โรบอตเคลื่อนที่ จากคาสัง onfor และ การใช้ on ร่วมกับ wait
                 โปรแกรมที่ 1                                    โปรแกรมที่ 2
             to start                                     to start
                 setpower 1                                      setpower 1
                 ab, on                                   loop [
                 loop [                                          a, onfor 2
                 a, off                                          ab, onfor 5
                 wait 3                                            ]
                 a, on                                    end
                 wait 5
                 ]
             end
                                                                                                                         5

                             ั                  ้
    6. ปรับแต่งหุนยนต์ให้ได้ดง รูปที่ 3 โดยติดตังเซ็นเซอร์สวิสช์ เข้ากับช่อง in 0 และ in 1 ของกล่อง i-Box
                                                          to start
                                                            setpower 1
                                                            ab, thisway
                                                            ab, on
                                                            loop [
                                                               if ( (in 0) or (in 1) ) [ab, brake ]
                                                              ]
                                                          End

                   ี่ ั
รูปที ่ 3 หุ่นยนต์ทดดแปลงแล้ว

โปรแกรมควบคุมการทางาน โดยอ่านค่าจากเซนเซอร์ จะให้หุ่นยนต์ เคลื่อนไปข้างหน้าไปเรื่อยๆ
       ่ ่
จนกระทังชนสิงกีดขวางแล้วจึงให้หยุด ตามโปรแกรมดังนี้
                                              ่
    7. ดัดแปลงโปรแกรมเพื่อให้หุ่นยนต์หลบสิงกีดขวางกัน                                          ่           ่
                                                                              โดยเมื่อไรก็ตามทีหุ่นยนต์ชนสิงกีดขวาง
                                                                          ่                ่
        ให้ถอยหลังออกมาเล็กน้อยแล้วจึงให้เลียวและวิงต่อไป ข้อสังเกต คำสัง loop จะไม่มีคำสังออกจำก loop
                                            ้      ่
             ้               ั                                        ่ ิ
    8. ติดตังเซ็นเซอร์แสงใต้ตวหุ่นยนต์ และต่อสายสัญญาณเข้ากับ i-box ทีอนพุต sensor 0 และ sensor 1 ดังรูปที่ 4




                                                                  ี่ ิ ้
                                      รูปที ่ 4 ลักษณะของหุ่นยนต์ทตดตังเซ็นเซอร์แสง
to start                         ** ต้องใช้เสำพลำสติ กรองแผงวงจร
repeat 5 [
  wait 10                        ถ้ำยึดโดยตรงกับฐำนอลูมิเนี ยมจะทำให้เกิ ดลัดวงจร **
  send (sensor 0)                ทดสอบการอ่านค่าของ sensor โดยโปรแกรมดังนี้
  note 100 50
  send (sensor 1)                                                                             ่ ่
                                 อ่านค่าจาก ช่อง Cricket Monitor เพื่อดูว่า สีดา และ สีขาว มีคาทีอ่านได้จากเซ็นเซอร์เท่าไร
  note 200 50
]
                                                                              ้                     ่ ั
                                 (ต้องให้ UCON-700 รับข้อมูลจาก i-box ได้ดวย โดยหัน อินฟาเรดทีใช้รบส่งให้ตรงกัน)
end                              วางหุ่นยนต์บนกระดาษสีขาวและดา

                               ิ่       ่
    9. เขียนโปรแกรมให้หุ่นยนต์วงไปหยุดทีเส้นสีดา ดังนี้
  โปรแกรมที่ 1                                               โปรแกรมที่ 2
  to start                                                    to start
      loop [                                                      ab, on
           ab, on                                                 waituntil [ ( (sensor 0) > xxx )
         if (( (sensor 0) > xxx )                                        or ( ( sensor 1) > xxx) ]
               or ( ( sensor 1) > xxx))                           ab, brake
              [ ab, brake                                         beep
               beep                                           end
        ]
      ]
  end
6
                                                                                              ่
       ค่ำ xxx เป็ นค่ำตัวเลขที่ได้จำกข้อก่อนหน้ ำ ที่แสดงสถำนะ สีดำ ฟังเสียงที่เกิ ด ใช้ เครืองหมำย > หรือ <
ตำมสมควร
                                     ิ่                 ้
   10. เขียนโปรแกรมเพื่อให้หุ่นยนต์วงไปตามเส้นทึบบทพืน แนวคิดสาหรับการโปรแกรมตามภาพ ก็คอ         ื




          ั                                                  ้
พยายามให้หวเซ็นเซอร์อยู่ระหว่างเส้น ถ้าตัวหนึ่งทับเส้น ให้เลียวคืน                                ั
                                                                                ให้ เซ็นเซอร์อยู่ทบเส้น
                                                                                                         ้
                                                                                ถ้าตัวใดออกนอกเส้น ให้เลียวคืน
                                                                        7
                                  รายงานผลการทดลอง
                              CEW-05: Introduction to Robotics

ชื่อ สกุล                                                        รหัส

ชื่อ สกุล                                                        รหัส

ชื่อ สกุล                                                        รหัส


โปรแกรม หุ่นยนต์เดินตามเส้น

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:99
posted:6/8/2012
language:Thai
pages:7