======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}}