[ROS] Ubuntu 18.04 LTS에 ROS Melodic 설치하기 #2
- 취미/ROS
- 2021. 1. 10.
이전 포스팅에서 ROS Melodic을 설치해 보았습니다.
2021/01/08 - [ROS/ROS 아장아장] - [ROS] Ubuntu 18.04 LTS에 ROS Melodic 설치하기 #1
바로 사용할 수 있다면 좋겠지만, 추가적으로 ROS 환경 설정을 해야 합니다.
<목차>
- ROS 작업 공간 만들기
- ROS 환경 설정 추가하기
- 마무리
1. ROS 작업 공간 만들기
작업 공간은 말 그대로 'workspace'라고 합니다.
아마 영어로 된 튜토리얼에서는 'Creating catkin workspace' 이런식으로 되어있을 것입니다.
제가 학습한 방법대로 진행하겠습니다.
먼저 터미널 창을 열고 다음을 입력합니다.
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
mkdir
명령어는 make directory의 줄임말로, 디렉토리(폴더)를 만드는 명령어 입니다.
사용된 옵션 -p
는 parent의 약자로 부모 디렉토리가 없다면 생성하겠다는 옵션입니다.
실질적으로는 "나는catkin_ws
폴더 안에 /src
폴더를 만들거야."라고 명령을 내린 것이므로 아직catkin_ws
는 존재하지 않습니다.-p
옵션을 사용하므로써 /src
디렉토리의 부모 디렉토리인 catkin_ws
가 없어도 생성할 수 있게된 것입니다.
cd
명령어는 change directory의 줄임말로, 현재 쉘의 디렉토리를 이동할때 사용합니다.
쉽게 말하자면, 윈도우의 탐색기에서 폴더 아이콘을 더블클릭하여 해당 폴더를 열어보는 작업입니다.
catkin_make
명령어가 바로 ROS 작업 공간을 만드는 명령어 입니다.
아마 본인의 홈 디렉토리, 즉 /home
에 위와 같이 catkin_ws 폴더가 생긴것을 볼 수 있을것입니다.
- build : 빌드 관련 파일 저장
- devel : 빌드 후 실행 관련 파일 저장
- src : 사용자가 생성한 디렉토리로 source code를 저장
마지막으로 catkin 빌드 시스템과 관련된 환경 설정 파일을 불러옵니다.
source devel/setup.bash
2. ROS 환경 설정 추가하기
이전에 분명 아래 명령어를 통해 ROS 환경 설정을 했습니다.
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
이는 /
디렉토리의 .bashrc
파일에 source /opt/ros/melodic/setup.bash
라는 문장을 집어넣은 작업입니다.
실제로 해당 파일을 열어보면 맨 밑줄에 추가된 것을 볼 수 있습니다.
(파일이 보이지 않는다면, ctrl+h 를 입력하여 숨김 파일을 볼 수 있습니다)
왜 이 작업을 수행했을까요?
고작 한줄 적어놓고 왜 이 작업을 "ROS 환경 설정을 했다." 라고 말하는 걸까요?
컴퓨터, 스마트폰을 보면 설정 기능이 있습니다.
내가 원하는 대로, 혹은 어쩔 수 없이 선택하야 하는 설정들이 있습니다.
화면이 어두워서 안보이면 화면 밝기를 높이고, wifi 연결 상태가 좋지 않다면 wifi를 끄고 데이터를 사용합니다.
이렇게 일부 설정들은 내가 설정값을 변경하는 즉시 시스템에 반영됩니다.
하지만 간혹가다가 특정 어플, 혹은 대부분 게임에서 "해당 변경 사항은 앱(혹은 게임)을 재실행한 후 적용됩니다"라는 문구를 본 적 있을겁니다.
이 말은 재실행할 때 변경된 설정 사항을 참고하여 그때서야 시스템에 적용하겠다는 말 입니다.
앞서 Ubuntu Linux는 bash쉘을 사용한다고 했습니다.
bash쉘은 실행될 때 아래 순서대로 환경 설정 파일들을 불러와 쉘을 구성합니다.
- /etc/profile
- ~/.bash_profile 혹은 ~/.bash_login 혹은 ~/.profile
- ~/.bashrc
- /etc/bashrc
우리는 위 3번의 파일에 설정 내용을 추가한 것입니다.
이러한 원리로 ROS 환경 설정을 위해 추가해야 할 작업이 있습니다..bashrc
파일을 열어 맨 아래줄에 다음과 같이 적어주고 저장합니다.
#Set ROS MELODIC path
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
#Set ROS Network
export ROS_HOSTNAME=localhost
export ROS_MASTER_URI=http://localhost:11311
#Set custom alias command
alias cw='cd ~/catkin_ws'
alias cs='cd ~/catkin_ws/src'
alias cm='cd ~/catkin_ws && catkin_make'
(겹치는 부분은 한 줄만 작성해도 됩니다)
총 3 부분으로 볼 수 있습니다
- Set ROS MELODIC path : Linux 환경 설정 파일은 수정 후 바로 적용되지 않습니다. 환경 설정 파일을 수정했다면 쉘에 다시 로그인(터미널 닫았다 열기)하거나 해당 파일을
source
명령어로 불러와야 해당 쉘에 적용됩니다. - Set ROS Network : ROS 통신 관련 설정란 입니다. 특별한 일이 없다면 모두
localhost
로 설정합니다. - Set custom alias command :
alias
명령어를 사용하여 쉘에서 사용할 일명 '단축키'를 만들 수 있습니다. 예를 들어 터미널에서 'cw'를 입력하면 위의 내용대로cd ~/catkin_ws
가 실행되어 해당 디렉토리로 이동하게 됩니다.
이렇게 하면 기본적인 ROS 환경 설정은 끝납니다.
마지막으로 확인을 해보려고 합니다.
아래와 같이 입력해 봅니다.
export | grep ROS
이렇게 해당 bash 쉘에 적용된 ROS 관련 환경 변수들을 조회해볼 수 있습니다.
3. 마무리
저도 처음이라 잘 모르고 무작정 따라하며 설치했던 기억이 있습니다.
잘 모르니 지웠다 다시 설치하고 또 설치하고 100번은 넘게 설치한 것 같습니다.
에러가 발생하지 않아도 "내가 과연 올바르게 설치한 것인가?"라는 의문을 가지게 되더군요.
그래서 중간 중간 체크하는 의미로 테스트를 해보는 습관이 생겼습니다.
이 포스팅에도 그 테스트 방법을 적을까 생각했지만, 너무 길어질 것 같고 어차피 ROS Tutorial을 작성할 것이므로 해당 포스팅에는 적지 않겠습니다.
'취미 > ROS' 카테고리의 다른 글
[ROS 튜토리얼] 1.1.3 패키지 생성하기 (0) | 2021.03.22 |
---|---|
[ROS 튜토리얼] 1.1.2 ROS 파일 시스템 활용 방법 (0) | 2021.03.16 |
[ROS 튜토리얼] 1.1.1 ROS 설치 및 환경 구축 (0) | 2021.03.14 |
[ROS] Intel - RealSense 'd435' depth camera (5) | 2021.01.30 |
[ROS] Ubuntu 18.04 LTS에 ROS Melodic 설치하기 #1 (0) | 2021.01.08 |