Skip to content

ROS 1 설치 ​

본 문서는 Ubuntu 18.04에 ROS 1 Melodic을 설치하는 전체 단계와 자주 발생하는 오류 처리 방법을 설명합니다.

1. 소프트웨어 소스 구성 ​

Ubuntu 기본 소프트웨어 소스의 속도가 느리므로, 국내 미러(Aliyun을 예시로)로 교체하는 것을 권장합니다.

원본 sources.list 백업 ​

bash
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup

Aliyun 미러 소스로 교체 ​

bash
sudo gedit /etc/apt/sources.list

파일 맨 앞에 추가합니다:

bash
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

소프트웨어 목록 새로 고침 ​

bash
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential

2. ROS 소프트웨어 소스 추가 ​

공식 소스 ​

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

칭화(Tsinghua) 미러 (국내 사용 권장) ​

bash
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

3. 키 추가 ​

bash
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

4. ROS 설치 ​

bash
sudo apt update
sudo apt install ros-melodic-desktop-full

5. rosdep 설치 및 초기화 ​

bash
sudo apt update
sudo apt install python-rosdep
sudo rosdep init
rosdep update

순조롭게 진행되면, rosdep 초기화 및 업데이트 결과는 다음과 같습니다:

rosdep init 성공 출력, 20-default.list 기록 및 rosdep update 실행 권장

rosdep update 성공, 소스 목록 읽기, yaml 다운로드, ROS 배포 추가 표시

rosdep 초기화 실패 해결 ​

초기화가 실패하면 (GitHub 서버 접근 제한 때문), 먼저 모바일 핫스팟에 연결하여 rosdep init을 시도해 봅니다. 그래도 안 되면 아래 단계에 따라 수정합니다.

sources_list.py 수정 ​

bash
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

download_rosdep_data 함수에서 url = "https://raw.githubusercontent.com/..."을 url = "https://ghproxy.com/" + url로 변경합니다.

rosdistro/init.py 수정 ​

bash
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py

DEFAULT_INDEX_URL(72번째 줄)을 찾아 다음으로 변경합니다:

python
DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'

gbpdistro_support.py 수정 ​

bash
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py

download_rosdep_data 함수 시작 부분 (36번째 줄 근처)에 다음을 추가합니다:

python
gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url

rep3.py 수정 ​

bash
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py

약 39번째 줄에 프록시 접두사를 추가합니다.

manifest_provider/github.py 수정 ​

bash
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py

약 68번째 줄과 119번째 줄에 프록시 접두사를 추가합니다.

DNS 문제 처리 ​

여전히 오류가 해결되지 않으면 DNS 수정을 시도해 봅니다:

bash
sudo gedit /etc/resolv.conf

기존의 nameserver 줄을 주석 처리하고 다음을 추가합니다:

bash
nameserver 8.8.8.8
nameserver 8.8.4.4

저장하고 종료한 후 다음을 실행합니다:

bash
sudo apt-get update

다음을 실행합니다:

bash
sudo rosdep init

만약 default sources list file already exists 오류가 표시되면, 먼저 기존 파일을 삭제합니다:

bash
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list

그런 다음 sudo rosdep init을 다시 실행합니다.

6. 환경 변수 설정 ​

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

7. ROS 기능 패키지 설치 ​

bash
sudo apt-get install ros-melodic-moveit
sudo apt-get install ros-melodic-joint-state-publisher
sudo apt-get install ros-melodic-robot-state-publisher
sudo apt install ros-melodic-gazebo-ros-pkgs
sudo apt-get install ros-melodic-gazebo-ros-control
sudo apt-get install ros-melodic-joint-trajectory-controller
sudo apt-get install ros-melodic-industrial-core

8. 테스트 ​

ROS에는 몇 가지 작은 프로그램이 내장되어 있으며, 이 프로그램을 실행하여 ROS 환경이 정상적으로 작동하는지 확인할 수 있습니다.

roscore 실행 ​

bash
roscore

작은 거북이 시뮬레이터 실행 ​

다른 터미널을 엽니다:

bash
rosrun turtlesim turtlesim_node

키보드 제어 실행 ​

또 다른 터미널을 엽니다:

bash
rosrun turtlesim turtle_teleop_key

커서를 이 터미널에 두고, ↑, ↓, ←, → 키를 사용하여 작은 거북이를 제어합니다:

TurtleSim 시뮬레이터 창에 갈색 작은 거북이와 지나간 흰색 궤적 표시

🤖 AI assistants / automation: start with the Agent Development Guide and Pre-generation Checklist (Chinese); machine-readable entry: /llms.txt; plain-text version: swap .html for .md in the URL