로봇 동작에 널리 사용되는 OS로, 현재 활발히 사용되고 코드들이 공유되고 있다.
다양한 ROS 버전 중에서 Melodic 버전을 설치해 보도록 하자.
사용버전. 노트북
˙ samsung Ultrabook i7
˙ Ubuntu 18.04.6 LTS
˙ Ros Melodic
단계
1. 저장소 등록
2. 인증키 다운
3. ROS Melodic 설치
4. 의존성 빌드 패키지 다운
5. ROS 환경설정
1. 저장소 등록
$ sudo apt update
$ sudo apt upgrade
먼저 y를 눌러 upgrade를 진행한다.
사진의 경우처럼 Use 'sudo apt autoremove' to remove them. 문구가 있는경우 아래의 명령어를 실행한다.
$ sudo apt autoremove
이후 http://packages.ros.org 에 접근할 수 있도록 source.list.d에 저장소를 추가한다. 저장소는 보통 Repository 라고 한다.
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
catkin_init_workspace
다른위치 -> 컴퓨터 -> etc -> apt -> source.list.d 에 ros-latest.list 가 생성됨을 확인할 수 있다.
또는
$ cat '/etc/apt/sources.list.d/ros-latest.list'
를 입력할 경우 deb http://packages.ros.org/ros/ubuntu bionic main 가 출력되면 성공적으로 완료한 것이다.
2. 인증키 다운
위에서 출력된 페이지의 저장소에서 패키지를 다운받기 위해서는 인증키가 필요하고, 아래 명령어를 통해 인증키를 받아온다.
$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
아래의 메세지가 출력되면 인증키를 받아오는 데 성공한 것이다.
gpg: Total number processed: 1
gpg: imported:1
3. ROS Melodic 설치
정말 기본만 설치하는 Desktop ver.과 Full ver.이 있어 원하는 버전을 설치하면 된다.
Full ver.의 경우 Rviz, Gazebo 와 같은 ROS 도구들을 같이 설치해 준다.
Window 설치 시 Window만 다운받을건지 Powerpoint, Excel 등을 같이 설치할것인지 차이라고 생각하면 된다.
$ sudo apt install ros-melodic-desktop #Desktop ver.
$ sudo apt install ros-melodic-desktop-full #Full ver.
원하는 버전을 다운받은 후 아래의 명령어를 순서대로 입력해 준다.
$ sudo apt-get install python-pip
$ sudo pip install -U rosdep
$ sudo rosdep init
만약 아래와 같은 오류가 발생한다면 해당 파일을 지워준다.
$ sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
위 명령어를 통해 해당 파일을 지워주고, 다시 명령어를 실행시킨다.
정상적으로 rosdep update 라는 문구가 출력되면 아래와 같이 명령어를 입력해 준다.
$ rosdep update
$ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
이후 사용하는 편집기에 맞추어 명령어를 입력하여 입력이 제대로 되었는지 확인한다.
$ sudo gedit ~/.bashrc
$ source ~/.bashrc
위와같은 파일이 열리면 제대로 입력한 것이다.
gedit 편집기를 사용하였지만, 해당 자리에 nano, vim 등을 입력하여 본인이 사용하는 편집기를 통해 확인할 수 있다.
4. 의존성 빌드 패키지 다운
각각의 버전에 맞게 명령어를 입력해 준다.
$ sudo apt-get install cmake python-catkin-pkg python-empy python-nose python-setuptools libgtest-dev python-rosinstall build-essential git python-rosinstall-generator python-wstool #Desktop ver.
$ sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool #Full ver.
이후 아래의 명령어들을 순서대로 입력해 준다.
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
$ cd ..
$ catkin_make
catkin_init_workspace 명령어를 입력했을 때 오류가 발생할 수도 있다.
위의 상황에서는 아래의 명령어를 입력해 오류를 해결한다.
$ sudo apt install catkin
하지만 이 경우에도 의존성 오류가 발생할 수 있다.
아래와 같이 차례로 명령어를 입력하여 해결한다.
# 1st solution
$ sudo apt-get install -f catkin
# 2nd solution
$ sudo apt-get install aptitude
$ sudo aptitude install catkin
$ sudo apt-get install -f catkin
아래와 같은 오류가 발생한 경우 명령어를 입력하여 파일을 열어준다.
$ gedit $HOME/.bashrc
이후 파일의 맨 아래 부분에서 source /opt/ros/melodic/setup.bash 부분을 지워주고 저장한다.
$ source ~/.bashrc
저장한 다음 위 명령어를 입력해 준다.
이후 make가 완료되면 아래와 같은 출력화면이 나타난다.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/catkin_ws/build
위와같이 home -> catkin_ws 폴더에 생성됨을 확인할 수 있다.
아래 명령어를 입력하여 업데이트 해준다.
$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
5. ROS 환경설정
make를 자주하게되면 명령어가 길 경우 불편하고 작업능률도 떨어지므로, 단축 명령어를 지정해 준다.
명령어를 통해 bash 파일을 열어주고 맨 마지막 부분에 아래의 명령어를 입력해 준다.
$ sudo gedit ~/.bashrc
# SET ROS MELODIC
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
# SET ROS NETWORK
export ROS_HOSTNAME=192.168.0.134 #=의 경우 띄우지 않는다. 본인의 IP를 입력한다.
export ROS_MASTER_URI=http://${ROS_HOSTNAME}:11311 #=의 경우 띄우지 않는다.
#SET ROS alias command
alias cw='cd ~/catkin_ws'
alias cs='cd ~/catkin_ws/src'
alias cm='cd ~/catkin_ws && catkin_make'
HOSTNAME의 ip주소는 ifconfig 명령어를 통해 알 수 있다.
Ctrl + s 를 통해 저장해 준다.
이후 source ~/.bashrc를 통해 설정을 변경하고 cm을 입력하면, make가 됨을 확인할 수 있다.
source ~/.bashrc에서 오류가 발생하면, source /opt/ros/melodic/setpup.bash부분을 다시 지워준다.
'한이음 > GPS 좌표 트래킹을 통한 자율주행 로봇' 카테고리의 다른 글
ROS package 생성 (2) | 2022.02.01 |
---|---|
Chrome 다운 (0) | 2022.01.19 |
Arduino 설치 (0) | 2022.01.19 |
Slack 설치 (0) | 2022.01.19 |
Ubuntu 설치 (1) | 2021.12.31 |