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

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

实验环境

系统版本
ubuntu20.04
ROSnoetic
IMSEE-SDK1.4.2
OpenCV3.4.3
protobuf3
MNN3.4.3
Boost1.81
Eigen3.2.92
Pangolin0.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/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.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/IMSEE-SDK  # <IMSEE-SDK> 为安装的SDK具体路径
make init
(2)执行demo

在CMakeLists.txt中添加

set( CMAKE_CXX_STANDARD 14)

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

(3)ROS准备
wget https://raw.githubusercontent.com/oroca/oroca-ros-pkg/master/ros_install.sh && \
chmod 755 ./ros_install.sh && bash ./ros_install.sh catkin_ws noetic

在这里插入图片描述

cd /home/geekfanr/IMSEE-SDK  # <IMSEE-SDK> 为SDK具体路径
make ros

在这里插入图片描述

二、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
在这里插入图片描述

(7)进行编译

①编译ORB-SLAM3

cd /home/geekfanr/catkin_ws/src/ORB_SLAM3
chmod +x build.sh
./build.sh

在这里插入图片描述

②编译ROS下ORB-SLAM3

加入ROS节点非常重要,否则编译的时候就找不到所需要的ros_wrapper包
将节点添加ROS环境

source /home/geekfanr/IMSEE-SDK/ros/devel/setup.bash

在这里插入图片描述

cd /home/geekfanr/catkin_ws/src/ORB_SLAM3
chmod +x build_ros.sh
./build_ros.sh

三、运行程序

1、启动ROS Wrapper

cd IMSEE-SDK/
sudo su #开启权限模式
source ros/devel/setup.bash
roslaunch imsee_ros_wrapper start.launch

在这里插入图片描述

2、在ROS下运行ORB-SLAM3

rosrun ORB_SLAM3 Stereo_Inertial Vocabulary/ORBvoc.txt Examples/ROS/ORB_SLAM3/Indemind_stereo_imu_fisheye.yaml ture

在这里插入图片描述

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客范儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值