วันจันทร์ที่ 17 ตุลาคม พ.ศ. 2559

Robo Messenger: Mechanic

Robo Messenger: Mechanic



การออกแบบด้านทางกล "หุ่นยนต์รับส่งเอกสาร"

ข้อกำหนดเบื้องต้น ส่งเอกสารน้ำหนัก <2 kg

การออกแบบใช้รถยนต์แบบเด็กนั่งเล่นได้ ซึ่งสามารถรับน้ำหนักบรรทุกได้ 25 kg 

โดยให้คำนึงถึงความปลอดภัยมาเป็นอันดับแรก

  • เพิ่มโครงสร้างด้วยอลูมิเนียมโปรไฟล์ สำหรับยึดโครงรถและเสาสำหรับการติดตั้งไฟกระพิบแจ้งเตือน
  • ปุ่ม Emergency Stop Switch สีแดง กดแล้วปุ่มค้าง ต้องหมุนคลาย reset ตามมาตรฐานอุตสาหกรรม

  • ติดตั้งเซ็นเซอร์ Ultrasonic 4 จุดด้านหน้า เพื่อใช้หลบหลีกสิ่งกีดขวางด้านหน้า
  • ติดตั้งเซ็นเซอร์ Ultrasonic 2 จุดด้านหลัง เพื่อใช้เวลาถอยหลัง
การติดตั้งแบตเตอรี่ แบ่งเป็น 2 ส่วน คือ
  1. ส่วนจ่ายไฟฟ้าควบคุมคอนโทรลเลอร์+เซ็นเซอร์ ใช้แบตเตอรี่ 12 V แล้วลดแรงดันไฟฟ้าด้วย Regulator Step down 12 VDC -> 5 VDC 
  2. ส่วนจ่ายไฟฟ้าสำหรับบอร์ดมอเตอร์และมอเตอร์ ใช้แบตเตอรี่ 12 V

Robo Messenger: Circuit

Robo Messenger: Circuit Wiring Diagram



จาก System Overview ได้นำมาลงรายละเอียดของการเดินสายวงจรไฟฟ้า เพื่อใช้สำหรับการติดตั้งและตรวจสอบ โดยมีอุปกรณ์ทั้งหมดดังรูป








Robo Messenger: System Overview

หุ่นยนต์ส่งเอกสาร จาก FIBO ไปกลับ ตึกอธิการบดี มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าธนบุรี (มจธ.)

วัตถุประสงค์ของโครงการ
  • เรียนการให้โปรแกรมภาษา C ในการติดต่อและควบคุมอุปกรณ์ต่างๆ    ในหุ่นยนต์เพื่อทำงานตามความต้องการของเราได้
  • หุ่นยนต์สามารถทดสอบการวิ่งรอบ สถาบันวิทยาการหุ่นยนต์ภาคสนาม FIBO ไปตามตำแหน่งที่กำหนด และสามารถหลบสิ่งกีดขวางได้
  • หุ่นยนต์สามารถวิ่งส่งเอกสารจากสถาบันวิทยาการหุ่นยนต์ภาคสนามไปยังตึกอธิการและเดินทางกลับมายังสถาบันวิทยาการหุ่นยนต์
หุ่นยนต์ส่งเอกสาร เป็นรถที่มีล้อทั้งหมด 4 ล้อ ขับเคลื่อนด้วย 2 ล้อหลังและบังคับทิศทางด้วย 2 ล้อหน้า ทำงานด้วยการโปรแกรม ตำแหน่งและทิศทางให้เคลื่อนทีไปยังเป้าหมาย และรับสัญญาณเซ็นเซอร์ต่างๆเข้ามา เพื่อนำมาประมวลผล ให้ไปควบคุมมอเตอร์ของหุ่นยนต์ให้เคลื่อนไปยังเป้าหมายต่อไป




โดยหลักการทำงานท้ังหมด แบ่งเป็น 4 ส่วนด้วยกัน คือ


1.   Sensor เซ็นเซอร์ เป็นอุปกรณ์อิเล็กทรอนิคส์ที่รับค่าต่าง ๆ เพื่อส่งข้อมูลไปยัง controller เช่น 

  • ·        GPS รับค่าตำแหน่งปัจจุบันของหุ่นยนต์
  • ·        COMPASS รับค่าทิศทางที่หุ่นยนต์ต้องเดินให้ตรงกับทิศที่กำหนด
  • ·        Ultrasonic Sensor รับค่าระยะทางของหุ่นยนต์กับสิ่งกีดขวาง เพื่อควบคุมการหลบหลีก
  • ·        Potentiometer รับค่าตำแหน่งของล้อหน้า

2.   Arduion Controller ใช้โปรแกรมและควบคุมการทำงานของหุ่นยนต์
3.   Acutator เป็นการทำงานอุปกรณ์ที่ใช้สำหรับควบคุมการทำงานของมอเตอร์ หุ่นยนต์
4.   Remote เป็นการทำงานควบคุมหุ่นยนต์ โดยผ่านการสื่อสารแบบ Bluetooth

วันพุธที่ 28 กันยายน พ.ศ. 2559

Eletroniccs

              ในส่วนของภาคอิเล็กทรอนิกส์ของหุ่นยนต์ Robo Messenger สามารถแบ่งออกเป็น 4 บอร์ดได้ดังนี้

              บอร์ดที่ 1 เป็นตัว main หลักในการรับค่าข้อมูลต่างๆ เพื่อนำมาประมวลผลและควบคุมการทำงานในแต่ละส่วนตามรูปที่ 1


รูปที่ 1




            บอร์ดที่ 2 จะทำหน้าที่รับข้อมูลจาก Ultrasonicsensor เพื่อตรวจสอบสิ่งกีดขวางของหุ่นยนต์ Robo Messenger โดยจะเก็บข้อมูลและส่งไปยัง main Borads แบบวงจรไฟฟ้าตามรูปที่ 2
รูปที่ 2
          บอร์ดที่ 3 ทำหน้าที่ควบคุมการทำงานของมอเตอร์ ทั้ง 3 ตัว ในการควบคุมการเคลื่อนที่ของหุ่นยนต์ โดยมี VR sensor เป็นตัวบอกตำแหน่งของพวงมาลัยเพื่อใช้ในการเปลี่ยนทิศทางของหุ่นยนต์ การทำงานทั้งหมดจะถูกควบคุมโดย main boards ด้วยวิธีการสื่อสารแบบ USART

รูปที่ 3


       บอร์ดที่ 4 ทำหน้าที่รับค่าตำแหน่งของ GPS และ รับค่าตำแหน่งจาก Compass sensor และทำการส่งข้อมูลไปยัง main borads รายละเอียดวงจรไฟฟ้าตามรุปที่ 4

รูปที่ 4

Mobility

ในส่วนของส่วนควบคุมการเคลื่อนที่ (Mobility) เป็นการควบคุมการเคลื่อนที่ของหุ่นยนต์

การควบคุมทิศทางการเคลื่อนที่ของหุ่นยนต์

การวัดระยะทางด้วย Ultrasonic

Ultrasonic and Servo รูปแบบ Radar Scan




     จากปัญหาการใช้งาน ultrasonic sensor แบบหลายตัวที่อาจจะส่งสัญญาณรบกวนกัน จนทำให้ค่าที่ได้มาใช้งานได้ยาก

    จึงลองหาข้อมูลเพื่อเป็นแนวทางเลือกใช้งานที่ง่ายขึ้นต่อการได้ค่ามาจาก Ultrasonic เพียงตัวเดียว ติดตั้งบน Servo ที่หมุนหันตั้งแต่ 35-135 องศา หันทีละ 10 องศาจะได้ข้อมูลและภาพตามรูป



จากการทดสอบเบื้องต้น ต่อเข้ากับ  Arduino Uno แล้วรับค่ามาจาก Ultrasonic ช่อง A4,A5 แล้วส่งต่อผ่าน Comport เพื่อแสดงผลด้วยโปรแกรม Processing ซึ่งการใช้งานจริงจะกำหนดระยะและมุมที่รับค่ามาได้ปล้วให้หุ่นยนต์เคลื่อนที่หลบสิ่งกีดขวางได้ต่อไป

https://www.facebook.com/groups/156643481433253/



ขอขอบคุณ ข้อมูลอ้างอิง http://howtomechatronics.com/projects/arduino-radar-project/

Programming


Programming


โปรแกรมที่ใช้ในการควบคุมหุ่นยนต์จะถูกแบ่งออกเป็นสาม โดยแต่ละส่วนจะถูกเขียนแยกกันและทำงานกันคนละ Controller แยกออกจากกัน ซึ่งมีทั้งหมดสาม Controller หลักๆคือ Path Planning, Mobility, และGPS