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

BAN2ARU

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

Study/Nav2

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

밴나루 2024. 1. 27. 18:51

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

본 튜토리얼은 docker를 통해 진행하였으며, docker 관련 설정이 궁금한 경우는 이전글모음을 참조하기 바람

 

이전 글 모음

1. Installation

1. ROS2 패키지를 설치한다.

2. Nav2 패키지를 설치한다.

sudo apt install ros-foxy-navigation2
sudo apt install ros-foxy-nav2-bringup

3. Turtlebot 3 패키지를 설치한다

2. Running the Example

1. 터미널을 실행한다.

2. 터미널에서 다음과 같은 key environment를 설정한다.

source /opt/ros/foxy/setup.bash
export TURTLEBOT3_MODEL=waffle
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/foxy/share/turtlebot3_gazebo/models

3. 동일한 터미널에서 다음 명령어를 실행한다.

ros2 launch nav2_bringup tb3_simulation_launch.py headless:=False

제대로 실행된다면 Rviz와 Gazebo GUI가 아래 그림과 같이 나온다. Gazebo GUI의 경우 로딩 시간이 좀 걸리니 기다려주자

해당 launch 파일은 turtlebot3_world에서 제공하는 AMCL(Adaptive Monte Carlo Localization; 로봇의 위치를 추정하고 보정하기 위해 사용되는 알고리즘) localizer와 함께 Nav2를 실행한다.

3. Navigating

로봇은 처음에 자신의 위치를 모르므로 Nav2에서는 근접한 시작 지점을 기다린다. Gazebo world에서 로봇의 위치를 살펴보고 지도에서 해당 위치를 찾아야 된다. Rviz에서 2D Pose Estimate 버튼을 클릭한 다음 지도에서 해당 위치를 클릭하여 initial pose를 설정한다. 방향은 클릭한곳에서 앞으로 드래그하여 설정한다.

default는 대략적으로 아래와 유사하다.

정확한 위치를 맞추지 않더라도, Nav2는 이동하는 동안 위치를 정밀화한다.  2D Pose Estimate 버튼을 클릭하고 다시 시도하여도 된다.

initial pose를 설정한 후, transform tree가 완료되고 Nav2가 완전히 활성화되어 실행 준비가되면 아래와 같이 로봇과 particle cloud를 볼 수 있다.

다음으로는 Navigation2 Goal 버튼을 클릭하고 목적지를 선택한다. 이렇게 하면 BT(Behavior Tree) 네비게이터가 활성화되어 로봇이 주어진 목표로 이동하기 위한 계획과 실행을 담당한다. 해당 동작은 액션 서버를 통해 이루어진다. Nav2 rviz 플러그인을 통해 네비게이션의 진행 상황을 시각적으로 확인할 수 있으며, 일시 중지하거나 액션을 재설정할 수 있다.

 

 

 

 

 

 

 

 

 

 

 

728x90
Comments