Ubuntu 18.04에서 ROS Melodic 설치 및 기본 동작 확인

대상: Ubuntu 18.04(Bionic) 환경에서 ROS Melodic을 처음 설치하고, roscore / turtlesim 정도까지 실행해 보고 싶은 개발자
환경: Ubuntu 18.04 Desktop 또는 Server, sudo 권한, 기본적인 터미널 사용 가능

ROS Melodic은 Ubuntu 18.04를 위한 대표적인 ROS1 배포판이다.
이미 우분투 기반 C++/Python 개발환경을 쓰고 있다면, Melodic을 설치해두면

  • 카메라/센서 테스트용 노드
  • ROS 통신 구조(토픽, 서비스, 파라미터 서버) 연습
  • 나중에 ROS2로 넘어가기 전 “ROS 감각” 익히기

에 매우 유용하다.

이 글에서는 Ubuntu 18.04 + ROS Melodic 기준으로

  1. 패키지 저장소/키 설정
  2. ROS Melodic 설치 (desktop-full 기준)
  3. 환경 변수 설정 (~/.bashrc)
  4. roscore, rviz, turtlesim으로 설치 확인
  5. Notion/공부 로그에 어떻게 정리하면 좋은지

까지 한 번에 정리한다.


1. 사전 확인 – Ubuntu 버전과 네트워크

먼저 우분투 버전이 18.04(Bionic)인지 확인하자.

lsb_release -a

대략 이런 출력이면 된다.

Distributor ID: Ubuntu
Description:    Ubuntu 18.04.6 LTS
Release:        18.04
Codename:       bionic

그리고 당연히 인터넷 연결이 되어 있어야 한다.
이제부터는 대부분 sudo를 쓰는 명령이라, 계정이 sudo 권한이 있어야 한다.


2. ROS1 패키지 저장소 추가 및 키 등록

ROS 패키지는 기본 우분투 저장소에 없고, ROS 공식 저장소를 추가해야 한다.

2-1. 필요한 도구 설치

먼저 curl, gnupg2, lsb-release 등이 없을 경우를 대비해 설치해 두자.

sudo apt update
sudo apt install -y curl gnupg2 lsb-release

2-2. ROS 패키지 저장소 추가

아래 명령으로 ROS1용 APT 저장소를 추가한다.

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros1-latest.list'

$(lsb_release -sc) 부분은 Ubuntu codename(bionic)으로 자동 치환된다.

2-3. GPG 키 등록

APT가 ROS 저장소 패키지를 신뢰할 수 있도록 GPG 키를 추가한다.

curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

참고: apt-key는 최근 우분투 버전에서는 폐지 방향이지만,
Ubuntu 18.04 + ROS Melodic 조합에서는 여전히 많이 쓰이는 방식이다.

키를 추가했으면 패키지 목록을 업데이트한다.

sudo apt update

3. ROS Melodic 설치 (desktop-full 기준)

ROS에는 여러 설치 옵션이 있는데, 개발/테스트에는 보통 desktop-full을 많이 쓴다.

sudo apt install -y ros-melodic-desktop-full

설치 시간은 네트워크/PC 속도에 따라 꽤 걸릴 수 있다.
설치가 끝나면 ROS 기본 도구와 예제 패키지들이 같이 들어간다.


4. rosdep 초기화 및 필수 도구 설치

이제 rosdep과 빌드 도구 등을 준비하자.

sudo rosdep init
rosdep update

만약 rosdep init에서 권한 관련 경고가 나온다면,
sudo rosdep init 명령이 제대로 수행되었는지 다시 확인해 보자.

추가로, catkin 빌드 환경 등을 위해 아래 패키지들도 깔아두는 걸 추천한다.

sudo apt install -y python-rosinstall python-rosinstall-generator python-wstool build-essential

5. 환경 변수 설정 – 매번 source 안 해도 되게 만들기

ROS를 사용할 때는 매번 터미널에서 setup.bash를 읽어와야 한다.
매번 입력하는 대신, ~/.bashrc에 한 줄 추가해두는 편이 편하다.

5-1. 한 번만 터미널에서 실행

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

이제 새로운 터미널을 열 때마다 자동으로 ROS 환경 변수가 잡힌다.

현재 터미널에도 바로 적용하려면:

source ~/.bashrc

를 한번 실행해주면 된다.


6. 설치 확인 1 – roscore 실행

가장 기본적인 테스트는 roscore가 정상적으로 올라가는지 보는 것이다.

roscore

정상이라면 새로운 터미널 창이 열릴 필요 없이, 현재 터미널에
ROS master, parameter server 등의 로그가 뜨면서 대기 상태가 된다.

이 상태에서 Ctrl + C를 누르면 roscore가 종료된다.


7. 설치 확인 2 – turtlesim + 키보드 조작

조금 더 재미있는 테스트로, turtlesim 예제를 실행해 보자.

7-1. 첫 번째 터미널 – roscore

먼저 한 터미널에서 roscore를 켜둔다.

roscore

7-2. 두 번째 터미널 – turtlesim_node

새 터미널을 열고(또는 탭 하나 추가) 아래 명령을 실행한다.

rosrun turtlesim turtlesim_node

파란 배경에 거북이 한 마리가 그려진 작은 GUI 창이 뜨면 정상이다.

7-3. 세 번째 터미널 – 키보드 조작

또 다른 터미널을 하나 더 열어서 아래 명령 실행:

rosrun turtlesim turtle_teleop_key

이제 이 터미널에서 방향키(↑↓←→)를 누르면,
turtlesim 창 속 거북이가 움직이는 것을 볼 수 있다.

여기까지 잘 된다면:

  • ROS master(roscore)
  • 노드 실행(rosrun)
  • 토픽 통신

이 기본적인 ROS 구조가 정상적으로 동작하고 있다고 볼 수 있다.


8. 설치 확인 3 – rviz 실행

마지막으로 시각화 도구 rviz도 뜨는지 확인해 보자.
roscore가 켜진 상태에서:

rviz

rviz GUI가 뜨고, Fixed Frame 설정 등 기본 화면이 보이면 정상이다.

댓글 남기기