09-10 15:59
Notice
Recent Posts
Recent Comments
반응형
관리 메뉴

BAN2ARU

[Foxy/Nav2] 튜토리얼 2.Development Guides - 1) Build and Install 본문

Study/Nav2

[Foxy/Nav2] 튜토리얼 2.Development Guides - 1) Build and Install

밴나루 2024. 1. 27. 21:33

Nav2 튜토리얼은 공식 홈페이지를 참조하여 작성함

 

이전 글 참조

2024.01.27 - [분류 전체보기] - [Foxy/Nav2] 튜토리얼 1. Getting Started

 

[Foxy/Nav2] 튜토리얼 1. Getting Started

Nav2 튜토리얼은 공식 홈페이지를 참조하여 작성함 본 튜토리얼은 docker를 통해 진행하였으며, docker 관련 설정이 궁금한 경우는 이전글모음을 참조하기 바람 이전 글 모음 더보기 2024.01.27 - [Study/N

ban2aru.tistory.com

1. Install

Nav2 및 dependency는 binary로 릴리즈된다. 다음과 같이 설치할 수 있다.

source /opt/ros/foxy/setup.bash
sudo apt install \\
  ros-$ROS_DISTRO-navigation2 \\
  ros-$ROS_DISTRO-nav2-bringup \\
  ros-$ROS_DISTRO-turtlebot3*

2. build

Nav2를 빌드할 수 있는 아래와 같은 3가지 방법이 있다.

  1. Released Distribution Binaries
  2. Rolling Development Source
  3. Docker Container Images

첫번째 방법은 안정 버전을 사용하여 빠르게 설치하고 실행하는데 유용하다. 두번째 및 세번째 옵션은 개발자 또는 최신 변경 사항을 테스트하려는 사용자에게 유용하다.

2.1. Released Distribution Binaries

배포된 NAV2를 빌드하려면 우선 ROS2 및 관련 개발 도구를 빌드하거나 설치해야 한다. (colcon, rosdep, vcstool)

환경이 설정 되면 repository를 clone한 후 dependency를 설치한다. 이를 workspace에서 빌드하면 된다.

source /opt/ros/foxy/setup.bash
mkdir -p ~/nav2_ws/src && cd ~/nav2_ws
git clone <https://github.com/ros-planning/navigation2.git> --branch foxy-devel ./src/navigation2
rosdep install -y \\
  --from-paths ./src \\
  --ignore-src
colcon build \\
  --symlink-install

이 후 ~/nav2_ws/install/setup.bash를 sourcing하면 된다.

만약 아래와 같은 ERROR가 발생한다면 Please run 부분을 실행 한 후 다시 진행하면 된다.

sudo rosdep init
rosdep update

2.2. Rolling Development Source

해당 방법은 Relased Distribution Binaries 방법과 유사하며, 여기서는 모든 ROS 기반 패키지에 대한 메인 개발 브랜치를 사용하여 종속성을 소스에서 빌드한다.

source /install/setup.bash
mkdir -p ~/nav2_ws/src && cd ~/nav2_ws
git clone <https://github.com/ros-planning/navigation2.git> --branch foxy-devel ./src/navigation2
vcs import ./src < ./src/navigation2/tools/underlay.repos
rosdep install -y \\
  --from-paths ./src \\
  --ignore-src
colcon build \\
  --symlink-install

이 후 ~/nav2_ws/install/setup.bash를 sourcing하면 된다.

2.3. Docker Container Images

Docker 컨테이너 이미지를 사용하여 Nav2를 빌드할 수 있다. repository에서의 Dockerfile을 사용하여 Nav2를 빌드하고 설치하는 방법이다.

export ROS_DISTRO=foxy
git clone <https://github.com/ros-planning/navigation2.git> --branch main
docker build --tag navigation2:$ROS_DISTRO \\
  --build-arg FROM_IMAGE=ros:$ROS_DISTRO \\
  --build-arg OVERLAY_MIXINS="release ccache lld" \\
  --cache-from ghcr.io/ros-planning/navigation2:main \\
  ./navigation2

위의 docker build 명령은 지정된 경로를 사용하여 Dockerfile에서 이미지를 빌드하면, 변수를 추가 인수로 사용하여 workspace 빌드를 구성한다. 해당 명령은 Nav2의 container registry에서 최신 cached image를 가져와 빌드 프로세스를 가속화하기 위해 external cache source를 지정한다.

728x90
Comments