본문 바로가기

FOSCAR-(Autonomous Driving)/ROS 스터디

[2024 ROS 스터디] 이상혁 #4주차 - SLAM & Navigation

반응형

SLAM의 약자는 Simultaneous Localization And Mapping & Navigation의 약자이다

풀어 말하자면 동시적 위치 추정 및 지도 작성 & 차량 자동 항법 장치이다. 좀 더 쉽게 말하자면 길찾기이다.

 

1) 위치: 로봇의 위치 계측/추정하는 기능

- GPS

- indoor positioning sensor

- 추측 항법(dead reckoning, 데드레커닝)

 

2) 센싱: , 물체 등의 장애물의 계측하는 기능

- 거리센서 : LRF, 초음파 센서, 적외선 거리센서(PSD)

- 비전센서 : 스테레오 카메라, 모노 카메라, 전 방향 옴니 카메라

- depth camera

 

3) 지도: 길과 장애물 정보가 담긴 지도

 

4) 경로: 목적지까지 최적 경로를 계산하고 주행하는 기능

- 내비게이션

- 위치 추정

- 경로 탐색/계획

 

위치 + 센싱 → 지도 (SLAM)

 

위치 + 센싱 + 지도 → 경로 (Navigation)

 

 

- Gmapping에 대해

OpenSLAM에 공개된 SLAM의 한 종류, ROS에서 패키지로 제공

특징: Rao-Blackwellized 파티클 필터, 파티클 수 감소, 그리드 맵

2차원 점유 격자 지도 상

흰색 = 로봇이 이동 가능한 자유 영역(free area)

흑색 = 로봇이 이동 불가능 한 점유 영역(occupied area)

회색 = 확인 되지 않은 미지 영역(unknown area)

 

- SLAM 관련 노드들의 처리 과정

 

 

위치추정(localization)

- 칼만 필터(잡음이 포함되어 있는 선형 시스템에서 대상체의 상태를 추적하는 재귀 필터)

- 파티클 필터(대상 시스템에 확률 분포로 임의로 생성된 추정값을 파티클 형태로 나타낸다.)

 

내비게이션

- Dynamic Window Approach(로봇의 속도 탐색 영역에서 로봇과 충돌 가능한 장애물을 회피하면서 목표점까지 빠르게 다다를 수 있는 속도를 선택하는 방법)

 

 

<실습하기>

 

 

 

gazebo를 실행했고 rviz까지 실행시킨 상태이다. rviz상에서 나오는 회색물체는 turtlebot이고 빨간색 점은 라이다로 검출한 값들이다.

 

rviz에서 카메라를 키면 로봇이 보고있는 것을 볼 수도 있다.

 

 

Gmapping을 사용하여 지도를 만들고 초기 turtlebot이 라이다센서를 이용하여 장애물을 검출하는 모습을 보여주고 있다.

 

 

중간에 무슨이유인지는 모르겠는데 Navigation이 실행이 안되는 에러가 있었다. 패키지 상에서 문제가 난 것 같은데 나중에 한번 더 천천히 따라 해봐야 겠다.

전에 나갔던 가상환경 자율주행 대회에서 SLAM을 사용했었다. 시간이 없어 무작정 따라해서 정확한 내용을 모르는 부분이 있었지만 이번 강의로 부족했던 내용을 알 수 있었고 gmapping만 사용해봤었는데 시간이 되면 구글의 카토그래퍼도 공부해보고 사용해보면 좋을 것 같다.

반응형