SLAM(Simultaneous Localization And Mapping)
- 동시적 위치 추정 및 지도 작성
Navigation
- 차량 자동 항법 장치
길 찾기에 필요한 요소
- 위치: 로봇의 위치 계측 / 추정하는 기능
- 센싱: 벽, 물체 등의 장애물의 계측하는 기능
- 지도: 길과 장애물 정보가 담긴 지도
- 경로: 목적지까지 최적 경로를 계산하고 주행하는 기능
- 이 4가지가 ROS에서 사용하는 패키지나 메시지가 될 수 있음
위치
- GPS(Global Positioning System)
- 실외에서 사용하기에 적합
- 상대적으로 위치의 오차가 커서 이를 고려해야 한다.
- 날씨의 영향을 많이 받는다.
- 고층 빌딩이 많은 곳에서 오차가 많이 발생한다.
- IPS(Indoor Positioning Sensor)
- GPS의 단점을 보완하기 위해 IPS를 개발하여 사용
- Landmark(Color, IR Camera)
- Indoor GPS
- WiFi SLAM
- Beacon
- 추측항법(dead reckoning)
- 양 바퀴 축의 회전 값 이용
- 이동 거리와 회전 값을 계산하고 위치를 측정
- 바닥 슬립, 기계적, 누적 오차가 발생
- IMU 등의 관성 센서나, 여러 필터로 위치를 보상
- 필요 정보: 양 바퀴 축의 엔코더 값 E (모터 축인 경우 기어비로 재계산), 바퀴 간 거리 D, 바퀴 반지름 r
센싱
- 거리센서
- LRF, 초음파센서, 적외선 거리센서(PSD) 등
- 비전센서
- 스테레오 카메라, 모노 카메라 등
- Depth Camera
- SwissRanger, Kinect-2 등
지도
- 로봇이 길을 찾아가기 위해서는 지도가 필요하다.
- SLAM에서는 로봇이 본인의 위치를 추정하고 동시에 지도도 만든다.
경로
- 목적지까지 최적의 경로를 찾는 것이 필요
- Dynamic Window Approach(DWA), A*, D*, Potential Field, Particle Filter 등을 이용한다.
위치 추정(Localization)
칼만 필터(Kalman Filter)
- 잡음이 포함되어 있는 선형 시스템에서 대상체의 상태를 추적하는 재귀 필터
- 베이즈 확률 기반
- 예측(Prediction) - 모델을 상정하고 이 모델을 이용하여 이전 상태로부터 현재 시점의 상태를 예측
- 보정(Update) - 앞 단계의 예측값과 외부 계측기로 얻은 실제 측정값 간의 오차를 이용하여 더욱 정확한 상태의 상태값을 추정
파티클 필터(Particle Filter)
- 시행 착오(try-and-error) 법을 기반으로 한 시뮬레이션을 통하여 예측하는 기술
- 대상 시스템에 확률 분포로 임의로 생성된 추정값을 파티클(입자) 형태로 나타낸다.
- ① 초기화(initialization), ② 예측(prediction), ③ 보정(update), ④ 위치 추정(pose estimation), ⑤ 재추출(resampling)
네비게이션(Navigation)
Local Plan에서는 DWA(Dynamic Window Approach)를 주로 사용한다.
DWA(Dynamic Window Approach)
- 로봇의 속도 탐색 영역(velocity search space)에서 로봇과 충돌 가능한 장애물을 회피하면서 목표점까지 빠르게 다다를 수 있는 속도를 선택하는 방법
- 로봇이 현실적으로 움직일 수 있는 위치와 방향을 고려한다.
Gmapping
- OpenSLAM에서 가장 대표적인 오픈소스 패키지
- Rao-Blackwellized 파티클 필터, 파티클 수 감소, 그리드 맵 제공
- 하드웨어 제약 사항
- X, Y, theta 속도 이동 명령을 갖는 모바일 로봇의 경우 사용 가능
- 주행기록계(Odometry)를 사용할 수 있어야 함
- 2차 평면 계측 가능 센서 사용 (LRF, LiDAR 등)
- 자유 영역(free area) - 흰색 : 로봇이 이동 가능한 영역
- 점유 영역(occupied area) - 흑색 : 로봇이 이동 불가능한 영역
- 미지 영역(unknown area) - 회색 : 확인되지 않은 영역
더 자세한 SLAM과 Navigation에 대한 자세한 이론은 센서기반모바일로봇 카테고리에서 다룰 예정이다.
출처
- ROS 강의 Chapter11. SLAM과 네비게이션: https://www.youtube.com/watch?v=067HSmDvXdE&list=PLRG6WP3c31_VIFtFAxSke2NG_DumVZPgw&index=11