Human Following Robot: คู่หูส่วนตัวของคุณ
Human Following Robot เป็นโปรเจกต์ที่น่าสนใจซึ่งแสดงหลักการพื้นฐานของ computer vision โดยใช้เซ็นเซอร์อินฟราเรด (IR) อย่างง่าย มันเลียนแบบพฤติกรรมของสัตว์เลี้ยงผู้ซื่อสัตย์ โดยจะติดตาม "เจ้าของ" ของมันอย่างอิสระตราบใดที่พวกเขายังอยู่ในระยะตรวจจับ
![images/projects/expanded/images/projects/expanded/human_following_robot_front_1772704505968.png)
หลักการตรวจจับ
หุ่นยนต์นี้อาศัยการจัดเรียงของ sharp-edged infrared sensors เซ็นเซอร์เหล่านี้จะปล่อยลำแสงและตรวจจับการสะท้อนจากวัตถุที่อยู่ข้างหน้า
- การเคลื่อนที่ไปทางซ้าย: หากเฉพาะเซ็นเซอร์ด้านซ้ายตรวจจับการสะท้อน หุ่นยนต์จะสั่งมอเตอร์ให้เลี้ยวซ้าย
- การเคลื่อนที่ไปทางขวา: หากเฉพาะเซ็นเซอร์ด้านขวาตรวจจับการสะท้อน มันจะเลี้ยวขวา
- เคลื่อนที่ไปข้างหน้า: หากเซ็นเซอร์ตรงกลาง (หรือเซ็นเซอร์ทั้งหมด) ตรวจจับวัตถุได้ในระยะหนึ่ง มันจะเคลื่อนที่ไปข้างหน้าเพื่อติดตามวัตถุนั้น
- หยุดเพื่อความปลอดภัย: โค้ดจะทำให้หุ่นยนต์หยุดก่อนที่จะชนบุคคลที่มันกำลังติดตามอยู่จริง
ส่วนประกอบฮาร์ดแวร์
- Arduino Uno/Nano: ประมวลผลข้อมูลจาก sensor array และแปลงเป็นคำสั่งการเคลื่อนที่ของมอเตอร์
- IR Obstacle Sensors (x3): ติดตั้งที่ด้านหน้าในรูปแบบสลับฟันปลา (ซ้าย, กลาง, ขวา)
- L298N Motor Driver Shield: ควบคุม DC gear motors กำลังสูง
- Robot Chassis: ฐาน 2 ล้อ หรือ 4 ล้อ พร้อม caster เพื่อการเลี้ยวที่ง่าย
- Li-ion/Li-po Battery: แหล่งพลังงานความจุสูงเพื่อจ่ายไฟให้ทั้งมอเตอร์และ Arduino
![images/projects/expanded/images/projects/expanded/ir_sensor_array_detail_1772704523332.png)
การเขียนโค้ดสำหรับ Logic
หัวใจสำคัญของโค้ดคือชุดคำสั่ง if/else ที่เปรียบเทียบค่าการอ่านจากเซ็นเซอร์ปัจจุบัน เราใช้ conditional logic เพื่อตัดสินใจว่าจะเคลื่อนที่ เลี้ยว หรือหยุด การปรับความเร็วมอเตอร์ให้ราบรื่นขึ้นโดยใช้ PWM (Pulse Width Modulation) ช่วยป้องกันไม่ให้หุ่นยนต์เคลื่อนที่กระตุกมากเกินไป ทำให้พฤติกรรมการติดตามดูเป็นธรรมชาติและลื่นไหลมากขึ้น