Lidar Odometry And Mapping (LOAM) 란?

STUDY_J·2025년 3월 1일

SLAM

목록 보기
3/3

Lidar Odometry And Mapping (LOAM)

Lidar Odometry And Mapping (LOAM)은 6자유도 공간에서 2-axis LiDAR 센서가 생성하는 데이터를 이용해 로봇의 Odometry(오도메트리)Mapping(지도 작성)을 실시간으로 수행하는 SLAM 알고리즘이다.
SLAM은 동시 위치 추정 및 지도 작성 기술인데, 보통은 루프 클로저를 통해 전역 누적 오차를 보정한다. 하지만 루프 클로저는 계산 비용이 크고 실시간 처리에 부담이 있다.
LOAM은 이러한 문제를 해결하기 위해 LiDAR 기반의 오도메트리와 매핑을 병렬로 수행해, 짧은 시간 간격마다 오차를 보정함으로써 낮은 드리프트를 유지한다.


1. LOAM의 기본 개념

  • Odometry (오도메트리):
    로봇이 이동하면서 자신의 위치와 자세를 추정하는 과정이다. LOAM은 LiDAR 스캔 데이터에서 추출한 특징점을 이용해, 짧은 시간 간격 동안의 미세한 이동(평행 이동, 회전 등)을 실시간으로 계산한다.

  • Mapping (지도 작성):
    오도메트리로 추정된 위치 정보와 개별 LiDAR 스캔 데이터를 결합해, 3차원 점군(Point Cloud) 형태의 전역 지도를 생성한다.

  • Odometry와 Mapping의 결합:
    빠르게 변화하는 국부적 오도메트리 정보와 누적된 스캔 데이터를 통한 정교한 지도 작성을 결합하여, 실시간으로 낮은 드리프트의 3D 맵을 생성한다.


2. 루프 클로저 (Loop Closure)의 개념과 차이

  • 루프 클로저란?
    로봇이 이미 방문했던 장소를 재인식하는 과정을 말한다. 이를 통해 누적된 오차(드리프트)를 한 번에 보정해 전역 지도 일관성을 높인다.

  • 일반적인 SLAM에서 루프 클로저 사용:

    • 로봇이 시작지점 또는 이전에 방문한 곳을 다시 인식하면, 전체 경로에 쌓인 누적 오차를 보정한다.
    • 그러나 이 과정은 전역 최적화 문제로 변환되며, 저장된 데이터 양과 계산 복잡성이 커서 실시간 처리에 부담이 된다.
  • LOAM에서 루프 클로저 미사용:

    • LOAM은 오도메트리와 매핑을 병렬 처리해, 각 스캔마다 상대 이동을 계산하고 바로 지도에 반영하여 오차가 누적되지 않도록 한다.
    • 정밀한 LiDAR 센서 덕분에 실시간으로 낮은 드리프트를 유지할 수 있으므로, 별도의 루프 클로저 최적화 과정을 수행하지 않아 계산 비용과 실시간 부담을 줄인다.

3. Front-end와 Back-end의 개념 (SLAM에서의 역할)

  • Front-end:

    • 역할: 센서 데이터(예: LiDAR 스캔, 카메라 이미지 등)로부터 특징점을 추출하고, 연속된 스캔이나 이미지 간의 상대 변위를 계산하여 로봇의 국부적인 이동(오도메트리)을 추정한다.
    • 예시: 로봇이 주행하면서 각 LiDAR 스캔에서 코너나 엣지 같은 뚜렷한 특징을 추출하고, 바로 이전 스캔과 매칭하여 "이 순간 로봇은 얼마나, 어떤 방향으로 움직였는지"를 계산하는 단계이다.
  • Back-end:

    • 역할: Front-end에서 얻은 국부적인 이동 정보와 측정 데이터를 전역 좌표계에 맞춰 통합하고, 누적된 오차를 보정하기 위해 최적화 알고리즘(그래프 최적화 등)을 적용한다.
    • 예시: 로봇이 주행하면서 누적된 여러 오도메트리 결과를 모아 전체 경로를 구성하고, 루프 클로저나 다른 최적화 기법을 통해 전체 경로의 일관성을 높이는 과정이다.
  • 쉽게 말하면:
    Front-end는 "실시간으로 빠르게 움직임을 계산하는 부분", Back-end는 "전체 경로의 오차를 보정하여 정교한 지도를 만드는 부분"이다.


4. 루프 클로저가 어려운 이유와 실시간 처리 부담

  • 재인식 문제:
    로봇이 이전에 방문한 장소를 재인식하는 것은 환경 변화(날씨, 조명, 동적 장애물 등)나 관점의 차이 때문에 매우 어렵다.

  • 데이터 양과 계산 복잡성:
    전역 지도에 쌓인 데이터가 많아질수록, 현재 스캔과 저장된 모든 데이터 또는 대표 데이터와 매칭해야 하므로 계산 비용이 크게 증가한다.

  • 오류 전파 위험:
    잘못된 루프 클로저가 발생하면 전체 경로에 심각한 오류(드리프트 보정 오류)를 가져올 수 있어 매우 신중하게 처리해야 한다.

  • 실시간 처리의 어려움:
    루프 클로저는 전역 최적화 문제로, 과거의 모든 스캔 데이터를 고려해야 하므로 연산량이 기하급수적으로 증가하여 실시간 적용이 어렵다.


5. LOAM의 실시간 오차 보정과 처리 부담

  • LOAM의 방식:
    LOAM은 매 스캔마다 오도메트리와 매핑을 수행하여, 작은 단위로 오차를 보정한다. 이는 전체 경로에 대해 한 번에 최적화하는 루프 클로저와 비교했을 때, 계산량이 분산되어 실시간 처리에 유리하다.

  • 실시간 처리 부담 비교:

    • 루프 클로저는 매 순간 대규모 최적화 문제를 풀어야 하므로 실시간 반응 속도를 크게 저하시킬 수 있다.
    • LOAM은 각 스캔 단위로 처리하므로, 연산 부담이 분산되어 전체 시스템이 실시간으로 동작할 수 있다.
    • 물론 Front-end와 Back-end 모두 실시간으로 동작해야 하므로 고성능 컴퓨팅이 필요하지만, 루프 클로저처럼 한 번에 대규모 최적화를 수행하는 것보다는 부담이 적다.

6. LOAM의 장점 및 응용 분야

장점:

  • 실시간 처리 및 효율성:
    루프 클로저를 별도로 수행하지 않아 계산 복잡도가 낮으며 실시간 처리가 용이하다.
  • 낮은 드리프트:
    정밀한 LiDAR 센서와 효과적인 오도메트리, 매핑 알고리즘 덕분에 누적 오차(드리프트)가 작다.
  • 환경 적응력:
    LiDAR는 조명이나 날씨 조건에 덜 민감하여 다양한 환경에서 안정적으로 작동한다.

7. 요약

LOAM은 LiDAR 센서의 뛰어난 정밀도를 활용해, 로봇이 이동하면서 실시간으로 오도메트리와 지도를 작성하는 강력한 SLAM 알고리즘이다.

  • 일반적인 SLAM은 루프 클로저를 통해 전역 누적 오차를 보정하지만, 루프 클로저는 계산 비용과 데이터 양 문제로 실시간 처리에 부담이 크다.
  • LOAM은 Front-end에서 빠르게 센서 데이터를 처리하여 국부적인 움직임을 계산하고, Back-end에서 이를 통합해 실시간으로 오차를 분산 보정함으로써 낮은 드리프트를 유지한다.
  • 이러한 방식은 전체 경로에 대해 한 번에 대규모 최적화를 수행하는 루프 클로저보다 실시간 처리에 유리하다.

0개의 댓글