1. 서론
이전 글에서 LiDAR-SLAM의 개념을 학습했습니다.
이번 글에서는 LiDAR 기반 SLAM 프레임워크 중 가장 많이 사용되는 오픈소스 프로젝트인 Google Cartographer의 설치 방법을 다뤄보겠습니다.
Google Cartographer는 구글이 개발한 실시간 SLAM(Real-Time SLAM) 기술로, 2D 및 3D 지도 작성이 모두 가능하며 ROS(Robot Operating System)와 쉽게 연동됩니다.
2. Google Cartographer란?
Google Cartographer는 LiDAR나 IMU 데이터를 이용해 로봇이 주행 중 자신의 위치를 추정하고 지도를 작성하는 SLAM 프레임워크입니다.
- 개발사: Google Research
- 특징: 실시간 처리, 고정밀 지도 작성, ROS 통합 지원
- 활용 분야: 자율주행, 실내 로봇 내비게이션, 드론 매핑, 산업용 로봇
➡ 단순한 오픈소스가 아닌, 실제 구글의 자율주행 기술 일부가 오픈된 형태라 연구·산업 현장에서 신뢰성이 높습니다.
3. 설치 전 환경 구성
(1) 권장 환경
- Ubuntu 20.04
- ROS Noetic
- C++14 이상 지원
- 8GB 이상의 메모리
(2) 필수 의존 패키지 설치
sudo apt install -y python3-wstool python3-rosdep ninja-build stow
(3) ROS 작업공간 생성
cd ~/catkin_ws
catkin_make
4. Google Cartographer 설치
(1) Cartographer 및 ROS Wrapper 다운로드
git clone https://github.com/cartographer-project/cartographer.git
git clone https://github.com/cartographer-project/cartographer_ros.git
GitHub - cartographer-project/cartographer_ros: Provides ROS integration for Cartographer.
Provides ROS integration for Cartographer. Contribute to cartographer-project/cartographer_ros development by creating an account on GitHub.
github.com
(2) 의존성 초기화
wstool init src
wstool merge -t src https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src
(3) rosdep으로 종속성 설치
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
(4) 빌드
(5) 환경 변수 등록
5. 설치 검증
(1) Demo 실행 (2D 예시)
Cartographer는 기본적으로 데모용 데이터셋을 제공합니다.
➡ 실행 후, RViz 창에서 LiDAR 센서가 인식한 점 구름(Point Cloud)과 로봇 경로가 실시간으로 시각화됩니다.
(2) 실행 확인 포인트
- RViz에 “LaserScan”과 “Trajectory”가 표시되면 성공
- CPU 점유율이 높게 나오면 정상 (SLAM 연산 중)
- 지도 생성 후 “loop closure” 메시지가 출력되면 루프 클로징 완료
6. 설치 중 자주 발생하는 문제
문제 상황 | 원인 | 해결 방법 |
catkin_make 실패 | OpenCV 또는 Eigen 버전 불일치 | sudo apt install libeigen3-dev 후 재빌드 |
RViz가 안 켜짐 | 환경 변수 미설정 | source ~/catkin_ws/devel/setup.bash |
“Missing dependency” 오류 | rosdep 미실행 | rosdep update && rosdep install 재시도 |
7. 마무리
오늘은 Google Cartographer의 설치 과정을 단계별로 살펴보았습니다.
이제 여러분의 ROS 환경에서 LiDAR 데이터를 기반으로 실시간 지도 작성과 위치 추정이 가능한 준비가 완료되었습니다.
Google Cartographer는 LiDAR-SLAM을 학습하는 데 있어 가장 좋은 실습 플랫폼이며, 이후의 실험(2D/3D 매핑, Loop Closing 등)에 핵심이 됩니다.
🔜 다음 글 소개
다음 글에서는 [Day 43: 2D SLAM 실습 (ROS bag 파일 사용)]을 다룹니다.
👉 실제 ROS bag 데이터를 이용해 2D SLAM을 실행하고, Cartographer를 활용한 지도 생성 과정을 실습해보겠습니다.
'자율주행' 카테고리의 다른 글
Day 44: 3D SLAM 실습 (LiDAR 데이터 활용) (0) | 2025.10.10 |
---|---|
Day 43: 2D SLAM 실습 (ROS bag 파일 사용) (0) | 2025.10.09 |
Day 41: LiDAR-SLAM 개념 학습 (0) | 2025.10.07 |
Day 40: ORB-SLAM 실험 결과 분석 (0) | 2025.10.06 |
Day 39: 키프레임 관리 및 루프 클로징 이해 (0) | 2025.10.05 |