Reference: https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html
Set locale
ROS2는 다국어 지원을 위해 UTF-8 인코딩을 사용합니다. 로케일(locale)이 UTF-8을 지원하지 않을 경우, ROS2를 사용하는 동안 문자열 처리 오류가 발생할 수 있습니다.
따라서 ROS2 설치 시, locale이 UTF-8을 지원하는지 확인해야 합니다. 만약 Docker 컨테이너와 같이 최소한의 환경에서 설치하는 경우, locale이 POSIX와 같이 최소한의 것으로 설정되어 있을 수 있습니다. 이 경우, ROS2를 설치하지 전에 locale을 변경해 주는 것이 좋습니다.
locale을 변경하기 위해서 locale-gen 명령어를 사용합니다.
아래와 같이, 현재 locale을 체크하고 en_US.UTF-8 로케일로 변경 후 확인합니다.
locale # check for UTF-8
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
locale # verify settings
Setup Sources
ROS2를 설치하기 위한 준비단계입니다.
1. ROS2 foxy를 설치하려면 "software-properties-common" 패키지와 "universe" repository를 설치해야합니다.
- software-properties-common는 apt 패키지 관리자를 사용해서 리포지토리를 추가하는데 필요합니다.
- 'universe' 리포지토리는 ROS2 패키지의 일부이며, ROS2를 설치하려면 이 리포지토리가 활성화되어 있어야 합니다.
sudo apt install software-properties-common
sudo add-apt-repository universe
2. ROS2 GPG key
ROS2 패키지를 설치할 때, apt 패키지 관리자가 신뢰성있는 패키지인지 확인하기 위해 GPG(GNU Privacy Guard) 서명을 사용합니다. ROS2의 GPG key를 받아와서 apt 패키지 관리자가 ROS2 패키지를 올바르게 인증하도록 하려면 다음 명령을 사용합니다.
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
3. apt 패키지 관리자에 ROS2 패키지 등록
사용하는 Ubuntu 버전에 맞춰 'ros-archive-keyring.gpg'를 사용해서 ROS2 패키지를 서명하고 있는 ROS2 공식 GPG key를 사용해서 패키지를 인증하는 것을 나타냅니다.
이 명령어를 실행하면 /etc/apt/sources.list.d/ros2.list 파일에 ROS 2 패키지를 설치할 수 있는 apt 패키지 관리자의 저장소 정보가 추가됩니다.
이후에 apt update 명령어를 실행하여 apt 패키지 관리자가 새로 추가된 저장소 정보를 가져와서 패키지 목록을 업데이트할 수 있습니다. 그런 다음 apt install 명령어를 사용하여 필요한 ROS 2 패키지를 설치할 수 있습니다.
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
ROS2 패키지 설치
ROS2 패키지를 apt 패키지 관리자에 등록했으니, 아래의 명령어를 실행해 패키지 목록을 최신 상태로 업데이트합니다.
sudo apt update
ROS 2 패키지는 자주 업데이트되는 Ubuntu 시스템에서 빌드됩니다. 따라서 새로운 패키지를 설치하기 전에 항상 시스템이 최신 상태인지 확인하는 것이 좋습니다. 왜냐하면 ROS 2 패키지가 의존하는 라이브러리와 패키지들이 업데이트되었을 때 시스템에서 충돌을 방지하고 패키지를 원활하게 설치하고 실행하는 데 도움이 되기 때문입니다.
따라서, ROS 2를 설치하기 전에 아래의 명령어를 사용하여 시스템을 최신 상태로 업데이트하고 필요한 패키지들을 업그레이드하는 것이 좋습니다
sudo apt upgrade
아래의 두 버전 중 개발자에게 용이한 방법을 선택합니다.
1. Desktop Install (Recommanded): ROS, RViz, demos, tutorials.
Desktop Install은 ROS를 시작하는 데 가장 추천되는 설치 방법 중 하나입니다. 이 설치 방법은 ROS 2에서 필요로 하는 모든 핵심 패키지를 설치하며, ROS, RViz, 데모 및 튜토리얼 등을 포함합니다. 또한, ROS의 핵심 기능을 소개하는 다양한 데모 및 튜토리얼도 함께 제공되므로, ROS를 처음 사용하는 사용자들도 쉽게 배울 수 있습니다.
sudo apt install ros-foxy-desktop python3-argcomplete
2. ROS-Base Install (Bare Bones): Communication libraries, message packages, command line tools. No GUI tools.
ROS-Base Install은 ROS에서 가장 필수적인 부분만을 설치하는 가장 간소화된 설치 방법입니다. 이 설치 방법은 ROS 2에서 필요한 핵심 통신 라이브러리, 메시지 패키지, 명령 줄 도구 등만을 포함하지, GUI 도구는 제공하지 않습니다. 이 설치 방법은 컴퓨팅 리소스가 제한된 환경에서 ROS를 실행해야 할 때 유용합니다.
sudo apt install ros-foxy-ros-base python3-argcomplete
Development tools: Compilers and other tools to build ROS packages
ROS 패키지를 개발하기 위해 필요한 컴파일러 및 다른 도구들을 설치하는 방법입니다. 이 설치 방법은 ROS 2에서 패키지를 개발하고 빌드하기 위한 필수 도구들을 제공합니다. Development tools 설치는 C++ 컴파일러, Python 개발 도구, CMake 빌드 시스템, colcon 빌드 도구 등 ROS 패키지를 빌드하기 위해 필요한 도구들을 설치합니다. 이 설치 방법은 ROS 패키지 개발에 필요한 모든 도구들을 제공하므로, ROS 패키지를 개발하려는 경우에는 반드시 설치해야 합니다.
sudo apt install ros-dev-tools
Environment setup
Sourcing the setup script
ROS에서는 작업 환경을 구성하는 데 사용되는 설정 파일이 있습니다. 이러한 파일에는 ROS 라이브러리와 도구를 사용할 수 있도록 PATH, LD_LIBRARY_PATH 및 ROS_PACKAGE_PATH 등의 환경 변수를 설정하는 내용이 포함되어 있습니다. 따라서 ROS를 사용하려면 이러한 설정 파일을 로드하여 환경 변수를 설정해야 합니다.
# Replace ".bash" with your shell if you're not using bash
# Possible values are: setup.bash, setup.sh, setup.zsh
# source /opt/ros/<distro>/setup.bash
source /opt/ros/foxy/setup.bash
<distro>는 ROS 배포판 이름(예: foxy)을 의미합니다. 이 명령어를 실행하면 ROS 환경을 설정하고 ROS 라이브러리와 도구를 사용할 수 있게 됩니다
Try some examples
터미널을 하나 열어서, setup file을 source 하고 "talker"라는 C++ 파일을 run 한다.
source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_cpp talker
또 다른 터미널을 열어서, setup file을 source 한 다음 python 파일을 run 한다.
.
source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_py listener
"talker"를 실행했을 때 출력되는 publishing 메시지가 "listener"에서 똑같이 나오고 있는 것을 확인할 수 있으면 설치 성공이다.
Uninstall
만약 설치한 ROS2를 uninstall 하고 싶다면, 아래의 명령어를 사용하세요.
sudo apt remove ~nros-foxy-* && sudo apt autoremove
리포지토리 또한 제거하고 싶다면 아래의 명령어를 실행하세요.
sudo rm /etc/apt/sources.list.d/ros2.list
sudo apt update
sudo apt autoremove
# Consider upgrading for packages previously shadowed.
sudo apt upgrade
이제 ROS2를 가지고 재미있게 로봇을 만들어 봅시다!!!
'Robotics > ROS2' 카테고리의 다른 글
ROS2 Creating a package 1 [ROS2 패키지 만들기 1] (0) | 2023.04.24 |
---|---|
ROS2 Creating a workspace [workspace 만들기] (0) | 2023.04.23 |
ROS2 환경설정 (0) | 2022.04.24 |
ROS2 Debian package 설치 (0) | 2022.04.09 |
ROS 설치 (0) | 2020.05.31 |