SLAM 큰그림 용어 정리

0. SLAM이란?

simultanious localization and maping

0.1 localization

map이 있을 때 여기가 어디인지 파악하기.

0.2 mapping

내가 어디 있는지 알 때 지도 만들기.
지도 종류

  • grid map
  • match map
  • point cloud
  • semantic map

    0.3 motion model

    quaternion kinemetics

0.4 observation model

distance, bearing

frontend backend

frontend = factor graph
backend = optimize factor map
확률적인 graph 최적화 문제

사용 분야

  • 증강현실, 부동산, autonomous vehicle

1. 비슷한 용어 정리

  • Visual odometry = Slam - loop closure$($여기 와본 적 있어$)$
  • Structure From Motion $($시간 제한 없이 천천히 만들자$)$
  • path planning $($Decision making$)$
  • photogrammetry
  • 3D reconstruction

2. 도구에 따른 분류

  • Lidar + gpu lidar slam $($더 큰 스케일에서 할 수 있도록$)$
  • Cammera + imu. Visual slam $($imu가 fps가 더 좋아서 이미지 사이에 curve를 그릴 수 있음. $)$
  • Sensor fusion
  • etc$)$ Sona, Radar

3. 접근에 따른 분류

  • Deep slam
  • filtering based ex$)$ EKF, Montecarallo
  • graph based $\in$ optimization based

4. passive slam vs active slam

  • active slam
    ex) coastal navigation
    active slam은 localization과 mapping의 성능을 극대화 하기 위한 optial한 trajectory를 계획하는 slam이다.
  • passive slam 그 밖의 slam

5. Offline slam$($Full SLAM$)$ vs Online SLAM

$x_t$는 t에서의 포즈이고 m은 맵 z와 u는 측정 값 과 제어값이다.

  • Offline, Full SLAM
    현재 포즈 대신에 전체 경로에 대한 사후 확룰 계산
    \(p(x_t, m|z_{1:t},u_{1:t})\)
  • Online SLAM
    현재 포즈
    \(p(x_{1:t}, m|z_{1:t},u_{1:t})\)
Full SLAM Online SLAM
full_slam online_slam

6. localization종류

6.1 position tracking vs global localization vs kidnapped robot

6.2 static environmnet vs dynamic environment

6.3 passive localization vs active localizatoin

7. History

7.1 Filtering base

1990 EKF SLAM

O\((N^2)\)으로 늘어나서 큰 지역에선 사용할 수 없다.

2002 FAST SLAM

구글웨이모에서 일하시다가, 강의 플렛폼 유다시티 만드신 세바스찬스런 교수님의 알고리즘.

2005 Gmapping

2011 Hector SLAM

2015 cartographer

google이 개발한 SLAM

7.2 Feature Based Visual SLAM

Feature 기반 SLAM은 CPU를 주로 사용한다.

2003 mono SLAM

2007 PTAM

2015 ORB-SLAM

2017 ORB-SLAM2

2017 VINS-Mono

2020 ORB-SLAM3

7.3 Direct SLAM

Direct SLAM은 이미지의 모든 부분을 사용한다.

2010 DTAM

2014 LSD-SLAM

2015 SVO

2017 DSO !! DRON에 사용될 만큼 속도가 빠르다.

DM-VIO

7.4 RGM-D SLAM

2012 KinectFusion

2014 RTABmap

2015 Elastic Fusion

Bundle Fusion

7.5 LIDAR SLAM

2014 LOAM

2019 ALOAM

2019 HDL-SLAM

2021 FAST-LIO

8. Deep SLAM

deep leanging을 왜 쓴ㄴ가? data로 표현하기 어려운 패턴을 학습시켜서 feature를 extract하기 위해서.

8.1 Trand

  • super point + super glue를 통해 feature점을 얻는다.
  • NetVLAD를 통해 같은 sceane을 보고 있는지 loop closure할지 판단한다.
  • NERF를 이용한 Nice SLAM
  • Detection과 Segmentation으로 움직이는 사물의 frame을 뺀다.

    8.2 Deep slam 문제점

  • Data 부족
  • Geometry는 자명함.
  • geometry prior를 학습시키기 위해 undeepvo, depth poses, trantanvo, d3vo등이 나옴.

    8.3 Spatial AI.

    CVPR2020 Andriew 교수님의 From SLAM to Spatial AI 강의에서 왔다.
    SLAM의 본질로 들어가자.

  • level 4 object level
  • level 3 semantic understanding
  • level 2 dense map
  • level1- pose + sparse map

    출처

  • SLAM KR의 전액 기부 slam 강의
  • probabilistic robotics
  • SLAM AI 22.10.18

Comments