우분투 서버에 ROS2 - foxy 설치하기

양동현·2022년 9월 10일
0

라즈베리파이

목록 보기
2/2
post-custom-banner

라즈베리파이에 설치한 Ubuntu Server에 ROS2-foxy를 설치하는 과정입니다.

먼저 Ubuntu Server는 20.04버전으로 설치한 후 ROS2를 설치합니다.

설치과정에 대한 더 자세한 정보는 ROS 2 Documentation을 참고해 주세요

ROS2 설치하기

먼저 ROS2를 편하게 설치하기 위해 데스크탑에서 ssh 접속을 통해 라즈베리파이 서버에 접속하였습니다.
접속 후 다음 명령어들을 입력합니다.

locale 설정

$ 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

Source 설치

$ sudo apt update && sudo apt install curl gnupg2 lsb-release -y
$ sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key  -o /usr/share/keyrings/ros-archive-keyring.gpg

$ sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'
$ sudo apt update

이 과정에서 다음과 같은 오류가 발생할 수 있습니다.

W: GPG error: http://packages.ros.org/ros2/ubuntu focal InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F42ED6FBAB17C654
E: The repository 'http://packages.ros.org/ros2/ubuntu focal InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

이 경우에는 아래 명령어를 실행한 후 재시도 하면 됩니다.

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

ROS2 설치

ROS를 우분투 서버에 설치하기 때문에 Desktop 버전을 설치할 필요가 없습니다.
따라서 다음 명령어로 ROS2를 설치합니다.

$ sudo apt install ros-foxy-ros-base

Colcon Build 설치

ROS2에서 패키지를 빌드하기 위해 Colcon Build를 설치합니다.
아래 명령어를 통해 설치할 수 있습니다.

$ sudo apt update
$ sudo apt install python3-colcon-common-extensions

Alias 설정

Alias를 설정함으로 긴 명령어를 하나의 단축어로 설정할 수 있습니다.
아래 명령어로 bashrc파일을 열어줍니다.

$ sudo nano ~/.bashrc

파일이 열렸으면 파일의 최하단에 다음을 추가합니다.

alias rosfoxy='source /opt/ros/foxy/setup.bash'

파일을 저장한 후, 다음 명령어로 bashrc를 적용할 수 있습니다.

$ source .bashrc

이제 터미널에 rosfoxy를 입력함으로 ros를 실행할 수 있습니다.

ROS2 정상 설치 확인

먼저 아래 명령어를 입력하여 test 패키지를 다운받습니다.

$ mkdir test
$ cd test

$ git init
$ git config core.sparseCheckout true

$ git remote add -f origin https://github.com/YDongHyun/ROS2_with_RaspberryPI.git
$ echo "helloworld_pkg/*" > .git/info/sparse-checkout
$ git pull origin main

만약 git 명령어가 안된다면 아래 명령어로 git을 설치합니다.

$ sudo apt install git

다운을 완료하였다면 터미널을 2개 열어준 후 다음 명령어를 입력합니다.

terminal 1

$ rosfoxy
$ source /test/install/setup.bash
$ ros2 run helloworld_pkg helloworld_publisher

terminal 2

$ rosfoxy
$ source /test/install/setup.bash
$ ros2 run helloworld_pkg helloworld_subscriber

다음과 같이 통신이 된다면 ROS2가 정상적으로 설치된 것입니다.

중간에 오류가 발생하거나 막히는점이 있다면 댓글로 남겨주세요

post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 2월 22일

작성자님 말씀대로 ROS2 설치가 잘 이루어졌습니다. 하지만 라즈베리파이4를 재부팅하면 해당 ROS2가 실행이 안되는데 원인의 이유가 있을까요?

답글 달기