일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- sam2
- 정처기
- 회전 복잡도
- homogenous
- 컴퓨터구조
- humble
- 정렬
- homogeinous
- MIPS
- Coding
- 기구학
- 합병
- segmentation
- robotics
- 알고리즘
- sort
- SQL
- 정보처리기사
- Java
- CentOS
- 명령어
- ROS2
- 소스 코드 품질 분석
- 맥케이브
- 리눅스
- 3dof
- Linux
- AI
- Computer
- 네트워크 충돌
- Today
- Total
UTF-404
ROS2-humble 설치 및 삭제 본문
벌써 입사한 지 반년이 넘었다. 이제 다시 한번 더 ROS2의 개념을 좀 더 확실하게 다 잡자는 마음에 이렇게 ROS2-humble에 대해 작성하게 되었다. 처음에는 이게 뭐지..라는 생각이었지만 하다 보니 이런 거구나 자연스럽게 조금씩 이해되는 느낌이었다.
다른 언어들 혹은 운영체제 (필자가 생각하기에는 ROS는 로봇 운영체제라는 말과 안 맞게 사실 미들웨어에 가깝다란 생각을 한다.)와 달리 생각보다 여러 집합체의 의미를 가지고 있는 것이 ROS라고 생각한다. 뭐 이리저리 말이 길었는데, ROS2를 어떻게 사용하는 것인지 설치는 어떻게 하고 어떤 기능들이 있는지에 대해 지금부터 알아보자.
참고 : https://docs.ros.org/en/humble/index.html
ROS 2 Documentation — ROS 2 Documentation: Humble documentation
You're reading the documentation for an older, but still supported, version of ROS 2. For information on the latest version, please have a look at Kilted. ROS 2 Documentation The Robot Operating System (ROS) is a set of software libraries and tools for bui
docs.ros.org
필요 사항 : Ubuntu 22.04
1. 설치 및 환경 설정
설치된 우분투에서 터미널로 들어가자.
먼저 Ubuntu Universe 저장소가 활성화되어야 한다.
sudo apt install software-properties-common
sudo add-apt-repository universe
다음으로 ros2-apt-source pkg
를 설치하는데 시스템에 ROS2 저장 장소가 구성된다. pkg 새 버전이 ROS 저장 장소에 출시되면 구성이 자동으로 업데이트된다.
sudo apt update && sudo apt install curl -y
export ROS_APT_SOURCE_VERSION=$(curl -s <https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest> | grep -F "tag_name" | awk -F\\" '{print $4}')
curl -L -o /tmp/ros2-apt-source.deb "<https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$>(. /etc/os-release && echo $VERSION_CODENAME)_all.deb" # If using Ubuntu derivates use $UBUNTU_CODENAME
sudo dpkg -i /tmp/ros2-apt-source.deb
완료 후 업데이트와 업그레이드를 해준다. 이유는 Ubuntu 시스템을 기반으로 하다 보니, 자주 업데이트 되는 OS 특성상 습관처럼 시스템이 최신 상태인지 확인하는 것이 좋다.
sudo apt update
sudo apt upgrade
다음으로는 ros-humble-desktop
과 ros-dev-tools
를 설치할 것이다.
각각 desktop은 실제로 ROS2를 활용하면서 필요한 Rviz, demon, tutorial 같은 것들이 포함되어 있고, tools는 말 그대로 개발 시 도와주는 도구들의 집합 정도로 생각하면 된다.
sudo apt install ros-humble-desktop
sudo apt install ros-dev-tools
잠시 위의 설치에서 멈춰서 생각해 보자. 그렇다면 이렇게 설치를 하면 “이제 완벽한 준비가 된 건가요?” 70% 정도는 정답이라고 하자. 왜냐하면 실제로 개발을 하다 보면 설치가 되지 않은 것들이 많다. 그렇다면 그때마다 sudo apt install 명령어 또는 다른 ros 명령어로 추가
해 주면 될 뿐이다.
이제 내가 직접 작업할 터미널 환경에 ros2-humble을 불러오자.
source /opt/ros/humble/setup.bash
당연한 소리겠지만 새로운 터미널 환경을 열 때마다 이 짓을 하고 싶지는 않다.
그래서 우리는 .bashrc
파일에 shell 시작 시 아래의 명령어를 추가할 수 있다. 실제로 잘 추가되었는지 확인하고 싶다면. bashrc 파일 제일 아래로 내려가면 추가된 것을 확인할 수 있다. 가끔 터미널 환경에 익숙하지 않은 분들이 많은데 이때는 :q!
쳐보자. i
를 누르면 삽입 모드가 되어 bashrc 파일에 실제 작성이 되어 놀랄 수도 있다. 그러니 당황하지 말고 esc
를 누르고 방금 말했던 :q!
를 눌러 탈출하자. 이 명령어는 내가 어떤 짓을 했던 무시하고 그냥 저장하지 않고 나간다. 정도로 생각하자. 물론 들어온 후에 했던 것을 무시하는 것이라 기존 파일은 안전하다.
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
vi .bashrc
2. 확인해 보기
간단한 테스트로 ros2-humble이 잘 설치되었는지 안되었는지 확인하는 방법을 알아보자. 방법은 간단하다. 터미널 창을 2개 준비하자.
- 1번 터미널에서 다음과 같은 명령어를 진행한다.
source /opt/ros/humble/setup.bash
ros2 run demo_nodes_cpp talker
2.2번 터미널에서 다음과 같은 명령어를 진행한다.
source /opt/ros/humble/setup.bash
ros2 run demo_nodes_py listener
3. 삭제
만약 설치가 잘 되지 않았거나, 사용하지 않을 경우 제거하는 방법도 알아야 하는데 다음과 같다.
실제로 필자는 처음 ROS2를 사용할 때 제대로 설치가 되지 않아 한번 시원하게 날려버리고 다시 설치를 한 경우가 있다. 대부분 그냥 삭제 후 재설치를 하는 게 가장 마음이 편하기도 하고 빠르기도 한 편이라고 생각하기 때문이다.
똑같이 터미널로 다시 들어가서 아래의 명령을 실행하자.
sudo apt remove ~nros-humble-* && sudo apt autoremove
저장 장소를 제거할 수도 있는데 아래의 명령을 실행하면 된다.
sudo apt remove ros2-apt-source
sudo apt update
sudo apt autoremove
sudo apt upgrade # Consider upgrading for packages previously shadowed.
지금까지 간단하게 ROS-humble
설치 및 삭제 방법에 대해 알아보았다.
마치면서 ROS2가 생소하기에 필자의 생각을 얘기로 마무리하려 한다.
여러 해외 유명 회사는 AI와 vision, Robot과 관련되어 엄청난 붐이 일어나고 있다.
이와 관련해 가장 기초적으로 알아야할 것이 코딩(Python, C++ 등...)과 ROS2 등이다. 필자도 아직까지는 잘 모르는 분야라 열심히 배우고 있지만 배워두면 앞으로의 개발 시장에서의 도움이 될 것이라고 확신한다.
다음에는 환경 변수 설정과 확인 방법에 대해 알아보자~!!
'ROS2(humble)' 카테고리의 다른 글
ROS2 turtlesim & rqt 알아보기 (1) | 2025.07.02 |
---|---|
ROS2-humble 환경 구성 (1) | 2025.07.01 |
PUMA-3DOF Robot System(ROS2 + Web) (0) | 2025.04.11 |
🐢 Tf2와 URDF에 대해 알아보기!! (1) | 2025.02.16 |
🐢 ROS2(humble) 노드와 노드 간 통식 방식 (4) | 2025.01.18 |