Class Project : RoverC

Class Project : RoverC



System Scenario

รูปที่ 1 System Scenario

วัตถุประสงค์

เพื่อศึกษาการทำงาน และการเคลื่อนที่ของล้อแบบ mecanum ว่ามีหลักการทำงานอย่างไร และนำมาประยุกต์ใช้ในการสั่งงานแบบไร้สาย หรือการที่นำประโยชน์ของ Algorithm ในการควบคุมการทำงานของล้อ mecanum ไปประยุกต์ใช้การรถยนต์จริง

หลักการทำงานของล้อแบบ mecanum

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

จากรูปจะเห็นว่าล้อ mecanum สามารถหมุนได้หลายรูปแบบ หลายทิศทาง จึงนำมาปรับใช้เป็นองศา เช่น เดินหน้า คือ 0 องศา , ไปทางซ้ายคือ 90 องศา เป็นต้น

การนำมาใช้

เริ่มจากการโหลด library ของ M5StickC มาใช้กับ Arduino และลง library ของ ESP32 เพื่อใช้บอร์ด M5-StickC ในการนำมาใช้ในการอัพโหลด

รูปที่ 2 การ setting arduino

การควบคุม RoverC

การควบคุมความเร็วของ RoverC โดยไม่ให้ความเร็วเกินที่กำหนดไว้ คือ 100

แบ่งการส่งสัญญาณของ motor ทั้งหมด 4 ล้อ ตามล้อที่มีของ RoverC โดยส่งสัญญาณแบบ I2C

การเคลื่อนที่อิงตามสูตรการเคลื่อนที่แบบล้อ mecanum ซึ่งค่าออกมาจะเป็นองศา

Reference :https://seeeddoc.github.io/4WD_Mecanum_Wheel_Robot_Kit_Series/

เมื่อ motor ไม่มีการส่งงาน จะทำให้อยู่ในโหมด Stop

ถ้ามีาการกดปุ่ม M5 RoverC จะทำ Run การทำงานเวอร์ชั่น DEMO เพื่อให้เห็นการทำงานของ RoverC โดยแบ่งออกเป็น 2 รูปแบบ

  • รูปแบบแรกคือการเคลื่อที่เป็นวงกลม จาก 0 > 0 > 90 > 90 > 180 > 180 > 270 > 270 องศา
  • รูปแบบที่ 2 คือการเคลื่อนที่โดยเพิ่มทีละ 20 อาศา จนครบ 360 องศา

วิดีโอแสดงตัวอย่าง DEMO

ถ้ามีการกดปุ่มบริเวณล่างขวาจะเป็นการ check ค่าของ Battery status

วิดีโอแสดงตัวอย่าง ฺBattery status

ตั้งค่าการใช้งาน Bluetooth จาก library BluetoothSerial

สร้างเป็น Switch case โดยจะมีหลาย State ได้แก่ state รอข้อมูล , state ใส่ข้อมูล , state check ช่องว่าง , state check ” * ” (จะดูว่ามี * หรือไม่ถ้ามีคือการสิ้นสุด Process)

การส่งค่าจาก Bluetooth

รูปที่ 3 ค่าที่ส่งจาก Smartphone

ส่งค่าผ่าน Application Serial Bluetooth Terminal โดยส่งค่าผ่าน Bluetooth เพื่อสั่งการทำงานของหุ่น จากรูป มีการส่งสัญญาณ 0 0 90* คือ การเดินหน้าในระยะ 2 หน่วย ไปทางขวา 1 หน่วย

วิดีโอแสดงตัวอย่างการใช้งานผ่าน Serial Bluetooth Terminal

แต่การที่สั่งงานผ่าน Serial Bluetooth Terminal จะเห็นได้ว่าทำงานไม่สะดวก ไม่สามารถสั่งงานที่ต่อเนื่องได้ จึงทำการเปลี่ยนจากการใช้ MIT app inventor

รูปที่ 4 การออกแบบการทำงานของ Application MIT

ออกแบบโดยเน้นเพียงฟังก์ชันสำคัญ ได้แก่ การเชื่อมต่อ Bluetooth , การบังคับทิศทาง ซึ่งทิศทางทิศทางที่บังคับได้ แบบออกเป็น 8 ทิศทาง

  • 0 องศา > เดินหน้า
  • 45 องศา > เดินเอียงขวา
  • 90 องศา > เดินไปทางขวา
  • 135 องศา > ถอยเอียงขวา
  • 180 องศา > ถอยหลัง
  • 225 องศา > ถอยเอียงซ้าย
  • 270 องศา > เดินไปทางซ้าย
  • 315 องศา > เดินเอียงซ้าย
รูปที่ 5 การเขียนการใช้งานของ MIT

วิดีโอแสดงตัวอย่างการใช้งานผ่าน MIT app inventor

การทดสอบ

แบ่งเกณฑ์ออกเป็น ดังนี้

  • ความเสถียร
  • ความยาก/ง่ายของการควบคุม
  • ความยาก/ง่ายของภารกิจ
  • ความน่าสนใจ

ซึ่งภารกิจที่ต้องทำ คือ การเคลื่อนที่จากจุดเริ่มต้นไปยังเส้นชัย โดยได้ทำการทดสอบกับผู้ใช้จำนวน 10 คน โดยผู้จัดทำได้ทำการจับเวลาที่ใช้ในการทำภารกิจ ได้ผลออกมา ดังนี้

เวลาที่ใช้นานที่สุด คือ 1 นาที 13 วินาที

เวลาที่ใช้น้อยที่สุด คือ 37 วินาที

เวลาที่ใช้เฉลี่ย คือ 48 วินาที

และเกณฑ์ทั้งหมดที่ตั้งออกมาได้้ผลสรุป ดังนี้

  • ความเสถียร อยู่ที่ 6.4/10 คะแนน
  • ความยาก/ง่ายของการควบคุม 9.2/10 คะแนน
  • ความยาก/ง่ายของภารกิจ 6/10 คะแนน
  • ความน่าสนใจ 7.8/10 คะแนน

ความคิดเห็นเพิ่มเติม

  • บางทีล้อของ RoverC ไปไม่ขนานกัน
  • ล้อแบบ Mecanum มีการทำงานที่สามารถนำไปประยุกต์ใช้จริงได้
  • เปลี่ยนการส่งสัญญาณเป็น controller

ปัญหาที่พบ

  • สัญญาณบรูทูธส่งช้า
  • Battery หมดระหว่างทดสอบ

Github

https://github.com/Penuttt/RoverC-Hri.git

Referrence

https://github.com/m5stack/M5-RoverC.git

https://appinventor.mit.edu/

https://docs.m5stack.com/en/hat/hat_roverc_pro

Abbout me

ณัทพงศ์ พนาถิรกุล 63340500013