Ubuntu18.04使用INDEMIND相机实时运行ORB_SLAM3

      主页里有ubuntu20.04使用INDEMIND实时运行ORB_SLAM3,除非你是有别东西必须要用20.04,否则非常不建议使用20.04来跑这个东西!

       写在前面:本文旨在用最少的废话写INDEMIND运行ORB_SLAM3,但是篇幅依旧很长,因为他的坑太多了!请读者一定要认真看完每一行,我只写重点,尽量帮读者避坑。
       不使用ORB_SLAM3官方源码!使用INDEMIND公司修改过的ORB_SLAM3代码(该公司对ORB_SLAM3代码做了修改,但是不触及算法部分,只是修改了比如接收相机/imu话题、标定参数、Cmakelist等)链接:https://github.com/INDEMIND/ORB-SLAM3-Course
强烈建议使用INDEMIND公司修改过的ORB_SLAM3代码,理由如下
①官方源代码需要手动修改一部分代码
②INDEMIND给出的ORB_SLAM3文件包中附带了sophus库,并在cmakelist指向了路径,自己搞很麻烦(sophus库需用模板类,自己弄的时候很麻烦)
③ORB_SLAM3代码需要加入相机/imu的接收代码,以捕获相机/imu的话题,以及标定参数、设置opencv版本等等等很多设置都其公司都给改好了,省去很多操作,自己来改的非常容易失败

目录

一、相机SDK安装

1、安装依赖

2、安装opencv3.4.3

3、安装protobuf和MNN

4、创建ROS工作空间

5、编译SDK

二、编译ORB_SALM3

1、安装Eigen库

2、安装boost1.77

3、安装pangolin0.6(必须这个版本)

4、Cv_bridge(这一步可先跳过,后面出错再来看,否则会搞坏环境)

5、创建工作空间

三、运行

1、启动相机

2、启动ORB_SLAM3


环境与依赖:
Ubuntu18.04(使用的计算机为工控机)、Opencv3.4.3(唯一解)pangolin0.6(唯一解)、Boost、Eigen、protobuf、MNN、相机接在USB3.0
Opencv3.4.3是刚需,唯一解,这是官方给出的解释Ubuntu18.04使用INDEMIND相机实时运行ORB_SLAM3_第1张图片

关于jetson:官方表示仅支持xavier nx。我们用NANO测试过不行(按理说架构一样是可以的,但是不会操作,问客服,不理人


一、相机SDK安装

1、安装依赖

sudo apt-get install build-essential cmake git

2、安装opencv3.4.3

Opencv依赖

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

Opencv安装

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

git checkout tags/3.4.3的作用是将下载下来的最新版本回滚到3.4.3,
当然也可以去官网直接下载3.4.3

3、安装protobuf和MNN

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

MNN依赖与protobuf,所以要先安装protobuf再安装MNN
Protobuf一般自带了,用指令看一下自己有没,没有的话百度一下怎么下载

protoc --version # 若安装成功,将显示protoc版本

Protobuf解决后安装MNN

你可能感兴趣的:(linux,机器人)