[Dashing][CLI Tools] 1. Configuring your ROS 2 environment
이 글은 아래의 자료를 참고로 만들어졌습니다.
docs.ros.org/en/dashing/Tutorials/Configuring-ROS2-Environment.html
Configuring your ROS 2 environment
Goal: This tutorial will show you how to prepare your ROS 2 environment.
Tutorial level: Beginner
Background
ROS 2는 쉘 환경을 이용하여 Workspace를 결합하는 개념입니다.
"Workspace"는 ROS 2를 개발하는 시스템의 위치를 나타내는 용어입니다.
Core ROS 2 workspace를 underlay라고 하고
Local workspace를 overlays라고 부릅니다.
ROS 2를 개발할 때, 일반적으로 여러 workspace가 동시에 활성화됩니다.
workspace들을 결합하면 다양한 ROS 2 버전과 package들에 대한 개발이 쉬워집니다.
또한, 동일한 컴퓨터에 여러 ROS 2 배포판들(예를 들어 Dashing과 Eloquent)을 설치하고
둘 사이를 전환할 수 있습니다.
이를 위해,
새로운 terminal을 열 때마다 설정 파일을 소싱하거나
쉘 스크립트에 source 명령어를 한 번 넣어주면 됩니다.
만약 설정 파일을 소싱하지 않으면,
ROS 2 명령어에 엑세스하거나 ROS 2 패키지를 찾을 수 없습니다.
달리 말하면, ROS 2를 사용할 수 없습니다.
Prerequisites
이 튜토리얼은 Linux에서 Debian Packages를 이용하여 바이너리 설치를 했다고 가정합니다.
만약 source를 이용하여 설치를 하였다면
setup files의 경로가 다를 수 있습니다.
또한, 아래와 같은 명령을 사용할 수 없습니다.
$ sudo apt install ros-<distro>-<package>
만약 Unix계열의 명령어에 대해 익숙하지 않다면
아래의 링크를 참고하세요.
www.ee.surrey.ac.uk/Teaching/Unix/
Tasks
1 Source the setup files
새로운 terminal을 열 때마다 아래의 명령을 실행해야합니다.
$ source /opt/ros/dashing/setup.bash
Source를 이용하여 설치하였을 경우
정확한 명령어는 ROS 2를 어디에 설치했는지에 따라 달라집니다.
<추가> source란?
$ source [환경 설정 파일명]
리눅스 환경 설정 파일들은 수정하면 바로 적용되지 않습니다.
수정된 새로운 환경 설정 내용을 즉시 적용하기 위해 위의 명령어가 사용됩니다.
2 Add sourcing to your shell startup script
만약 새로운 terminal을 열 때마다 위 명령어를 실행하기 귀찮다면,
위 명령어를 실행하지 않고, 아래의 명령어로 설정을 해줍니다.
이 후 새로운 terminal을 열고 바로 ROS 2를 사용할 수 있습니다.
$ echo "source /opt/ros/dashing/setup.bash" >> ~/.bashrc
만약 이 실행을 취소하고 싶다면,
아래의 명령어를 이용하여
위 명령어(source /opt/ros/dashing/setup.bash)를 지우고 저장합니다.
# ~/.bashrc 수정
$ nano ~/.bashrc
# source 명령어를 이용하여 ~/.bashrc 업데이트
$ source ~/.bahsrc
<추가> ~/.bashrc 파일이란?
별칭(alias)과 bash가 수행될 때 실행되는 함수를 제어하는 지역적인 시스템 설정 관련 파일입니다.
( '~'는 리눅스에서 홈디렉토리를 뜻합니다.)
오직 해당 사용자에만 한정되며, 그 이외의 다른 사용자에게는 영향을 미치지 않습니다.
3 Check environment variables
만약 ROS 2를 사용하다가 패키지를 사용하거나 찾는데 문제가 생긴다면,
환경을 확인하는 것이 좋습니다.
ROS 2 환경을 확인하는 방법은 다음과 같습니다.
$ printenv | grep -i ROS
위 명령을 통해 ROS_VERSION이나 ROS_DISTRO와 같은 변수를 확인할 수 있습니다.
ROS_VERSION=2
ROS_PYTHON_VERSION=3
ROS_DISTRO=dashing