// it's for Latex

pages

[ Map merging ] #07. Install VINS-mono

일전의 실험을 통해 Visual SLAM에 Inertial 정보(IMU)를 포함할 필요를 느꼈다.
그러므로 VINS를 이용하여 실험을 진행해보고자 한다.


구동환경

OS : Ubuntu 16.04 LTS
ROS : Kinetic


1. Install eigen3


원래는 ceres-solver를 설치하는 것이 맞지만, 내 경우엔 ceres-solver를 설치하는 과정에 다음과 같은 에러가 떴다.


#Error!!
CMake Error at /home/kevin/src/ceres-solver/CMakeLists.txt:243 (find_package):
  Could not find a configuration file for package "Eigen3" that is compatible
  with requested version "3.3".

  The following configuration files were considered but not accepted:

    /usr/lib/cmake/eigen3/Eigen3Config.cmake, version: unknown

아무래도 eigen3의 버전이 3.3이어야 한다는 의미 같아서, eigen3의 버전을 확인해봤지만 내 버전은 3.3이다.

1
2
$ dpkg -s libeigen3-dev | grep 'Version'
Version: 3.3~beta1-2
cs

하지만 실제로 다음 경로의 폴더를 확인해보면 내 eigen3의 버전은 3.2.92 라는 것을 알 수 있다. 이 현상은 ubuntu 16.04 에서 나타나는 버그라고 한다.
(링크 참조 : https://github.com/ceres-solver/ceres-solver/issues/541 )

/usr/lib/cmake/eigen3/Eigen3Config.cmake

이 상황을 해결하기 위해서 다음 링크의 두번째 답변을 참고한다.

https://askubuntu.com/questions/1068232/how-to-update-libeigen3-to-version-3-3-on-16-04-xenial

정리하자면 다음과 같다.

아래 링크에서 아무 서버나 선택해 파일을 받은 뒤,

https://packages.ubuntu.com/bionic/all/libeigen3-dev/download

아래 명령어를 통해 eigen3를 설치해주면 된다.

sudo dpkg -i libeigen3-dev_3.3.4-4_all.deb

이 때, 주의할 점은 해당 파일이 ubuntu 18.04 (bionic) 용이란 것이다.
호환성에 문제가 있을까? 해보기 전엔 모르겠다.


2. Install ceres-solver


이제 다음 링크를 참조해 ceres-solver를 설치한다.

http://ceres-solver.org/installation.html

정리하자면 다음과 같다.

Start by installing all the dependencies.
# CMake
sudo apt-get install cmake
# google-glog + gflags
sudo apt-get install libgoogle-glog-dev
# BLAS & LAPACK
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev
# SuiteSparse and CXSparse (optional)
# - If you want to build Ceres as a *static* library (the default)
#   you can use the SuiteSparse package in the main Ubuntu package
#   repository:
sudo apt-get install libsuitesparse-dev
# - However, if you want to build Ceres as a *shared* library, you must
#   add the following PPA:
sudo add-apt-repository ppa:bzindovic/suitesparse-bugfix-1319687
sudo apt-get update
sudo apt-get install libsuitesparse-dev
We are now ready to build, test, and install Ceres.
tar zxf ceres-solver-1.14.0.tar.gz
mkdir ceres-bin
cd ceres-bin
cmake ../ceres-solver-1.14.0
make -j3
make test
# Optionally install Ceres, it can also be exported using CMake which
# allows Ceres to be used without requiring installation, see the documentation
# for the EXPORT_BUILD_DIR option for more information.
make install


3. Install VINS-mono


다음 경로를 참고해 VINS-mono를 설치한다.

https://github.com/HKUST-Aerial-Robotics/VINS-Mono

정리하면 다음과 같다.

Clone the repository and catkin_make:
    cd ~/catkin_ws/src
    git clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono.git
    cd ../
    catkin_make
    source ~/catkin_ws/devel/setup.bash

4. Run VINS-mono with EuRoC

VINS-mono에서는 EuRoC Datasets과 함께 프로그램을 돌리는 기능을 제공한다.
아래 명령어를 통해 수행할 수 있다.

    roslaunch vins_estimator euroc.launch 
    roslaunch vins_estimator vins_rviz.launch
    rosbag play YOUR_PATH_TO_DATASET/MH_01_easy.bag 

수행을 하면 다음과 같은 결과를 확인할 수 있다.




























댓글 없음:

댓글 쓰기