วิธีสร้างหุ่นยนต์ Sumo ด้วย Arduino
คำว่า "sumo" มาจากกีฬาโบราณของญี่ปุ่น ซึ่งเป็นการต่อสู้กันของคู่แข่งสองคนในสังเวียน โดยแต่ละคนพยายามผลักอีกฝ่ายให้ออกจากสังเวียน และนี่คือสิ่งที่หุ่นยนต์ควรทำในการแข่งขันหุ่นยนต์ Sumo ซึ่งหุ่นยนต์สองตัวจะถูกวางไว้ในสังเวียน และแต่ละฝ่ายพยายามผลักคู่ต่อสู้ออกไป
แนวคิด:
สร้างหุ่นยนต์ที่มีคุณสมบัติเฉพาะและเป็นไปตามกฎของการแข่งขัน (Sumo) หุ่นยนต์นี้จะต้องมีขนาดที่แม่นยำเพื่อต่อสู้และเอาตัวรอดไม่ให้ถูกผลักออกจากสังเวียนไม่ว่าจะด้วยวิธีใด
มาดูรายละเอียดกฎการแข่งขันหุ่นยนต์ Sumo กัน
ฉันจะอธิบายบทบาทสำคัญบางประการที่คุณควรพิจารณาขณะสร้างหุ่นยนต์ SUMO ของคุณเอง ซึ่งอาจช่วยให้คุณจินตนาการและสร้างสรรค์ไอเดียของคุณเองได้โดยไม่ต้องลงรายละเอียดลึก
1. ขนาด: กว้างสูงสุด 20 cm, ยาวสูงสุด 20 cm, ความสูงไม่ระบุ
2. รูปร่าง: รูปร่างของหุ่นยนต์สามารถเปลี่ยนแปลงได้หลังจากการแข่งขันเริ่มต้น แต่ต้องไม่มีชิ้นส่วนที่แยกออกจากกันไม่ได้ เพื่อคงความเป็นวัตถุกลางชิ้นเดียว
3. น้ำหนัก: ต้องไม่เกิน 3 kg
4. หุ่นยนต์ต้องควบคุมตัวเองได้
ภาพรวม
การใช้งานของแต่ละองค์ประกอบ
ตอนนี้เรามีส่วนประกอบที่จำเป็นแล้ว มาลงรายละเอียดกันว่าแต่ละอย่างใช้สำหรับอะไร..
1- Arduino Uno
เป็นบอร์ดหลักที่ควบคุมชิ้นส่วนทั้งหมดและเชื่อมโยงเข้าด้วยกัน
2- DC Motor
ซึ่งช่วยให้หุ่นยนต์สามารถเคลื่อนที่และหลบหลีกภายในสังเวียนการแข่งขันได้
4- L298N Dual H Bridge for Arduino
เป็นแผงวงจรขนาดเล็กที่จ่ายแรงดันไฟฟ้าคงที่ให้กับมอเตอร์ รวมถึงรองรับบอร์ด Arduino พร้อมการควบคุมการเคลื่อนที่และแรงดันไฟฟ้าที่ดี
5- Ultrasonic sensor
**Ultrasonic sensor** ใช้เพื่อระบุตำแหน่งของหุ่นยนต์คู่ต่อสู้ และมักจะวางไว้ที่ด้านบนของหุ่นยนต์
6- IR TCRT5000
ดังที่เราได้กล่าวไปแล้วว่าสังเวียนการแข่งขันถูกออกแบบมาในขนาดที่กำหนดและมีสองสี โดยพื้นผิวเป็นสีดำและขอบเป็นสีขาว ผู้เข้าแข่งขันไม่ควรออกนอกสังเวียน ดังนั้นเราจึงใช้ **IR sensor** เพื่อให้แน่ใจว่าหุ่นยนต์จะไม่ออกนอกสังเวียน (เซ็นเซอร์นี้มีความสามารถในการแยกแยะสีของสังเวียนได้)
7- Battery 9v
สำหรับจ่ายแรงดันไฟฟ้าที่สำคัญให้กับบอร์ดหลัก (Arduino)
8- AA battery 4 * 1.5 v + Battery house
สำหรับจ่ายแรงดันไฟฟ้าที่สำคัญให้กับมอเตอร์ทั้งสองตัว (**DC Motor**) และต้องแยกการจ่ายไฟเพื่อให้ล้อได้รับกำลังเต็มที่
9- Jumper wires
การออกแบบ
ฉันได้สร้างการออกแบบหุ่นยนต์ Sumo สองแบบโดยใช้ Google 3D SketchUp เพราะฉันชอบสร้างโมเดลกระดาษของหุ่นยนต์ก่อนที่จะตัดชิ้นส่วนจากแผ่นอะคริลิกด้วยเครื่องตัดเลเซอร์ เพื่อตรวจสอบว่าชิ้นส่วนทั้งหมดจะประกอบเข้าด้วยกันได้อย่างถูกต้อง สิ่งสำคัญคือโมเดลกระดาษจะต้องถูกพิมพ์ออกมาในขนาดที่ตรงกับแบบ
และฉันได้คำนึงถึงการวัดขนาดที่เฉพาะเจาะจงตามกฎการแข่งขัน ดังนั้นลองคิดถึงการออกแบบที่สร้างสรรค์มากขึ้นและสร้างโมเดลของคุณเอง
เพื่อให้ตอบสนองต่อเรื่องน้ำหนักของหุ่นยนต์ได้ดีขึ้น ควรวางแบตเตอรี่ไว้ที่ด้านหน้าของหุ่นยนต์ โดยมีโล่ด้านหน้าทำมุม 45 องศาตามรูปทรงของหุ่นยนต์
ไฟล์สำหรับดาวน์โหลดมีอยู่ในส่วนไฟล์
กลยุทธ์การเล่น

ดังที่เราได้กล่าวไว้ก่อนหน้านี้ว่าหุ่นยนต์ต้องมีความสามารถในการควบคุมตัวเอง ซึ่งทำให้เราสามารถตั้งโปรแกรมได้มากกว่าหนึ่งวิธี ขึ้นอยู่กับว่าคุณต้องการให้หุ่นยนต์เล่นในสังเวียนอย่างไร เช่นเดียวกับคู่ต่อสู้จริงที่ต้องการชนะเกม
กลยุทธ์การเล่น (1):
· เราจะให้หุ่นยนต์หมุนรอบตัวเองอย่างต่อเนื่อง
· หุ่นยนต์จะวัดระยะทางอย่างต่อเนื่องในระหว่างการหมุน
· หากระยะห่างของคู่ต่อสู้ที่วัดได้น้อยกว่า (เช่น 10 cm) นั่นหมายความว่าคู่ต่อสู้จะอยู่ตรงหน้าหุ่นยนต์เราโดยตรง
· หุ่นยนต์จะต้องหยุดหมุนแล้วเริ่มโจมตี (เคลื่อนที่ไปข้างหน้าด้วยแรงเต็มที่อย่างรวดเร็ว)
· หุ่นยนต์จะต้องอ่านค่าจาก **IR sensor** เสมอเพื่อให้แน่ใจว่าเราไม่ได้ข้ามขอบสังเวียน
· หาก **IR** ตรวจพบสีขาว หุ่นยนต์จะต้องเคลื่อนที่ไปในทิศทางตรงกันข้ามกับเซ็นเซอร์ทันที (ตัวอย่าง: หากเซ็นเซอร์ด้านหน้าที่ระบุว่ามีสีขาว หุ่นยนต์จะเคลื่อนที่ถอยหลัง)!
กลยุทธ์การเล่น (2):
· ในตอนเริ่มต้น หุ่นยนต์จะวัดระยะทางด้านหน้า
· หุ่นยนต์จะถอยหลังเป็นระยะทางเท่ากับที่วัดได้
· หุ่นยนต์หยุดหมุนแล้วเริ่มโจมตีอย่างกะทันหัน (เคลื่อนที่ไปข้างหน้าด้วยแรงเต็มที่)
· ในกรณีที่คู่ต่อสู้โจมตี หุ่นยนต์จะต้องหมุน 45 องศาเพื่อเอาตัวรอดหากกำลังจะตกจากสังเวียน
· หุ่นยนต์จะต้องอ่านค่าจาก **IR sensor** เสมอเพื่อให้แน่ใจว่าเราไม่ได้ข้ามขอบสังเวียน
· หาก **IR** ตรวจพบสีขาว หุ่นยนต์จะต้องเคลื่อนที่ไปในทิศทางตรงกันข้ามกับเซ็นเซอร์ทันที (ตัวอย่าง: หากเซ็นเซอร์ด้านหน้าที่ระบุว่ามีสีขาว หุ่นยนต์จะเคลื่อนที่ถอยหลัง)!
การตั้งโปรแกรม
โค้ดโปรเจกต์สามารถดาวน์โหลดได้
ไลบรารีสำหรับ **ultrasonic sensor** ที่แม่นยำ
https://github.com/ErickSimoes/Ultrasonic/blob/master/examples/UltrasonicSimple/UltrasonicSimple.ino
### รายละเอียดทางเทคนิคเพิ่มเติม #### หุ่นยนต์ต่อสู้ด้วยคอมพิวเตอร์ โปรเจกต์นี้สร้างหุ่นยนต์ "Mini Sumo" ความเร็วสูงแบบอัตโนมัติ ออกแบบมาสำหรับการแข่งขันหุ่นยนต์ - **Infrared Opponent Tracking**: ใช้ชุด **IR sensor ระยะไกล (เช่น Sharp GP2Y0A21)** เพื่อตรวจจับตำแหน่งของหุ่นยนต์คู่ต่อสู้ เฟิร์มแวร์ของ Arduino จะใช้ **state machine** แบบ "Search and Destroy" โดยจะหมุนจนกว่าจะพบเป้าหมาย - **Dojo Edge-Detection Logic**: มี **TCRT5000 reflectance sensors** ที่หันหน้าลงดิน ติดตั้งอยู่ที่มุมต่างๆ หากหุ่นยนต์ตรวจพบขอบสีขาวของสังเวียน Dojo, Arduino จะถอยหลังและเลี้ยวทันทีเพื่อหลีกเลี่ยงการถูกตัดสิทธิ์ประสิทธิภาพ
- High-Current H-Bridge Hub: จัดการ micro metal-gear motors รอบสูงโดยใช้ TB6612FNG driver ซึ่งช่วยให้เร่งความเร็วและมีแรงผลักที่รุนแรงตามที่ต้องการในการต่อสู้ Sumo