======ROS 스터디 #1: ROS 설치======
2020년 09월 25일 13:00\\
ZOOM 화상회의
=====1. ROS란?=====
[[https://github.com/robotpilot/ros-seminar/blob/master/01_%EB%A1%9C%EB%B4%87_%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%ED%94%8C%EB%9E%AB%ED%8F%BC.pdf|01_로봇_소프트웨어_플랫폼.pdf]], [[https://github.com/robotpilot/ros-seminar/blob/master/02_%EB%A1%9C%EB%B4%87_%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C_ROS.pdf|02_로봇_운영체제_ROS.pdf]] 참조
=====2. ROS 설치=====
====2.1. ROS 구동환경====
ROS는 기본적으로 Linux 환경에서 작동한다. Linux의 한 종류인 [[https://ubuntu.com|Ubuntu(우분투)]]는 ROS 작동이 공식적으로 보장되는 환경이다. Ubuntu를 PC에서 실행하려면 다음과 같은 선택지가 있다.
* PC에 직접 Ubuntu를 메인 OS로 설치(**네이티브 설치**)
* PC에 기존에 설치된 OS(Windows 등)을 유지한 채로 남은 디스크 공간에 병행하여 설치(**듀얼부팅/멀티부팅**)
* **가상머신(VM)을** 이용하여 기존 환경을 유지한 채로 설치
이번 스터디에서는 [[activity:public:reference:virtualbox|VirtualBox]] 가상머신에서 Ubuntu 18.04버전((2020년 09월 24일 기준 최신버전인 20.04 버전은 작동하지 않으므로 버전을 꼭 맞출 것!))에 ROS ''melodic''을 사용한다.
====2.2. Virtualbox 설치 및 설정====
[[activity:public:reference:virtualbox#설치|VirtualBox 설치]] 참조
====2.3. KAsimov-ROS-melodic 내려받기====
[[https://kasimov.korea.ac.kr:5001/fsdownload/pHPSS4Mtj/virtualbox|Ubuntu VBox Image]] 페이지에서 ''KAsimov-ROS-melodic.zip''파일을 받아 압축을 해제한다.
====2.4. VM 실행====
Virtualbox에서 2.3.에서 압축해제한 폴더 내 KAsimov-ROS-melodic.vbox파일을 불러온다.\\
화면에 KAsimov-ROS-melodic이라는 이름의 VM이 생성된다.\\
{{https://img.kasimov.synology.me/2020/ros/01-installation/2020-09-24_20-23-36.mkv_20200925_101149.996.png?600}}\\
''시작''버튼을 눌러 VM을 부팅한다.\\
{{https://img.kasimov.synology.me/2020/ros/01-installation/2020-09-24_20-23-36.mkv_20200925_102420.499.png?600}}\\
로그인 화면에서 암호(기본값 ''ubuntu'')를 입력하여 부팅을 완료한다.\\
{{https://img.kasimov.synology.me/2020/ros/01-installation/2020-09-24_20-23-36.mkv_20200925_101218.704.png?600}}\\
VM 실행 관련 오류는 [[activity:public:reference:virtualbox#문제_해결_troubleshooting|VirtualBox 문제 해결]] 참조.
=====3. ROS 실행=====
TurtleSim 예제 실행으로 ROS 설치가 정상적으로 완료되었는지 확인해 보자.
====3.1. roscore 실행====
roscore
{{https://img.kasimov.synology.me/2020/ros/01-installation/2020-09-24_20-23-36.mkv_20200925_101240.530a.png?400}}\\
{{https://img.kasimov.synology.me/2020/ros/01-installation/2020-09-24_20-23-36.mkv_20200925_101241.955a.png?400}}\\
''roscore''를 실행한 터미널 창이 꺼지면 다른 ROS 노드들이 모두 작동하지 않으므로, ROS 사용이 모두 종료될 때까지 켜두어야 한다.
====3.2. turtlesim 실행====
새로운 터미널 창(칸)에서 다음을 실행한다.
rosrun turtlesim turtlesim_node
{{https://img.kasimov.synology.me/2020/ros/01-installation/2020-09-24_20-23-36.mkv_20200925_101252.530a.png?400}}\\
터미널 창 밖에서 다음과 같이 새로운 창 하나가 열린다.\\
{{https://img.kasimov.synology.me/2020/ros/01-installation/2020-09-24_20-23-36.mkv_20200925_101256.919a.png?600}}\\
====3.3. turtlesim 조종====
새로운 터미널 창(칸)에서 다음을 실행한다.
rosrun turtlesim turtle_teleop_key
{{https://img.kasimov.synology.me/2020/ros/01-installation/2020-09-24_20-23-36.mkv_20200925_101300.781a.png?400}}\\
{{https://img.kasimov.synology.me/2020/ros/01-installation/2020-09-24_20-23-36.mkv_20200925_101303.126a.png?400}}\\
위 창에서 방향키를 누르면 3.2.에서 실행한 창 가운데 있던 거북이가 직진/후진/회전한다.\\
{{https://img.kasimov.synology.me/2020/ros/01-installation/2020-09-24_20-23-36.mkv_20200925_101306.868.png?600}}\\