PASS
sudo apt install ros-<ros2-distro>-navigation2
에서 ros2-distro
는 ros 2 distribution, 즉 ros 2 버전을 말한다.
내 ROS 2는 foxy version이므로 foxy로 입력한다.
$ sudo apt install ros-foxy-navigation2
$ sudo apt install ros-foxy-nav2-bringup
$ sudo apt install ros-foxy-turtlebot3*
$ source /opt/ros/foxy/setup.bash
$ export TURTLEBOT3_MODEL=waffle
$ export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/foxy/share/turtlebot3_gazebo/models
$ ros2 launch nav2_bringup tb3_simulation_launch.py headless:=False
여기서 Rviz만 뜨고 Gazebo가 안 뜨는 문제가 발생했다.
headless False를 제외하고 실행했더니 Gazebo가 뜨긴 하는데, 검은 화면만 나타났다.
https://github.com/ros-planning/navigation2/issues/2757
이 링크를 참고한 결과, export문을 실행하기 전
$ . /usr/share/gazebo/setup.bash
를 실행하고, 3분 정도 기다리니 gazebo가 정상적으로 떴다.
처음 시작하면 초기 위치를 사용자가 정해줘야 한다.(정확한 위치가 아니어도 상관없다.)
gazebo에서 보기에 로봇이 있는 지점을 눈여겨보고, rviz에서 2D pose estimate
를 누른 후 비슷한 위치에 마우스를 클릭해주자. 그러면 Nav 2가 activation될 것이다.
그 다음에, rviz에서 Navigation 2 Goal
을 클릭 후 원하는 목표지점을 마우스로 누르면, gazebo에서 그 목표지점으로 이동하는 것을 볼 수 있다.
원하는 만큼 로봇을 이동시켜 보자!