System Scenario
วัตถุประสงค์
เพื่อศึกษาการทำงาน และการเคลื่อนที่ของล้อแบบ mecanum ว่ามีหลักการทำงานอย่างไร และนำมาประยุกต์ใช้ในการสั่งงานแบบไร้สาย หรือการที่นำประโยชน์ของ Algorithm ในการควบคุมการทำงานของล้อ mecanum ไปประยุกต์ใช้การรถยนต์จริง
หลักการทำงานของล้อแบบ mecanum
จากรูปจะเห็นว่าล้อ mecanum สามารถหมุนได้หลายรูปแบบ หลายทิศทาง จึงนำมาปรับใช้เป็นองศา เช่น เดินหน้า คือ 0 องศา , ไปทางซ้ายคือ 90 องศา เป็นต้น
การนำมาใช้
เริ่มจากการโหลด library ของ M5StickC มาใช้กับ Arduino และลง library ของ ESP32 เพื่อใช้บอร์ด M5-StickC ในการนำมาใช้ในการอัพโหลด
การควบคุม 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
ส่งค่าผ่าน Application Serial Bluetooth Terminal โดยส่งค่าผ่าน Bluetooth เพื่อสั่งการทำงานของหุ่น จากรูป มีการส่งสัญญาณ 0 0 90* คือ การเดินหน้าในระยะ 2 หน่วย ไปทางขวา 1 หน่วย
วิดีโอแสดงตัวอย่างการใช้งานผ่าน Serial Bluetooth Terminal
แต่การที่สั่งงานผ่าน Serial Bluetooth Terminal จะเห็นได้ว่าทำงานไม่สะดวก ไม่สามารถสั่งงานที่ต่อเนื่องได้ จึงทำการเปลี่ยนจากการใช้ MIT app inventor
ออกแบบโดยเน้นเพียงฟังก์ชันสำคัญ ได้แก่ การเชื่อมต่อ Bluetooth , การบังคับทิศทาง ซึ่งทิศทางทิศทางที่บังคับได้ แบบออกเป็น 8 ทิศทาง
- 0 องศา > เดินหน้า
- 45 องศา > เดินเอียงขวา
- 90 องศา > เดินไปทางขวา
- 135 องศา > ถอยเอียงขวา
- 180 องศา > ถอยหลัง
- 225 องศา > ถอยเอียงซ้าย
- 270 องศา > เดินไปทางซ้าย
- 315 องศา > เดินเอียงซ้าย
วิดีโอแสดงตัวอย่างการใช้งานผ่าน 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://docs.m5stack.com/en/hat/hat_roverc_pro
Abbout me
ณัทพงศ์ พนาถิรกุล 63340500013