티스토리 친구하기

본문 바로가기

Robotics/ROS2

ROS2 환경설정

728x90

*본 튜토리얼은 ROS2 공식 문서를 참조하여 제작하였습니다.

참고: https://docs.ros.org/en/dashing/Tutorials/Configuring-ROS2-Environment.html

 

Goal: 어떻게 ROS2 환경을 준비하는지 알 수 있다.

Background

 "Workspace"는 ROS용어로, ROS2로 개발하는 위치를 나타냅니다. ROS2는 shell(쉘) 환경을 사용해서 workspace들을 합치는(combining) 개념이라고 볼 수 있습니다. 여기서 core ROS2 workspace는 "underlay", 그리고 local workspace를 "overlay" 라고 합니다. 그리고 ROS2로 개발을 할 때에는, 일반적으로 여러 개의 workspace가 동시에 활성화됩니다. 

 

Workspace를 결합하면 다른 버전의 ROS2 또는 다른 package들의 세트들을 더 쉽게 개발할 수 있습니다. 또한, 여러개의 ROS2 배포판(예: Dashing and Musallem)을 동일한 컴퓨터에서 설치하고 둘 사이를 전환할 수 있습니다. 이것은 새로운 shell(쉘)을 열 때마다 setup file(설치파일)들을 가져오거나(source), 또는 shell startup script에 source command를 한번 추가하면 됩니다. setup file들을 source 하지 않으면 ROS2에 command를 access하거나, 또는 ROS2 package를 찾거나 사용할 수 없습니다. 즉, ROS2를 사용할 수 없습니다. 

Prerequisites

Tutorials를 시작하기 전에, ROS2를 설치해야 합니다. 

이 Tutorials에서 사용한 commands는 operation system(Debian packages for Linux)에 대한 binary installation guide를 따랐다고 가정합니다. 

Tasks

1 Source the setup files

다음과 같이 ROS2 command에 access(접근)하려면, open하는 모든 새로운 shell에서 아래의 command를 실행(run)해야 합니다. (즉, ROS2 command를 사용하려면 아래의 setup 파일을 가져와야 합니다.)

 

source /opt/ros/dashing/setup.bash

2 Add sourcing to your shell starup script

만약 shell을 open할 때마다 setup file을 source하기 싫으면 (skipping task 1), shell startup script에 다음 command를 add하세요. (nano ~/.bashrc를 통해 nano로 bashrc 파일을 열면, bashrc 파일에 "source /opt/ros/dashing/setup.bash" 문구가 추가된 것을 확인할 수 있습니다.)

 

echo "source /opt/ros/dashing/setup.bash" >> ~/.bashrc

 

Linux 및 macOS에서 다른 distro로 변경하려면, 시스템의 shell startup script를 찾아 추가된 source command를 제거하세요.

3 Add "colcon_cd" to your shell startup script

colcon_cd command를 사용하면 현재 working directory에서 package directory로 빠르게 변경할 수 있습니다. 예를 들어, colcon_cd some_ros_package는 디렉토리 ~/ros2_install/src/some_ros_package로 빠르게 이동합니다.

(~은 "home/사용자이름"을 의미합니다. 즉,  home/사용자이름/ros2_install/src/some_ros_package)

 

echo "source /usr/share/colcon_cd/function/colcon_cd.sh" >> ~/.bashrc
echo "export _colcon_cd_root=~/ros2_install" >> ~/.bashrc

 

colcon_cd를 설치한 방법과 workspace의 위치에 따라 위의 지침이 다를 수 있습니다. 자세한 내용은 설명서를 참조하세요. Linux 및 macOS에서 이 작업을 취소하려면 시스템의 shell startup script를 찾아 추가된 source 및 export 명령을 제거하세요.

4 Check environment variables

ROS 2 setup file을 source하면 ROS2를 작동하는데 필요한 여러가지 환경 변수(environment variables)가 설정됩니다. ROS2 package를 찾거나 또는 사용하는데 문제가 있다면, 다음 command를 사용해서 환경이 적절하게 setup 되었는지 확인하세요. 

 

printenv | grep -i ROS

 

ROS_DISTRO 및 ROS_VERSION과 같은 변수가 설정되어 있는지 확인합니다.

 

ROS_VERSION=2
ROS_PYTHON_VERSION=3
ROS_DISTRO=dashing

 

환경변수가 올바르게 설정되지 않은 경우, installation guide의 ROS2 package installation section으로 돌아갑니다. Environment setup file이 다른 곳에서 올 수도 있기 때문에, 보다 구체적인 도움이 필요한 경우 커뮤니티에서 답변을 얻을 수 있습니다.


환경 변수가 올바르게 설정되지 않은 경우 따라간 설치 안내서의 ROS 2 패키지 설치 섹션으로 돌아갑니다. 환경 설정 파일이 다른 곳에서 올 수 있으므로 보다 구체적인 도움이 필요한 경우 커뮤니티에서 답변을 얻을 수 있습니다.

3.1 The ROS_DOMAIN_ID variable

ROS 도메인 ID에 대한 자세한 내용은 domain ID 문서를 참조하세요.

ROS 2 agent group에 대한 unique integer를 결정한 후에는, 다음 command를 사용하여 환경 변수(environment variable)를 설정할 수 있습니다.

 

export ROS_DOMAIN_ID=<your_domain_id>

 

shell sessions 간에 이 설정을 유지하려면, shell startup script에 다음 command를 추가할 수 있습니다.

 

echo "export ROS_DOMAIN_ID=<your_domain_id>" >> ~/.bashrc

Summary

ROS 2 개발 환경은 사용전에 올바르게 configured(구성) 되어야 합니다. 이 작업은 두 가지 방법으로 수행될 수 있습니다. new shell을 open 할 때마다 setup file을 sourcing하거나(가져오거나), startup script에 source command를 추가하는 것입니다.

ROS 2에서 package를 찾거나 사용하는 데 문제가 발생할 경우, 가장 먼저 해야 할 일은 환경 변수(environment variable)를 확인하고 원하는 버전(version)과 배포(distro)로 설정되었는지 확인하는 것입니다.

   

반응형