[ROS] Ubuntu 18.04 LTS에 ROS Melodic 설치하기 #2

    이전 포스팅에서 ROS Melodic을 설치해 보았습니다.

    2021/01/08 - [ROS/ROS 아장아장] - [ROS] Ubuntu 18.04 LTS에 ROS Melodic 설치하기 #1

     

    [ROS] Ubuntu 18.04 LTS에 ROS Melodic 설치하기 #1

    Ubuntu 18.04 LTS를 설치했다는 가정 하에 시작합니다. ROS 공식 홈페이지에 기재된 내용을 준수하여 진행하였습니다. 제가 처음 설치했던 ROS이기도 하고, 초심자의 마음으로 적어두었던 것들을 포스

    conceptbug.tistory.com

    바로 사용할 수 있다면 좋겠지만, 추가적으로 ROS 환경 설정을 해야 합니다.


    <목차>

    1. ROS 작업 공간 만들기
    2. ROS 환경 설정 추가하기
    3. 마무리

    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쉘은 실행될 때 아래 순서대로 환경 설정 파일들을 불러와 쉘을 구성합니다.

    1. /etc/profile
    2. ~/.bash_profile 혹은 ~/.bash_login 혹은 ~/.profile
    3. ~/.bashrc
    4. /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을 작성할 것이므로 해당 포스팅에는 적지 않겠습니다.

     

     

    댓글

    Designed by JB FACTORY