กลับไปหน้ารวมไฟล์
robo-dog-a12596.md

โมเดล CAD

Pseudocode (โค้ดหลอกๆ) คร่าวๆ:

  • คำสั่งหยุด 2 แบบ: หยุดเมื่อเจอสิ่งกีดขวาง + หยุดเมื่อกดปุ่มแดง
  • ถ้าเงื่อนไขหยุดใดๆ เป็นจริง: หยุด (ถอยหลัง, ปรับตำแหน่งใหม่)
  • ไม่งั้น: เดินหน้า
  • ฟังก์ชันอื่น: ควบคุมความเร็ว (เขียวเร่ง, เหลืองชะลอ, แดงหยุดและรีเซ็ตความเร็วเป็นค่าเริ่มต้น)

Multi-Legged Kinematics: หุ่นยนต์สุนัขสี่ขา (Quadruped Robo Dog)

รถบังคับ RC ทั่วไปมันอาศัยมอเตอร์ DC ธรรมดาๆ กลิ้งไปตามกฏฟิสิกส์ แต่เจ้า Robo Dog สี่ขานี่มันกลิ้งไม่ได้หรอกน้อง มันต้องสู้กับแรงโน้มถ่วงแบบเรียลไทม์ โปรเจคนี้คือความสำเร็จขั้นเทพในด้านคณิตศาสตร์ Inverse Kinematics (IK) ที่ต้องใช้ I2C Grid 16 ช่องเต็มๆ เพื่อสั่งงานเซอร์โว 8+ ตัวพร้อมกัน ให้เดินเป็นจังหวะ Sine-Wave ที่สวยงามจนตาลาย

The Matrix ของ Inverse Kinematics (IK)

สุนัขมันไม่ขยับสะโพกโดยไม่ขยับเข่านะน้อง ถ้าสะโพกหมุน 10 องศา เท้าจะแกว่งเป็นวงโค้ง ถ้าอยากให้เท้าเคลื่อนที่เป็นเส้นตรงขนานกับพื้น เข่าต้องหมุนตอบโต้พร้อมกันโดยใช้ตรีโกณมิติขั้นสุด!

  1. Arduino มันไม่ได้แค่ส่งมุมคงที่แบบ servo.write(90) ธรรมดาๆ
  2. มันคำนวณพิกัดคาร์ทีเซียนที่ต้องการสำหรับเท้า (X = 10, Y = 0, Z = -15).
  3. ฟังก์ชัน C++ calculateIK() ที่โคตรจะซับซ้อน ใช้ความยาวจริงของกระดูกต้นขาและกระดูกแข้ง (L1, L2) โยนเข้าไปในฟังก์ชัน cos() กับ sin()!
  4. อัลกอริทึมจะพ่นค่าองศาที่แน่นอนที่สะโพกและเข่าต้องขยับ เพื่อให้ไปถึงพิกัดคณิตศาสตร์นั้นเป๊ะๆ โดยไม่ล้ม!

สถาปนิกพัลส์ PCA9685 I2C

Arduino Uno ธรรมดาๆ ควบคุมเซอร์โว 8 ตัวแบบเนียนๆ ไม่ได้หรอก ตัวประมวลผลจะล่ม แล้วหุ่นยนต์จะพังทลายเป็นกองพลาสติกทันที

  • ต้องย้ายภาระการสร้างพัลส์ PWM อันหนักอึ้งไปให้ PCA9685 16-Channel Servo Driver Board จัดการแทน
  • Uno คุยกับมันผ่านพิน I2C สองขา (A4, A5)
  • มันส่งคำตอบ IK ระดับสูงผ่านไลบรารี <Adafruit_PWMServoDriver.h>!
  • pwm.setPWM(leg1_Hip, 0, calculatedIKAngle);
  • ชิป PCA เจ้าเฉพาะทางจะจัดการพัลส์ไฟฟ้าที่น่ากลัวนี้อย่างอิสระ ทำให้ Uno สามารถเริ่มคำนวณมิลลิวินาทีถัดไปของจังหวะการเดินได้ทันที!

การเซ็ตอัพระบบอุตสาหกรรมสำหรับ Quadruped

  • Arduino Mega หรือ ESP32 (การคำนวณตรีโกณจะบดขยี้สถาปัตยกรรมความจำของ Uno เรียบร้อย!).
  • PCA9685 16-Channel PWM Module.
  • เซอร์โว MG996R เกียร์โลหะหนัก 8 หรือ 12 ตัว (เซอร์โวพลาสติก SG90 จะหักทันทีที่พยายามยกหุ่นยนต์พลาสติก 2KG).
  • เครื่องพิมพ์ 3D (สำคัญมากสำหรับการสร้างกระดูกต้นขาและแข้งที่มีความยาวแม่นยำทางคณิตศาสตร์ เพื่อให้สมการ IK ทำงานได้).
  • Step-Down Buck Converter ขนาดใหญ่ (เช่น 20 แอมป์) เพื่อลดแรงดันจากแบตเตอรี่ LiPo 3S ลงมาที่ 6.0V อย่างปลอดภัย ถ้าข้ามขั้นนี้ไป เซอร์โวทุกตัวบนโครงจะระเบิดเป็นประกายไฟแน่นอน อย่าลอง!

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

apps:
  - "1x Arduino IDE"
author: "rachelhuang505"
category: ""
components:
  - "1x 3D Printer (generic)"
  - "1x Arduino Mega 2560"
  - "4x SG90 Micro-servo motor"
  - "1x Ultrasonic Sensor - HC-SR04 (Generic)"
  - "1x Laser cutter (generic)"
description: "โปรเจค 3 อาทิตย์ วัยรุ่นจัดไป! สร้างหุ่นยนต์ 4 ขาให้มันเดินสำรวจรอบตัวได้เองแบบอัตโนมัติ งานง่ายแต่หล่อ ใช้ Arduino, เซนเซอร์ และ มอเตอร์ เทพๆ"
difficulty: "Easy"
documentationLinks: []
downloadableFiles: []
encryptedPayload: "U2FsdGVkX19NuZBnChtfGlmV6VTyRqebDwS0DQnN75AvkI+hPEyg1XpUNVWR/ERQ5xOfDnffMgLVofVbDR3Ie37+uSBhx39bTpD3I1CZ8mw="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/robo-dog-a12596_cover.jpg"
lang: "en"
likes: 0
passwordHash: "470f692068d4d1c826de311dd0f9f1e78746bfef4d493128eaf9937c1aacb47e"
price: 1499
seoDescription: "A 3-week project: a four-legged Robot that can autonomously explore its environment."
tags:
  - "animals"
  - "pets"
  - "robots"
title: "หุ่นยนต์หมาดุ๊กดิ๊ก วิ่งได้แบบตึงๆ!"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/shorts"
views: 5938