자율주행

Day 42: Google Cartographer 설치

Tech Knowledge Note 2025. 10. 8. 21:00
반응형

1. 서론

이전 글에서 LiDAR-SLAM의 개념을 학습했습니다.
이번 글에서는 LiDAR 기반 SLAM 프레임워크 중 가장 많이 사용되는 오픈소스 프로젝트인 Google Cartographer의 설치 방법을 다뤄보겠습니다.

Google Cartographer는 구글이 개발한 실시간 SLAM(Real-Time SLAM) 기술로, 2D 및 3D 지도 작성이 모두 가능하며 ROS(Robot Operating System)와 쉽게 연동됩니다.

Google Cartographer 설치


2. Google Cartographer란?

Google Cartographer는 LiDAR나 IMU 데이터를 이용해 로봇이 주행 중 자신의 위치를 추정하고 지도를 작성하는 SLAM 프레임워크입니다.

  • 개발사: Google Research
  • 특징: 실시간 처리, 고정밀 지도 작성, ROS 통합 지원
  • 활용 분야: 자율주행, 실내 로봇 내비게이션, 드론 매핑, 산업용 로봇

➡ 단순한 오픈소스가 아닌, 실제 구글의 자율주행 기술 일부가 오픈된 형태라 연구·산업 현장에서 신뢰성이 높습니다.


3. 설치 전 환경 구성

(1) 권장 환경

  • Ubuntu 20.04
  • ROS Noetic
  • C++14 이상 지원
  • 8GB 이상의 메모리

(2) 필수 의존 패키지 설치

bash
 
sudo apt update
sudo apt install -y python3-wstool python3-rosdep ninja-build stow
 

(3) ROS 작업공간 생성

bash
 
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin_make

4. Google Cartographer 설치

(1) Cartographer 및 ROS Wrapper 다운로드

(2) 의존성 초기화

bash
 
cd ~/catkin_ws
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으로 종속성 설치

bash
 
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y

(4) 빌드

bash
 
catkin_make_isolated --install --use-ninja

(5) 환경 변수 등록

bash
 
source ~/catkin_ws/install_isolated/setup.bash

5. 설치 검증

(1) Demo 실행 (2D 예시)

Cartographer는 기본적으로 데모용 데이터셋을 제공합니다.

bash
 
roslaunch cartographer_ros demo_backpack_2d.launch

➡ 실행 후, 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를 활용한 지도 생성 과정을 실습해보겠습니다.

반응형