Navigation은 주어진 환경에서 로봇을 어떤 한 위치에서 지정된 목적지로 이동시키는 것입니다. 이를 위해 주어진 환경의 가구, 사물, 벽의 geometry를 포함하는 지도가 필요합니다. 이전 SLAM 섹션에서 작성한 지도를 사용합니다.
Gazebo를 실행시켜 가상 환경을 불러와 주세요
$ roslaunch turtlebot3_gazebo turtlebot3_world.launch
이전에 작성한 지도로 Navigation node를 실행시켜 주세요
$ roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml
로봇이 자율주행을 하기 전에 먼저 지금 로봇이 지도상에서 어디에 있는지를 알아야 함(AMCL 이라는 알고리즘을 사용)
AMCL은 ‘입자’를 사용하여 로봇의 가능한 위치를 나타내는 알고리즘. 각 입자는 로봇이 해당 위치에 있을 가능성을 나타냄 이 입자가 가능한 실제 로봇의 위치를 추정하도록 초기화를 해줘야 한다.
초기화 전
초기화 후
2D Pose Estimate
을 클릭하세요$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
조종 전 조종 후