Jetson Xavier NX 보드에 ROS 2를 설치하기 위해서는 먼저 보드에 설치된 ubuntu 버전을 확인해야 합니다.
Jetson Xavier NX용 jetpack 5.0.2는 ubuntu 20.04를 제공합니다.
해당 ubuntu 버전에 알맞는 ROS 2 foxy를 설치해주면 됩니다.
1. 리눅스의 로케일을 설정해줍니다.
다음 명령을 통해 설정되어 있는 로케일을 확인합니다.
locale
로케일 설정 전에 apt 설치 및 업데이트를 진행합니다.
sudo apt update && sudo apt install locales
그리고 로케일을 UTF-8로 설정합니다.
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
로케일 설정이 완료된 후 로케일이 맞게 변경되었는지 다시 한 번 확인해줍니다.
2. ROS 2 다운로드를 위한 소스를 지정해줍니다.
먼저 apt의 업데이트 및 다음 명령 실행을 위한 curl을 설치합니다.
sudo apt update && sudo apt install curl gnupg2 lsb-release
아래 그림과 같이 다운로드가 완료되었습니다.
그리고 아래 명령으로 키를 지정해줍니다.
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
마지막으로 소스 리스트에 리포지토리를 추가합니다.
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
3. ROS 2.0 패키지를 설치합니다.
설치에 앞서 apt를 최신 버전으로 업데이트 해줍니다.
sudo apt update
아래 명령을 통해 ROS 2 foxy를 설치합니다.
sudo apt install ros-foxy-desktop
아래 그림과 같이 설치 중간에 과정을 이어서 진행할 것인지 묻는 문구가 출력됩니다.
'y'를 입력하여 설치를 계속 진행합니다.
아래 그림과 같이 설치가 완료되었습니다.
6. ROS 2가 제대로 설치되었는지 예제를 통해 확인합니다.
다음 예제는 Talker-Listener 로, talker 터미널에서 출력하는 메시지를 listener 터미널에서 똑같이 출력하는 예제입니다.
먼저 새로운 터미널 창을 열어 소스를 지정한 후 C++ talker를 실행합니다.
source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_cpp talker
talker가 실행되면 다음 그림과 같이 특정한 문구가 출력 횟수와 함께 일정한 시간 간격을 두고 반복적으로 출력됩니다.
새로운 터미널을 열어 이번엔 python listener를 실행시켜 줍니다. 동일하게 소스를 먼저 지정해준 후, 다음 명령을 통해 listener를 실행시킵니다.
. ~/ros2_dashing/install/local_setup.bash
ros2 run demo_nodes_py listener
listener가 실행되면 talker와 동일한 문구가 동시에 출력됩니다. 아래 그림을 보면 listener가 실행된 시점에서 출력된 talker의 32번째 문구부터 출력됨을 확인할 수 있습니다.
또다른 예제인 turtlesim과 rqt는 다른 버전인 ROS 2 humble과 동일한 방법으로 실행할 수 있습니다.
해당 내용에 대해 더 자세히 알아보고 싶다면 아래 링크의 글을 참조 부탁드립니다.
https://makingrobot.tistory.com/160?category=804423
이렇게 jetson nano의 ubuntu 18.04에 ROS 2가 제대로 설치되었음을 확인하였습니다.
이제 다양한 예제 및 데모를 실행해보거나, 자신만의 패키지를 만드는 등 여러분이 원하는 방식으로 ROS 2를 활용하시면 됩니다.
'소프트웨어 > ROS2' 카테고리의 다른 글
Ubuntu 22.04, IRON ROS2 개발환경 설치 (0) | 2024.07.23 |
---|---|
Ubuntu 22.04, IRON ROS2 설치 (0) | 2024.03.24 |
Jetson nano 보드에 ROS 2 설치 (1) | 2022.08.03 |
ROS 2의 turtlesim과 rqt 사용법 (0) | 2022.07.20 |
ubuntu 22.04에 ROS 2 설치 (2) | 2022.07.15 |