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만 사용해봤었는데 시간이 되면 구글의 카토그래퍼도 공부해보고 사용해보면 좋을 것 같다.
'FOSCAR-(Autonomous Driving) > ROS 스터디' 카테고리의 다른 글
[2024 ROS 스터디] 유민아 #4주차 SLAM 과 NAVIGATION (0) | 2024.02.19 |
---|---|
[2024 ROS 스터디] 변수양 #4주차 - SLAM과 내비게이션 (0) | 2024.02.18 |
[2024 ROS 스터디] 이강욱 #4주차 - SLAM & Navigation (1) | 2024.02.16 |
[2024 ROS 스터디] 이상혁 #3주차 - ROS 기본 프로그래밍 (0) | 2024.02.13 |
[2024 ROS 스터디] 이준호 #3주차 - ROS 기본 프로그래밍 (0) | 2024.02.13 |