WINDOWS 환경에서 WSL을 설치하고 ROS2-galactic을 설치하는 방법에 대해 설명한다.
Ubuntu OS를 사용 중이라면 "Install WSL2"는 skip하면 된다. ROS2를 설치하는 방법에 대해서는 Debian package를 이용하는 방법과 building하는 방법에 대해 다룰 것이다. Debian package를 이용하면 쉽고 빠르게 ROS2 설치가 가능하지만, ROS2 package들의 최신 버전을 적용하거나 code를 살펴보고 싶다면 building을 통해 ROS2를 설치하는 것을 추천한다. (둘 중 하나의 방법만 따르면 된다.)
Install WSL2
WSL설치 (WINDOWS에서 Linux GUI apps 이용하기) 참조
Install ROS2 prerequisites
먼저 UTF-8을 지원하도록 locale이 설정되어 있는지 확인한다.
# UTF-8 확인
$ locale
LANG=en_US.UTF-8 # 이렇게 나온다면 아래를 수행할 필요가 없다.
....
# locale 변경
$ 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
다음으로 ROS2 apt repository를 source list에 추가해준다.
$ sudo apt update && sudo apt install curl gnupg lsb-release
$ sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
Install ROS2 - via Debian package
위의 Install ROS2 prerequisites가 완료되었다면, 아래 명령어를 통해 ROS2 galactic을 설치한다.
$ sudo apt update
$ sudo apt install ros-galactic-desktop
설치가 완료되면 /opt/ros/galactic에 있는 setup.bash 파일을 sourcing하여 ROS2 환경을 set-up할 수 있다.
$ source /opt/ros/galactic/setup.bash
Install ROS2 - via building
Install ROS2 prerequisites가 완료되었다면, ROS2 build를 위한 development tool을 설치한다.
$ sudo apt update && sudo apt install -y \
build-essential \
cmake \
git \
python3-colcon-common-extensions \
python3-flake8 \
python3-pip \
python3-pytest-cov \
python3-rosdep \
python3-setuptools \
python3-vcstool \
wget
$ python3 -m pip install -U \
flake8-blind-except \
flake8-builtins \
flake8-class-newline \
flake8-comprehensions \
flake8-deprecated \
flake8-docstrings \
flake8-import-order \
flake8-quotes \
pytest-repeat \
pytest-rerunfailures \
pytest \
setuptools
ROS2를 위한 workspace를 만들고 repo를 clone한다.
$ mkdir -p ~/ros2_galactic/src
$ cd ~/ros2_galactic
$ wget https://raw.githubusercontent.com/ros2/ros2/galactic/ros2.repos
$ vcs import src < ros2.repos
clone 후에 최신 commit으로 업데이트를 하고 싶다면, 아래 명령어를 수행한다.
$ vcs pull src < ros2.repos
rosdep을 이용하여 dependencies를 설치한다.
$ sudo rosdep init
$ rosdep update
$ rosdep install --from-paths src --ignore-src -y --skip-keys "fastcdr rti-connext-dds-5.3.1 urdfdom_headers"
ROS2 build를 수행한다.
$ cd ~/ros2_galactic/
$ colcon build --symlink-install
build가 완료되면 ROS2 workspace의 install폴더에 있는 setup.bash 파일을 sourcing하여 ROS2 환경을 set-up할 수 있다.
$ source ~/ros2_galactic/install/setup.bash
'Robotics > ROS' 카테고리의 다른 글
DDS RTPS 패킷 확인해보기 (wireshark) (0) | 2022.03.01 |
---|---|
DDS RTPS의 Discovery Protocol (0) | 2022.02.12 |
DDS RTPS의 동작(behavior) (1) | 2022.02.11 |
DDS RTPS의 구조(structure)와 메세지(message) (0) | 2022.02.05 |
DDS와 RTPS 개념정리 (0) | 2022.02.04 |