1. 서론
이전 글에서 우리는 Google Cartographer의 설치 방법을 살펴봤습니다.
이제 본격적으로 SLAM을 실행해볼 차례입니다.
이번 글에서는 ROS에서 제공하는 bag 파일(ROS bag)을 이용해 2D SLAM 실습을 진행해보겠습니다.
LiDAR 데이터를 직접 수집하지 않아도, bag 파일만 있으면 SLAM을 실행하고 지도 작성 과정을 시각적으로 확인할 수 있습니다.
2. 실습 목표
- ROS bag 파일을 사용하여 Google Cartographer 2D SLAM을 실행
- 실시간 지도 작성 과정을 RViz에서 시각적으로 확인
- 최종적으로 생성된 2D 지도(Map)를 저장
3. 준비 사항
(1) 환경 구성
- Ubuntu 20.04 + ROS Noetic
- Google Cartographer (설치 완료)
- RViz
- ROS bag 파일 (예: TurtleBot3, Jackal, Husky 등)
(2) bag 파일 다운로드 예시
아래 예시는 TurtleBot3 예제 데이터를 다운로드하는 명령어입니다.
wget https://github.com/ROBOTIS-GIT/turtlebot3_bag/raw/master/turtlebot3_world.bag
4. 실습 단계
(1) ROS 환경 설정
먼저 ROS 환경을 활성화합니다.
source ~/catkin_ws/install_isolated/setup.bash
(2) Cartographer Demo 실행
(3) Bag 파일 재생
Cartographer가 실행된 상태에서 새로운 터미널을 열고 다음 명령어를 입력합니다.
- --clock 옵션은 SLAM 실행 시 타임 스탬프 동기화를 위해 필요합니다.
- RViz에서 LiDAR 포인트(레이저 스캔)와 SLAM 경로가 동시에 시각화됩니다.
5. 결과 확인
(1) 지도 작성 과정
- RViz 창에서 점점 확장되는 지도(Occupancy Grid Map)를 확인할 수 있습니다.
- 로봇이 이동한 경로는 Trajectory로 표시되며, 지도와 동시에 업데이트됩니다.
(2) 지도 저장
SLAM이 완료되면 다음 명령어로 결과를 저장합니다.
→ cartographer_map.pgm (지도 이미지 파일)과 cartographer_map.yaml (메타데이터 파일)이 생성됩니다.
(3) 결과 시각화
- .pgm 파일을 열면 흑백의 2D 지도가 표시됩니다.
- 흰색: 이동 가능한 공간
- 검은색: 장애물
- 회색: 미확인 구역
6. 실습 팁
✅ 1. RViz 설정 최적화
- “LaserScan” 토픽을 추가해 LiDAR 스캔 시각화
- “Map”과 “Trajectory”를 Overlay로 표시해 경로 추적
✅ 2. bag 파일 속도 조정
→ 속도를 0.5배로 줄이면 지도 작성 과정을 천천히 관찰할 수 있습니다.
✅ 3. 실시간 센서와 비교 실험
bag 파일 대신 실제 LiDAR 센서를 연결하면, 실시간으로 지도 작성 결과를 확인할 수도 있습니다.
7. 마무리
이번 글에서는 ROS bag 파일을 활용해 2D SLAM 실습을 진행했습니다.
bag 파일은 실제 센서 데이터를 대신해 SLAM 학습에 매우 유용하며, ROS와 Cartographer를 익히는 최고의 연습 도구입니다.
다음 단계에서는 3D LiDAR 데이터를 활용한 SLAM 실습으로 확장하여, 한층 더 정밀한 3D 환경 매핑을 경험해보겠습니다.
🔜 다음 글 소개
다음 글에서는 [Day 44: 3D SLAM 실습 (LiDAR 데이터 활용)]을 다룹니다.
👉 실제 LiDAR 데이터를 활용해 3D SLAM을 실행하고, 포인트 클라우드 기반 지도 작성 과정을 시각적으로 확인합니다.
'자율주행' 카테고리의 다른 글
Day 45: Visual vs LiDAR SLAM 비교 (0) | 2025.10.11 |
---|---|
Day 44: 3D SLAM 실습 (LiDAR 데이터 활용) (0) | 2025.10.10 |
Day 42: Google Cartographer 설치 (0) | 2025.10.08 |
Day 41: LiDAR-SLAM 개념 학습 (0) | 2025.10.07 |
Day 40: ORB-SLAM 실험 결과 분석 (0) | 2025.10.06 |