알파카농장

ORB-SLAM3 환경 구축 및 실행법 본문

SLAM

ORB-SLAM3 환경 구축 및 실행법

갱파카 2022. 11. 25. 18:10

Visual SLAM의 바이블이라 볼 수 있는 ORB-SLAM 시리즈 중 가장 최근 것인 ORB-SLAM3에 대한 환경을 구축해보기로 했다.

SLAM 쪽으로 연구를 시작해보고 싶다고 이제 막 분야를 잡은 터라, 여러 논문을 보면서 탐색을 하고 있는데, ORB SLAM2를 베이스로 삼는 연구들이 진짜 많았다. ORB-SLAM3 환경 구축을 시작하던 때는 ORB-SLAM2랑 3 간에 어떤 차이가 있는지도 모르고 일단 눈 앞에 돌아가는 코드들이 있으면 SLAM을 조금 더 알아갈 수 있겠지 라는 생각을 하며 다짜고짜 시작해버리기 .. ^^

 

(내가 처음 시작해보고 싶은 건 Visual SLAM이라 ORB SLAM2를 다시 깔긴 해야 한다..!)

잡설이 좀 길었습니당... 


ORB-SLAM2 : Visual SLAM
ORB-SLAM3 : Visual-Inertial SLAM

https://github.com/nindanaoto/ORB_SLAM3 

 

GitHub - nindanaoto/ORB_SLAM3: ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM

ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM - GitHub - nindanaoto/ORB_SLAM3: ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and...

github.com

 

깃허브에 들어가서, 쭈루룩 훑어보면, 2. Prerequisites 부분이 있다.

읽어보면, 깔아야 할 Thirdparty들이 진짜 많은데 Pangolin이라는 3D visualization을 위한 라이브러리가 있는데, 이 라이브러리가 나를 속상하게 했다.. 그리고 심지어 Pangolin 깃헙 들어가서 패키지 빌드업하려고 해도 잘 안되고,, 그래서 여러 트라이를 해보다가 실패했는데 (2주 전쯤 트라이를 했는데 어떤 명령어를 쳤는지도 까먹음), 검색하다가 

 

https://blog.csdn.net/qq_38364548/article/details/122325632

 

Ubuntu18.04 —— 新系统从头安装ORB-SLAM3过程(2022年)_@曾记否的博客-CSDN博客_orbslam3安装

一、下载ORB-SLAM3 #具体安装那一版,得具体问题具体分析,我前两版都没成功 #git clone https: #git clone https: git clone https: 注意(重要) 在用master和v1.0-release进行安装时,到最后没有运行界面的动画

blog.csdn.net

중국인분께서 작성한 홈페이지를 만나게 되었다. 

이 웹페이지에 따르면,, 

" master branch를 사용하게 되면 대충 bug가 있을 수 있으니, v0.4-beta 버전을 사용해보라"는 내용.. 

그리고 Pangolin도 master branch 말고 v0.5로 사용하는 것 같아서, 똑같이 따라했더니 ORB-SLAM3이 잘 돌아가는 것을 확인해볼 수 있었다.

1. C++ 기능 지원 컴파일러 설치

sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install build-essential
sudo apt-get install cmake
sudo apt-get install git

2. Pangolin 설치

sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglew-dev
sudo apt-get install libpython2.7-dev
sudo apt-get install pkg-config 
sudo apt-get install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols

git clone https://github.com/stevenlovegrove/Pangolin/tree/v0.5.git
cd Pangolin && mkdir build 
cd build
cmake ..
cmake --build .
sudo make install

그리고 OpenCV, Eigen, Boost 등을 차례대로 깔아주면 된다.

sudo apt-get install libopencv-dev --fix-missing #version 3.2.0

sudo apt-get install libeigen3-dev --fix-missing #version 3.3.4-4

sudo apt-get install libboost-system-dev
sudo apt-get install libboost-all-dev
sudo apt-get install openssl
sudo apt-get install libssl-dev

그리고 ORB_SLAM3 마지막으로 build하기..

cd ORB_SLAM3-0.4-beta
chmod +x build.sh
./build.sh

그렇게 에러 없이 도착했다면,, ORB_SLAM3 환경 구축에 성공한거다. 

나는 라이브러리 때문에 삽질을 했지만 구축하시는 분들은 삽질이 없으셨으면..

 

그리고 마지막으로, 

cd Examples
./Monocular/mono_euroc ../Vocabulary/ORBvoc.txt ./Monocular/EuRoC.yaml ../DataSets/EuRoC/MH01/ ./Monocular/EuRoC_TimeStamps/MH01.txt

 

그러면 이런 화면을 볼 수 있다. 그럼 Intrinsic Matrix 값들과 ORB Extractor의 파라미터들과 함께 프레임당 특징점과 매핑되는 과정을 확인해볼 수 있다. 

 

나는 너무 공부하는 것 없이 다짜고짜 시작한 거라 아직 저 로그들을 이해할 수 없지만.. 추후에 ORB_SLAM2 빌드업할 때는 이해할 수 있겠지. 쨌든 코너와 선 위주로 특징을 뽑아내는 ORB 추출자를 사용하다보니 객체에서 뽑혀진 특징점들이 그런 부분인 것도 확인해 볼 수 있었다.

 

내가 이걸로 더 공부해야 할 건?

 

1. ORB의 개념

2. ORB_SLAM2, ORB_SLAM3 리뷰 및 개선점

 

갈 길이 멀다.. 하지만 늦지 않았다. 화이팅.!

 

참고하면 좋은 블로그 >

https://taeyoung96.github.io/slamtip/ORBSLAM3_build/

 

ORB-SLAM3 빌드 및 실행 (Ubuntu 18.04)

Ubuntu 18.04에서 ORB-SLAM3를 빌드 및 실행해보자!

taeyoung96.github.io

SLAM 공부를 하다보면 태영님의 블로그를 참 많이 접하게 되는 것 같다. 

나도 열심히 공부하고 내가 습득한 지식을 공유할 수 있는 사람이 되어야지! 

'SLAM' 카테고리의 다른 글

VINS-MONO 환경 구축 및 실행법  (1) 2022.11.25