วันพุธที่ 30 สิงหาคม พ.ศ. 2560

หุ่นยนต์เด็กผู้ชายด้วยตัวรับรู้ไจโร (Gyro Boy)

การทดลองที่ 3
หุ่นยนต์เด็กผู้ชายด้วยตัวรับรู้ไจโร (Gyro Boy)

1.1 วัตถุประสงค์
1.1.1 เพื่อให้สามารถประกอบชิ้นส่วนของหุ่นยนต์ตามรูปแบบได้
1.1.2 เพื่อให้สามารถออกแบบสร้างสรรค์โปรแกรมควบคุมหุ่นยนต์เด็กผู้ชายด้วยตัวรับรู้ไจโร (Gyro Boy) ได้
1.1.3 เพื่อให้สามารถเรียนรู้หลักการทำงานของหุ่นยนต์ตามรูปแบบที่กำหนด (Gyro Boy)
1.2 เครื่องมือ / อุปกรณ์ / วัสดุ
          1.2.1 LEGO Mindstorms EV.3 Education 1 ชุด
1.3 การเตรียมชิ้นงาน/ปฏิบัติงาน/ทดลอง/เครื่องมือ/อุปกรณ์
          1.3.1 ชิ้นส่วนต่างๆที่ต้องเตรียมในการนำมาประกอบเป็นหุ่นยนต์ มีดังนี้




1.3.2 ประกอบชิ้นส่วนต่างๆ ของโครงร่างตามแบบที่กำหนด


1.4 ลำดับขั้นการปฏิบัติงาน/ทดลอง
1.4.1 เตรียมอุปกรณ์ต่างๆ ที่ใช้ในการประกอบหุ่นยนต์ไว้แล้วบันทึกผลการปฏิบัติงาน



บันทึกผลการปฏิบัติงาน




          
1.4.2 ประกอบชิ้นส่วนของหุ่นยนต์เข้าด้วยกันแล้วบันทึกผลประกอบชิ้นส่วน
บันทึกผลประกอบชิ้นส่วน

1.4.3 ทดสอบการขับเคลื่อนของหุ่นยนต์ที่ประกอบโครงร่างแล้วบันทึกผลการทดลอง
บันทึกผลการทดลอง
           รูปแบบการเคลื่อนที่ แบบที่ 1

          จากรูปการทำงานของโปรแกรม ที่ได้ออกแบบไว้มี 3 ส่วน ดังนี้

1.      บล็อก Configuration การกำหนดค่าเริ่มต้นลักษณะให้กับหุ่นยนต์เพื่อให้หุ่นยนต์รู้วิธีที่จะรักษาความสมดุล ตัวอย่างเช่น


การตั้งค่าในบล็อกที่ 2 ของส่วน Configuration จะเป็นการระบุขนาดเส้นผ่านศูนย์กลางของล้อของหุ่นยนต์

2.      Balance Loop

ในส่วนของ Balance Loop ทำหน้าที่ช่วยให้หุ่นยนต์มีความสมดุล จะวัดและคำนวณตำแหน่งและความเร็วของมอเตอร์และจะกำหนดความเร็วของมุมของหุ่นยนต์ (ความเร็วที่ตกลงมา) รวมถึงมุมของหุ่นยนต์ที่สัมพันธ์กับพื้นดิน ในทางกลับกันจะใช้ข้อมูลจาก Gyro Sensor ในการคำนวณว่าจะขับเคลื่อนมอเตอร์เพื่อให้หุ่นยนต์การทรงตัวถูกต้องได้อย่างไร

3.      Drive Control Loop เป็นการควบคุมความเร็วและทิศทางของหุ่นยนต์ในขณะที่มันเคลื่อนที่ไปเรื่อยๆ 

โดยเราสามารถ set ค่า speed (ความเร็วในการเคลื่อนที่) และ steering (องศาของทิศทาง) ได้ตามต้องการ เช่น

โดยโปรแกรมรูปแบบแรกมีหลักการทำงาน คือ เริ่มต้นโปรแกรมด้วยการอ่านค่าจาก       Gyro Sensor และค่าที่ได้ถูกกำหนดไว้ในส่วน Configuration จะคำนวณตำแหน่งและความเร็วของมอเตอร์และจะกำหนดความเร็วของมุมของหุ่นยนต์ (ความเร็วที่ตกลงมา) รวมถึงมุมของหุ่นยนต์ที่สัมพันธ์กับพื้นดิน ในทางกลับกันจะใช้ข้อมูลเซ็นเซอร์นี้ในการคำนวณว่าจะขับเคลื่อนมอเตอร์ในการปรับสมดุลของหุ่นยนต์อย่างไร
เมื่อหุ่นยนต์สามารถทรงตัวได้อย่างสมดุล จะเข้าสู่ Drive Control Loop เพื่อ เคลื่อนที่ไปตามตามที่เรากำหนด โดยโปรแกรมนี้กำหนดการเคลื่อนที่ไว้ว่า

-          อยู่กับที่ 7 วินาที
-          หมุนไปขวา 20 องศา รอ 7 วินาที
-          เคลื่อนที่ไป

รูปแบบการเคลื่อนที่ แบบที่ 2


จากรูปการทำงานของโปรแกรม ที่ได้ออกแบบไว้ มีดังนี้
ในส่วนการทำงานของโปรแกรมที่ 2 นี้ มีส่วนที่ทำงานเหมือนกับการทำงานของแบบที่ 1 คือส่วน Configuration และ ส่วน Balance Loop
ส่วนใน Drive Loop ที่มีการควบคุมการเคลื่อนที่ต่างกัน โดยแบบที่ 2 มีลักษณะการเคลื่อนที่ดังนี้

-                      มีเสียงดังบี้บ 1 ครั้ง เมื่อหุ่นยนต์ set balance สำเร็จ แสดงผลรูปลูกตาหุ่นยนต์ที่หน้าจและจะเคลื่อนที่ไปข้างหน้าช้าๆ Speed = 20 จนถ้าเจอสิ่งกีดขวางในระยะ < 30 ซม. จะสั่งการให้หุ่นยนต์ถอยหลัง 2 วินาทีแล้วเลี้ยวขวาเพื่อหลีกเลี่ยงสิ่งกีดขวาง ทำแบบนี้วนไปเรื่อยๆจนกว่าจะ กดปุ่ม Cancel

1.5 สรุปผลการทดลอง

          จากการทดลองประกอบชิ้นส่วนขึ้นเป็นรูปร่างของหุ่นยนต์ พร้อมทั้งออกแบบโปรแกรมควบคุมการเคลื่อนที่ของหุ่นยนต์ เพื่อให้หุ่นยนต์เคลื่อนที่ไปตามที่กำหนด ทั้งกำหนดค่าเริ่มต้นต่างๆเพื่อให้หุ่นยนต์นั้นสามารถทรงตัวอยู่แนวดิ่งได้โดยมีไจโรเซ็นเซอร์เป็นตัวตรวจรู้ที่สำคัญในการทรงตัวของหุ่นยนต์ โดยการทดลองข้างต้นนี้ได้ออกแบบการเคลื่อนที่ของหุ่นยนต์ไว้ 2 แบบตามที่ได้ระบุไว้ในส่วนอธิบายโปรแกรม ผลปรากฏว่า หุ่นยนต์สามารถทำงานได้ตามโปรแกรมที่ออกแบบไว้ทั้ง 2 แบบ การทดลองหุ่นยนต์เด็กผู้ชายด้วยตัวรับรู้ไจโร (Gyro Boy) ทำให้รู้ถึงหลักการทำงานของตัวไจโรเซ็นเซอร์ ซึ่งเป็นหัวใจหลักที่ทำให้หุ่นยนต์ทรงตัวได้