ROS/ROS2 설치 가이드: 당신의 개발 환경을 구축하는 첫걸음
페이지 정보

본문
ROS/ROS2 설치 가이드: 당신의 개발 환경을 구축하는 첫걸음
'ROS/ROS2 설치 가이드: 당신의 개발 환경을 구축하는 첫걸음'이라는 표현은 로봇 제작 지식 쌓기, 제어 시스템, 로봇 하드웨어, IoT 개발, 운영체제(ROS) 및 알고리즘 개발과 같은 로봇 기술 전반에 대한 깊은 이해와 관심을 가지신 여러분의 핵심적인 고민을 정확히 담고 있습니다. 로봇 개발의 세계에 발을 들여놓는 가장 중요하고 설레는 첫걸음은 바로 ROS(Robot Operating System) 또는 ROS2 개발 환경을 구축하는 것입니다. 이 강력한 오픈소스 프레임워크는 로봇의 두뇌가 될 펌웨어와 소프트웨어를 개발하고, 다양한 하드웨어와 소통하며, 복잡한 로봇 시스템을 효율적으로 통합할 수 있는 기반을 제공합니다.
올바른 개발 환경 설정은 로봇 프로젝트의 성공을 위한 필수적인 전제입니다. 잘못된 설치나 설정은 예상치 못한 오류를 유발하고 문제 해결에 많은 시간을 낭비하게 할 수 있습니다. 함께 ROS 또는 ROS2를 여러분의 시스템에 성공적으로 설치하고, 효과적인 로봇 개발 환경을 구축하기 위한 체계적인 가이드와 팁들을 자세히 알아보겠습니다!
로봇을 제작하고 알고리즘을 개발하며 제어 시스템을 구현할 때, 여러분은 방대한 양의 소프트웨어 작업을 수행하게 됩니다. 이때 ROS/ROS2는 다음과 같은 이유로 여러분의 개발 과정을 획기적으로 도와주는 핵심적인 도구가 됩니다.
1. 표준화된 개발 환경: ROS/ROS2는 로봇 소프트웨어 개발을 위한 표준화된 통신 방식, 라이브러리, 도구들을 제공하여 개발의 복잡성을 줄여줍니다.
2. 재사용 가능한 코드: 전 세계 개발자들이 만들어놓은 수많은 ROS 패키지를 활용하여 센서 드라이버, 내비게이션, 로봇 팔 제어 등 다양한 기능을 쉽게 구현할 수 있습니다.
3. 강력한 시뮬레이션: Gazebo와 같은 시뮬레이션 환경과 연동하여 실제 로봇 없이도 알고리즘을 테스트하고 디버깅할 수 있습니다.
4. 활발한 커뮤니티: 문제가 발생했을 때 커뮤니티의 도움을 받아 해결책을 찾기 용이합니다.
이러한 ROS/ROS2의 이점을 충분히 활용하기 위해서는 안정적이고 올바른 설치가 필수적입니다.
1. ROS/ROS2 설치 전 준비사항
ROS/ROS2는 주로 Ubuntu(우분투) Linux 운영체제에 최적화되어 있습니다. 따라서 Ubuntu가 설치된 환경에서 진행하는 것이 가장 안정적입니다.
운영체제:
ROS1 Noetic: Ubuntu 20.04 LTS (Long Term Support) 버전 권장
ROS2 Humble: Ubuntu 22.04 LTS 버전 권장 [5] [6]
ROS2 Foxy: Ubuntu 20.04 LTS 버전 권장 (Ubuntu 20.04 사용자이고 ROS2를 원한다면 Foxy) [2] [3]
하드웨어 사양: 최소 4GB RAM, 20GB 이상의 여유 저장 공간을 권장합니다. 시뮬레이션 등 고사양 작업을 위해서는 더 좋은 사양이 필요합니다.
인터넷 연결: 설치 중 필요한 패키지를 다운로드하기 위해 안정적인 인터넷 연결이 필요합니다.
2. ROS1 Noetic 설치 (Ubuntu 20.04 기준)
ROS1 Noetic은 Ubuntu 20.04 LTS 버전과 호환됩니다.
2.1. Locale 설정
터미널을 열고 다음 명령어를 입력하여 시스템 Locale을 UTF-8로 설정합니다.
bash
locale
sudo update-locale LANG=C.UTF-8 LC_ALL=C.UTF-8
2.2. ROS 저장소 추가
ROS 패키지를 다운로드할 수 있도록 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'
sudo apt install curl -y # curl이 없는 경우 설치
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt update
2.3. ROS Noetic 설치
데스크톱 풀(Desktop-Full) 버전을 설치하는 것이 일반적이며, 이는 ROS 핵심 패키지, GUI 툴, 로봇 시뮬레이터(Gazebo) 등을 포함합니다.
bash
sudo apt install ros-noetic-desktop-full -y
2.4. rosdep 초기화
ROS 패키지 의존성을 관리하는 rosdep를 초기화합니다.
bash
sudo rosdep init
rosdep update
2.5. 환경 설정
ROS 명령어를 어디서든 사용할 수 있도록 환경 변수를 설정합니다.
bash
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
만약 ROS 명령어를 사용할 때마다 source /opt/ros/noetic/setup.bash를 입력하기 귀찮다면, .bashrc 파일에 추가하는 것을 권장합니다.
2.6. ROS1 설치 확인
새 터미널을 열고 다음 명령어를 입력하여 ROS가 제대로 설치되었는지 확인합니다.
bash
roscore
새로운 터미널을 열고 다음 명령어를 입력하여 로봇 시뮬레이터를 실행해 봅니다.
bash
rosrun turtlesim turtlesim_node
거북이 시뮬레이터 창이 뜨고 roscore가 에러 없이 잘 실행되면 성공입니다.
3. ROS2 Humble/Foxy 설치 (Ubuntu 22.04 또는 20.04 기준)
ROS2는 Ubuntu 버전에 따라 호환되는 배포판(Distribution)이 다릅니다.
Ubuntu 22.04 LTS 사용자: ROS2 Humble 설치
Ubuntu 20.04 LTS 사용자: ROS2 Foxy 설치
3.1. Locale 설정 (선택 사항, ROS1 설치 시 이미 설정했을 수 있음)
bash
locale
sudo update-locale LANG=C.UTF-8 LC_ALL=C.UTF-8
3.2. ROS2 저장소 추가
bash
# 로컬 설정 및 ROS2 APT 저장소 활성화
sudo apt update && sudo apt install software-properties-common -y
sudo add-apt-repository universe -y
sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
Ubuntu 버전에 맞춰 다음 명령어 중 하나를 선택하여 실행합니다.
Humble (Ubuntu 22.04):
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
Foxy (Ubuntu 20.04):
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
bash
sudo apt update
3.3. ROS2 설치
데스크톱 버전은 ROS2 핵심 패키지, 빌드 툴, GUI 툴 등을 포함합니다.
Humble (Ubuntu 22.04):
sudo apt install ros-humble-desktop -y
Foxy (Ubuntu 20.04):
sudo apt install ros-foxy-desktop -y
3.4. 환경 설정
bash
# ROS2 환경 설정 (Ubuntu 버전에 맞춰 다음 명령어 중 하나를 선택하여 실행)
# Humble (Ubuntu 22.04)
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
# Foxy (Ubuntu 20.04)
# echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
# source ~/.bashrc
3.5. ROS2 설치 확인
새 터미널을 열고 다음 명령어를 입력하여 ROS2가 제대로 설치되었는지 확인합니다.
발행자 노드 실행:
ros2 run demo_nodes_cpp talker
구독자 노드 실행 (새 터미널에서):
ros2 run demo_nodes_py listener
발행자 노드에서 "Publishing: 'Hello World: X'" 메시지가 지속적으로 뜨고, 구독자 노드에서 동일한 메시지를 수신하는 것을 확인하면 ROS2 설치는 성공입니다.
4. ROS1과 ROS2 동시 사용 방법 (선택 사항)
만약 ROS1과 ROS2를 모두 사용해야 하는 경우, 두 환경을 .bashrc 파일에 동시에 source하지 않도록 주의해야 합니다. 한 번에 하나의 환경만 활성화해야 합니다.
방법 1: 필요한 ROS 환경만 수동으로 Source: .bashrc 파일에는 어떤 ROS 환경도 자동으로 source하지 않도록 설정하고, 터미널을 열 때마다 필요한 ROS 환경을 수동으로 source합니다.
source /opt/ros/noetic/setup.bash # ROS1 사용 시
# 또는
source /opt/ros/humble/setup.bash # ROS2 사용 시
방법 2: Alias 활용: .bashrc 파일에 다음과 같이 Alias(별칭)를 설정하여 쉽게 전환할 수 있습니다.
# ~/.bashrc 파일 하단에 추가
alias ros1='source /opt/ros/noetic/setup.bash'
alias ros2='source /opt/ros/humble/setup.bash'
이후 터미널에서 ros1 또는 ros2 명령어를 입력하여 원하는 ROS 환경을 활성화합니다.
5. 로봇 개발 환경 구축 (VS Code 등)
설치된 ROS/ROS2를 기반으로 코드를 개발하고 관리하기 위한 환경을 구축합니다.
Visual Studio Code (VS Code) 설치: 로봇 개발에 가장 널리 사용되는 IDE 중 하나인 VS Code를 설치합니다.
sudo apt install software-properties-common apt-transport-https wget -y
wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
sudo apt update
sudo apt install code -y
VS Code 확장 설치: VS Code 내에서 다음 확장을 설치하여 개발 편의성을 높입니다.
ROS: ROS 관련 파일 탐색, 코드 자동 완성 등.
C/C++: C++ 개발용 디버깅, 코드 완성 등.
Python: Python 개발용 디버깅, 린팅 등.
Dev Containers: Docker 컨테이너를 사용하여 개발 환경을 구축할 때 유용합니다.
Colcon (ROS2 빌드 도구) 설치: ROS2 패키지를 빌드하는 데 사용되는 colcon을 설치합니다. ROS2 설치 시 기본으로 포함될 수 있으나, 명시적으로 설치하면 좋습니다.
sudo apt install python3-colcon-common-extensions -y
Workspace (워크스페이스) 생성: ROS/ROS2 프로젝트를 관리할 워크스페이스를 생성합니다.
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
# 여기에 프로젝트 코드들을 Clone 또는 생성합니다.
이후 cd ~/ros2_ws 로 이동하여 colcon build 명령어로 패키지들을 빌드합니다.
ROS/ROS2의 성공적인 설치는 로봇 제작 지식 쌓기, 제어 시스템, 로봇 하드웨어, IoT 개발, 운영체제(ROS) 및 알고리즘 개발과 같은 로봇 기술 전반에 대한 깊은 이해와 관심을 가지신 여러분이 로봇 개발 여정을 시작하는 데 필수적인 첫걸음입니다. 이러한 설치 가이드와 개발 환경 구축 팁을 완벽하게 마스터하여 여러분의 로봇 개발 환경을 효율적으로 구축하고, 미래의 혁신적인 로봇 시스템을 개발하는 데 큰 기여를 할 것이라고 믿습니다!
- 이전글ROS 기본 개념: 노드, 토픽, 메시지로 로봇 시스템 이해하기 25.12.30
- 다음글ROS2, 차세대 로봇 개발을 위한 핵심 기술 파헤치기 25.12.30
댓글목록
등록된 댓글이 없습니다.
