-
반응형
로보티즈에서 제공하는 e-매뉴얼을 따라 진행했다.
emanual.robotis.com/docs/en/platform/turtlebot3/slam/#run-slam-node
SLAM과 Navigation을 진행하기 위해서는 반드시 터틀봇 Bring up 과정을 먼저 수행해야 한다.
터틀봇3 가져오기 (Bring up)
PC에서 roscore 명령어를 실행한다.
roscore
새 터미널을 열어서 라즈베리파이와 연결해준다. {IP_ADDRESS_OF_RASPBERRY_PI} 자리에 라즈베리파이 IP를 입력한다.
ssh pi@{IP_ADDRESS_OF_RASPBERRY_PI}
라즈베리파이와 연결된 상태에서 다음 명령어를 입력하여 터틀봇 기본 패키지를 가져온다.
roslaunch turtlebot3_bringup turtlebot3_robot.launch
RViz로 불러오기
새 터미널을 열고 다음 명령어를 입력하여 Robot state publisher를 시작한다.
roslaunch turtlebot3_bringup turtlebot3_remote.launch
새 터미널을 열고 다음 명령어를 입력하여 RViz를 실행한다.
'rospack find {package_name}' 명령을 통해 패키지 경로를 반환받고 해당 위치에 있는 rviz를 실행한다.
rospack = ros + pack(age)
rosrun rviz rviz -d `rospack find turtlebot3_description`/rviz/model.rviz
파라미터 사전 정의하기
먼저 bashrc 파일에 TURTLEBOT3_MODEL 파라미터를 사전 정의해두는 것이 좋다.
이 과정을 생략할 경우 SLAM, Navigation 등 노드를 시작할 때마다 'export TURTLEBOT3_MODEL=burger' 명령어를 입력해줘야 한다.
(사용하는 터틀봇 모델이 Waffle Pi일 경우 'burger' 자리에 'waffle_pi'를 입력한다.)
echo 'export TURTLEBOT3_MODEL=burger' >> ~/.bashrc
수정한 내용을 반영한다.
source ~/.bashrc
SLAM(Simultaneous Localization and Mapping)
: 임의의 공간에서 현재 위치를 추정하여 지도를 그리는 기술
Bring up 단계를 수행한 상태에서 진행해야 한다.
PC에서 새 터미널을 열고 다음 명령어를 입력해서 SLAM 노드를 시작한다. (RViz가 실행된다.)
roslaunch turtlebot3_bringup turtlebot3_robot.launch
새 터미널을 열고 Teleoperation (원격 조작) 노드를 시작한다.
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
이제 터미널 창에서 w, a, s, d, x키를 눌러서 터틀봇을 이동할 수 있다.
w(앞으로 = 선속도), a(왼쪽으로 회전 = 각속도), s(멈춤), d(오른쪽으로 회전 = 각속도)
키는 여러 번 누를 수록 속도가 빨라진다.
키를 누를 때마다 터틀봇이 움직여서 지도를 그려낸다.
지도를 다 그린 후에는 map_saver 노드를 통해 map 파일을 저장한다.
map 파일은 map_saver 노드가 시작된 위치(보통 Home 디렉토리)에 map.yaml 파일과 map.pgm 파일로 저장된다.
rosrun map_server map_saver -f ~/map
'-f' 옵션을 통해 map 파일을 저장할 경로와 파일 이름을 지정할 수도 있다.
완성된 지도는 점유 격자 지도(OGM, Occupancy Grid Map) 형태로 저장된다.
흰색 : 자유롭게 움직일 수 있는 자유 영역
검은색 : 접근할 수 없는 영역 (벽 등)
회색 : 알지 못하는 미지의 영역
반응형'ROS' 카테고리의 다른 글
ROS gdb, valgrind 디버깅 (0) 2023.03.01 osm_cartography - RViz에 오픈스트리트맵(OSM) 데이터 시각화하기 (0) 2022.12.25 터틀봇3 Navigation (0) 2020.12.30 터틀봇3 연결하기 (Ubuntu 18.04, ROS Melodic) (3) 2020.12.18 ROS Melodic 설치 (Ubuntu 18.04) (0) 2020.12.18