Contents — find the section you need
Sensor berputar di atas mobil otonom, atau jendela kecil di atas robot penyedot debu — banyak di antaranya adalah LiDAR (Light Detection And Ranging), sensor yang mengukur jarak ke lingkungan sekitarnya secara langsung menggunakan cahaya laser. LiDAR-SLAM adalah teknologi yang melakukan lokalisasi mandiri dan pemetaan secara simultan hanya menggunakan data point-cloud yang dikembalikan oleh LiDAR (opsional dibantu oleh sensor seperti IMU). Jika Visual-SLAM (lihat "Visual-SLAM Primer") mencoba untuk secara tidak langsung memulihkan struktur 3D dari gambar 2D kamera, LiDAR-SLAM dimulai dengan informasi jarak 3D langsung — itulah perbedaan utamanya. Artikel ini dimulai dari prinsip apa yang sebenarnya diukur oleh LiDAR, membahas dua algoritma utama untuk menyelaraskan awan titik — ICP dan NDT — desain berbasis fitur yang diwakili oleh LOAM, Loop Closure dan Graph SLAM, dan akhirnya silsilah algoritma penanda dan bagaimana memilih di antara algoritma tersebut dalam praktik. Perkembangan terkini dibahas dalam "Tren Teknologi dalam LiDAR-SLAM".
Keluarga LiDAR Velodyne
Contoh LiDAR LivoxGambar: Velodyne Keluarga sensor Lidar (APJarvis, CC BY-SA 4.0) / Livox Mid-40, Horizon, dan Tele-15 (Dllu, CC BY-SA 4.0), Wikimedia Commons. Keluarga produk representatif, bukan berarti model terbaru yang disebutkan dalam teks.
0. Apa yang Dibahas Artikel Ini
- Apa yang sebenarnya diukur oleh LiDAR, dan mengapa ia memperoleh jarak "secara langsung"
- Bagaimana masalah SLAM mendasar muncul di dunia point cloud
- Bagaimana dua algoritma pencocokan pemindaian utama, ICP (Iterative Closest Point) dan NDT (Normal Distributions Transform), bekerja dan bagaimana perbedaannya
- Perbedaan antara dua mode Odometri LiDAR, Scan-to-Scan dan Scan-to-Map
- Mengapa LOAM mengekstrak fitur (tepi dan bidang) sama sekali, dan pemikiran desain di baliknya
- Bagaimana Loop Closure dan optimasi Pose Graph saling berkaitan
- Perbedaan di antara algoritma penanda — ICP / NDT / LOAM / LeGO-LOAM / A-LOAM / Cartographer / LIO-SAM / FAST-LIO2 — dan bagaimana cara memilihnya
1. Apa Itu LiDAR-SLAM?
Dalam satu kalimat: LiDAR-SLAM adalah teknologi yang menggunakan serangkaian pengukuran jarak presisi tinggi (awan titik) yang diperoleh dari waktu tempuh (atau pergeseran fase) cahaya laser, dengan berulang kali mendaftarkan pemindaian berurutan satu sama lain (pencocokan pemindaian), untuk secara simultan memperkirakan lintasan sensor itu sendiri dan peta 3D lingkungan sekitarnya.
Inputnya adalah awan titik yang dihasilkan LiDAR pada interval tetap (dari beberapa ribu hingga ratusan ribu titik per pemindaian), dan outputnya — seperti pada Visual-SLAM — adalah dua hal: posisi sensor dengan 6 derajat kebebasan pada setiap saat (3 untuk posisi, 3 untuk orientasi), dan peta awan titik 3D dari lingkungan sekitarnya. Contoh: Mobil otonom yang mempertahankan hubungan jarak yang tepat dengan kendaraan, pejalan kaki, dan infrastruktur jalan di sekitarnya sambil memperkirakan posisinya sendiri; robot seluler otonom yang menavigasi dengan tepat di antara rak-rak gudang; Drone yang terbang melalui ruang-ruang yang kompleks secara geometris seperti terowongan atau interior bangunan — LiDAR-SLAM adalah apa yang berjalan di balik layar dalam setiap kasus ini.
2. Apa Sebenarnya yang Diukur oleh LiDAR?
Prinsip pengukuran jarak LiDAR terbagi dalam dua kategori besar. Dalam pendekatan ToF (Time of Flight), sensor menembakkan pulsa laser dan mengukur waktu T yang dibutuhkan pantulan dari target untuk kembali, kemudian menentukan jarak D dari kecepatan cahaya c.
Karena cahaya menempuh perjalanan bolak-balik, waktu yang diukur T harus dibagi dua untuk mendapatkan waktu propagasi satu arah. Pendekatan lainnya, pergeseran fase (FMCW/AMCW), memancarkan sinar laser yang dimodulasi secara kontinu dan menentukan jarak dari perbedaan fase antara sinyal yang dipancarkan dan dipantulkan. Bagaimanapun, LiDAR tidak hanya mendapatkan "ada sesuatu di sana" tetapi juga jarak absolut sebenarnya ke objek tersebut dalam satu pengamatan — kemampuan yang sama sekali tidak dimiliki kamera. Seperti yang akan kita lihat di bagian 4, citra kamera monokuler tunggal tidak akan pernah dapat merekonstruksi skala dunia nyata dengan sendirinya, sedangkan awan titik LiDAR membawa skala metrik sejak awal.
Ada juga dua keluarga perangkat keras LiDAR. LiDAR putar mekanis memutar susunan bertumpuk dari beberapa elemen pemancar/penerima laser untuk membangun awan titik 360 derajat penuh; Velodyne dan Ouster adalah produsen yang mewakili. LiDAR solid-state tidak memiliki bagian mekanis yang berputar, melainkan menggunakan cermin MEMS atau susunan fase optik untuk memindai bidang pandang terbatas sambil mencapai ukuran yang lebih kecil dan biaya yang lebih rendah; Livox adalah contoh yang mewakili. Unit solid-state mengorbankan bidang pandang yang lebih sempit untuk, dalam banyak produk, pola pemindaian non-repetitif (memindai titik yang sama di sepanjang jalur yang sedikit berbeda setiap kali), yang berarti awan titik menjadi lebih padat semakin lama Anda mengumpulkannya.
Awan titik LiDAR juga memiliki struktur yang sama sekali tidak dimiliki oleh gambar kamera. LiDAR yang berputar menembakkan beberapa laser yang ditumpuk secara vertikal (misalnya, 16, 32, atau 128 lapisan) sambil berputar secara horizontal, menghasilkan awan titik yang padat secara horizontal tetapi jarang dan berlapis secara vertikal — distribusi anisotropik. Struktur ini secara langsung memengaruhi desain ekstraksi fitur LOAM dan estimasi normal ICP, yang keduanya akan kita bahas di bawah ini.
3. Masalah SLAM Fundamental: "Di Mana Awan Titik Saat Ini Berada di Peta?"
Sama seperti Visual-SLAM memecahkan "di mana gambar saat ini sesuai, di dalam gambar sebelumnya dan peta" dengan mencocokkan titik fitur, LiDAR-SLAM memecahkan "di mana pemindaian saat ini (awan titik) sesuai, di dalam pemindaian sebelumnya dan peta" dengan menyelaraskan awan titik satu sama lain. Masalah mendasar pada dasarnya sama terlepas dari sensornya: satu pengamatan saja tidak pernah dapat menentukan posisi absolut; Satu-satunya cara untuk maju adalah dengan terus memperkirakan posisi saat ini menggunakan korespondensi dengan pengamatan masa lalu (peta) sebagai petunjuk.
Yang berbeda adalah substansi korespondensi tersebut. Visual-SLAM mendeteksi "titik-titik penting" (fitur) dalam sebuah gambar, mengkodekan secara numerik penampakan di sekitarnya sebagai deskriptor, dan mencari korespondensi berdasarkan kesamaan deskriptor. Sebaliknya, awan titik LiDAR hampir tidak membawa informasi "penampilan" seperti kecerahan atau warna (intensitas reflektansi tersedia, tetapi jauh kurang diskriminatif daripada deskriptor gambar). Akibatnya, pencocokan awan titik, dalam kebanyakan kasus, didorong murni oleh kedekatan spasial — "titik mana yang secara geometris paling dekat." Proses keseluruhan untuk menemukan transformasi kaku (rotasi R , translasi \mathbf{t} ) antara dua awan titik disebut Pencocokan Pemindaian, dan ini membentuk inti dari LiDAR-SLAM.
Inti dari bagian ini sederhana: jika Visual-SLAM memiliki "pencocokan fitur + geometri epipolar," LiDAR-SLAM menggantikannya dengan "pencocokan pemindaian." Dua bagian selanjutnya membahas dua algoritma utama yang mewujudkan pencocokan pemindaian: ICP dan NDT.
4. Memahami ICP
ICP (Iterative Closest Point) adalah algoritma klasik untuk registrasi point-cloud, yang diterbitkan oleh Besl & McKay pada tahun 1992 di IEEE Transactions on Pattern Analysis and Machine Intelligence, dan masih banyak digunakan hingga saat ini. Seperti namanya, algoritma ini dibangun di atas ide sederhana: perlakukan "titik terdekat" sebagai titik yang sesuai, lalu perbaiki titik tersebut berulang kali.
Algoritma ini dapat diorganisasikan menjadi tiga langkah.
- Pencarian Korespondensi: untuk setiap titik p_i dalam awan titik yang dipindahkan (sumber), temukan titik terdekat q_i dalam awan titik tetap (target) — biasanya menggunakan struktur pencarian spasial seperti KD-tree.
- Estimasi Transformasi: dengan diberikan himpunan korespondensi \{(p_i, q_i)\} ini, temukan rotasi R dan translasi \mathbf{t} yang meminimalkan jumlah jarak antara titik-titik yang berkorespondensi. Versi paling sederhana, kesalahan Titik-ke-Titik, didefinisikan sebagai berikut.
- Terapkan dan Ulangi: terapkan R dan \mathbf{t} yang dihasilkan ke seluruh awan titik sumber, lalu kembali ke langkah 1 dan cari korespondensi lagi. Siklus pencarian korespondensi → estimasi transformasi → aplikasi ini berulang hingga kesalahan menjadi cukup kecil (atau berhenti berkurang).
Kesalahan titik-ke-titik bersifat intuitif, tetapi ketika menyelaraskan dua bidang datar yang lebar — misalnya, dinding — dari perspektif kesalahan, hampir tidak penting di mana tepatnya di sepanjang bidang tersebut titik-titik tersebut saling berkorespondensi (pergeseran kecil di sepanjang bidang hampir tidak mengubah kesalahan, selama offset tegak lurusnya kecil), sehingga konvergensi cenderung lambat. Kesalahan titik-ke-bidang mengatasi hal ini: ia memperkirakan vektor normal n_i dari bentuk lokal di sekitar titik yang berkorespondensi q_i, dan hanya meminimalkan ketidaksesuaian di sepanjang arah normal (jarak titik-ke-bidang).
Point-to-Plane mentolerir offset di sepanjang bidang sambil hanya memberikan penalti ketat pada ketidaksesuaian yang tegak lurus terhadapnya, dan diketahui konvergen lebih cepat dan lebih stabil daripada Point-to-Point, terutama di lingkungan yang kaya bidang seperti interior bangunan. Meskipun demikian, seperti yang dicatat di bagian 2, awan titik LiDAR yang berputar memiliki struktur berlapis dan jarang secara vertikal, sehingga estimasi normal secara naif dapat menghasilkan normal yang bising yang terseret oleh lapisan — estimasi normal itu sendiri perlu kehati-hatian.
ICP memiliki dua kelemahan utama. Pertama, karena pencarian korespondensi hanya bergantung pada "tetangga geometris terdekat," offset awal yang besar menyebabkan korespondensi yang salah dan konvergensi ke minimum lokal — tebakan awal yang baik diperlukan. Kedua, menjalankan pencarian tetangga terdekat berulang kali pada awan titik dengan puluhan ribu titik per bingkai membutuhkan biaya komputasi yang mahal, yang meningkat seiring dengan ukuran awan. NDT, yang akan dibahas selanjutnya, mengambil pendekatan berbeda yang sepenuhnya menghindari pencarian korespondensi.
5. Memahami NDT
NDT (Normal Distributions Transform) adalah algoritma pencocokan pemindaian dengan pendekatan yang secara fundamental berbeda dari ICP, yang dipublikasikan oleh Biber & Straßer pada tahun 2003 di Konferensi Internasional IEEE/RSJ tentang Robot Cerdas dan Sistem (IROS). Versi aslinya diusulkan untuk pemindai laser 2D; kemudian diperluas untuk menangani awan titik 3D juga.
Ide inti NDT adalah untuk merepresentasikan awan titik bukan sebagai kumpulan titik individual, tetapi sebagai distribusi probabilitas yang didefinisikan per voxel pada grid reguler. Distribusi titik di dalam setiap voxel didekati sebagai Gaussian (distribusi normal) dengan rata-rata \mu dan matriks kovariansi \Sigma.
Setelah merepresentasikan seluruh awan titik target dengan cara ini — sebagai himpunan distribusi Gaussian per-voksel yang membentuk fungsi kerapatan probabilitas yang kontinu-sepotong dan dapat didiferensiasi — tidak perlu lagi "mencari korespondensi titik-ke-titik" untuk menyelaraskan awan sumber. Sebaliknya, untuk transformasi T (rotasi dan translasi) yang diterapkan pada setiap titik sumber \mathbf{x}_i, menghasilkan \mathbf{x}_i' = T(\mathbf{x}_i), Anda menjumlahkan seberapa "masuk akal" titik yang ditransformasikan tersebut di bawah distribusi Gaussian dari voksel yang sesuai, sebagai fungsi skor, dan menemukan T yang memaksimalkannya.
Optimasi ini diselesaikan dengan metode berbasis gradien seperti metode Newton. Tidak seperti ICP, tidak perlu bergantian antara "pencarian korespondensi" dan "estimasi transformasi" sebagai langkah terpisah — Anda cukup mengevaluasi gradien terhadap parameter Gaussian yang telah dihitung sebelumnya — sehingga biaya pencarian tetangga terdekat dihindari sepenuhnya. Dan karena noise pada titik-titik individual diserap ke dalam rata-rata dan kovariansi per-voksel, hasilnya cenderung kuat terhadap noise.
Namun, NDT memiliki kelemahan tersendiri: pilihan ukuran voksel. Voksel yang lebih besar secara komputasi lebih ringan tetapi merata-ratakan perbedaan bentuk halus, sehingga mengurangi akurasi penyelarasan. Voksel yang lebih kecil meningkatkan resolusi bentuk tetapi menyisakan lebih sedikit titik per voksel, membuat estimasi Gaussian itu sendiri tidak stabil, dan jumlah voksel yang meningkat juga meningkatkan biaya komputasi. Parameter yang dapat disesuaikan ini yang harus diatur dengan benar oleh pengguna inilah yang membuat NDT praktis sulit digunakan.
6. Odometri LiDAR (Scan-to-Scan / Scan-to-Map)
Proses penggunaan ICP atau NDT untuk menemukan gerakan relatif antara frame yang berurutan, dan mengakumulasi estimasi tersebut dari waktu ke waktu, disebut Odometri LiDAR. Seperti halnya Odometri Visual dalam Visual-SLAM, tanpa mekanisme untuk menyelaraskan dengan peta secara keseluruhan (Loop Closure), Drift akan terakumulasi dari waktu ke waktu dan tidak dapat dihindari.
Odometri LiDAR hadir dalam dua varian tergantung pada apa yang dibandingkan. Scan-to-Scan hanya mendaftarkan setiap scan terhadap scan sebelumnya; secara komputasi murah, tetapi karena setiap kesalahan estimasi langsung memengaruhi tebakan awal untuk scan berikutnya, Drift cenderung terakumulasi. Scan-to-Map mendaftarkan scan saat ini bukan terhadap satu scan sebelumnya tetapi terhadap seluruh peta lokal yang terakumulasi; Dengan memanfaatkan lebih banyak pengamatan, metode ini menjadi kurang sensitif terhadap noise dan umumnya lebih akurat daripada Scan-to-Scan, dengan biaya komputasi yang lebih tinggi karena kumpulan titik referensi lebih besar.
Sebagian besar implementasi LiDAR-SLAM praktis menggabungkan keduanya. Perkiraan awal yang cepat dan kasar diperoleh terlebih dahulu — melalui Scan-to-Scan, prediksi IMU, atau penyelarasan berbasis NDT kasar dari bagian 5 — dan perkiraan awal tersebut kemudian disempurnakan dengan registrasi Scan-to-Map yang presisi. Alur kerja di bawah ini mengilustrasikan alur pemrosesan LiDAR-SLAM umum yang dibangun berdasarkan ide dua tahap ini.
Gambar 1 — Jalur cepat per-pemindaian berjalan dari perataan melalui registrasi lokal ke pembaruan pose dan peta lokal, memberi makan tebakan awal berikutnya dan peta referensi. Jalur terpisah dengan laju lebih rendah memverifikasi kunjungan ulang dari riwayat keyframe, menerima batasan loop, dan menggunakan grafik. Optimasi untuk mengoreksi lintasan dan peta global.
Langkah Deskew (mengoreksi distorsi selama pemindaian) yang ditunjukkan dalam diagram khusus untuk LiDAR. Pemindaian tunggal LiDAR yang berputar tidak ditangkap secara instan — dibutuhkan puluhan hingga ratusan milidetik untuk akuisisi. Jika sensor itu sendiri bergerak selama jendela waktu tersebut, titik-titik yang ditangkap sebelumnya dan titik-titik yang ditangkap kemudian dalam pemindaian yang sama akhirnya mewakili pengamatan dari waktu dan posisi yang benar-benar berbeda, semuanya bercampur dalam satu pemindaian (Distorsi Gerak). Deskew menggunakan IMU (atau perkiraan kecepatan sebelumnya) untuk mengoreksi gerakan ini selama pemindaian, merekonstruksi awan titik seolah-olah telah ditangkap dari satu momen. Koreksi ini sangat terkait dengan fusi IMU yang dibahas dalam VIO/LIO (lihat "VIO/LIO Primer").
7. Memahami LOAM
LOAM (Lidar Odometry and Mapping in Real-time), diterbitkan oleh Zhang & Singh pada tahun LOAM, yang dipresentasikan pada tahun 2014 di Robotics: Science and Systems (RSS), mendasari desain banyak implementasi LiDAR-SLAM hingga saat ini. Inovasi utama LOAM adalah hanya mengekstrak titik-titik yang secara geometris berbeda, bukan menggunakan setiap titik dalam cloud.
LOAM mengevaluasi kehalusan lokal (kelengkungan) di sekitar setiap titik dan mengekstrak titik-titik dengan kelengkungan tinggi relatif terhadap sekitarnya sebagai fitur tepi (sudut tajam atau garis luar objek), dan titik-titik dengan kelengkungan rendah sebagai fitur planar (bagian dari permukaan yang berlanjut dengan mulus, seperti dinding atau lantai). Alih-alih menggunakan seluruh pemindaian dengan puluhan ribu titik untuk registrasi, mempersempitnya hanya pada fitur-fitur ini secara drastis mengurangi biaya komputasi pencocokan pemindaian.
Setelah fitur-fitur diekstrak, formulasi kesalahan menggemakan ide-ide ICP dari bagian 4, tetapi elemen geometris yang dicocokkan adalah "garis" atau "bidang" daripada "titik." Fitur tepi p_i dicocokkan dengan meminimalkan jaraknya ke garis yang dibentuk oleh dua titik yang bersesuaian. p_a dan p_b pada pemindaian sebelumnya (atau peta).
Fitur planar dicocokkan dengan meminimalkan jaraknya ke bidang yang dibentuk oleh tiga titik yang sesuai (bentuk yang sama dengan kesalahan Titik-ke-Bidang di bagian 4). Menjumlahkan jarak-jarak ini dan meminimalkan rotasi dan translasi menghasilkan gerakan relatif antar frame.
Pilihan desain utama LOAM lainnya adalah struktur dua tingkatnya, yaitu Odometri Lidar frekuensi tinggi dan Pemetaan Lidar frekuensi rendah. Odometri Lidar menjalankan pencocokan Pemindaian-ke-Pemindaian berbasis fitur terhadap pemindaian sebelumnya pada frekuensi tinggi (setiap pemindaian), menghasilkan perkiraan pose yang kasar namun cepat. Pemetaan Lidar mengambil perkiraan kasar tersebut sebagai tebakan awalnya dan menjalankan pencocokan Pemindaian-ke-Peta terhadap peta yang terakumulasi secara keseluruhan, pada frekuensi yang lebih rendah daripada Odometri Lidar, menghasilkan pose yang lebih akurat dan peta yang lebih presisi. Menjalankan kedua proses secara paralel pada frekuensi yang berbeda, dengan Lidar Hasil pemetaan yang pada akhirnya mengoreksi estimasi Odometri Lidar, mencapai output frekuensi tinggi dan akurasi tinggi sekaligus. Filosofi desain "estimasi kasar frekuensi tinggi + koreksi presisi frekuensi rendah" ini telah diwarisi oleh banyak implementasi LiDAR-SLAM dan LIO selanjutnya yang dibahas di bagian 9.
8. Penutupan Loop dan Graph SLAM
Odometri LiDAR saja mengakumulasi penyimpangan seiring waktu, sama seperti Odometri Visual dalam Visual-SLAM, dan bahkan setelah robot kembali ke titik awalnya, lintasan yang diestimasi tidak pernah menyadarinya. Mekanisme yang mengoreksi kesalahan yang terakumulasi ini adalah Penutupan Loop.
Penutupan Loop di dunia LiDAR terbagi menjadi dua langkah besar. Pertama adalah Pengenalan Tempat: menilai apakah awan titik saat ini menyerupai awan titik dari lokasi yang pernah dikunjungi sebelumnya. Karena awan titik tidak membawa informasi kecerahan seperti halnya gambar, ini bergantung pada pendekatan yang mengkodekan distribusi bentuk awan titik itu sendiri sebagai deskriptor — misalnya, metode seperti Konteks Pemindaian, yang membagi pemindaian menjadi sel berbentuk kipas. dan mengkodekan ketinggian maksimum di setiap sel sebagai deskriptor — atau pada metode yang merangkum fitur geometris dari seluruh awan titik. Kedua adalah verifikasi geometris: untuk pasangan pemindaian yang diusulkan sebagai kandidat oleh pengenalan tempat, sebenarnya mencoba pencocokan pemindaian dengan ICP atau NDT dan memeriksa apakah keduanya cukup sesuai. Hanya setelah melewati kedua tahap tersebut, kendala yang menghubungkan "posisi saat ini" dan "posisi ketika tempat itu sebelumnya dikunjungi" cukup terpercaya untuk diadopsi.
Menggunakan kendala penutupan loop ini untuk mengoreksi pose yang terakumulasi dan memetakannya menjadi keseluruhan yang konsisten adalah tugas dari optimasi Grafik Pose, atau lebih umum, kerangka kerja Graph SLAM. Ia membangun grafik yang simpulnya adalah pose sensor pada setiap saat, dan tepinya adalah kendala pada gerakan relatif antar frame (atau antara dua momen waktu yang jauh yang dihubungkan oleh loop), kemudian menyesuaikan simpul (pose) melalui optimasi nonlinier sehingga semua kendala tepi saling konsisten sebisa mungkin. Tepi yang baru ditambahkan oleh penutupan loop berperan dalam mendistribusikan Drift — yang sampai saat itu hanya merambat dalam satu arah — di seluruh jalur yang membentuk lingkaran. Optimasi ini, seperti pada Visual-SLAM (lihat "Visual-SLAM Primer", bagian 10), umumnya bergantung pada pustaka seperti g2o, GTSAM, dan Ceres Solver di dalam implementasi LiDAR-SLAM juga.
9. Algoritma Penanda
Sejarah LiDAR-SLAM paling mudah diikuti melalui dua sumbu: bagaimana awan titik didaftarkan, dan seberapa jauh desain mempersempit hal-hal ke fitur eksplisit.
ICP (Besl & McKay, 1992) adalah, seperti yang dibahas di bagian 4, algoritma dasar klasik dan masih banyak digunakan untuk pendaftaran awan titik. Algoritma ini jarang digunakan secara mandiri untuk SLAM waktu nyata, tetapi beberapa bentuk minimisasi berbasis korespondensi yang berasal darinya tetap ada di hampir setiap metode yang mengikutinya.
NDT (Biber & Straßer, 2003) adalah, seperti yang dibahas di bagian 5. Pencocokan pemindaian berbasis distribusi Gaussian yang menghindari pencarian korespondensi, dan berdiri sejajar dengan ICP sebagai pilihan dasar lainnya, digunakan secara luas mulai dari SLAM robot dalam ruangan 2D hingga aplikasi pengemudian otonom 3D.
LOAM (Zhang & Singh, 2014) adalah, seperti yang dibahas di bagian 7, metode yang memperkenalkan ekstraksi fitur tepi/bidang bersama dengan desain Odometri frekuensi tinggi dua tingkat + Pemetaan frekuensi rendah, yang mendasari desain banyak implementasi LiDAR-SLAM dan LIO hingga saat ini.
LeGO-LOAM (Lightweight and Ground-Optimized Lidar Odometry and Mapping, Shan & Englot, diterbitkan 2018 di Konferensi Internasional IEEE/RSJ tentang Robot Cerdas dan Sistem (IROS)) memperluas LOAM secara khusus untuk kendaraan darat. Pertama, ia memisahkan awan titik menjadi titik tanah dan non-tanah, menggunakan titik tanah untuk memperkirakan roll, pitch, dan elevasi, dan titik non-tanah untuk memperkirakan derajat kebebasan yang tersisa (posisi horizontal dan yaw), mencapai Desain ringan yang mampu beroperasi secara real-time bahkan pada sistem tertanam dengan daya komputasi terbatas.
A-LOAM (Advanced LOAM) adalah implementasi ulang open-source yang disederhanakan dari ide-ide LOAM yang dibangun di atas optimasi nonlinier berbasis Ceres Solver, yang dirilis oleh kelompok-kelompok seperti HKUST Aerial Robotics Group. Ia menghilangkan beberapa penyesuaian teknik yang detail dari LOAM asli demi kode yang lebih jelas, dan sering dirujuk sebagai implementasi yang mudah diakses untuk mempelajari dan bereksperimen dengan keluarga algoritma LOAM.
Cartographer (Hess, Kohler, Rapp, Andor, diterbitkan 2016 di Konferensi Internasional IEEE tentang Robotika dan Otomasi (ICRA), Google) melakukan pencocokan pemindaian lokal berbasis Ceres Solver pada basis per-submap (submap adalah kumpulan beberapa pemindaian), dikombinasikan dengan deteksi penutupan loop cepat melalui pencarian Branch-and-Bound divide-and-conquer di atas ruang kandidat. Ia mendukung 2D dan 3D, dan — dibantu oleh Dengan implementasi open-source yang tersedia secara luas untuk ROS — telah diadopsi secara luas dalam pemetaan dalam ruangan.
LIO-SAM (Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping, Shan, Englot, Meyers, Wang, Ratti, Rus, diterbitkan 2020 di IROS) adalah metode LiDAR-Inertial Odometry (LIO) yang terhubung erat yang secara bersamaan mengoptimalkan faktor pra-integrasi IMU, faktor odometri pencocokan pemindaian LiDAR, faktor GPS, dan faktor penutupan loop dalam Grafik Faktor bersama (lihat "VIO/LIO Primer" untuk detailnya).
FAST-LIO2, yang diterbitkan oleh Xu, Zhang, dan kolega di MARS Lab Universitas Hong Kong, adalah LIO cepat yang dibangun di atas Tightly-Coupled Iterated Kalman Filter. Dengan mengelola point cloud secara langsung dengan struktur pencarian tetangga terdekat sekuensial (inkremental). (k-d tree, iKD-Tree), ia mendaftarkan awan titik secara langsung ke peta tanpa langkah ekstraksi fitur eksplisit, dan desainnya memprioritaskan operasi waktu nyata pada platform kecil dengan daya komputasi terbatas. Perkembangan terkini tahun 2026 dibahas dalam "Tren Teknologi dalam LiDAR-SLAM".
10. Membandingkan Metode
| Metode | Prinsip | Akurasi | Biaya Komputasi | Ketahanan | Kesulitan Implementasi |
|---|---|---|---|---|---|
| ICP | Pencarian tetangga terdekat + minimisasi transformasi kaku iteratif | Akurasi tinggi jika tebakan awal bagus; jatuh ke minimum lokal jika tidak | Sedang–tinggi (biaya pencarian tetangga terdekat iteratif) | Lemah di lingkungan tanpa fitur geometris atau terhadap offset awal yang besar | Rendah (Secara konseptual sederhana, banyak implementasi yang sudah ada) |
| NDT | Memaksimalkan kesesuaian terhadap distribusi Gaussian per-voksel | Bergantung pada ukuran voksel; relatif kuat terhadap noise | Sedang (tidak ada pencarian korespondensi, tetapi melibatkan komputasi gradien) | Kuat terhadap noise tetapi membutuhkan penyetelan ukuran voksel | Sedang (penyetelan membutuhkan sedikit keahlian) |
| LOAM | Ekstraksi fitur tepi/planar + Odometri/Pemetaan dua tingkat | Akurasi tinggi di lingkungan yang kaya fitur | Sedang (lebih ringan daripada menggunakan seluruh point cloud, berkat pemilihan fitur) | Lemah di lingkungan yang miskin fitur (terowongan, dll.) | Sedang-tinggi (parameter dan desain yang kompleks) |
| LeGO-LOAM | Pemisahan titik tanah + optimasi dua tingkat gaya LOAM | Akurasi tinggi untuk kendaraan darat; asumsi tidak berlaku untuk platform udara | Sedang (lebih ringan daripada LOAM) | Sangat bergantung pada keberadaan bidang tanah yang datar | Sedang |
| A-LOAM | Implementasi ulang LOAM yang disederhanakan menggunakan Ceres Solver | Kurang lebih setara dengan LOAM (bervariasi tergantung implementasi) | Sedang | Mewarisi kelemahan yang sama dengan LOAM | Rendah–sedang (mudah dijadikan referensi untuk pembelajaran) |
| Cartographer | Pencocokan pemindaian per-subpeta + Penutupan loop Branch-and-Bound | Akurasi tinggi di dalam ruangan (2D); kuat pada konsistensi global | Sedang–tinggi (manajemen subpeta dan biaya pencarian Branch-and-Bound) | Kuat di lingkungan dalam ruangan yang kaya loop | Sedang (mudah diadopsi dalam ekosistem ROS) |
| LIO-SAM | Optimasi grafik faktor dari pra-integrasi IMU + odometri LiDAR + GPS + penutupan loop | Akurasi tinggi dengan fusi IMU; konsistensi global meningkat lebih lanjut dengan GPS | Tinggi (biaya optimasi grafik faktor) | IMU membantu mengatasi degenerasi geometris | Sedang–tinggi (asumsi sensor spesifik, misalnya IMU 9-sumbu) |
| FAST-LIO2 | Registrasi langsung melalui Iterated Kalman Filter + iKD-Tree | Akurasi tinggi pada frekuensi tinggi (terutama terlihat pada LiDAR solid-state) | Rendah–sedang (metode langsung menghindari biaya ekstraksi fitur) | Bergantung pada IMU dalam kondisi degenerasi; lemah dalam kondisi geometri rendah ekstrem | Sedang (implementasi bersifat publik, tetapi penyetelan internal membutuhkan keahlian) |
Secara keseluruhan, akan lebih mudah untuk melihat ICP dan NDT sebagai "algoritma registrasi dasar," keluarga LOAM (LOAM/LeGO-LOAM/A-LOAM) sebagai "peningkatan efisiensi melalui desain fitur," Cartographer sebagai "konsistensi global yang efisien dan penutupan loop," dan LIO-SAM/FAST-LIO2 sebagai "peningkatan ketahanan melalui kopling IMU yang erat" — masing-masing merupakan sumbu peningkatan yang berbeda yang dibangun di atas apa yang telah ada sebelumnya.
11. Di Mana LiDAR-SLAM Mengalami Kesulitan
Karena LiDAR secara aktif memancarkan cahaya laser untuk mengukur jarak, ia bekerja dengan baik Melawan kegelapan dan pencahayaan latar — lingkungan di mana Visual-SLAM kesulitan. Tetapi LiDAR-SLAM juga memiliki kelemahan tersendiri.
- Degenerasi Geometris: di lingkungan di mana bentuk awan titik hampir tidak berubah sepanjang arah tertentu — terowongan panjang, atau tempat parkir yang luas dan datar — pencocokan pemindaian tidak dapat secara unik menentukan translasi atau rotasi sepanjang arah tersebut. Ini terjadi karena optimasi ICP/NDT mendarat di "lembah datar" di mana kesalahan hampir tidak berubah untuk nilai apa pun sepanjang arah tersebut; ini memiliki akar penyebab yang sama dengan kelemahan Visual-SLAM terhadap dinding tanpa fitur.
- Cuaca buruk: hujan, salju, kabut, dan debu menghamburkan dan menyerap cahaya laser, melemahkan pantulan yang seharusnya kembali, atau menghasilkan titik noise (pantulan palsu yang muncul di posisi di mana sebenarnya tidak ada apa pun).
- Cermin dan objek transparan: kaca dan cermin dapat memantulkan cahaya laser secara spekular, menghasilkan titik palsu di lokasi selain posisi objek sebenarnya (lokasi bayangan cermin).
- Objek dinamis: menggunakan titik pada Objek bergerak — pejalan kaki, kendaraan — seolah-olah mereka adalah bagian dari lingkungan statis selama registrasi memperkenalkan kesalahan ke dalam perkiraan gerakan sensor itu sendiri. Mendeteksi dan mengecualikan objek dinamis, atau secara eksplisit memodelkannya, menjadi perlu.
- Pertukaran antara kepadatan titik dan biaya komputasi: awan titik dengan resolusi dan frekuensi lebih tinggi cenderung menghasilkan registrasi yang lebih akurat, tetapi semakin banyak titik per bingkai, semakin tinggi biaya komputasi pencocokan pemindaian. Dalam sistem tertanam atau drone dengan komputasi terbatas, pertukaran antara kepadatan dan kecepatan ini menjadi kendala desain utama.
- Biaya perangkat keras: LiDAR berputar jarak jauh dengan resolusi tinggi tetap jauh lebih mahal daripada kamera, dan biaya seringkali menjadi penghalang nyata untuk adopsi.
Banyak kelemahan ini berbeda arah dengan kelemahan kamera, yang membuat penggabungan Kamera (Visual-SLAM) dan LiDAR (LiDAR-SLAM) — fusi sensor (lihat "[Fusi Sensor]") menjadi penting. Pengantar") — cara ampuh untuk mengkompensasi keterbatasan masing-masing sensor secara terpisah.
12. Memilih dalam Praktik
Cara memilih di antara metode LiDAR-SLAM sangat bergantung pada sensor apa yang dapat dipasang, komputasi yang tersedia, akurasi yang dibutuhkan, dan karakter geometris lingkungan.
- Robot layanan dalam ruangan dan robot penyedot debu: LiDAR 2D berbiaya rendah tetap menjadi pilihan yang kuat dan konsisten, dan implementasi SLAM 2D yang tangguh seperti Cartographer banyak digunakan. Ruang dalam ruangan, yang kaya akan struktur seperti dinding dan furnitur, jarang mengalami degenerasi geometris, menjadikannya lingkungan yang menguntungkan untuk LiDAR-SLAM.
- Mobil otonom: LiDAR 3D resolusi tinggi yang dikombinasikan dengan fusi multi-sensor di seluruh GPS, IMU, dan kamera adalah asumsi dasar. Untuk mengatasi bentangan yang mengalami degenerasi geometris seperti terowongan dan jalan layang, konfigurasi yang terhubung erat dengan IMU seperti LIO-SAM/FAST-LIO2 membawa bobot yang signifikan.
- Drone: mengingat batasan berat dan daya yang ketat, LiDAR solid-state (misalnya, Livox) yang dipasangkan dengan metode langsung yang efisien secara komputasi seperti FAST-LIO2 cenderung lebih disukai.
- AGV/AMR gudang dan pabrik: lingkungan dengan struktur teratur seperti koridor adalah hal umum, menjadikan pendekatan Scan-to-Map berbasis LiDAR 2D (misalnya, Cartographer) sebagai pilihan praktis. Di lingkungan di mana tata letak rak sering berubah, frekuensi pembaruan peta juga menjadi faktor dalam pemilihan.
- Lingkungan degeneratif — terowongan, ruang bawah tanah, koridor lurus panjang: LiDAR saja cenderung memiliki registrasi yang tidak stabil, sehingga kopling IMU yang erat (LIO-SAM/FAST-LIO2) atau penggabungan dengan sumber independen seperti odometri roda menjadi sangat penting.
- Dalam ruangan vs. luar ruangan: ruang dalam ruangan kaya akan struktur dengan banyak petunjuk geometris, sehingga mendukung LiDAR-SLAM, sementara ruang luar ruangan menimbulkan tantangan degenerasi dalam Area terbuka dan cuaca ekstrem, menjadikan fusi IMU/GNSS semakin penting.
Sebagai aturan praktis: metode langsung seperti FAST-LIO2 untuk komputasi terbatas dan output frekuensi tinggi, LIO-SAM untuk konsistensi global yang juga menggabungkan GPS, dan Cartographer untuk rekam jejak di lingkungan 2D dan integrasi yang erat dengan ekosistem ROS. Konfigurasi tanpa IMU sama sekali (ICP/NDT/LOAM mandiri) telah menjadi pilihan yang hampir tidak praktis saat ini mengingat tuntutan akan ketahanan terhadap lingkungan yang buruk, dan sebagian besar sistem operasional sekarang dirancang berdasarkan kopling IMU yang erat sebagai asumsi dasar.
13. Referensi
- Besl & McKay, “A Method for Registration of 3-D Shapes” (IEEE TPAMI, 1992)
- Zhang & Singh, “LOAM: Lidar Odometry and Mapping in Real-time” (RSS, 2014)
- Xu et al., “FAST-LIO2: Fast Direct LiDAR-Inertial Odometry” (IEEE T-RO, 2022)
14. Ringkasan
LiDAR-SLAM mengambil informasi jarak skala metrik (awan titik) yang diperoleh dari waktu tempuh laser, melakukan pencocokan pemindaian dengan ICP (registrasi iteratif titik terdekat) atau NDT (penyesuaian dengan distribusi Gaussian per-voksel), mengakumulasikan lintasan melalui Odometri LiDAR menggabungkan Scan-to-Scan dan Scan-to-Map, dan terus mengoreksi kesalahan yang terakumulasi melalui Loop Closure dan optimasi Pose Graph — bersama-sama mencapai lokalisasi mandiri dan pemetaan simultan. Garis keturunan algoritma penanda — keluarga LOAM (efisiensi melalui ekstraksi fitur), Cartographer (konsistensi global yang efisien), dan LIO-SAM/FAST-LIO2 (ketahanan melalui kopling IMU yang erat) — masing-masing berevolusi sebagai jawaban atas tantangan yang berbeda, dan pada satu titik yaitu mengatasi lingkungan yang secara geometris degeneratif, sebagian besar sistem operasional telah menyatu pada desain yang dibangun di sekitar kopling IMU yang erat sebagai dasar.
Apakah jangkauan yang berhasil secara unik menentukan pose LiDAR?
Pesawat dan koridor panjang dapat menyebabkan beberapa arah gerakan kurang terkendali. Keberhasilan jangkauan dan pengamatan registrasi berbeda.
Komentar
Silakan masuk terlebih dahulu.
Belum ada data.