본문으로 바로가기

JetPack 5.1.3에서 ROS2 설치

category 소프트웨어/ROS2 2024. 7. 29. 17:15
728x90
반응형

1. 현재 설정되어 있는 로케일을 확인합니다.

locale

위의 로케일 결과를 보면 UTF-8로 설정되어 있음을 확인할 수 있습니다.

만약 다른 설정이 되어 있을 경우에 아래와 같이 새로운 로케일을 설정해야 합니다.

 

먼저 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

설치가 완료되시면 "locale" 명령어를 사용하여 설정을 확인합니다.

 

2. 로케일 설정이 완료되면 ROS2의 소스를 설정해야 합니다. 먼저 설정환경을 구축하기 위한 패키지를 설치합니다.

sudo apt update && sudo apt install curl gnupg lsb-release

 

3. 다음 명령어를 실행하여 GPG 키를 승인합니다.

sudo curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.key  -o /usr/share/keyrings/ros-archive-keyring.gpg

4. 다음 명령어를 실행하여 소스 리스트에 저장소를 추가합니다.

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

5. 모든 설치가 완료되면 다음 단계는 ROS2 패키지를 설치합니다. ROS2 패키지를 설치하기 전에 먼저 apt를 업데이트해야 합니다.

sudo apt update

6. 다음으로 apt의 업그레이드를 진행합니다.

sudo apt upgrade

7. ROS2 설치를 시작합니다. 아래의 명령을 실행하여 ROS2 foxy의 데스크 탑 패키지를 설치합니다.

sudo apt install ros-foxy-desktop

8. ROS2의 미들웨어(RMW) 패키지도 설치합니다.

sudo apt install ros-foxy-rmw-fastrtps* ros-foxy-rmw-cyclonedds*

9. 지금까지 ROS2의 기본 패키지를 설치를 완료했습니다. 정상적으로 설치가 완료되었는지를 확인하겠습니다. 2개의 터미널을 띄우고 아래의 명령어 들을 각각 실행하시기 바랍니다.

source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_cpp talker

source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_py listener

 

talker를 먼저 실행하고 listener를 실행합니다. talker에서 송신한 메시지가 listener에서 정상적으로 수신되면 ROS2 패키지가  정상적으로 잘 설치된 것입니다.

 

10. 다음 단계는 ROS2를 이용한 로봇 프로그래밍에 필요한 패키지를 설치합니다. 아래의 명령어들을 입력하여 개발 툴을 설치합니다.

sudo apt update && sudo apt install -y \
    build-essential \
    cmake \
    git \
    libbullet-dev \
    python3-colcon-common-extensions \
    python3-flake8 \
    python3-pip \
    python3-pytest-cov \
    python3-rosdep \
    python3-setuptools \
    python3-vcstool \
    wget

 

11. 아래의 명려어도실행하여 개발 도구를 계속 설치합니다.

python3 -m pip install -U \
    argcomplete \
    flake8-blind-except \
    flake8-builtins \
    flake8-class-newline \
    flake8-comprehensions \
    flake8-deprecated \
    flake8-docstrings \
    flake8-import-order \
    flake8-quotes \
    pytest-repeat \
    pytest-rerunfailures \
    pytest

12. 아래의 명령어를 실행하여 Fast-RTPS와 Cyclone DDS의 의존성 패키지를 설치합니다.

sudo apt install --no-install-recommends -y \
    libasio-dev \
    libtinyxml2-dev \
    libcunit1-dev

13. ROS2 명령어의 자동 완성 기능을 사용하기 위해서 아래 명령어를 실행하여 설치해야 합니다.

sudo apt install -y python3-argcomplete

 

14. 컴파일러와 빌드 툴이 포함된 개발 툴을 아래의 명령어를 실행하여 설치합니다.

sudo apt install ros-dev-tools

 

15. 개발 툴까지 설치가 완료되었으면 다음은 빌드 테스트를 수행하겠습니다.

아래의 명령을수행하여 새로운 작업 디렉터리를 생성하고 빌드를 수행합니다.

source /opt/ros/foxy/setup.bash
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws
colcon build --symlink-install

 

16. ROS2 사용을 위해서는 새로운 터미널을 실행할 때마다 아래 명령어를 입력해야 합니다. 

$ source /opt/ros/foxy/setup.bash

 

이와 같은 과정을  매번 실행시키기 것이 번거롭기 때문에 Shell Script 파일에 Source file 실행 명령어를 추가해 줍니다.

echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
gedit  ~/.bashrc

또는

nano ~/.bashrc

.bashrc 파일에 아래의 내용을 추가하고 저장합니다.

source ~/ros2_ws/install/local_setup.bash

source /usr/share/colcon_argcomplete/hook/colcon-argcomplete.bash
source /usr/share/vcstool-completion/vcs.bash
source /usr/share/colcon_cd/function/colcon_cd.sh
export _colcon_cd_root=~/ros2_ws

export ROS_DOMAIN_ID=2
export ROS_NAMESPACE=hacrobot2

export RMW_IMPLEMENTATION=rmw_fastrtps_cpp

alias ccd='colcon_cd'

alias cb='cd ~/ros2_ws && colcon build --symlink-install'
alias cba='colcon build --symlink-install'
alias cbp='colcon build --symlink-install --packages-select'
alias cbu='colcon build --symlink-install --packages-up-to'

alias rt='ros2 topic list'
alias re='ros2 topid echo'
alias rn='ros2 node list'

 

17. 저장 후 새로운 터미널을 실행하면 위의 설정이 적용됩니다. 아래는 새로운 터미널을 실행하여 cb 명령어를 테스트한 것입니다.

728x90
반응형