======ROS 스터디 #9: SLAM, 네비게이션(Navigation)======
2021년 02월 03일 수요일 19:00\\
ZOOM 화상회의\\
{{youtube>XqpOlrUuVBI?medium}}
=====1. 이론====
====1.1. SLAM====
**S**imultaneous **L**ocalization **A**nd **M**apping. **동시적 위치 추정 및 지도 작성.**\\
보통 편하게 슬램이라고 읽는다.
한 줄로 요약하자면, **지도 그리기.**
====1.2. Navigation====
**자동 항법 장치.**\\
한 줄로 요약하자면, **길 찾기.**
====1.3. 작동 원리 요약====
크게 나누면, **위치** ▶ **센싱** ▶ **지도** ▶ **경로** 총 4단계로 볼 수 있다.
===1.3.1. 위치===
//SLAM에서 필요// //Navigation에서 필요//\\
**로봇의 위치를 찾아내기**\\
GPS, Positioning Sensor 등 현재 위치를 알아낼 수 있는 데이터를 아용해 현재 위치와 자세를 추정한다.
===1.3.2. 센싱===
//SLAM에서 필요// //Navigation에서 필요//\\
**주변 지형(장애물 등) 파악**\\
거리센서, 카메라 등을 이용해 현 위치 주변이 어떤 구조로 되어 있는지 파악한다.\\
즉, 현 위치에서 어디로 이동할 수 있는지, 어디로 이동할 수 없는지 파악한다.
===1.3.3. 지도===
**SLAM의 결과물** //Navigation에서 필요//\\
**현 위치 파악 후 주변을 돌아다니기 위해 필요(주어져야 하는 데이터)**\\
휴대전화 네비게이션 앱이 서버에서 지도를 다운로드받아야만 작동할 수 있듯 Navigation으로 경로를 찾아 이동하려면 사전 지도 데이터가 필요하다.\\
**이것이 없으면 SLAM을 통해서 만든다.**
===1.3.4. 경로===
**Navigation의 결과물**\\
위 일련의 과정을 거쳐 필요한 데이터가 모두 수합되면 **길을 찾아 간다.**\\
A Star, Potential Field 등의 알고리즘이 여기에서 필요하다.
=====2. 실습=====
본 실습은 TurtleBot3 Burger의 기본 SLAM, Navigation 예제 패키지를 활용한다.\\
지난 스터디에서 보였던 Turtlebot3 작동 시연에서 사용했던 바로 그 예제로, 자세한 명령어 내용은 [[activity:public:2020:ros:210127|해당 문서]]나 [[https://github.com/robotpilot/ros-seminar/blob/master/11_SLAM%EA%B3%BC_%EB%82%B4%EB%B9%84%EA%B2%8C%EC%9D%B4%EC%85%98.pdf|출처]]를 참조하자.
=====3. 참고자료/출처=====
* [[https://github.com/robotpilot/ros-seminar/blob/master/11_SLAM%EA%B3%BC_%EB%82%B4%EB%B9%84%EA%B2%8C%EC%9D%B4%EC%85%98.pdf|11_SLAM과_내비게이션.pdf]]
* 표윤석 박사님 ROS 강의 녹화본(ROBOTIS) \\ {{youtube>067HSmDvXdE?meium}}