กลับไปหน้ารวมไฟล์
autonomous-probability-rover.md

ชื่อโปรเจกต์: โรเวอร์สำรวจตามหลักความน่าจะเป็น / โรเวอร์อัตโนมัติ

การค้นหาด้วยอัลกอริทึม: The Probability Rover

หุ่นยนต์หลบหลีกสิ่งกีดขวางทั่วไปจะทำงานคล้ายลูกบอลที่กระดอน: มันจะขับเคลื่อนไปจนกว่าจะพบกำแพง จากนั้นเลี้ยว 90 องศา แล้วขับตรงไปอีกครั้ง Probability Autonomous Rover ใช้ซอฟต์แวร์รูทีนขั้นสูงเพื่อจำลองพฤติกรรมการ "ค้นหา" แบบออร์แกนิก คล้ายกับสัตว์ที่ออกล่าอาหาร หรือ Roomba ที่กำลังสร้างแผนที่บ้าน

obstacle_avoiding_car_chassis_1772704596677.png

การสุ่มและการถ่วงน้ำหนัก

แทนที่จะฮาร์ดโค้ดมุมเลี้ยวที่แน่นอน หุ่นยนต์จะใช้ความน่าจะเป็นแบบถ่วงน้ำหนัก

  1. The Array: หากหุ่นยนต์ตรวจจับสิ่งกีดขวางอยู่ข้างหน้า 30cm มันจะหยุด
  2. มันจะสร้างตัวเลขสุ่มตั้งแต่ 1 ถึง 100
  3. The Weighting:
    • If (num < 10): ถอยหลัง 2 วินาที (โอกาส 10%)
    • If (num > 10 && num < 40): เลี้ยวซ้าย 45 องศา (โอกาส 30%)
    • If (num >= 40): เลี้ยวขวา 45 องศา (โอกาส 60%) ด้วยการถ่วงน้ำหนักโอกาส หุ่นยนต์มีแนวโน้มที่จะวนรอบห้องในทิศทางที่กำหนด แต่ยังคงรักษาความไม่แน่นอนเพียงพอที่จะหลีกเลี่ยงการติดอยู่ในมุมได้อย่างถาวร!

อัลกอริทึมการเดินสำรวจ (Perlin Noise)

แทนที่จะขับเป็นเส้นตรงที่สมบูรณ์แบบ คุณสามารถใช้วิธีสมการทางคณิตศาสตร์ (เช่น คลื่นไซน์อย่างง่าย หรือ Perlin noise approximation) กับความเร็ว PWM ของล้อซ้ายและขวา

  • ล้อจะปรับความเร็วเล็กน้อยตลอดเวลา
  • หุ่นยนต์จะขับเคลื่อนเป็นเส้นโค้งที่สง่างาม ครอบคลุมพื้นที่ในห้องได้กว้างขึ้นมากโดยไม่ต้องรับข้อมูลจากเซ็นเซอร์ใดๆ จนกว่าจะเข้าใกล้กำแพง

ฮาร์ดแวร์ระบบ

  • Arduino Uno/Mega: หน่วยประมวลผลพฤติกรรม
  • Motor Control Board (L298N or Motor Shield V2)
  • 2WD or 4WD Acrylic Robot Chassis Kit
  • HC-SR04 Ultrasonic Sensors (x3): ติดตั้งที่ด้านหน้า ซ้าย และขวา เพื่อป้อนข้อมูลสภาพแวดล้อมเข้าสู่ probability engine อย่างต่อเนื่อง

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

title: "Probability / Autonomous Rover"
description: "Give your robot a brain! Move beyond simple wall-bouncing by programming 'Wander Behavior' based on probability weighting to explore dynamic environments."
category: "Motors & Robotics"
difficulty: "Advanced"