Giriş
Eşzamanlı Konumlandırma ve Haritalama (SLAM), robotların çevrelerini haritalarken aynı anda kendi konumlarını belirlemelerini sağlayan kritik bir tekniktir. SLAM, otonom navigasyon, robot süpürgeler, sürücüsüz araçlar ve insansız hava araçları (UAV) gibi birçok alanda yaygın olarak kullanılmaktadır.
Bu makalede, bilinmeyen ortamlarda konumlandırma, haritalama ve navigasyon, temel SLAM algoritmaları ve GMapping, Hector SLAM gibi popüler SLAM kütüphanelerinin uygulama alanları ele alınacaktır.
SLAM’in Temelleri
SLAM, iki bağımlı problemi aynı anda çözer:
- Konumlandırma (Localization): Robotun çevresine göre konumunun belirlenmesi.
- Haritalama (Mapping): Sensör verilerine dayanarak çevrenin haritasının oluşturulması.
SLAM, sensör gürültüsü ve belirsizlikleri yönetmek için olasılıksal algoritmalar kullanarak doğru konumlandırma ve haritalama sağlar.
SLAM’in Matematiksel Modeli
SLAM problemi, durum uzayı temsili kullanılarak modellenir. Robotun $k$ zamanındaki durumu şu şekilde ifade edilir:
Xk=f(Xk−1,uk)+wkX_k = f(X_{k-1}, u_k) + w_k
Burada:
- $X_k$ = Robotun durumu (konum, yönelim).
- $u_k$ = Kontrol girdisi (hız, dönüş açısı).
- $w_k$ = Belirsizlikten kaynaklanan hata payı.
Sensör ölçümleri şu formülde ifade edilir:
Zk=h(Xk,M)+vkZ_k = h(X_k, M) + v_k
Burada:
- $Z_k$ = Sensör ölçümü (örn. LiDAR taraması).
- $M$ = Ortamın haritası.
- $v_k$ = Sensör ölçüm gürültüsü.
SLAM Algoritmaları ve Teknikleri
SLAM problemini çözmek için farklı algoritmalar geliştirilmiştir. Bu algoritmalar, hesaplama karmaşıklığı, doğruluk ve gerçek zamanlı performans açısından dengelenmiştir.
Genişletilmiş Kalman Filtresi (EKF-SLAM)
EKF-SLAM, robotun konumunu ve haritadaki işaret noktalarını (landmarks) olasılıksal bir Gauss dağılımı ile temsil eden bir yöntemdir.
Durum Güncelleme Denklemi:
Xk=Xk−1+Guk+wkX_k = X_{k-1} + G u_k + w_k
Burada, $G$ hareket modeli Jacobian matrisidir.
Kovaryans Güncelleme Denklemi:
Pk=FPk−1FT+QkP_k = F P_{k-1} F^T + Q_k
Burada, $P_k$ hata kovaryans matrisi ve $Q_k$ süreç gürültü kovaryansı temsil eder.
✅ Avantajı: Küçük ölçekli haritalar için uygundur.
❌ Dezavantajı: Büyük ölçekli haritalarda hesaplama maliyetleri yüksektir.
Parçacık Filtreli SLAM (FastSLAM)
FastSLAM, robotun konumunu parçacıklar (particles) ile temsil eden bir yöntemdir.
Hareket Modeli:
Xki=Xk−1i+uk+wkX_k^i = X_{k-1}^i + u_k + w_k
Burada $X_k^i$, $i$. parçacığın durumunu temsil eder.
Her parçacığın önem ağırlığı şu formülde güncellenir:
wki=wk−1iP(Zk∣Xki,M)w_k^i = w_{k-1}^i P(Z_k | X_k^i, M)
✅ Avantajı: Büyük ölçekli haritalar ve karmaşık hareketler için uygundur.
❌ Dezavantajı: Yüksek hesaplama maliyeti gerektirir.
Grafik Tabanlı SLAM (Graph-SLAM)
Bu yöntem, robotun pozisyonlarını ve haritadaki işaret noktalarını bir grafik olarak temsil eder. Hedef, grafikteki düğümler arasındaki hataları minimize etmektir.
Optimizasyon Fonksiyonu:
E(X)=∑i,j∣f(Xi,Xj)−Zij∣2E(X) = \sum_{i,j} \left| f(X_i, X_j) – Z_{ij} \right|^2
Burada:
- $E(X)$ = Hata fonksiyonu.
- $Z_{ij}$ = Ölçülen dönüşüm.
- $f(X_i, X_j)$ = Tahmin edilen dönüşüm.
✅ Avantajı: Döngü kapama (loop closure) algılama için uygundur.
❌ Dezavantajı: Gerçek zamanlı uygulamalar için optimize edilmesi zordur.
SLAM İçin Sensör Teknolojileri
LiDAR Tabanlı SLAM
✅ Lazer tarayıcılar kullanarak yüksek hassasiyetli 2D veya 3D haritalar oluşturur.
🚗 Sürücüsüz araçlarda (Tesla, Waymo) yaygın olarak kullanılır.
Görsel SLAM (V-SLAM)
📸 Kameralar (monoküler, stereo, RGB-D) ile çevreyi yeniden oluşturur.
🎮 AR (Artırılmış Gerçeklik) ve UAV navigasyonunda yaygın kullanılır.
IMU Tabanlı SLAM
🔄 İvmeölçerler (IMU) ile hareket tahmini yapar.
🔗 LiDAR veya Görsel SLAM ile birleştirilerek daha hassas sonuçlar elde edilir.
Popüler SLAM Kütüphaneleri
GMapping (Grid Mapping SLAM)
🛠 Parçacık filtresi (FastSLAM) kullanarak 2D haritalama yapar.
🤖 ROS (Robot Operating System) ile uyumludur.
🔧 Mobil robotlar için uygundur.
🔹 ROS Komut:
rosrun gmapping slam_gmapping scan:=base_scan
Hector SLAM
🚀 LiDAR tabanlı yüksek çözünürlüklü haritalama yapar.
📌 Odometri gerektirmez, dronlar için uygundur.
🔹 ROS Komut:
roslaunch hector_slam hector_mapping.launch
ORB-SLAM (Feature-Based Visual SLAM)
🎥 ORB (Oriented FAST and Rotated BRIEF) algoritmasını kullanır.
🏠 Kapalı alan robot navigasyonu ve AR için idealdir.
🔹 ROS Komut:
rosrun ORB_SLAM3 Mono
SLAM Uygulamaları
✅ Otonom Araçlar: Gerçek zamanlı haritalama ve çarpışma önleme.
✅ Endüstriyel Robotlar: Depolama ve lojistik yönetimi.
✅ Dron Navigasyonu: GPS olmayan ortamlarda konumlandırma.
✅ AR/VR Sistemleri: Sanal ortamda konum izleme.
SLAM’de Karşılaşılan Zorluklar
⚠️ Sensör Gürültüsü: Yanlış ölçümler hata yaratabilir.
⚠️ Döngü Kapama Algılama: Büyük ölçekli haritalarda doğruluk gerektirir.
⚠️ Gerçek Zamanlı İşleme: SLAM algoritmaları yüksek işlem gücü gerektirir.