- PiLiDAR เป็นสแกนเนอร์พาโนรามา 3D แบบ DIY รอบทิศทาง 360° ที่สร้างฉาก 3D ผ่านความสามารถของ LiDAR และ พาโนรามา
- LiDAR ใช้ LDRobot LD06, LD19 หรือ STL27L พร้อมการตรวจสอบความถูกต้องของแพ็กเก็ต CRC และฮาร์ดแวร์ PWM
- พาโนรามา ใช้ Hugin ในการสติตช์ภาพฟิชอาย และอ่านข้อมูล EXIF เพื่อรักษาค่าการรับแสงของกล้องและสมดุลสีให้คงที่
- ฉาก 3D ถูกประกอบขึ้นจากระนาบ 2D โดยอิงจากมุมและออฟเซ็ต และรองรับการแสดงผลและส่งออกด้วย Open3D
- ฮาร์ดแวร์ ประกอบด้วย Raspberry Pi 4, กล้อง Raspberry Pi HQ, สเต็ปเปอร์มอเตอร์ NEMA17 เป็นต้น
ฟีเจอร์หลักของ PiLiDAR
- LiDAR: ใช้ไดรเวอร์ซีเรียลแบบปรับแต่งสำหรับ LDRobot LD06, LD19 หรือ STL27L
- ปรับเทียบการตรวจสอบความถูกต้องของแพ็กเก็ต CRC และฮาร์ดแวร์ PWM ด้วยการฟิตเส้นโค้ง
- มีการแสดงผลแบบเรียลไทม์ 2D และฟังก์ชันส่งออกเป็น numpy หรือ CSV
- พาโนรามา: สร้างแผนที่ทรงกลม 6K 360° โดยสติตช์จากภาพฟิชอายด้วย Hugin panorama photo stitcher
- อ่านข้อมูล EXIF อัตโนมัติเพื่อรักษาค่าการรับแสงของกล้องให้คงที่ และปรับ color gain ให้เหมาะสมเพื่อคง white balance ให้สม่ำเสมอ
- ฉาก 3D: ประกอบฉาก 3D จากระนาบ 2D ตามมุมและออฟเซ็ต
- สุ่มตัวอย่าง สีของเวอร์เท็กซ์ จากพาโนรามา และรองรับการแสดงผลรวมถึงการส่งออกเป็น PCD, PLY หรือ e57 ด้วย Open3D
- จัดแนวหลายฉากด้วย global registration และ การปรับละเอียด ICP
- Poisson Surface Meshing ช้ามากบน Pi4 จึงแนะนำให้รันบนพีซี
สเปกฮาร์ดแวร์
- LiDAR รุ่น LDRobot LD06, LD19 หรือ STL27L
- กล้อง Raspberry Pi HQ พร้อมเลนส์ ArduCam M12
- Raspberry Pi 4
- NEMA17 42-23 สเต็ปเปอร์พร้อมไดรเวอร์ A4988
- แหล่งจ่ายไฟ: แบตเตอรี่ 18650 จำนวน 2 ก้อน หรือ USB power bank 10,000mAh
ไดรเวอร์สเต็ปเปอร์ มอเตอร์ และเกียร์บ็อกซ์
- ไดรเวอร์สเต็ปเปอร์แบบไบโพลาร์ A4988
- สเต็ปเปอร์แบบไบโพลาร์ NEMA17 42x42x23
- เกียร์บ็อกซ์ทดรอบแบบดาวเคราะห์ที่พิมพ์ 3D
สเปก LDRobot LiDAR
- LD06: ความถี่การสุ่มตัวอย่าง 4500 Hz, baud rate 230400
- STL27L: ความถี่การสุ่มตัวอย่าง 21600 Hz, baud rate 921600
การตั้งค่าและการเดินสาย
- ตั้งค่าฟังก์ชันต่าง ๆ ผ่านขา GPIO และเชื่อมต่อกับ accelerometer GY-521 โดยใช้ i2c-GPIO
- รวมการตั้งค่าหลากหลาย เช่น ปุ่มเปิดปิด ปุ่มสแกน และการตั้งสิทธิ์ UART
การสติตช์พาโนรามาและการแสดงผลระยะไกล
- ติดตั้ง Hugin และปลั๊กอิน enblend เพื่อทำการสติตช์พาโนรามา
- ใช้ Plotly เพื่อแสดงผล point cloud 3D แบบระยะไกลใน Jupyter
ดัมพ์การสแกนไปยังที่เก็บข้อมูล USB
- โคลนและติดตั้ง GitHub repository เพื่อดัมพ์ข้อมูลการสแกนไปยังที่เก็บข้อมูล USB
การแก้ปัญหา
- มีวิธีแก้ปัญหาหลากหลาย เช่น การติดตั้งไดรเวอร์ซีเรียลบน Windows การแก้ runtime error ของ RPi.GPIO และการแก้ปัญหาประสิทธิภาพของ VS Code
เอกสารอ้างอิง
- อ้างอิงโปรเจ็กต์ที่เป็นแรงบันดาลใจ การทำงานของฮาร์ดแวร์ PWM การติดตั้งใช้งาน ICP และข้อมูลเดโม 3D เป็นต้น
4 ความคิดเห็น
ความคิดเห็นจาก Hacker News
เป็นความเห็นที่ยอดเยี่ยมมาก
กำลังมองหาวิธีราคาถูกในการวัดระยะ 300 มม. ด้วยความแม่นยำ 10 ไมครอน
น่าจะหาอะไหล่ได้จากหุ่นยนต์ดูดฝุ่น
ตัวอย่างใน Sketchfab ยอดเยี่ยมมาก และการที่ขยับไปมาในพื้นที่ 3 มิติได้ให้ความรู้สึกเหมือนซิมูเลชันไซไฟ
การควบคุมด้วยเมาส์ทำให้งง
สงสัยเกี่ยวกับความสามารถในการขยายระบบและประสิทธิภาพของ PiLiDAR
ตรงกับสิ่งที่กำลังหาอยู่เมื่อไม่กี่สัปดาห์ก่อนพอดี
เทคโนโลยี Lidar ก้าวหน้าไปมากจริง ๆ
ยังไม่ชัดเจนว่าเทคโนโลยีนี้คืออะไร
ต้นทุนของเทคโนโลยี LIDAR ที่ใช้งานได้ลดลงจนโปรเจกต์ส่วนตัวก็เข้าถึงได้
ชุมชนไฟฉายคืออะไร?
https://www.reddit.com/r/flashlight/
เป็นชุมชนย่อยบน Reddit ที่ถ้าเทียบกับบ้านเรา ก็คงประมาณแกลเลอรีย่อยไฟฉายบน DCInside
ขอบคุณครับ