본문 바로가기
-----ETC-----/SLAM

[SLAM] 8일차: 최신 SLAM 논문 읽기 및 구현

by cogito21_cpp 2024. 6. 4.
반응형

이번 단계에서는 최신 SLAM 논문을 읽고, 논문에서 제안하는 알고리즘을 구현하여 실습해보겠습니다. 최신 논문을 통해 SLAM 분야에서 최신 동향과 발전을 이해할 수 있습니다.

1. 논문 선택 및 읽기

최신 SLAM 논문을 선택하여 읽어보겠습니다. 여기에 추천하는 최신 논문 중 하나를 선택해 보겠습니다.

 

논문 추천: "ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM"

 

논문 다운로드: ORB-SLAM3 논문

 

논문을 다운로드하고 읽어보세요. 주요 내용은 다음과 같습니다:

  • ORB-SLAM3의 개요와 특징
  • Visual, Visual-Inertial, Multi-Map SLAM의 구현 방법
  • 실험 결과 및 성능 평가

2. 논문 구현

논문에서 제안하는 알고리즘을 직접 구현해보는 과정을 통해 이해를 돕습니다. 여기서는 ORB-SLAM3의 Visual SLAM 부분을 간단히 구현해보겠습니다.

 

1. 필요한 라이브러리 설치

ORB-SLAM3는 C++로 구현되어 있습니다. 필요한 라이브러리를 설치합니다.

brew install cmake eigen3 boost opencv3

 

2. ORB-SLAM3 설치

먼저, ORB-SLAM3를 다운로드하고 빌드합니다.

# ORB-SLAM3 다운로드
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git
cd ORB_SLAM3

# Thirdparty 라이브러리 다운로드 및 빌드
cd Thirdparty/DBoW2
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make

cd ../../g2o
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make

# ORB-SLAM3 빌드
cd ../../../
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make

 

 

3. ROS 패키지 생성 및 빌드

ROS 패키지를 생성하고 ORB-SLAM3를 포함시킵니다.

cd ~/catkin_ws/src
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3
cd ~/catkin_ws
catkin_make

 

 

4. ROS 환경 설정

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bash_profile
source ~/.bash_profile

 

5. ORB-SLAM3 실행

ROS 노드를 사용하여 ORB-SLAM3를 실행합니다. 예제 데이터셋을 이용하여 테스트해봅니다.

rosrun ORB_SLAM3 Mono PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE PATH_TO_SEQUENCE_FOLDER

 

여기서 PATH_TO_VOCABULARY는 ORB-SLAM3의 단어장 파일의 경로, PATH_TO_SETTINGS_FILE은 설정 파일의 경로, PATH_TO_SEQUENCE_FOLDER는 테스트할 데이터셋의 경로입니다.

 

 

3. ORB-SLAM3를 이용한 Visual SLAM 테스트

1. 단어장 파일 다운로드

cd ~/ORB_SLAM3
wget https://github.com/UZ-SLAMLab/ORB_SLAM3/blob/master/Vocabulary/ORBvoc.txt.tar.gz
tar -xzvf ORBvoc.txt.tar.gz

 

2. 설정 파일 작성

%YAML:1.0
# 카메라 파라미터
Camera.fx: 535.4
Camera.fy: 539.2
Camera.cx: 320.1
Camera.cy: 247.6
Camera.k1: 0.0
Camera.k2: 0.0
Camera.p1: 0.0
Camera.p2: 0.0
Camera.width: 640
Camera.height: 480

 

3. 실행

rosrun ORB_SLAM3 Mono Vocabulary/ORBvoc.txt Settings.yaml PATH_TO_SEQUENCE_FOLDER

 

Visual SLAM의 최신 알고리즘을 구현하고 실습을 통해 최신 기술 동향을 이해할 수 있습니다. 이제 SLAM의 다양한 방법과 알고리즘을 실습하고 심화 학습할 준비가 되었습니다.

 
반응형