[ROS2] 통신 환경 구성 및 테스트
본 섹션에서는 Ubuntu 가상 서버를 활용한 ROS2 통신 환경 구성 및 시뮬레이터와 통신하는 방법을 설명한다.
1. ROS2 및 종속 프로그램 설치
Ubuntu 20.04 가상 서버에 아래와 같은 명령어로 ROS2 통신 환경에 필요한 ROS Bridge 서버 및 종속 프로그램을 설치한다.
# set locale
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
# add ROS2 apt repository
sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update && sudo apt install curl -y
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 $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
# install ROS2 packages
sudo apt update
sudo apt upgrade
sudo apt install ros-foxy-desktop python3-argcomplete
#기타 도구 및 필요 패키지 설치
sudo apt install python3-colcon-common-extensions
sudo apt install ros-foxy-rqt*
sudo apt install ros-foxy-velodyne
sudo apt install git
sudo apt install net-tools
sudo apt install python3-pip
pip install scikit-learn
본 가이드에서 제공하는 예제 코드는 Git으로 다운로드한다.
Git을 Ubuntu 가상 서버에 처음 설치하는 경우, git config --global 명령어로 사용자 정보를 서버 시스템에 등록하고, 사용자 인증을 위한 SSH 공개키 생성 및 등록이 필요하다.
본 가이드에서는 Git 설치 및 설정 방법을 다루지 않으므로, 관련한 자세한 내용은 Git - Git 최초 설정 및 Git - SSH 공개키 만들기 를 참고한다.
2. ROS2 환경 설정
2-1. 설치한 ROS2의 사용을 위해 환경 설정 파일을 불러온다.
source /opt/ros/foxy/setup.bash
2-2. 환경 설정 파일을 매번 실행하는 번거로움을 없애기 위해 bash에 해당 파일을 추가한다.
echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
source ~/.bashrc
2-3. ROS 패키지 빌드 시 필요한 의존성 패키지를 설치 및 초기화한다.
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
# rosdep 초기화
sudo rosdep init
rosdep update
3. ROS2 작업 공간 구성
3-1. ROS2 작업 공간으로 colcon_ws 폴더를 생성한다.
mkdir -p ~/colcon_ws/src
cd ~/colcon_ws
colcon build
3-2. ROS2 작업 공간의 환경 설정 파일을 bash 설정 창에 추가하여 파일 실행을 자동화한다.
echo "source ~/colcon_ws/install/setup.bash" >> ~/.bashrc
source ~/.bashrc
3-3. 생성한 작업 공간에 ROS2 테스트에 필요한 통신 예제 코드(.py)를 다운로드하고 실행한다.
cd ~/colcon_ws/src
# MORAI ROS2 통신 예제 코드 다운로드
git clone https://github.com/MORAI-Autonomous/MORAI-DriveExample_ROS2.git
cd MORAI-DriveExample_ROS2
git submodule update --init --recursive
# 센서 데이터 파싱 및 Visualization 예제 파일 다운로드
cd ..
git clone https://github.com/MORAI-Autonomous/MORAI-SensorExample.git
# Package build
cd ..
colcon build --symlink-install
# colcon 환경 변수 선언
source install/setup.bash
ROS2 통신 환경에서는 rqt 도구를 활용하면 시뮬레이터에 전송하는 ROS2 메시지 정보를 보다 직관적으로 확인할 수 있다.

ROS2 메시지에 대한 자세한 내용은 ROS2 통신 메시지를 참고한다.