SLAM (Simultaneous Localization and Mapping) 은 임의의 공간에서 현재 위치를 추정하여 지도를 작성하는 기술이다. 해당 섹션에서는 Gazebo 가상 환경에 대해 SLAM 기법을 이용하여 지도를 작성할 것이다.

2.1 roscore

roscore 실행

$ roscore

2.2 Set Parameter “use_sim_time” to true

Bag 파일은 현재 시간이 아닌 이전에 Bag파일을 기록할 당시 시간을 사용한다. ”use_sim_time”은 ros가 bag파일에 기록된 시간을 사용하도록 설정해주는 파라미터이다.

$ rosparam set use_sim_time true

2.3 Run SLAM Node

Gmapping SLAM 방식을 사용하는 SLAM Node를 실행시켜 주세요

$ roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping

2.4 Run bag file

bag 파일 실행

$ rosbag play for_slam.bag --clock

2.5 Save Map

자동으로 로봇이 움직이며 지도가 작성됩니다. 오른쪽 그림처럼 2D grid map이 완성될 것입니다. 완성이 되면 아래 명령어를 통해 작성된 지도를 저장해 주세요

Selection_681.png

Selection_682.png