Particle Filter
- 다른 이름: sequential Monte Carlo, SMC, bootstrap filter
- 카테고리: State estimation & navigation › Localisation
- 태그: state-estimation, localization, bayesian-filtering, probabilistic-robotics, monte-carlo
믿음을 가중치가 매겨진 샘플 집합으로 표현하고, 운동 모델로 샘플을 움직이고, 센서 우도로 가중치를 매기고, 재샘플링하는 상태 추정 방법.
정의
입자 필터(particle filter)는 시스템 상태에 대한 확률 분포를 각각 가중치를 지닌 샘플, 즉 입자(particles)의 집합으로 표현하는 재귀적 베이즈 추정기다. 이 접근법은 순차적 몬테카를로(sequential Monte Carlo)라고도 하며, 널리 인용되는 형태인 부트스트랩 필터는 1993년 Gordon, Salmond, Smith가 발표했다. 로보틱스에서는 Dellaert, Fox, Burgard, Thrun이 개발한 몬테카를로 위치 추정(Monte Carlo localization)을 통해 표준이 되었으며, Probabilistic Robotics에서 깊이 다루어진다.
각 갱신은 세 단계로 이루어진다. 예측(prediction) 단계에서는 모든 입자를 운동 모델에 따라 움직이며, 오도메트리나 제어의 불확실성을 반영하도록 잡음을 더한다. 갱신(update) 단계에서는 최신 센서 측정이 각 입자가 나타내는 상태와 얼마나 잘 맞는지에 따라 각 입자에 가중치를 매긴다. 재샘플링(resampling) 단계에서는 가중치에 비례해 새 입자 집합을 뽑으므로, 가능성 높은 가설은 복제되고 가능성 낮은 가설은 사라진다. 추정값은 가중 평균, 가장 좋은 입자, 또는 입자 군집에서 읽어 낼 수 있다.
칼만 필터와 그 확장과 달리, 입자 필터는 믿음이 가우시안이라고 가정하지 않는다. 동일한 두 복도 중 하나에 있을 수 있는 로봇이나, 지금까지 느낀 접촉과 일치하는 여러 자세 중 하나일 수 있는 손에 쥔 물체처럼, 여러 개의 분리된 가설을 동시에 유지할 수 있다. 대가는 계산량이다. 필요한 입자 수는 상태의 차원에 따라 빠르게 늘어나며, 참 상태 근처에 떨어지는 입자가 너무 적으면 필터가 틀린 답으로 붕괴할 수 있다. 따라서 실용적인 필터는 저분산 재샘플링을 쓰고, 유효 샘플 크기가 떨어질 때만 재샘플링하며, 입자 수를 적응시키고, 실패에서 회복하기 위해 무작위 입자를 주입한다.
중요한 이유
많은 로봇 추정 문제는 비선형이고 모호하며, 믿음이 봉우리 하나가 아니라 여러 개를 가진다. 입자 필터는 이를 직접 다루며, 그래서 이동 로봇의 표준 2D 위치 추정의 기반이자, 접촉과 촉각으로부터 물체 자세를 추정하는 흔한 도구다.
주요 응용
- 알려진 지도에 대한 이동 로봇 위치 추정(몬테카를로 위치 추정)
- 고유 감각과 촉각 접촉으로부터 손 안 물체 자세 추정
- 복잡하거나 가려진 장면에서 사람과 물체 추적
- FastSLAM, GMapping 같은 Rao–Blackwellized 입자 필터를 이용한 SLAM
- 로봇이 모르는 사이에 옮겨졌을 때의 전역 위치 추정과 복구
실제 사례
ROS 내비게이션 스택을 실행하는 창고 로봇은 보통 적응형 몬테카를로 위치 추정 패키지인 AMCL로 위치를 추정한다. 시작할 때 운영자가 대략적인 초기 자세를 주면, 수천 개의 입자가 그 주변에 퍼진다. 로봇이 주행하면 바퀴 오도메트리가 입자를 움직이고, 각 LiDAR 스캔이 저장된 점유 지도에 대해 입자에 가중치를 다시 매긴다. 몇 미터만 이동해도 입자 구름이 참 자세 주위로 좁혀진다. 엔지니어는 오도메트리 잡음 파라미터를 실제 구동계에 맞게 튜닝하고, 최소 및 최대 입자 수를 정하고, RViz에서 입자 구름을 지켜본다. 반복적인 통로에서 구름이 두 군집으로 갈라지는 것은 필터가 두 가설을 추적하고 있으며 이를 가려낼 독특한 특징이 필요하다는 신호다.
흔한 오해
- 입자를 늘리면 항상 정확도 문제가 해결된다 — 필요한 입자 수는 상태 차원에 따라 빠르게 늘어나므로, 고차원 문제에는 샘플을 더 늘리는 것만이 아니라 더 나은 제안 분포나 구조가 필요하다
- 입자 필터는 더 느린 칼만 필터일 뿐이다 — 칼만형 필터가 표현할 수 없는 비가우시안, 다봉 믿음을 표현한다
- 매 단계 재샘플링하는 것이 항상 최선이다 — 너무 자주 재샘플링하면 다양성이 버려지며, 많은 필터는 유효 샘플 크기가 임계값 아래로 떨어질 때만 재샘플링한다
- 필터는 틀린 추정에서 항상 회복한다 — 입자가 참 상태에서 벗어난 곳으로 붕괴하고 나면, 무작위 입자를 주입하지 않는 한 돌아올 수 없다
알아야 할 사람
- 이동 로봇 위치 추정 및 내비게이션 엔지니어
- 상태 추정 및 SLAM 개발자
- 촉각으로부터 물체 자세를 추정하는 매니퓰레이션 연구자
- 확률론적 로보틱스를 공부하는 로보틱스 학생
관련 기술
- 몬테카를로 위치 추정(Monte Carlo Localization, AMCL)
- 칼만 필터(Kalman Filter)
- FastSLAM
- 중요도 샘플링(Importance Sampling)
- 점유 격자 지도(Occupancy Grid Map)
관련 용어
- Extended Kalman Filter
- SLAM
- Odometry
- Sensor Fusion
- LIDAR
- Partially Observable Markov Decision Process (POMDP)
관련 프로젝트
- Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
- Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
- GTSAM: Factor-graph optimization library powering many modern SLAM backends
- OpenVINS: The reference open platform for visual-inertial state estimation research
- AprilTag: The standard visual fiducial marker system for robot localization and pose estimation
- GLIM: GPU-accelerated 3D lidar SLAM framework for any range sensor, from AIST
동영상
- Understanding the Particle Filter | | Autonomous Navigation, Part 2: MATLAB
- Particle Filter - 5 Minutes with Cyrill: Cyrill Stachniss