0. Outline
이 포스팅은 윈도우에서 VMware를 통해 ROS를 실행시키는 설치 과정을 설명합니다.
VMware 설치와 웹캠 연동까지의 포스팅은 이전 포스팅을 참고해주세요.
# Basic Environment Specification
OS: Windows 11 Home - 21H2
VM: VMware 17 workspace
VM - OS : Ubuntu 18.04 LTS
Plain Text
복사
# Install Goal? Environment
OS: ROS1
Plain Text
복사
1. ROS 설치하기
1.1. Ubuntu 내의 설정 완료하기
Software & Update를 실행하여 설정이 맞게 세팅되어있는지 확인해주세요.
[1] Ubuntu setting
1.2. sources.list 설치하기
package.ros.org로부터 software를 받아들일 수 있도록 설정합니다.
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
Shell
복사
1.3. 키 설정
$ sudo apt install curl
$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
Shell
복사
Error 
apt install curl을 하던 도중에 오류가 발생했습니다.
E: unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend) is another process using it?
Shell
복사
ROS 패키지의 저장소 키가 변경되서 그렇다고 합니다.
# Removing the old key on Ubuntu
$ sudo apt-key del 421C365BD9FF1F717815A3895523BAEEB01FA116
# Importing the new key
$ sudo -E apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
Shell
복사
이 방법으로 해결되었습니다.
다시 키 설정 과정으로 돌아오겠습니다!
$ sudo apt install curl
$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
Shell
복사
1.4. ROS melodic 설치하기! (진짜)
# APT update
$ sudo apt clean && sudo apt update
# Desktop-Full version 설치하기
# 이 타이밍에 시간이 좀 걸립니다. 기다리시면 됩니다.
$ sudo apt install ros-melodic-desktop-full
Shell
복사
1.5. 환경 설정하기
$ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
$ sudo pip install -U rosdep
$ sudo rosdep init
$ rosdep update
Shell
복사
1.6. 환경변수를 통해 설치 잘 됬는지 확인!
$ printenv | grep ROS
ROS_ETC_DIR=/opt/ros/melodic/etc/ros
ROS_ROOT=/opt/ros/melodic/share/ros
ROS_MASTER_URI=http://localhost:11311
ROS_VERSION=1
ROS_PYTHON_VERSION=2
ROS_PACKAGE_PATH=/opt/ros/melodic/share
ROSLISP_PACKAGE_DIRECTORIES=
ROS_DISTRO=melodic
Shell
복사
만약 아무것도 출력되지 않으면, ROS가 설치되지 않은 것입니다.
2. ROS를 실행해보자 - turtlesim
# ROS 실행
$ roscore
Shell
복사
ROS는 이미 실행되있으니 새 탭을 열어 turtlesim을 실행합니다.
$ rosrun turtlesim turtlesim_node
Shell
복사
여기서 또 terminal을 열어 다음 코드를 실행하면 방향키를 이용해 거북이를 움직일 수 있습니다.
$ rosrun turtlesim turtle_teleop_key
Shell
복사
3. ROS를 잘 사용하기 위한 여러 설정들
3.1. Python3.7. 환경 설정
python 3.7 버전을 사용하도록 설정합니다.
# PYTHON 설치
$ sudo apt install python3.7-dev
# python3를 실행할 경우 python3.6/3.7을 사용하도록
$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
# python 버전 선택
$ update-alternatives --config python3
# Result : 2를 입력하고 엔터
There are 2 choices for the alternative python3 (providing /usr/bin/python3).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/python3.7 2 auto mode
1 /usr/bin/python3.6 1 manual mode
2 /usr/bin/python3.7 2 manual mode
Press <enter> to keep the current choice[*], or type selection number: 2
# python3 버전 확인
$ python3 --version
# 결과가 3.7.n인지 확인해보세요!
Python 3.7.5
Shell
복사
3.2. 추가로 필요한 프로그램들 설치하기
$ sudo apt install \
python3-pip \
python3-yaml \
python3-catkin-tools \
python3-numpy \
wget \
curl
Shell
복사
•
pip
python package 관리 도구
•
yaml
python으로 yaml 파일을 읽어들일 수 있도록 하는 라이브러리
•
catkin-tools
ROS에서 원하는 프로그램, library, script 등을 사용하려면 코드를 읽고 빌드해야 함. ROS는 빌드한 기능을 불러와 만드려는 프로그램에서 사용 - 이 때 사용는 build system = catkin
•
numpy
수학 및 과학 연산을 위한 Python package
•
wget
’Web Get’의 약어로 웹 상의 파일을 다운로드받을 때 사용
•
curl
’Client Uniform Resource Locater’의 약어로 url을 통해 직접 요청할 수 있도록 하는 명렁어
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python3 get-pip.py
Shell
복사
아래 명령으로 pip3를 설치해야 이후 pip3 install을 진행할 때 오류가 나지 않는다고 합니다.
$ pip3 install \
rospkg \
catkin_pkg \
scikit-build \
cmake \
opencv-python \
cvbridge3
Shell
복사
•
rospkg
ROS의 일부로 ros package / stack에 대한 정보를 검색?(retrieve)하기 위한 라이브러리
•
catkin_pkg
catkin 패키지 시스템용 독립 실행형 Python 라이브러리
•
scikit-build
CPython C/C++/Fortran/Cython 확장을 위한 개선된 빌드 시스템 생성기
•
cmake
Software를 빌드, 테스트 및 패키징하도록 설계된 오픈 소스, 교차 플랫폼 도구
•
opencv-python
'Open Source Computer Vision Library’의 약어, 실시간 Computer Vision을 위한 프로그래밍 라이브러리
•
cvbridge3
ROS 이미지 메시지를 OpenCV 이미지로 변형하는 라이브러리