728x90
ROS2의 최신 버전인 Foxy 버전을 설치해 보겠습니다.
Ubuntu 20.04가 권장됩니다.
설치 방법은 아래 페이지에 설명되어 있습니다.
- docs.ros.org/en/foxy/Installation/Linux-Development-Setup.html
- docs.ros.org/en/foxy/Installation/Linux-Install-Binary.html
저는 apt install 을 통한 debian 버전 설치가 잘 되지 않아서 아래와 같은 방법으로 진행했습니다.
1. Locale 설정 (UTF-8)
$ locale # check for UTF-8
$ sudo apt update && sudo apt install locales
$ sudo locale-gen en_US en_US.UTF-8
$ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
$ export LANG=en_US.UTF-8
$ locale # verify settings
2. 개발 tool 설치
저는 아래 설치 과정에서 에러가 발생하여 해결 후 다시 진행했습니다.
$ sudo apt update && sudo apt install -y \
build-essential \
cmake \
git \
libbullet-dev \
python3-colcon-common-extensions \
python3-flake8 \
python3-pip \
python3-pytest-cov \
python3-rosdep \
python3-setuptools \
python3-vcstool \
wget
# install some pip packages needed for testing
$ python3 -m pip install -U \
argcomplete \
flake8-blind-except \
flake8-builtins \
flake8-class-newline \
flake8-comprehensions \
flake8-deprecated \
flake8-docstrings \
flake8-import-order \
flake8-quotes \
pytest-repeat \
pytest-rerunfailures \
pytest
# install Fast-RTPS dependencies
$ sudo apt install --no-install-recommends -y \
libasio-dev \
libtinyxml2-dev
# install Cyclone DDS dependencies
$ sudo apt install --no-install-recommends -y \
libcunit1-dev
3. ROS2 apt repository 추가
$ sudo apt update && sudo apt install curl gnupg2 lsb-release
$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
$ sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'
4. ROS2 다운로드
$ mkdir -p ~/ros2_foxy/src
$ cd ~/ros2_foxy
$ wget https://raw.githubusercontent.com/ros2/ros2/foxy/ros2.repos
$ vcs import src < ros2.repos
5. 설치 및 rosdep 초기화
rosdep은 시스템 의존성 설치를 위한 CLI (Command Line Interface) tool 입니다.
$ sudo apt update
$ sudo apt install -y python3-rosdep
$ sudo rosdep init
$ rosdep update
# Installing the missing dependencies
$ rosdep install --from-paths ros2-linux/share --ignore-src --rosdistro foxy -y --skip-keys "console_bridge fastcdr fastrtps osrf_testing_tools_cpp poco_vendor rmw_connext_cpp rosidl_typesupport_connext_c rosidl_typesupport_connext_cpp rti-connext-dds-5.3.1 tinyxml_vendor tinyxml2_vendor urdfdom urdfdom_headers"
6. Python3 라이브러리 설치
$ sudo apt install -y libpython3-dev python3-pip
$ pip3 install -U argcomplete
7. 빌드
$ cd ~/ros2_foxy/
$ colcon build --symlink-install
3시간 7분 50초가 걸려서 빌드가 완료되었습니다.
8. 설치 확인
빌드 실패한 패키지들은 일단 무시하고, 다음 단계를 진행해 봅니다.
$ . install/steup.bash
# permission error가 발생할 경우,
$ chmod 777 install/setup.bash
$ . install/setup.bash
$ ros2
# ros2 명령어가 실행되는 것을 볼 수 있습니다.
두 개의 터미널을 띄우고 각각의 터미널에서 아래 명령을 수행합니다.
# Terminal 1
$ cd ros2_foxy'
$ . install/setup.bash
$ ros2 run demo_nodes_cpp talker
# Terminal 2
$ cd ros2_foxy'
$ . install/setup.bash
$ ros2 run demo_nodes_py listner
아래와 같이 talker는 Publish하고 listener는 Subscribe하는 것을 확인할 수 있습니다.
'ROS' 카테고리의 다른 글
ROS (Robot OS) 소개 (0) | 2021.03.08 |
---|