Pose graph optimization에 대해 설명해주세요.

SJ·2024년 12월 30일
0

이 게시글은 장형기님이 작성해주신 SLAM 기술면접 질문 100선의 대답을 제 나름대로 정리한 것입니다.


Pose Graph Optimization은 SLAM의 안정성을 높이기 위해 로봇의 위치와 그것들의 관계를 그래프 형태로 나타낸 후 최적화하는 과정입니다.

Pose Graph의 구성

Pose Graph는 크게 2가지로 이루어져 있습니다.

  1. Node: 로봇의 포즈(위치 및 방향)

  2. Edge: 두 노드간의 상대적인 변환 관계

이를 이용하여 최적화 문제를 모델링하면 다음과 같습니다.

E(x)=(i,j)ϵzijh(xi,xj)Ωij2E(x) = \sum_{(i,j) \in \epsilon}||z_{ij}-h(x_i,x_j)||^2_{\Omega_{ij}}

zijz_{ij}:관측된 상대 변환(센서 데이터)

h(xi,xj)h(x_i,x_j): 포즈 xi,xjx_i, x_j간의 예측 변환(모델)

Ωij\Omega_{ij}: infromation matrix

이렇게 edge정보를 통해 예측한 포즈와 실제 관측 포즈간의 오차를 줄이는 방향으로 optimization하면서 우리는 정확한 Pose를 계산할 수 있게 됩니다.

Graph Optimization 방식

  • Incremental Optimization

그래프는 로봇이 새로운 포즈와 상대 변환을 추가할 때마다 부분적으로 업데이트됩니다.
이 과정은 전체 그래프를 최적화하지 않고 추가된 노드와 엣지만 고려해 빠르게 최적화합니다.

  • 전체 최적화

Loop Closing이 감지되면, 그래프에 새로운 constraint가 추가됩니다.
이 추가된 constraint는 그래프의 전역 일관성을 유지하기 위해 중요합니다.
Loop Closing 발생 시 전체 그래프를 전역적으로 최적화를 진행하여 누적 오차를 줄이고, 포즈와 맵을 일관되게 만듭니다.

Graph Optimization의 장단점

  • 장점

    • 누적 오차 감소: Loop Closing과 최적화를 통해 오차가 누적되는 문제를 해결
    • 전역 일관성: 최적화된 그래프는 전역적으로 일관된 로봇 경로와 맵을 생성
  • 단점

    • 계산 비용: 그래프 크기가 커질수록 최적화의 계산비용 증가
    • 신뢰도: 잘못된 루프 클로저는 최적화 결과를 왜곡할 수 있습니다.

Filter 기반 최적화 방식과 항상 비교되는 Graph Optimization에 대해 알아보았습니다.
이것은 요즘 증가된 Computing Power로 인해 훨씬 더 많이 쓰이는 것 같습니다.

profile
student

0개의 댓글