반응형

mapping 12

Day 43: 2D SLAM 실습 (ROS bag 파일 사용)

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 NoeticGoogle Cartographer (설치 완료)RVizROS ..

자율주행 2025.10.09

Day 42: Google Cartographer 설치

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특징: 실시간 처리, 고정밀 지도 작성, RO..

자율주행 2025.10.08

Day 41: LiDAR-SLAM 개념 학습

1. 서론지금까지 우리는 ORB-SLAM을 중심으로 카메라 기반 SLAM(Visual SLAM)의 원리와 실험을 살펴봤습니다.하지만 자율주행과 로봇 분야에서는 LiDAR(라이다) 센서를 활용한 SLAM도 매우 중요한 역할을 합니다.이번 글에서는 LiDAR-SLAM의 개념, 작동 원리, 장단점, 그리고 실제 활용 분야를 정리해보겠습니다.2. LiDAR-SLAM이란?LiDAR-SLAM은 말 그대로 LiDAR 센서 데이터를 이용해 위치(Localization)와 지도(Map)를 동시에 추정하는 기술입니다.LiDAR(Light Detection and Ranging): 레이저를 발사해 주변 물체까지의 거리를 측정SLAM(Simultaneous Localization and Mapping): 이동 중인 로봇이나 ..

자율주행 2025.10.07

Day 40: ORB-SLAM 실험 결과 분석

1. 서론지난 글에서는 ORB-SLAM의 키프레임 관리와 루프 클로징 원리를 살펴보았습니다.이제는 ORB-SLAM이 실제로 어떻게 작동하는지, 어떤 성능을 보이는지 직접 분석해보는 단계입니다.이번 글에서는 실제 실행 결과를 분석하여 SLAM의 정확도, 안정성, 지도 작성 품질을 평가하고, 이를 통해 ORB-SLAM의 장단점을 구체적으로 이해해보겠습니다.2. 실험 환경실험은 Ubuntu 20.04 환경의 ROS Noetic 기반에서 진행하였으며, Intel RealSense D435 카메라를 사용했습니다.하드웨어: i7 CPU, 16GB RAM, NVIDIA GPU센서: RGB-D 카메라 (RealSense D435)데이터셋: TUM RGB-D Dataset (freiburg1_xyz, fr2_desk 등..

자율주행 2025.10.06

Day 39: 키프레임 관리 및 루프 클로징 이해

1. 서론이전 글에서는 카메라 데이터를 입력으로 ORB-SLAM을 실행하는 과정을 다뤘습니다.이번 글에서는 ORB-SLAM의 정확도와 안정성을 유지하는 핵심 요소인 키프레임 관리와 루프 클로징에 대해 알아보겠습니다.이 두 과정은 ORB-SLAM이 단순한 비전 SLAM을 넘어, 실제 자율주행과 로봇 응용에서 신뢰할 수 있는 성능을 내도록 하는 중요한 기술입니다.2. 키프레임 관리(Keyframe Management)란?키프레임은 SLAM에서 “지도의 기준이 되는 카메라 프레임”입니다.모든 프레임을 지도에 반영하면 계산량이 너무 많아지기 때문에, SLAM은 중요한 순간(특징점이 충분히 관측된 시점)만 키프레임으로 저장합니다.(1) 키프레임의 역할지도 작성의 기준 좌표계 역할이후 들어오는 프레임과의 매칭에 활..

자율주행 2025.10.05

Day 38: 카메라 데이터로 ORB-SLAM 실행

1. 서론이전 글에서는 ORB-SLAM을 설치하고 ROS와 연동하는 방법을 다뤘습니다.이번 글에서는 한 단계 더 나아가, 실제 카메라 데이터를 입력으로 ORB-SLAM을 실행하는 방법을 살펴보겠습니다.카메라 데이터는 SLAM의 핵심 입력으로, ORB-SLAM은 이를 통해 특징점을 추출하고, 로봇 혹은 차량의 경로와 환경 지도를 동시에 생성합니다.2. 카메라 데이터의 종류ORB-SLAM은 다양한 형태의 카메라 데이터를 지원합니다.Mono (단일 카메라): 일반 웹캠, USB 카메라 등 → 설치와 구성이 간단하지만 깊이 정보가 없음Stereo (스테레오 카메라): 두 개의 카메라로 거리(깊이) 계산 가능 → 안정적인 SLAMRGB-D 카메라: RGB 영상 + 깊이 센서 (예: Intel RealSense, ..

자율주행 2025.10.04

Day 37: ORB-SLAM 설치 및 ROS 연동

1. 서론이전 글에서 ORB 알고리즘의 특징점 추출 원리를 살펴봤습니다.이번 글에서는 실제로 ORB-SLAM을 설치하고, ROS(Robot Operating System)와 연동하는 방법을 다뤄보겠습니다.ORB-SLAM은 비전 기반 SLAM의 대표적인 알고리즘으로, ROS와 결합하면 자율주행, 드론, 로봇 연구 등 다양한 실험 환경에서 강력한 도구가 됩니다.2. ORB-SLAM 설치 준비(1) 환경 설정운영체제: Ubuntu 20.04 (또는 18.04)ROS 버전: ROS Noetic (Ubuntu 20.04), ROS Melodic (Ubuntu 18.04)필요 패키지: OpenCV, Pangolin, Eigen3, C++11 이상(2) 필수 패키지 설치 명령어bash sudo apt update s..

자율주행 2025.10.03

Day 35: FastSLAM 간단 시뮬레이션

1. 서론자율주행과 로봇공학에서 SLAM(Simultaneous Localization and Mapping, 동시적 위치추정 및 지도작성)은 핵심 기술입니다.그중에서도 FastSLAM은 기존 EKF-SLAM의 계산량 문제를 개선하고, 대규모 환경에서도 빠르고 효율적으로 동작할 수 있도록 고안된 알고리즘입니다.이번 글에서는 복잡한 수학적 공식 대신, FastSLAM이 어떻게 작동하는지 직관적 개념과 간단한 시뮬레이션 아이디어를 통해 설명해보겠습니다.2. FastSLAM이란?EKF-SLAM 한계: 랜드마크 수가 많아지면 계산량이 급격히 증가FastSLAM 해결책: 파티클 필터(Particle Filter)와 베이지안 추정을 결합해 계산량을 분산 처리즉, FastSLAM은 “로봇 위치 추정”은 파티클 필터로..

자율주행 2025.10.01

Day 34: FastSLAM 개념 (입자 필터 기반 SLAM)

1. 서론앞선 글에서 우리는 EKF-SLAM의 원리와 Python 구현을 살펴보았습니다.하지만 EKF-SLAM은 환경이 넓어지고 랜드마크 수가 많아질수록 계산량이 기하급수적으로 증가하는 한계가 있습니다. 이를 극복하기 위해 등장한 알고리즘이 바로 FastSLAM입니다.이번 글에서는 FastSLAM의 개념과 동작 원리를 직관적으로 풀어보겠습니다. 2. FastSLAM이란?FastSLAM은 입자 필터 기반 SLAM으로, 로봇의 경로 추정과 지도 작성을 분리하여 더 빠르고 효율적으로 문제를 해결합니다.경로 추정: 입자 필터(Particle Filter)를 사용해 여러 후보 위치를 동시에 추정지도 작성: 각 랜드마크별로 독립적인 EKF(확장 칼만 필터)를 적용핵심 아이디어: “로봇 위치는 입자 필터, 지도는 E..

자율주행 2025.09.30

Day 33: Python으로 간단한 EKF-SLAM 구현

1. 서론앞선 글에서 우리는 **EKF-SLAM(Extended Kalman Filter SLAM)**의 수학적 원리를 살펴보았습니다.이번 글에서는 이 개념을 실제로 구현해보며, Python을 이용해 간단한 EKF-SLAM 시뮬레이션을 만들어 보겠습니다.수학적 이론을 눈으로만 보는 것보다, 직접 실행 가능한 코드를 통해 확인하면 SLAM의 구조와 동작 원리를 훨씬 직관적으로 이해할 수 있습니다.2. EKF-SLAM 구현 개요EKF-SLAM 구현은 크게 세 단계로 나눌 수 있습니다.환경 정의: 로봇과 랜드마크(벽, 기둥, 물체 등)를 설정예측 단계(Prediction): 로봇의 이동 모델을 기반으로 위치 추정갱신 단계(Update): 센서 관측값을 활용해 추정치 보정➡ 핵심은 “예측 → 관측 → 보정”의 ..

자율주행 2025.09.29
반응형