18. AMR Navigation

การนำทาง (Navigation) เป็นหัวใจสำคัญของหุ่นยนต์เคลื่อนที่อัตโนมัติ (Autonomous Mobile Robot – AMR) ระบบนี้ช่วยให้หุ่นยนต์สามารถ “รู้ตำแหน่งของตนเอง”, “เข้าใจสภาพแวดล้อม”, “วางแผนเส้นทาง”, และ “เคลื่อนที่ไปยังเป้าหมายได้อย่างปลอดภัย” โดยไม่ชนสิ่งกีดขวาง

ใน ROS 2 ระบบนำทางจะประกอบด้วยชุดแพ็กเกจหลักหลายส่วนที่ทำงานร่วมกัน ได้แก่ การสร้างแผนที่ (Mapping), การระบุตำแหน่ง (Localization), การรวมข้อมูล (Sensor Fusion), และการนำทางจริง (Navigation2 หรือ Nav2 Stack)

18.1. ภาพรวมแพ็กเกจที่ใช้ในระบบนำทาง AMR

หมวดการทำงาน

แพ็กเกจที่ใช้

หน้าที่หลัก

การสร้างแผนที่ (Mapping)

slam_toolbox

ใช้สร้างแผนที่ 2D จากข้อมูล LiDAR และ Odometry สามารถบันทึกเป็น .yaml / .pgm เพื่อใช้ใน Navigation ได้

การระบุตำแหน่ง (Localization)

amcl

ใช้ระบุตำแหน่งของหุ่นยนต์บนแผนที่ด้วยเทคนิค Monte Carlo Localization (Particle Filter)

การรวมข้อมูลการเคลื่อนที่ (Sensor Fusion)

robot_localization (EKF)

รวมข้อมูลจาก Odometry, IMU, และ Velocity Command ให้เป็นข้อมูล odom → base_link ที่เสถียร

ข้อมูลการวัดระยะ (Perception)

rplidar_ros, sllidar_ros2, ydlidar_ros2_driver, ฯลฯ

ใช้เก็บข้อมูลสภาพแวดล้อมรอบตัวหุ่นยนต์ในรูปแบบ LaserScan

ระบบนำทาง (Navigation)

nav2_bringup, planner_server, controller_server, bt_navigator, costmap_2d, lifecycle_manager

วางแผนเส้นทาง, ควบคุมการเคลื่อนที่, ตรวจจับสิ่งกีดขวาง และจัดการลำดับการทำงาน

การแสดงผล (Visualization)

rviz2

ใช้สำหรับแสดงแผนที่, ตำแหน่ง, เส้นทาง และข้อมูล sensor ต่าง ๆ แบบเรียลไทม์

การวัดการเคลื่อนที่ (Odometry Source)

/odom, /wheel_odom, /encoder_data

ให้ข้อมูลระยะทางและมุมการหมุนของหุ่นยนต์จาก encoder

การควบคุมคำสั่งเคลื่อนที่ (Velocity Command)

/cmd_vel

เป็น topic ที่ Nav2 ส่งความเร็วเชิงเส้น/มุมไปยัง MCU หรือ motor controller ของหุ่นยนต์

18.2. การปรับจูน (Tuning) ระบบ Navigation

เมื่อโครงสร้างทั้งหมดทำงานร่วมกันได้แล้ว ขั้นตอนต่อมาคือการ ปรับจูน (Tuning) ซึ่งมีผลโดยตรงต่อความแม่นยำ ความนุ่มนวล และพฤติกรรมของหุ่นยนต์

การจูนจะอ้างอิงแนวทางจากงานวิจัยสำคัญของ Kaiyu Zheng (2016) https://arxiv.org/pdf/1706.09068

*** สามารถ เปิดดูตัวอย่างไฟล์ nav.yaml ในโฟลเดอร์ Documents ***

_images/18.1.png