제2장. SLAM과의 첫 만남.

주요목표 : 시각적 SLAM 프레임 워크로 구성되는 모듈과 각 모듈의 태스크가 무엇인지 이해하도록 합니다.

2.1 서론 : 작은 로봇의 예

자율 주행을 위해 필요한 정보

  • 나는 어디 있습니까? - 포지셔닝 (Positioning)
  • 주변 환경은 어떻습니까? - 맵핑 (Mapping)

A. Visual SLAM에 사용되는 카메라 종류

가. 단안 카메라

  • 카메라 하나만 사용하는 것을 Monocular SLAM이라고합니다.
  • 2차원에서 3차원 세계를 반영합니다. - 거리 정보 상실
  • 3차원 구조를 복원하려면 카메라의 화각을 변경해야합니다.
    • 카메라를 움직여 움직임을 추정하고 장면에서 물체의 거리와 크기를 추정해야 합니다.
    • 시차를 통해 우리는 어느 물체가 멀리 떨어져 있고 어느 물체가 가까운지를 결정할 수 있습니다.
  • 진정한 스케일을 확인할 수없는 문제 발생
    • 양안 카메라로 해결
    • 깊이 카메라로 해결

나. 양안 카메라

  • 거리를 측정하고 단안 카메라가 거리를 알 수 없다는 단점을 극복

  • 두 카메라의 거리(baseline) 정보를 기반으로 깊이를 추정

    • 베이스 라인의 거리가 멀수록 먼 거리를 측정 할 수 있음
  • 많은 계산능력 필요
  • 실내외 모두 사용 가능

다. 깊이 카메라

  • 2010년 출시
  • 적외선 구조광 방식 또는 레이저 광선의 비행 시간(Time-of-Flight)을 측정해 깊이 값을 예측
  • 양안 대비 계산력이 적음
  • 단점 : 좁은 범위, 높은 노이즈, 작은 시야, 햇빛에 쉽게 노출, 투과 물질 측정 불가

2.2 고전적인 시각적 SLAM 프레임워크

  1. 센서 정보를 읽습니다.
    • 시각적 SLAM에서는 주로 카메라 이미지 정보의 읽기 및 전처리 단계를 말합니다.
    • 이 단계에서는 휠 및 관성 센서와 같은 정보를 읽고 동기화 할 수 있습니다.
  2. Visual odometry (VO).
    • Visual odometry는 인접한 이미지 사이의 카메라 동작과 로컬 맵의 모양을 추정하는 것입니다.
    • VO는 프론트 엔드 라고도합니다.
  3. Backend optimization
    • 백엔드는 위 그림에서 loop closure에 대한 정보는 물론 시각적 인 주행 거리계로 측정 한 카메라 포즈를 다른 시간에 받아들이고 일관된 궤도와 맵을 얻을 수 있도록 최적화합니다.
    • VO에 연결되어 있기 때문에 Backend라고도합니다.
  4. Loop Closure는 로봇이 과거에 도달했던 위치에 도달했는지 확인하는 역할을 수행합니다.
    • loop closure가 감지되면 처리를 위해 백엔드에 정보를 제공합니다.
  5. 맵핑. 추정 된 궤도를 기반으로 현재 위치에 해당하는 지도를 만듭니다.

A. Visual Odometry

  • Visual odometry는 인접한 이미지 사이의 카메라 움직임과 관련이 있습니다.
    • 가장 간단한 경우는 두 이미지 간의 모션 관계입니다.

  • 카메라가 어느방향으로 얼만큼 이동 했는지를 계산 할수 있어야 함 : VO로 계산 가능
  • VO는 에러가 누적됨(=Drift Problem)
    • 해결법 #1 : Loop closure Detection (이전에 방문한 곳인가 탐지)
    • 해결법 #2 : Backend optimization (Loop closure를 통해 전체 트랙 모양 수정)

Visual odometry 부분을 "프런트 엔드"라고도 합니다.

  • 프런트 엔드는 백엔드에 최적화 할 데이터와 데이터의 초기 값을 제공합니다.
    • 화상의 특징 추출 및 정합 필터링 메인 비선형 최적화 알고리즘이 이용됩니다.
  • 백엔드는 전반적인 최적화 프로세스를 담당하며 데이터 출처에 신경을 쓰는 것 보단 데이터 자체를 다룹니다.

B. Backend optimization

  • 주로 SLAM 중 노이즈를 처리하는 문제를 수행합니다.
  • Backend optimization에서 고려해야 할 문제는
    • 이러한 잡음이 많은 데이터로부터 전체 시스템의 상태를 추정하는 방법과
    • 상태 추정치가 얼마나 불확실한 지 계산 (이것이 최대 사후 확률 추정이라고합니다, Maximum a Priori, MAP).

C. Loop closure detection

  • Loop Closure Detection으로 알려진 루프 감지는 주로 시간에 따른 위치 추정 문제를 해결하는 것을 목적으로 합니다.
  • 기본적으로 이미지 데이터의 유사도를 계산하는 알고리즘입니다.
    • QR 마커
    • 동일한 장소 이미지
  • 절차
    • 루프백을 감지
    • Backend optimization 알고리즘에 "A와 B는 같은 지점입니다."라는 메시지를 알려줍니다.
    • 백엔드에서는 이 새로운 정보에 기반한 Loop closure detection 결과와 일치하도록 궤도 및 맵을 조정
    • 이런 방식으로 누적 오류를 제거하고 전역적으로 일관된 맵을 얻을 수 있습니다.

D. 맵핑(Mapping)

  • 맵핑은 맵을 빌드하는 과정
  • 응용 프로그램에 따라 다르게 구현
    • 매핑을 위한 고정된 형식과 알고리즘은 없습니다.

가. Map 종류 #1 : Metric map

메트릭 맵은 일반적으로 sparse (희소성) 및 Dense (밀도)로 분류 된 맵에서 오브젝트의 위치 관계를 정확하게 표현하는 데 중점을 둡니다.

  • Sparse map은 어느 정도 추상화되어 있으며 모든 객체를 표현할 필요가 없습니다. (eg. 도로 표지판 지도)
  • dense map은 보는 모든 것을 모델링하는 데 중점을 둡니다.
    • 2차원 map : Grid
    • 3차원 map : Voxel
    • 점유, 유휴알수없음 세 가지 상태가 포함됩니다.

나. Map 종류 #2 : Topological map

  • 토폴로지 맵은 맵 요소의 관계를 메트릭 맵의 정확도와 비교하여 강조합니다.
  • 토폴로지 맵은 노드와 에지로 구성된 그래프로 노드 간의 연결 만 고려합니다.
    • 예를 들어 A 지점에서 B 지점에 도달하는 방법에 관계없이 A 지점과 B 지점이 연결되어 있습니다.
  • 장점 : 정확한 위치에 대한지도의 필요성을 완화하고, 지도의 세부 사항을 제거하여보다 컴팩트 한 표현을 제공합니다.
  • 단점 : 복잡한 구조의 맵을 표현하는 데 적합하지 않습니다.

2.3 SLAM 문제의 수학적 표현

A. 운동 모델 (motion model)

로봇의 위치 x가 k-1에서 k로 어떻게 변하는 지 고려해야합니다.

$$ xk = f(x{k-1}, u_k, w_k) $$

  • $$ u_k $$ : 모션 센서 입력
  • $$ w_k $$ : 노이즈
  • $$ f()$$ : 모션 모델
예) 평면을 따라 이동하는 로봇의 운동 모델 (두 위치와 모서리)

B. 관찰 모델 (sensor model)

관측 방정식은 로봇이 $$xk$$ 위치에서 어떤 랜드 마크 점 $$y_j$$를 볼 때 관측 데이터 $$ z{k,j}$$가 생성된다는 것을 설명합니다.

$$ z{k,j} = h(y_j, x_k, u{k,j}) $$

  • $$ u_{k,j} $$ : 잡음
예) 로봇에 2차원 레이저 센서가 있다고 생각 해 봅시다.

우리는 레이저 센서가 2D 지표를 관찰 할 때 지표와 로봇의 거리 r과 각도 φ의 두 가지 양을 측정 할 수 있다는 것을 알고 있습니다.

랜드마크는 $$ y = [p_x, p_y]^T $$ 로기록하고 관측 자료는 z = [r, φ]T 이므로 관찰 방정식은 다음과 같이 구현이 됩니다.

C. SLAM 프로세스를 두 가지 기본 방정식으로 요약 할 수 있습니다.

모션 측정의 판독 값과 센서의 판독 값을 알고있을 때 위치 추정 문제 (추정치 x)와 지도 작성 문제 (추정치 y)를 어떻게 해결할 수 있을까요?

이 시점에서 우리는 SLAM 문제를 상태 추정 문제로 모델링합니다 :

  • 상태 추정 문제에 대한 해답은 두 방정식의 특정 형태와 노이즈가 어떤 분포를 갖는가와 관련이 있습니다.
  • 예) 모션 및 관측 방정식을 선형으로 분류하고 잡음이 가우스 분포를 따르고 선형/비선형 및 가우시안/비 가우시안 시스템으로 나눌 여부를 고려합니다.
    • 그 중에서도 Linear Gaussian (LG 시스템)은 가장 간단하며, Kalman Filter (KF)를 사용하여 최적의 추정치를 얻을 수 있습니다.
    • 복잡한 non-linear non-Gaussian (NLNG시스템)에서는 확장 된 칼만 필터 (EKF)와 비선형 최적화 방법을 사용하여 이를 해결합니다.

가. 과거 기법

21 세기 초까지 EKF 기반 필터 방법이 SLAM을 지배했었습니다.

  • 우리는 시스템을 선형화하고 두 가지 주요 단계를 업데이트하여 예측을 해결해왔습니다 (9 장 참조).
  • 결과적으로 EKF의 단점 (선형화 오차 및 잡음 가우스 분포 가정)을 극복하기 위해 사람들은 입자 필터와 같은 다른 필터를 사용하기 시작했고 비선형 최적화 방법을 사용하기 시작했습니다.

나. 현재 기법

현재 시각 SLAM의 대표적인 기술은 Graph Optimization[13]이며, 이것에 의해 최첨단 최적화 기술을 사용합니다.

최적화 기술은 필터 기술보다 훨씬 뛰어나며 컴퓨팅 리소스가 허용하는 한 최적화 방법을 선호하는 경향이 있습니다 (제10강 및 제11강 참조).

results matching ""

    No results matching ""