6 poin oleh GN⁺ 2025-04-20 | 4 komentar | Bagikan ke WhatsApp
  • PiLiDAR adalah proyek yang sedang dikerjakan untuk membuat pemindai panorama 3D 360° DIY dengan menggabungkan Raspberry Pi 4, LiDAR LDRobot, Raspberry Pi HQ Camera, dan motor stepper
  • Fitur intinya terdiri dari driver serial kustom untuk LD06·LD19·STL27L, pembuatan panorama sferis 360° 6K, dan pembuatan adegan 3D dengan merakit bidang 2D berdasarkan sudut dan offset
  • Panorama dibuat dengan menjahit foto fisheye menggunakan Hugin, menjaga eksposur berdasarkan EXIF dan menyamakan white balance melalui optimasi iteratif color gain, sementara adegan 3D mengambil sampel vertex color dari panorama
  • Hasilnya divisualisasikan dengan Open3D dan dapat diekspor ke PCD·PLY·e57, sementara penyelarasan beberapa adegan menggunakan global registration dan penyetelan halus ICP, serta pembuatan permukaan memakai Poisson Surface Meshing
  • Biaya komponen, tidak termasuk catu daya, sekitar 200–280 dolar AS per April 2025, dan Poisson Surface Meshing sangat lambat di Pi4 sehingga disarankan dijalankan di PC

Apa yang dibuat PiLiDAR

  • PiLiDAR adalah proyek untuk merakit sendiri pemindai panorama 3D 360° berbasis Raspberry Pi, dan saat ini ditandai masih dalam pengerjaan
  • Konfigurasinya dibagi menjadi tiga bagian besar
    • LiDAR: driver serial kustom untuk LDRobot LD06, LD19, STL27L
    • Panorama: pembuatan peta sferis 360° 6K
    • 3D Scene: menyusun bidang 2D berdasarkan sudut dan offset untuk membentuk adegan 3D

Fitur pemrosesan LiDAR

  • Driver LiDAR mencakup pemeriksaan integritas paket CRC
  • PWM hardware Raspberry Pi menggunakan rpi_hardware_pwm dan dikalibrasi dengan curve fitting
  • Mendukung visualisasi live 2D dan ekspor
    • Format ekspor adalah numpy atau CSV

Pembuatan panorama dan adegan 3D

  • Panorama sferis 360° 6K dibuat dengan menjahit foto fisheye menggunakan Hugin Panorama photo stitcher
  • Eksposur kamera dijaga tetap dengan membaca data EXIF dari gambar yang diambil otomatis
  • White balance disamakan secara konsisten dengan optimasi iteratif color gain
  • Adegan 3D dibangun dengan merakit bidang 2D berdasarkan sudut dan offset
    • Mengambil sampel vertex color dari panorama
    • Mendukung visualisasi Open3D serta ekspor PCD, PLY, dan e57
    • Menggunakan global registration dan penyetelan halus ICP untuk menyelaraskan beberapa adegan
    • Poisson Surface Meshing sangat lambat di Pi4 sehingga disarankan dijalankan di PC

Hasil awal dan waktu pemindaian

  • Hasil awal didasarkan pada satu kali pemindaian, tanpa registration maupun pascapemrosesan
  • Pemindaian luar ruangan diberikan sebagai contoh colormapped intensity, sedangkan pemindaian dalam ruangan sebagai contoh vertex color
  • Contoh waktu pemindaian adalah sebagai berikut
    • Inisialisasi: 12 detik
    • Mengambil 4 foto: 17 detik
    • Pemindaian 0.167° × 0.18°: 1 menit 24 detik
    • Stitching dan perapihan: 37 detik

Konfigurasi hardware dan biaya

  • LiDAR menggunakan salah satu dari tiga opsi berikut
    • LDRobot LD06: 80 dolar AS
    • LDRobot LD19: 70 dolar AS
    • LDRobot STL27L: 160 dolar AS
  • Kamera dan lensa menggunakan kombinasi Raspberry Pi HQ Camera dan ArduCam M12 Lens dengan harga 60 dolar AS
  • Raspberry Pi 4 dihargai 50 dolar AS, dan stepper NEMA17 42-23 serta driver A4988 dihargai 10 dolar AS
  • Catu daya tersedia dalam dua cara
    • v1: 2 buah baterai 18650 dan step-down converter
    • v2: power bank USB 10.000mAh dan step-up converter
  • Total biaya, tidak termasuk catu daya, sekitar 200–280 dolar AS per April 2025
  • Tautan pembelian hanya contoh dan bukan tempat pembelian yang wajib direkomendasikan

Motor, gearbox, dan pencetakan 3D

Spesifikasi LiDAR dan protokol serial

  • Spesifikasi LD06
    • Frekuensi sampling: 4500Hz
    • baudrate: 230400
    • Frekuensi pemindaian: 5~13Hz
    • Jarak: 2cm~12m
    • Cahaya sekitar: 30kLux
  • Spesifikasi STL27L
    • Frekuensi sampling: 21600Hz
    • baudrate: 921600
  • Paket LD06 berukuran total 48 byte dengan struktur big endian
    • Karakter awal: 1 byte, nilai tetap 0x54
    • Panjang data: 1 byte, saat ini tetap 12 titik pengukuran
    • Kecepatan: 2 byte, sudut per detik
    • Sudut awal dan sudut akhir: masing-masing 2 byte, satuan 0,01 derajat
    • Data: 36 byte, 12 titik data × 3 byte
    • Setiap titik data terdiri dari jarak 2 byte dan luminance 1 byte
    • Timestamp: 2 byte, dalam satuan ms dan akan menghitung ulang setelah mencapai 30000
    • CRC check: 1 byte
  • Sudut tiap titik data dihitung dengan interpolasi linear antara sudut awal dan sudut akhir

Koneksi dan pengaturan Raspberry Pi

  • Koneksi LD06 atau STL27L terdiri dari UART Tx, PWM, GND, VCC 5V
  • Koneksi GPIO Raspberry Pi menggunakan konfigurasi berikut
    • LD06 UART0 Rx: GP15
    • LD06 PWM0: GP18
    • Power Button: GP03
    • Scan Button: GP17
    • A4988 direction: GP26
    • A4988 step: GP19
    • A4988 microstepping mode: GP5, GP6, GP13
  • Tombol daya di-hardwire ke Pin 3 dan gpio-shutdown diaktifkan
  • Akselerometer GY-521 MPU 6060 memetakan pin I2C kustom dengan i2c-GPIO karena GPIO3 dipakai untuk tombol daya
    • SDA: GPIO22
    • SCL: GPIO27
  • Tombol pemindaian diatur agar mulai otomatis dengan mendaftarkan skrip GPIO interrupt sebagai layanan systemd
  • Izin UART diberikan sementara ke /dev/ttyS0, atau dengan cara baru memakai aturan udev untuk menetapkan grup dialout dan MODE="0660"

Software dan pekerjaan jarak jauh

  • PWM hardware Raspberry Pi digunakan dengan mengaktifkan overlay pwm-2chan dan memasang RPi Hardware PWM library
  • Untuk stitching panorama dipasang Hugin dan plugin enblend
  • Kontrol daya port USB menggunakan alat CLI uhubctl
  • Jupyter dijalankan dengan opsi --ip dan --no-browser untuk akses jaringan jarak jauh
  • Untuk visualisasi Open3D jarak jauh, penggunaan Plotly dianggap lebih baik daripada Open3D Web Visualizer
    • Plotly tampak melakukan rendering di sisi klien
    • Open3D Web Visualizer melakukan rendering di sisi host dan melakukan streaming urutan JPG sehingga membebani CPU Pi dan Wi-Fi

Penyimpanan data pemindaian dan pemecahan masalah

  • Terdapat prosedur untuk clone dan memasang usb_dump guna membuang data pemindaian ke penyimpanan USB
  • File konfigurasi menentukan /home/pi/PiLiDAR/scans sebagai direktori sumber
  • Bagian pemecahan masalah mencakup hal-hal berikut
    • CP210x Universal Windows Driver untuk Windows
    • RPi.GPIO RuntimeError: Failed to add edge detection yang muncul karena antarmuka sysfs GPIO dihapus pada Raspberry Pi OS Bookworm
    • Sebagai alternatif, gunakan rpi-lgpio
    • Nonaktifkan akselerasi hardware saat performa VS Code di Raspberry Pi buruk
    • Di Raspberry Pi arm64 tidak ada wheel pye57, jadi perlu memasang libxerces-c-dev lalu build
    • Prosedur wpa_supplicant.conf untuk menambahkan pengaturan Wi-Fi melalui SSH

Implementasi referensi dan inspirasi

4 komentar

 
GN⁺ 2025-04-20
Pendapat Hacker News
  • Benar-benar keren. Kalau ini produk hardware, saat membuat bill of materials (BOM), saya sarankan mencantumkan tautan dan perkiraan biaya sekaligus
    Harga memang akan berubah, tetapi kalau ada kisaran biaya kasar, itu sangat membantu orang yang melihatnya di tempat seperti HN untuk memutuskan apakah mereka mau mencobanya sendiri. Yang penting bukan angka yang presisi, melainkan skala perkiraannya
    Sebaiknya tuliskan hasil riset yang sudah dilakukan. Bahkan kalau bukan demi orang lain, itu berguna untuk diri sendiri di masa depan. Ada banyak komponen dengan nama yang membingungkan, jadi adanya tautan memudahkan memastikan apakah itu barang yang sama; dan selama proyek berjalan, karena komponennya sudah dibeli, tautan dan harga biasanya sudah ada sehingga hampir tidak memakan waktu tambahan
    Setelah beberapa hari atau minggu saja, tidak ada yang akan ingat, jadi harus didokumentasikan. Menulis 10 detik bisa menghindarkan kita dari mencari ulang selama 30 menit nanti. Ini salah satu pelajaran terbesar yang saya dapat saat mulai sebagai engineer, dan kita harus melawan bagian bodoh di kepala yang berbisik “ini tidak menghemat waktu”. Dokumentasi kode juga sama[0]
    Ini nilai yang saya temukan setelah kira-kira 15 menit mencari, dan mungkin tidak akurat. Lidar-nya salah satu dari LD06 $80 https://www.aliexpress.us/item/3256803352905216.html, LD19 $70 https://amazon.com/DTOF-D300-Distance-Obstacle-Education/dp/…, STL27L $160 https://www.dfrobot.com/product-2726.html; kamera dan lensa $60 https://amazon.com/Arducam-Raspberry-Camera-Distortion-Compatible/dp/…, Raspberry Pi 4 $50, stepper NEMA17 42-23 $10 https://www.amazon.com/SIMAX3D-Nema17-Stepper-Motor/dp/B0CQLFNSMJ
    Bahkan tanpa power supply dan buck converter, totalnya sekitar $200–$280
    [0] Saat pertama kali menulis kode, hanya saya dan Tuhan yang tahu apa yang terjadi; seiring waktu, sekarang hanya Tuhan yang tahu

    • Proyek pembelajaran seperti ini sepertinya akan menjadi jauh lebih sulit diakses karena tarif ekstrem dan penghapusan pembebasan bea untuk barang bernilai kecil
      Harga di bill of materials mungkin harus dikalikan 2 atau 3, tergantung sumber dan jumlah pengiriman
      Sungguh menyedihkan bahwa akses ke bahan belajar yang murah dan bagus untuk memperkenalkan elektronika kepada anak-anak dan orang dewasa bisa hilang karena dikenai pajak atas nama hal-hal seperti meningkatkan daya saing Amerika. Itu benar-benar gol bunuh diri
    • Karena ada di GitHub, Anda bisa membantu dengan mengirim PR bill of materials
    • Saya tahu apa itu buck converter, tetapi penasaran kenapa disebut ‘buck converter’
      Di kamus pun saya tidak melihat arti yang mendekati “mengurangi jumlah sesuatu”. [0]
      Wikipedia juga tidak membahas etimologinya secara rinci. [1]
      [0] https://www.merriam-webster.com/dictionary/buck
      [1] https://en.wikipedia.org/wiki/Buck_converter
    • Mengejutkan bahwa biaya sebesar ini dianggap terlalu mahal bagi perusahaan seperti Tesla
    • Ini komentar paling tidak tahu terima kasih yang saya lihat hari ini, nadanya seperti mendesak “seharusnya begini”
      Kalau begitu, lakukan sendiri saja
      Dari sudut pandang orang yang punya keluarga dan waktu sangat terbatas, menyelesaikan proyek saja sudah berat, dan kemungkinan hampir tidak sempat mendokumentasikannya. Kalau nanti harus dikerjakan lagi, mungkin saya malah tidak akan melakukannya. Tidak semua orang tinggal di basement rumah ibu mereka sambil menikmati banyak waktu luang
  • Pemindai aslinya ada di sini: [1]
    Jarak maksimum 12 m, dan sepertinya dari titik ini biayanya mulai menjadi mahal. Sumber cahaya, filter, dan sensor semuanya harus lebih baik
    Untuk sebagian besar robot kecil, ini sudah cukup, dan mungkin juga cukup baik untuk mendeteksi anak-anak dan anjing secara andal di sekitar kendaraan sebagai sensor pendukung pada mobil otonom. Namun LIDAR jarak jauh yang dipasang di bagian atas tetap sulit
    [1] https://www.ldrobot.com/

    • Saya ingin tahu sebenarnya kenaikan harga ini berasal dari mana. Saya mencari, tetapi tidak banyak menemukan jawabannya
      Dugaan pertama saya: mungkin karena mulai dari jarak ini, keamanan laser menjadi proses kontrol aktif. Agar energi yang berbahaya bagi retina manusia tidak terakumulasi, cermin pemindai laser harus terus bergerak; maka diperlukan sistem kontrol wajib untuk keselamatan yang terus memantau kecepatan dan posisi cermin, lalu mematikan laser jika cermin bergerak terlalu lambat. Seberapa melesetkah saya?
  • Banyak hal memang lebih baik pada “masa lalu yang indah”, tetapi sungguh menakjubkan bisa hidup di zaman ketika individu berbakat dapat membuat teknologi seperti ini sendiri

  • Sedikit terkait, saya sedang mencari cara murah untuk mengukur jarak dengan akurasi sekitar 10 mikron pada jarak sekitar 300mm. Ada ide?

    • Sepertinya masuk ke ranah digital readout (DRO) yang dipakai pada mesin milling dan bubut
      my mechanics mengunggah video penggantian beberapa hari lalu, dan perangkat lama punya akurasi 5 mikron
      Saya tidak begitu tahu harganya
    • Yang penting adalah apakah celah yang ingin diukur banyak bergerak, dan apakah sistem pengukurnya bisa menyentuh atau dipasang tetap
      Sepertinya sepasang kaliper yang bagus pun bisa. Tergantung kebutuhan presisi, pendekatan yang sama juga bisa dipakai. Caranya memakai kisi sel kapasitif yang bergeser di atas sel pengukuran; mikrokontroler membaca nilainya saat bergerak, lalu memakai Atan2() untuk hasil akhir. Bagian meter dari ini, jika disebut terpisah, adalah DRO (Digital ReadOut)
    • Saya pernah punya masalah serupa, dan harus membuat perangkat kustom yang harganya sampai saya enggan mengakuinya. Jadi saya sarankan melihat kit DRO untuk mesin milling CNC terlebih dahulu
      Jika tidak ada batasan anggaran, ada juga solusi closed-loop stage yang sudah jadi:
      https://www.pi-usa.us/en/
      https://xeryon.com
      Semoga beruntung, dan bersiaplah terkena shock melihat daftar harganya
    • Saya punya beberapa ide desain sistem DIY, tetapi kuncinya adalah berapa banyak uang dan waktu yang bisa dipakai untuk eksperimen
      Yang juga penting adalah seberapa murah definisi “murah” menurut Anda
      Saya sedang mempertimbangkan untuk mengotomatiskan arah seperti ini:
      https://youtu.be/hnHjrz_inQU?si=dNzXVBVFsr7e8m_6
      Laser dan sensor kamera siap pakai pun, kalau diutak-atik secara DIY, bisa menghasilkan presisi yang cukup tak terduga
    • Untuk mendapat ide, ini juga layak dilihat: https://youtu.be/qMYBwbTIL-0
  • Contoh Sketchfab-nya fantastis. Rasanya seperti bisa berjalan-jalan di dalam ruang 3D layaknya simulasi fiksi ilmiah
    Namun kontrol mouse-nya terlalu membingungkan. Ikon “grab” muncul, tetapi sebenarnya tidak terasa seperti menggenggam, dan arah geraknya terbalik sehingga terasa benar-benar tidak alami

  • Sepertinya komponen seperti ini juga bisa dicopot dari robot vacuum cleaner di eBay atau Goodwill

    • Yang dimaksud “komponen seperti ini” di sini adalah sensor LIDAR
  • Benar-benar luar biasa. Saya hanya menelusuri proyeknya sekilas, jadi mungkin sudah ada, tetapi saya penasaran apakah ada data akurasi
    Misalnya akurasi pada jarak 10m; kalau LIDAR ini tidak bekerja pada jarak itu, saya ingin tahu untuk jarak yang lebih pendek sekalipun
    Saya cukup familiar dengan scanner FARO, yang memakai mekanisme berbeda dan cukup akurat untuk pengukuran bangunan
    Saya juga jadi tahu bahwa pasar scanner punya beberapa cabang, termasuk orang-orang yang membutuhkan akurasi dan mereka yang membuat konten untuk media seperti game. Proyek ini benar-benar sulit dipercaya

  • Belakangan ini saya sedikit mencoba fotogrametri untuk memindai ruangan dan ruang interior. Sejauh ini Metashape tampaknya paling cocok, tetapi presisinya masih kurang bagus, dan saya juga masih memperbaiki teknik pengambilan gambar
    Tujuan utamanya adalah mengubah interior bangunan nyata menjadi model digital untuk preservasi dan analisis. Saya sempat mempertimbangkan LIDAR, tetapi menyingkirkannya karena tampak terlalu sulit dan mahal; proyek ini sepertinya menggoyahkan asumsi itu
    Saya penasaran seperti apa software pascapemrosesannya. Bisakah kita mendapatkan point cloud lalu menggabungkannya dengan data lain seperti foto DSLR untuk teksturing?
    Melihat gambar kedua[1], sebagian dinding tidak terpindai karena terhalang lampu gantung, dan mungkin LIDAR juga tidak melihat bagian atas sofa. Bisakah dua atau lebih point cloud digabung untuk melihat bagian di balik objek dan sudut? Bisakah software otomatis menyelaraskan berdasarkan dinding atau titik yang sama sebagai ruangan nyata yang sama, atau harus cukup banyak disesuaikan manual? Apakah ada padanan coded target atau ARTag[0] untuk LIDAR? Bisakah diperluas ke banyak ruangan?
    Saya penasaran apakah ini layak dipertimbangkan dibanding fotogrametri yang dikerjakan dengan baik, atau justru hanya menambah repot
    Maaf kalau pertanyaannya masih di level bahkan tidak tahu apa yang tidak saya ketahui
    0: https://en.wikipedia.org/wiki/ARTag
    1: https://github.com/PiLiDAR/PiLiDAR/raw/main/images/interior....

    • Ini promosi terang-terangan, tetapi kalau Anda punya iPhone Pro atau iPad Pro dengan Lidar bawaan, sebaiknya coba Dot3D. Aplikasi itu melakukan semua fitur yang Anda jelaskan, dan dibuat mudah digunakan
  • Terima kasih sudah membagikan karya keren ini. Saya penasaran dengan skalabilitas dan performa PiLiDAR saat diterapkan ke dataset luar ruangan berskala besar
    Kalau pernah dibenchmark pada dataset seperti SemanticKITTI atau nuScenes, bisakah Anda memberi tahu runtime, penggunaan memori, dan seberapa baik generalisasinya melampaui adegan interior yang dipakai di paper?

    • Sepertinya ada sedikit salah paham. Tolong koreksi saya kalau keliru, tetapi ini bukan model untuk pemrosesan data, melainkan scanner LIDAR DIY untuk akuisisi data
      Dataset seperti itu biasanya dibuat dengan kamera RGBA, lalu point cloud dihasilkan kemudian pada tahap pascapemrosesan
      Jadi ini bukan model pemrosesan, melainkan hardware hack untuk mendapatkan data kedalaman nyata. Anda bisa mengunggah apa pun yang diinginkan
  • Ini persis yang saya cari beberapa minggu lalu. Saya sudah menaruh komponen-komponen di keranjang Amazon selama beberapa minggu untuk membuat prototipe sesuatu yang kira-kira serupa, tetapi masih belum yakin soal pilihan scanner LIDAR yang sebenarnya
    Setelah kembali dari liburan Paskah, saya akan melihat ini sebagai titik awal

 
chcv0313 2025-04-22

Apa itu komunitas senter?

 
savvykang 2025-05-03

https://www.reddit.com/r/flashlight/
Kalau di Indonesia, ini semacam subkomunitas di Reddit yang kira-kira setara dengan minor gallery senter di DC Inside.

 
chcv0313 2025-05-20

Terima kasih.