09-20 01:55
Notice
Recent Posts
Recent Comments
반응형
관리 메뉴

BAN2ARU

[Humble] 튜토리얼 1. Getting Started 본문

Study/Nav2

[Humble] 튜토리얼 1. Getting Started

밴나루 2024. 9. 18. 19:22

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

본 튜토리얼은 docker를 통해 진행하였으며, docker 관련 설정이 궁금한 경우는 이전글을 참고해주시길 바랍니다! 물론 ubuntu 22.04에서도 동작 가능합니다!

1. 설치

1. ROS2 패키지를 설치한다. (해당 부분은 이전 글 참고)

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

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

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

sudo apt install ros-humble-turtlebot3-gazebo

2. 예제 실행

1. 터미널을 실행함

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

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

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

ros2 launch nav2_bringup tb3_simulation_launch.py headless:=False

제대로 실행하면 Rviz와 Gazebo GUI가 아래와 같이 나온다. 여기서 Gazebo GUI의 경우 로딩하는 시간이 좀 걸리니 충분히 기다려주자!

3. Navigating

로봇은 처음에 자신의 위치가 어디인지 전혀 모른다. 기본적으로 Nav2는 사용자가 대략적인 시작위치를 제공해주기를 기다림. Gazebo 환경에서 로봇이 있는 위치를 확인하고, 그 위치를 Rviz의 맵에서 찾아준다. 초기 위치를 설정하려면 Rviz에서 2D Pose Estimate 버튼을 클릭한 다음, 해당 위치를 맵에서 클릭한다. 클릭 후 드래그하여 방향을 설정한다.

만약 default 설정이라면, 로봇은 대략적으로 아래와 같은 위치에 있을 것이다.

정확한 위치를 맞추지 않더라도 Nav2는 이동하는동안 위치를 정교하게 조정할 것이다. 만약 처음 설정한 위치가 마음에 들지 않는다면, 2D Pose Estimate 버튼을 다시 클릭하여 위치를 재설정할 수 있다.

initial pose를 설정한 후, transform tree가 완료되면 Nav2는 완전히 활성화되어 준비 상태가 됨. 이 시점에서는 Rviz에서 로봇과 particle cloud를 확인할 수 있다.

다음으로 Navigation2Goal 버튼을 클릭한 후 목적지를 선택한다. 그러면 BT navigator가 action server를 통해 해당 목표로 이동한다. Nav2의 Rviz 플러그인에서 작업을 일시 정지(취소)하거나 리셋할 수 있다. 목표 위치 설정 후 아래와 같이 로봇이 이동하는 것을 볼 수 있다.

 

 

 

728x90
Comments