728x90
- Particle을 통해 Localization을 수행하는 알고리즘인 Monte Carlo Localization에서 적은 수의 Sample을 사용하여 수행 시간을 줄여 Real Time성을 높인 알고리즘
- Particle Filter를 Mobile Robot의 Localization Problem에 적용시킨 것
- Particle Filter는 대상 System에 확률 분포로 임의로 생성된 추정값을 Particle 형태로 나타내는시행 착오를 기반으로 한 Simulation을 통해 예측하는 기술
- 이를 위해 Map상의 x, y, theta 좌표를 얻어와야 함
- 초기 위치을 얻어온 후 Robot의 운동 Model과 확률에 근거하여 새로운 추정 위치와 자세로 이동해가며 실제 계측값에 따라 각 Particle에 Weight를 부여하여 점점 더 정확한 위치로 Noise를 줄이며 추정해나감
- Bayes Filter의 일종
- 주어진 지도에 대해 로봇의 위치를 추척
- 동작 과정
1. Initialization
- 초기에는 로봇의 위치와 자세를 알 수 없으므로 N개의 Particle들을 임의로 뿌림
2. Prediction
- 로봇이 이동함에 따라 로봇의 움직임을 기술한 System Model에 기초하여 로봇의 이동량에 Noise를 포함하여 각 Particle들을 이동시킴
3. Update
- 연속적인 Sensor Data를 기반으로 각 Particle들이 존재할 확률을 계산하고 이를 반영하여 각 Particle의 Weight가 1이 되도록 Weight값을 갱신.
- 이 갱신 후의 Particle 값은 Initialization에서 주어졌던 값이 Prediction과 Update를 거쳐 새로운 상태가 된다
4. Pose Estimation
- N개의 모든 각 Particle들의 위치 및 자세인 x, y, θ와 Weight를 곱해 로봇의 추정 위치 계산
5. Resampling
- 새로운 Particle을 생성하는 단계
- Weight가 적은 Particle들을 제거하고 Weight가 높은 Particle을 중심으로 기존 Particle의 특성인 Particle의 위치 정보를 물려받은 새로운 Particle을 추가로 생성
- 이 때 Particle의 개수 N은 그대로 유지
- Particle Filter는 Sample의 개수가 충분하다면 Kalman Filter를 개선한 EKF보다 위치 추종이 정확하지만, 그 개수가 충분하지 않으면 정확하지 않을 수 있다
- 이러한 부분을 개선하기 위한 접근법으로 Kalman Filter와 Particle Filter를 동시에 사용하는 방법인 RBPF(Rao - Blackselized Particle Filter) 기반의 SLAM도 일반적으로 사용디고 있다
- 위의 2~5번 과정을 반복적으로 수행하며 Robot의 위치값을 추정
- 즉 XY좌표 평면상에 로봇의 위치를 확률로 나타낸 Particle의 분포를 Sensor 계측값을 기반으로 갱신해 나가며 로봇의 위치 추측
- ROS 상에서의 동작 과정
1. Initializaiton
- Rviz 상의 2D Map상에 '2D Pose Estimate' 버튼을 통해 로봇의 초기 위치 지정
2. Prediction
- teleop node 등을 통해 로봇을 천천히 이동시킴
3 ~ 5.
- Resampling 후 Weight가 높은 Particle 주변으로의 새로운 Particle들이 생성
- 위 과정을 위해 AMCL Node는 각 센서들의 계측값, 상대 좌표값(TF), 지도 등의 데이터를 수신받아야 함
관련 자료 : https://youngseong.tistory.com/140
참고 자료 :
'Study_ROS' 카테고리의 다른 글
About Navigation on ROS (0) | 2023.07.17 |
---|---|
Cartographer/Hector SLAM 사용법 (0) | 2023.02.05 |
Ubuntu 20.04에 ROS Noetic 설치법 (0) | 2023.01.21 |
[ROS] tf란? (0) | 2022.11.06 |
우분투에서 Arduino IDE를 통한 rosserial 사용법 (0) | 2022.11.05 |