🤖

[VMware-ROS1-2] Window에서 VMware-Ubuntu를 통해 ROS 설치하자!

생성일
2023/01/26 15:47
태그

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 이미지로 변형하는 라이브러리