https://github.com/UZ-SLAMLab/ORB_SLAM3
의 dependencies를 설치해줬다,
사실 다 하지는 않았고,
1. C++11 컴파일러 설치를 확인
gcc -V 로 C++11 컴파일러 설치를 확인했다. (이전에 build-essential로 설치했다.)
2. Pangolin 설치 확인
시키는 대로 설치하고 ctest까지 해줘서 명령문이 실행되는 것을 확인해줬다.
3. OpenCV
c++용 opencv를 깔아야 한다.
https://www.youtube.com/watch?v=6pABIQl1ZP0&t=72s&ab_channel=ProgrammingKnowledge
http://www.codebind.com/cpp-tutorial/install-opencv-ubuntu-cpp/
문제가 발생한 부분이다. ORB-SLAM3는 python2.7 정도에서 실행이 되는데, 참고로 python2.7은 opencv 4.2까지 지원한다.
그리고 github 설명서에는 다음과 같이 써있다. 'equired at leat 3.0. Tested with OpenCV 3.2.0 and 4.4.0.'
그런데, 아래와 같이 OpenCV > 4.4 not found 라는 에러가 떴다. 이에 대한 해결은 나중에 하기로 하고, 나머지 dependencies에 대해서 확인해보기로 했다.
4. Eigen3
이것은 sudo apt-get install libeigen3-dev 라는 명령어로 간단히 설치할 수 있는데, 나는 이전에 설치한 적이 있어서 확인만 하고 넘어갔다.
pkg-config --modversion eigen3 라는 명령어로 eigen3의 버전이 출력되면 설치된 것으로 확인하고 넘어갈 수 있다. 이것이 eigen3의 버전일거라고 믿고 간다(출처: https://sunggoo.tistory.com/36)
5. DBoW2 and g2o(Included in Thirdparty folder)
써드파티라는 폴더에 포함되었다고 하여 그냥 다른 조치 없이 넘어간 후에 ORB_SLAM3 빌드할 때에 자동으로 빌드되는 것을 확인했다.
6. Python
sudo apt install libpython2.7-dev
데비안 계열에서는 다음과 같은 명령어로 설치했는데, numpy까지 설치하자 에러가 OpenCV 하나만으로 줄어들었다.
추가로 다른 사람의 사례를 보고 python을 2.7.17로 설치했다.
libpython2.7-dev가 뭔지 몰라 찾아보니, https://packages.ubuntu.com/bionic-updates/libpython2.7-dev에 따르면 libpython2.7-dev는 Header files and a static library for Python (v2.7) 였다. 그러니, 나는 아나콘다로 여러개의 가상환경을 사용하는데, 이 가상환경(이름을 slam)이라고 지어주었다)에서는 python=2.7.17로 설치하는 것이 오류를 발생하지 않는 안전한 길 같았다. 하지만, opencv version이 3.0이상이면 된다는 설명과 다르게 실제 Build 시에는 4.4 버전 이상을 요구하고 있었다.
7. ROS(optional)
로스는 옵션이라 선택하지 않았다. 쓸 줄도 잘 모른다.
앞으로의 계획:
python을 막무가내로 최신버전으로 끌어올리고 6에서 설치한 libpython2.7-dev와 오류가 안나는지, 그렇게 opencv버전을 올려서 설치하면 잘 build 되는지를 확인해보겠다.
'건축 컴퓨터 비전 > ORB-SLAM3' 카테고리의 다른 글
slam 실행 전 libpango_display.so: cannot open shared object file: No such file or directory (0) | 2022.08.05 |
---|---|
c++ gdb 디버깅중 vector size가 음수인 문제(c++ gdb vector size minus) (0) | 2022.07.17 |
ORB SLAM Custom data, debugging (0) | 2022.07.15 |
ORB-SLAM3 카메라 캘리브레이션2 (0) | 2022.07.08 |
ORB-SLAM3 카메라 캘리브레이션 (0) | 2022.07.06 |