现在实验室视觉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.3
mkdir 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.c
和Makefile.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_bridge
和libopencv-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
进行编译