ในส่วนของ Lidar นั้นทางทีมผู้จัดทำจะใช้เป็น rplidar A1 จำนวน 2 ตัวติดบริเวณมุมตามแนวทะแยงของตัวหุ่นยนต์ เพื่อให้ lidar สามารถ Detect สิ่งกีดขวางได้อย่างรอบด้าน โดยองศาการของงานของและขอบเขตการทำงานของ rplidar A1 มีดังนี้
การทำงานในส่วนของ Lidar Detection
ภาพแสดง พื้นที่ในการตรวจจับของ Lidar
ในส่วนของ Lidar จะทำการกำหนด Area สำหรับการแจ้งเตือนสิ่งกีดขวางที่อยู่รอบตัวของหุ่นยนต์ โดยจะคำนวณจากระยะห่างของ Lidar กับสิ่งกีดขวางว่าอยู่ในบริเวณที่อันตราย (Danger Area) หรือไม่โดยถ้าตอนนี้มีวัตถุที่อยู่ใน Zone ของ Danger Area หุ่นยนต์จะทำการหยุดเคลื่อนที่โดยอัตโนมัติ โดยการสั่งคำสั่งผ่าน Broker MQTT ไปยัง Node การทำงาน Mobility เพื่อสั่งให้ Motor หยุดหมุนทันทีและถ้าตอนนี้มีวัตุที่อยู่ใน Zone ของ Beware Area หุ่นยนต์จะถูกบังคับให้เคลื่อนที่ช้าลงและจะส่งสถานนะการแจ้งเตือนนี้กลับไปที่ส่วนของ User ผ่าน Broker MQTT
Library และ Package ที่ใช้
ในส่วนของการอ่านค่าจาก Lidar จะใช้ rplidar-ros package ผ่าน topic ที่มีชื่อว่า /scan
สามารถดูเพิ่มเติมได้ที่ : http://wiki.ros.org/rplidar
Source Code ในส่วนของ Lidar Detection : https://github.com/pipogood/fromJETSOn/blob/main/mobotrun/script/lidar.py