패스트슬램 (FastSLAM)

로봇공학
한 줄 정의: 입자 필터로 로봇 궤적을 추정하고 각 입자마다 독립적인 저차원 칼만 필터로 랜드마크 위치를 추정하는 분해형 SLAM 알고리즘.

쉽게 풀면

여러 개의 '가능한 나' 후보(입자)를 만들어 각자 자기만의 지도를 그리게 한 뒤, 실제와 가장 잘 맞는 후보들을 살아남기게 하는 방식입니다.

왜 중요한가

로봇 경로는 파티클로, 랜드마크는 각 파티클마다 독립 칼만필터로 추정해 EKF-SLAM의 제곱 비용 문제를 랜드마크 수에 대한 로그 비용으로 낮춘 방법입니다. 파티클마다 다른 데이터 연관을 가질 수 있어 연관 오류에 강건하다는 점이 실용적 강점이었습니다.

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

FastSLAM은 SLAM 사후 확률을 로봇 경로에 대한 조건부로 인수분해하여 p(x_1:t, m | z, u) = p(x_1:t | z, u) · ∏ p(m_i | x_1:t, z)로 표현한다.

경로를 알면 각 랜드마크는 서로 독립이 된다는 성질을 이용해 큰 문제를 작은 문제들로 쪼갠 것으로, 랜드마크 수에 대해 로그 시간으로 확장 가능합니다.

"실내 이동로봇에 여러 개의 입자를 배치해 각 입자가 서로 다른 로봇 궤적 가설을 대표하도록 하고, 각 입자마다 독립적으로 랜드마크 위치를 추정하도록 구현한 결과, 계산량을 크게 늘리지 않으면서도 지도와 궤적을 동시에 추정할 수 있었다."

FastSLAM이 로봇 궤적과 지도를 하나의 문제로 한꺼번에 다루지 않고 분해함으로써 계산 효율을 높이는 방식임을 보여준다.

조금 더 깊게 보면

랜드마크들이 로봇 경로가 주어지면 조건부 독립이라는 라오-블랙웰화 관찰이 핵심이며, 그리드 지도에 적용한 변형이 ROS의 gmapping입니다. 경로가 길어지면 파티클이 소수 조상으로 수렴해 과거 궤적의 다양성이 사라지는 고갈 문제가 있어, 대규모 환경에서는 그래프 SLAM에 자리를 내주었습니다. 각 파티클이 로봇의 전체 궤적 가설 하나를 대표하고, 그 안에서 랜드마크들은 서로 조건부 독립이 되어 파티클마다 독립적인 저차원 EKF들로 나뉘어 추정되므로 전체 계산량이 랜드마크 수에 대해 선형에 가깝게 줄어든다. 그리드 지도 버전(gmapping 등)에서는 랜드마크 대신 점유격자지도 자체를 파티클마다 유지하는 방식으로 확장되어 특징점이 뚜렷하지 않은 실내 환경에도 적용할 수 있게 되었다.

주의할 점

입자 수가 부족하면 입자 고갈(particle depletion) 현상으로 지도 추정이 특정 경로에 편향될 수 있습니다. 긴 궤적에서는 재샘플링을 반복할수록 파티클들이 소수의 공통 조상으로 수렴해, 과거 궤적의 다양성이 사라지는 파티클 고갈 문제가 지도 정확도를 떨어뜨릴 수 있다.

관련 용어