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

Ubuntu18.04使用INDEMIND相机实时运行ORB_SLAM3 写在前面:本文旨在用最少的废话写INDEMIND运行ORB_SLAM3,但是篇幅依旧很长,因为他的坑太多了!请读者一定要认真看完每一行,我只写重点,尽量帮读者避坑。不使用ORB_SLAM3官方源码!强烈建议使用INDEMIND公司修改过的ORB_SLAM3代码,理由如下①官方源代码需要手动修改一部分代码②INDEMIND给出的ORB_SLAM3文件包中附带了sophus库,并在cmakelist指向了路径,自己搞很麻烦(sophus库需用模板类,自己弄的时候很麻烦) 阅读详情
AI摘要

本文详细记录了在Ubuntu20.04系统中,使用ROS集成INDEMIND的双目惯性模组进行视觉SLAM的开发过程,包括SDK的安装、ORB-SLAM3的配置以及依赖库如OpenCV3.4.3、MNN、Boost、EIGEN和Pangolin的安装步骤。在安装过程中解决了常见的问题,确保了ORB-SLAM3与SDK的兼容性,为ROS下运行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.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/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_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
在这里插入图片描述

(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

在这里插入图片描述

(记录)ORB-SLAM3跑自己的双目相机(ZED相机)数据 按照下面链接安装,注意版本为ORB-SLAM3-1.0 链接: link由于本人采集设备是windows系统,因此这边选择使用windows驱动 本部分参考 链接: link 进入官网下载https://www.stereolabs.com/developers/release/3.7 选择3.7版本的原因是新版本对应的python api代码有较大变动,网上参考过少。 默认安装到C:\Program Files (x86)\ZED SDK 路径下 可以使用C:\Program Files (x86)\ZE 阅读详情

相关推荐

惯性积计算实例_开讲啦丨INDEMIND双目视觉惯性模组DSO算法示例

本文涉及很多代码及文字,排版、文字错误请见谅。本文包含2185文字,阅读时间预计15分一.DSO1. DSO简介SDO是由德国慕尼黑工业大学Engel于2016年发布在arXiv上的一种基于直接法构建稀疏点云地图的视觉里程计(VIO)。它联合优化了所有模型参数(相机位姿、内参矩阵、几何参数、逆深度值)的直接法模型,并在优化过程中用滑动窗口对旧的相机位姿以及离开相机视野的点进行边缘化。但它不是完整的...

weixin_35935279的博客 568

ROS平台下INDEMIND双目惯性模组SDK教程

实验室做视觉SLAM需要IMU相机,购入INDEMIND双目惯性模组运行多模态融合的感知定位。双目惯性模组 SDK1.4.2 版本改进了不少,官网上关于ROS环境下的教程十分简略,直接按照官网的步骤无法实现相机数据读取并发布到指定的topic上,于是把自己的安装过程记录下来,方便以后查阅。

极客园地 2125

未找到支持的编译器或 sdk_SDK常见问题(二):开源算法篇

不久之前,小D为大家汇总了INDEMIND双目视觉惯性模组的SDK下载、安装、Demo编译等方面的常见问题(点此查看)。最近,小D又为大家总结了一些关于开源SLAM算法的问题及解决方法,希望能对各位小伙伴有所帮助。一、SDK相关划重点!SDK可用平台包括:X86架构的 Windows 10、Ubuntu 16.04、Ubuntu 18.04,ARM架构平台只支持获取模组数据,无法使用IN...

weixin_42316952的博客 460

indemind_sdk_environment_setup.md

按照Indemind官方文档操作: 首先打开Software & Updates程序,确保系统更新打开,如果不打开,很多软件不能自动安装 sudo apt-get update sudo apt-get upgrade sudo apt-get install cmake sudo apt-get install libgoogle-glog-dev sudo apt-get install libatlas-base-dev sudo apt-get install libsuitesparse-

weixin_42312323的博客 359

ORB-SLAM2项目实战(1) — ORB_SLAM2安装与编译报错的解决办法

ORB_SLAM2安装与编译报错的解决办法

几度春风里的博客 7083

HyperLPR3车牌识别-Android-SDK光速部署与使用

基于深度学习高性能中文车牌识别 High Performance Chinese License Plate Recognition Framework.快速部署AndroidSDK

tunm 6118

的run代码_更新丨一键式实时ORB教程(内附代码文件链接)

本文涉及很多代码及文字,排版、文字错误请见谅。阅读时间预计10分钟不久之前,我们更新了INDEMIND双目惯性模组在ROS平台下实时运行ORB-SLAM的教程与Demo,但很多小伙伴根据教程修改后仍运行出错,这次我们把修改好的代码及文件上传至GitHub,各位同学可直接下载编译执行GitHub 链接:https://github.com/INDEMINDtech/run.ORB一:环境介...

weixin_30848953的博客 253

使用VLC库实现视频播放器(WPF版)

使用wpf制作一个视频播放器 一、 LibVLCSharp介绍 LibVLCSharp是基于VideoLAN的LibVLC库的.NET平台的跨平台音频和视频API。它提供了一个全面的多媒体API,可以跨移动、服务器和桌面使用,以呈现视频和输出音频。支持Mono、.NET Framework和.NET核心运行时。在vs工具中,只需要安装截图中得两个nuget包。 二、视频播放器的实现 视频播放器的实现需要用到两个比较nuget包中提供的类,MediaPlayer类。MediaPlayer类型用于控

cangqiongxiaoye的博客 1万+

使用Indemind双目模组跑ORB_SLAM3

文章目录Indemind双目模组跑通ORB_SLAM31.下载源码编译2.ROS编译错误3.配置文件Indmeind跑ORB_SLAM3的VIO1.按照ORB_SLAM3正常编译即可2.运行Indemind双目模组跑ORB_SLAM3实测 Indemind双目模组跑通ORB_SLAM3 首先感谢作者的贡献与开源。ORB_Slam3的介绍不做叙述,这里只对编译过程做出详细介绍。ORB_Slam3的介绍创新有时间在更新。 1.下载源码编译 ORB_SLAM3地址 纯视觉或加IMU跑Euroc数据集效果很好。 纯

weixin_43922139的博客 7287

PostgreSQL+PostGIS实战:5分钟搞定Shapefile数据导入(附避坑指南)

本文详细介绍了如何使用PostgreSQL和PostGIS快速导入Shapefile空间数据,包括5分钟标准流程和常见问题解决方案。通过实战案例和避坑指南,帮助GIS工程师高效处理矢量数据导入中的编码、几何类型、坐标系等典型问题,提升空间数据库管理效率。

weixin_42565652的博客 399

RK3588平台开发系列讲解(硬件篇-功能外设2)

RK3588 芯片内置两个USB3.0 OTG控制器(内嵌2个USB2.0 OTG,下图绿色处),1个USB3.0 HOST 控制器,2个USB2.0 HOST控制器。这些控制器与PHY的内部复用图如下:USB3.0 OTG0 控制器支持SS/HS/FS/LS, 内嵌的USB2.0(HS/FS/LS)信号采用USB2.0 OTG PHY, 信号名见下图的红色方框内;RK3588目前仅此接口支持做Fireware的Download,应用中请务必要预留出。

whm128的博客 2508

ORB_SLAM3 + INDEMIND 双目惯性相机实时运行(Ubuntu 18.04)

Ubuntu 18.04,ORB_SLAM3 + INDEMIND相机,实时运行双目惯性SLAM。

qq_68717863的博客 2425

精通 Android NDK/JNI:从入门到精通实战与面试精粹

在Android开发中,

郑伟强dev的专栏 144

从零开始丨INDEMIND双目视觉惯性模组ROS平台ORB-SLAM教程及记录

本文涉及很多代码及文字,排版、文字错误请见谅。 阅读时间预计30分钟 本文涉及图像、数据均由INDEMIND双目视觉惯性模组采集 文章目录一:环境介绍二:下载SDK及ORB-SLAM源码三:修改源码1 . 源码路径2 . 修改stereo_euroc.cc文件1)将其橙色区域改成2)添加时间转换函数3)删除LoadImages函数4)添加回调函数imagelCallback5)添加show_ORB...

weixin_43922139的博客 4183

Excel 汉字首字母提取:四种方案对比与选型

本文对比了 Excel 中提取汉字首字母的四种方案:手动转换、VBA 脚本、映射表与 AI 工具。手动方式低效易错;VBA 适合无网环境但识别范围有限;映射表精度提升却无法解决多音字;AI 工具通过语义理解可一句话完成提取,是多数场景下的首选。

u011186532的专栏 395

R数据分析:潜在剖面分析LPA的做法与解释

Latent Profile Analysis (LPA) tries to identify clusters of individuals (i.e., latent profiles) based on responses to a series of continuous variables (i.e., indicators). LPA assumes that there are unobserved latent profiles that generate patterns of resp.

Codewar的博客 1万+

ros重置后地址_从零开始丨INDEMIND双目惯性模组ROS平台下实时ORB-SLAM记录教程

本文涉及很多代码及文字,排版、文字错误请见谅。阅读时间预计30分钟本文涉及图像、数据均由INDEMIND双目视觉惯性模组采集为了防止各位同学修改出错,我们把修改好的代码及文件上传至GitHub,各位同学按教程修改后,可根据我们提供的代码进行对比,确保万无一失,GitHub连接:https://github.com/INDEMINDtech/ORB-SLAM2-​github.com一:环境介绍系统...

weixin_39862697的博客 457

【数据集实例】CMIP6气候模式数据下载-以河东地区为例

以河东地区为例,介绍CMIP6数据下载及处理

WW、forever的博客 4936

INDEMIND相机运行VINS-slam

所需资源:imsee-sdk & vnis-mono 相机/imutopic: 基于indemind官网提供的sdk:https://imsee-sdk-docs.readthedocs.io/zh/latest/来创建基于ros的topic。 IMSEE-SDK slam: VINS-Mono 使用步骤:

weixin_41469272的博客 2605

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

从SLAM到视觉识别、VIO,大牛分享!

用户分享汇总目录01.双目惯性模组的初探与实践02.通过驱动字写数据采集程序03. INDEMIND双目惯性相机运行MSCFK04.利用开源识别算法进行车牌检测05. 双目惯性模组导航项目分享项目简介:车体结构:技术简介· 实验测试:总结:活动: INDEMIND双目视觉惯性模组创意征集活动,自启动以来受到了很多用户的积极响应,小D也受到了很多充满脑洞与创意的项目,今天为大家分享一下: 01.双目...

weixin_43922139的博客 1668

ros重置后地址_从零开始丨ROS平台下运行实时ORB教程及Demo

本文涉及很多代码及文字,排版、文字错误请见谅。阅读时间预计30分钟本文涉及图像、数据均由INDEMIND双目视觉惯性模组采集一:环境介绍系统:Ubuntu 16.04 ROSORB依赖库:Pangolin、OpenCV、Eigen3、DBoW2、g2o,ros二:下载SDK及ORB-SLAM源码下载地址:SDK:http://indemind.cn/sdk.htmlORB-SLAM:ht...

weixin_39775577的博客 243

github下的代码怎么运行_从零开始丨ROS平台下运行实时ORB教程及Demo(内附代码文件链接)...

本文涉及很多代码及文字,排版、文字错误请见谅。阅读时间预计30分钟本文涉及图像、数据均由INDEMIND双目视觉惯性模组采集前两天,我们更新了INDEMIND双目惯性模组在ROS平台下实时运行ORB-SLAM的教程与Demo,但很多小伙伴根据教程修改后仍运行出错,这次我们把修改好的代码及文件上传至GitHub,各位同学按教程修改后,可根据我们提供的代码进行对比,确保万无一失。GitHub...

weixin_39662955的博客 1100

qmake 编译项目时 error adding symbols dso_开讲啦丨双目惯性模组运行DSO算法示例

本文涉及很多代码及文字,排版、文字错误请见谅。本文包含2185文字,阅读时间预计15分钟一.DSO1. DSO简介SDO是由德国慕尼黑工业大学Engel于2016年发布在arXiv上的一种基于直接法构建稀疏点云地图的视觉里程计(VIO)。它联合优化了所有模型参数(相机位姿、内参矩阵、几何参数、逆深度值)的直接法模型,并在优化过程中用滑动窗口对旧的相机位姿以及离开相机视野的点进行边...

weixin_39559079的博客 326

D435i ORB_SLAM3 for ubuntu

包含官方和自制数据集,实时检测有时可能会卡死,建议录制成ros包

d121028379的博客 361

2023年度学习总结

我被优快云认证为博客专家啦!这也算是C站对我创作能力的认可。从大一开始在优快云写作,坚持至今。刚开始写博客只是当作一个学习笔记,把学到的东西记录下来,方便以后重复学习。渐渐地,随着写技术的深度增加,访问量也越来越多,自己的写作能力也慢慢地有所提高。就这样,访问量的提高,粉丝的好评,也让自己的自信心逐渐提高,于是形成了一个良性循环,从而越写越好,越写越多。C站记录了我关于技术的成长,之后的计划是出版一本关于技术的书。十年饮冰,难凉热血。学以致知,然后学以致用。幸运的是,曾经的菜鸟像鸵鸟一样把头扎进沙漠,

极客园地 2426

近十年的VI-SLAM算法综述与发展(附链接)

本文转载自INDEMIND,作者半不闲居士@优快云。文章仅用于学术分享。 本文约7000字,建议阅读14分钟 本文为作者在从事Slam相关工作中对这几年遇到以及改进过相关VIO算法内容总结。1、背景介绍一个完整的 SLAM(simultaneous localization and mapping) 框架包括传感器数据、 前端、 后端、 回环检测与建图,如图1所示,其中...

数据派THU 477
上一篇: Unity API详解——Matrix4x4类
下一篇: Unity API详解——Object类
极客范儿
极客范儿 新星创作者: 游戏开发技术领域 新星创作者: 游戏开发技术领域 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄12年 1万+粉丝 341原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

极客范儿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值