포즈그래프최적화 (Pose Graph Optimization)

로봇공학
한 줄 정의: 로봇 자세들을 노드로, 상대적 자세 제약을 에지로 하는 그래프에서 전체 제약 오차를 최소화하여 일관된 궤적을 구하는 최적화 기법.

쉽게 풀면

이동 중 기록한 여러 위치들 사이의 관계가 서로 어긋나지 않도록 전체를 한 번에 맞춰 정렬하는 작업입니다.

왜 중요한가

로봇 자세를 노드로, 상대 자세 측정을 간선으로 둔 그래프에서 모든 제약을 가장 잘 만족하는 자세 집합을 찾는 최적화로, 그래프 SLAM의 백엔드이며 루프 클로저 발견 시 궤적 전체를 보정하는 수단입니다. g2o, GTSAM 같은 라이브러리로 널리 쓰입니다. 실시간 SLAM 시스템에서는 새 자세가 추가될 때마다 그래프 전체를 처음부터 다시 최적화하지 않고, 이전 계산 결과를 재활용해 증분적으로 갱신하는 것이 실용적 구현의 핵심이다.

논문에서는 이렇게 쓰입니다

포즈 그래프 최적화는 상대 변환 제약의 오차를 최소화하는 비선형 최소제곱 문제로, 일반적으로 가우스-뉴턴이나 레벤버그-마쿼트 방법으로 풀린다.

각 에지가 나타내는 '자세 A에서 자세 B로 가는 상대 이동'이 실제 추정값과 얼마나 다른지를 오차로 놓고, 이를 최소화하는 방향으로 반복 계산한다는 뜻입니다.

"루프 클로저 제약이 새로 추가되자 그래프 전체의 오차가 재분배되며 이전 경로의 자세 추정치가 다시 조정되었다."

새로운 제약이 추가되면 그래프 전체가 다시 최적화되어 과거 궤적까지 함께 보정된다는 점을 설명한다.

조금 더 깊게 보면

랜드마크를 소거하고 자세만 남기므로 번들 조정보다 변수가 적고 빠르지만, 랜드마크 정보를 상대 자세 제약으로 근사하면서 정보가 일부 손실됩니다. 잘못된 간선 하나가 전체 해를 망치므로 강건 커널이나 스위치 변수로 이상치를 억제하는 것이 필수이고, 회전 변수의 비유클리드 구조 때문에 초기값이 나쁘면 국소 해에 빠질 수 있습니다. 랜드마크를 상태에서 소거하고 자세 간 상대변환 제약만 남기므로 번들조정보다 변수 수가 훨씬 적어 대규모 환경에서도 실시간에 가까운 최적화가 가능하지만, 랜드마크가 주는 세부 기하 정보는 상대변환이라는 요약된 형태로만 반영된다는 정보 손실이 뒤따른다. 회전 변수는 유클리드 공간이 아닌 곡면(리군) 위에 있어, 이를 그대로 선형 최소제곱으로 다루면 오차가 생기므로 지수사상 등을 이용한 국소 매개변수화가 함께 쓰인다.

주의할 점

루프 클로저 제약이 잘못 추가되면 최적화가 완전히 잘못된 지도로 수렴할 수 있어 이상치 제거가 중요합니다. 그래프에 새 루프클로저 제약이 추가될 때마다 과거 궤적 전체가 다시 계산되므로, 실시간 시스템에서는 매번 전체를 다시 푸는 대신 영향받은 부분만 갱신하는 증분 최적화 기법이 필요하다.

관련 용어