> 文章列表 > INDEMIND双目惯性模组运行实时ORB-SLAM3教程

INDEMIND双目惯性模组运行实时ORB-SLAM3教程

INDEMIND双目惯性模组运行实时ORB-SLAM3教程

现在实验室视觉SLAM已经不够满足,所以需要多模态融合,正巧购入高翔博士推荐的INDEMIND双目惯性模组,根据官方例程在中使用ros接入ORB-SLAM3INDEMIND的双目鱼眼+imu模组,这回有SDK及ORB-SLAM3安装过程中的各种常见性问题解决方法及安装细节,与官网教程略有不同,列举所有默认安装的依赖,做以记录。

文章目录

    • 实验环境
    • 一、SDK安装
      • 1、SDK下载及准备安装
      • 2、安装依赖
      • 3、然后使用git下载 SDK
      • 4、准备安装SDK需要的依赖
      • 5、OpenCV3.4.3安装
      • 6、MNN安装
      • 7、SDK测试
        • (1)编译样例
        • (2)执行demo
    • 二、ORB-SLAM3安装
      • 1、安装ROS环境
      • 2、环境配置
        • (1)安装库
        • (2)安装cv_bridge库
        • (3)安装EIGEN库
        • (4)安装Pangolin库
          • ①下载Pangolin 0.6
          • ②安装依赖项
          • ③编译安装
          • ④验证
        • (5)安装Boost库
        • (6)安装替换

实验环境

系统 版本
ubuntu 20.04
ROS noetic
IMSEE-SDK 1.4.2
OpenCV 3.4.3
protobuf 3
MNN 3.4.3
Boost 1.81
Eigen 3.2.92
Pangolin 0.6

一、SDK安装

1、SDK下载及准备安装

官方产品手册地址

2、安装依赖

sudo apt-get install build-essential cmake git

3、然后使用git下载 SDK

git clone https://github.com/indemind/IMSEE-SDK.git

4、准备安装SDK需要的依赖

cd /home/geekfanr/catwin_ws/src/IMSEE-SDK
make init

5、OpenCV3.4.3安装

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
git clone https://github.com/opencv/opencv.git
cd opencv/
git checkout tags/3.4.3mkdir build
cd build/cmake \\
-DCMAKE_BUILD_TYPE=RELEASE \\
-DCMAKE_INSTALL_PREFIX=/usr/local \\
\\
-DWITH_CUDA=OFF \\
\\
-DBUILD_DOCS=OFF \\
-DBUILD_EXAMPLES=OFF \\
-DBUILD_TESTS=OFF \\
-DBUILD_PERF_TESTS=OFF \\
..make -j4
sudo make install

6、MNN安装

sudo apt-get install autoconf automake libtool
sudo apt-get install libcanberra-gtk-module

MNN依赖protobuf

git clone https://github.com/google/protobuf.git
cd protobuf
git submodule update --init --recursive
./autogen.sh
./configure
make
make check
sudo make install
sudo ldconfig # refresh shared library cache.

autogen文件连接速度不理想,网盘自取

autogen.sh文件
519w

把protobuf的src目录下的hello.cMakefile.am文件拷贝到本机protobuf的src目录

protoc --version # 若安装成功,将显示protoc版本
git clone https://github.com/alibaba/MNN.git
cd MNN
./schema/generate.sh
mkdir build
cd build
cmake ..
make -j4
sudo make install

完成这些步骤,SDK就安装完毕了

7、SDK测试

(1)编译样例

cd /geekfanr/catkin_ws/src/IMSEE-SDK  # <IMSEE-SDK> 为安装的SDK具体路径
make init

(2)执行demo

在CMakeLists.txt中添加

set( CMAKE_CXX_STANDARD 14)

在这里插入图片描述

cd /geekfanr/catkin_ws/src/IMSEE-SDK  # <IMSEE-SDK> 为安装的SDK具体路径
make demo

在这里插入图片描述

cd /home/geekfanr/catkin_ws/src/IMSEE-SDK/demo/output/bin
sudo su 
./get_image 

在这里插入图片描述

二、ORB-SLAM3安装

1、安装ROS环境

小鱼老师把国外关于ROS的库放到了自己的服务器上,所以只用向他的服务器发送命令就能快速安装

安装ROS系统配置比较复杂,Ubuntu20.04对应ROS版本为noetic,推荐使用小鱼老师的一键安装、配置ROS的代码

wget http://fishros.com/install -O fishros && bash fishros

在这里插入图片描述
平时使用都是ROS1,ROS2是ROS1的改进版本,支持多机,分布式,暂时不会使用。

在这里插入图片描述
在这里插入图片描述

2、环境配置

(1)安装库

安装git,g++

sudo apt-get install git
sudo apt install g++

建议先安装ROS中的cv_bridgelibopencv-dev,再安装和libopencv版本号一样的opencv库,这样可以避免opencv的版本冲突问题。

(2)安装cv_bridge库

sudo apt-get install libopencv-dev
sudo apt-get install ros-noekit-cv-bridge

在这里插入图片描述

(3)安装EIGEN库

sudo apt-get install libeigen3-dev

在这里插入图片描述

(4)安装Pangolin库

①下载Pangolin 0.6

解压到主目录,重新命名为Pangolin
在这里插入图片描述

②安装依赖项
sudo apt-get install libglew-dev libboost-dev libboost-thread-dev libboost-filesystem-dev
sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libpng-dev

在这里插入图片描述

③编译安装
cd Pangolin 
mkdir build && cd build
cmake -DCPP11_NO_BOOST=1 ..
make

在这里插入图片描述

sudo make install

在这里插入图片描述

④验证
cd ../examples/HelloPangolin
mkdir build && cd build
cmake ..

在这里插入图片描述

make
./HelloPangolin
#成功会弹出如下窗口

在这里插入图片描述
在这里插入图片描述

(5)安装Boost库

①这里非常坑,官网上的依赖没有boost,但如果不安装boost会报很多的关于c++的错误,并且无法定位

②进入boost官网网址:http://www.boost.org/users/download/

③解压编译安装

tar -xvf boost_1_77_0.tar.gz
cd ./boost_1_77_0
./bootstrap.sh
sudo ./b2 install

(6)安装替换

ORB-SLAM3依赖的opencv是4.4以上的版本,而Indemind的sdk使用的是3.4.3版本。
在这里插入图片描述

因此,需要修改ORB-SLAM3的工程,打开ORB-SLAM3工程的cmakelist.txt,将OpenCV3.4.3替换OpenCV 4.2.0
在这里插入图片描述
进行编译
在这里插入图片描述