กลับไปหน้ารวมไฟล์
billiardbot-robot.md

การกำหนดเป้าหมายเชิงเรขาคณิต: The BilliardBot

การสร้างหุ่นยนต์เพื่อเล่นวิดีโอเกมทั่วไปนั้นสนุก แต่การสร้างเครื่องจักรทางกายภาพที่คำนวณและประมวลผลการยิงลูกบิลเลียดในโลกจริงนั้นต้องอาศัยฟิสิกส์ขั้นสูง โปรเจกต์ BilliardBot ผสมผสานระบบติดตามภาพจากด้านบนเข้ากับไม้คิวแบบมอเตอร์สองแกนที่แข็งแรงทนทาน ซึ่งพิสูจน์ให้เห็นว่าเรขาคณิตของ Arduino สามารถเอาชนะมนุษย์ที่โต๊ะพูลได้

obstacle_avoiding_car_chassis_1772704596677.png

ระบบ Computer Vision จากด้านบน (OpenCV)

ในการเล่นพูล หุ่นยนต์ต้องรู้ตำแหน่งของลูกบอลทั้งหมดที่อยู่บนผ้าสักหลาด

  1. โปรเจกต์นี้ใช้แล็ปท็อปแบบ Standalone ที่รัน Python และ OpenCV เชื่อมต่อกับ webcam ที่ยึดอยู่เหนือโต๊ะพูลโดยตรง
  2. สคริปต์ Python จะแยกส่วนที่เป็นผ้าสักหลาดสีเขียวขนาดใหญ่ออกมา
  3. โดยเฉพาะอย่างยิ่ง มันจะสแกนหาพิกัดของลูก Cue Ball สีขาว (X_cw, Y_cw) และพิกัดของลูก 8-Ball เป้าหมาย (X_8, Y_8)
  4. คอมพิวเตอร์จะสร้างเส้นเวกเตอร์ทางคณิตศาสตร์ระหว่างลูกบอลทั้งสอง
  5. มันจะทำการ serialize มุมเรขาคณิตที่แม่นยำนี้ (เช่น Aim: 34.5 Degrees, Power: 80%) และส่งผ่าน USB เข้าสู่ Arduino!

การทำงานของ Kinematic (Steppers และ Solenoids)

Arduino ทำหน้าที่เป็น "กล้ามเนื้อ" ของหุ่นยนต์

  • แพลตฟอร์ม Cartesian (XY Axis): หุ่นยนต์จะเคลื่อนที่ไปตามรางอะลูมิเนียมที่ล้อมรอบโต๊ะพูล โดยใช้ NEMA 17 Stepper Motors ที่ทรงพลัง หากแล็ปท็อปบอกให้เล็งที่ 34.5 องศา Arduino จะคำนวณจำนวนสเต็ปการหมุนที่มอเตอร์ X และ Y ต้องทำงานพร้อมกันอย่างแม่นยำ เพื่อวางตัวโครงหุ่นยนต์ให้อยู่ในตำแหน่งที่ถูกต้อง
  • กลไกการตี: SG90 servo ราคาถูกไม่สามารถตีลูกบิลเลียดได้ แรงกระแทกจะทำให้มันแตก
  • ไม้คิวถูกขับเคลื่อนด้วย 12V Push-Pull Solenoid ขนาดใหญ่ระดับอุตสาหกรรม หรือสปริงขดแน่นที่ปล่อยโดย high-torque servo catch
  • Arduino จะสั่ง digitalWrite(strikePin, HIGH) หนึ่ง Relay จะคลิก ปล่อยกระแส 30 Amps เข้าสู่ Solenoid เสียง "ปัง!" ก้านโลหะจะกระแทกลูก Cue Ball อย่างรุนแรงและแม่นยำไปตามเส้นทางพิกัดเวกเตอร์!

การบูรณาการโครงสร้างหุ่นยนต์

  • Arduino Mega (ตัวแปล GRBL logic หลัก)
  • NEMA 17 Stepper Motors (x3) พร้อม A4988 Drivers ที่แข็งแรง
  • Overhead USB Webcam ที่ป้อนข้อมูลเข้าสู่สคริปต์ Python OpenCV
  • Industrial 12V Solenoid ทำหน้าที่เป็นตัวตีไม้คิวสไตล์นิวเมติก
  • Custom Aluminum V-Slot Extrusion framing เพื่อให้บอทสามารถเลื่อนไปรอบ ๆ ขอบโต๊ะได้!

ข้อมูล Frontmatter ดั้งเดิม

title: "BilliardBot"
description: "Geometrical pool shark! Construct an autonomous robotic cue stick utilizing overhead camera machine vision and heavy stepper kinematics to calculate and execute flawless bank shots."
category: "Motors & Robotics"
difficulty: "Advanced"