避坑:利用zed2运行ORB-SLAM3(保姆级教程)(一)

电脑:Dell G3 3590,空白状态
目标:让我的电脑可以实时的利用zed2运行ORB-SLAM3

第一步:安装ubuntu18.04系统
如果已经安装过了ubuntu系统可以跳过。如果没有ubuntu启动盘,需要先去搜索一下ubuntu启动盘如何制作。
好了,开始:
首先搜索自己的电脑怎么进入BIOS模式,我的事dell的所以出现开机界面,我按F2就可以了,选择自己的u盘,把别的选项(电脑的硬盘等)都给取消勾选,点击Apply,然后Exit
这时候系统会进入ubuntu安装模式

  1. 选择中文简体
  2. 键盘选择,英文美国
  3. 不连接网络,这一步很重要,如果连接网络容易出错
  4. 点击正常安装
  5. 选择清空磁盘重新安装ubuntu1804
    下面的步骤好像是没了,等待就可以啦

第二步:安装ORB-SLAM3依赖

  1. 安装g++ sudo apt install g++
  2. 安装cmake sudo apt install cmake
  3. 安装Pangolin
    两种下载方式:
    第一种方式:git clone
cd ~/your_fav_code_directory(要安装的目录)
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin 

第二种方式:
打开 https://github.com/stevenlovegrove/Pangolin
下载整个源码库,然后unzip
下面正式安装Pangolin

cd Pangolin 
mkdir build
cd build
安装pangolin依赖库
sudo apt update
sudo apt upgrade
sudo apt install libglew-dev libboost-dev libboost-thread-dev libboost-filesystem-dev libeigen3-dev -y 
然后开始安装Pangolin
cmake ..
make -j4/make
make install/sudo make install

如果出现:Pangolin在cmake时报“Could NOT find GLEW”错误
参考这一个方法:https://blog.csdn.net/studyvcmfc/article/details/123999521

  1. 安装opencv

官方说实验在opencv3.2和opencv4.4上测试的,我这里安装的opencv4.5.3,也没有问题
这里我推荐默认安装方式,如果不默认的话,假如说安装到指定的目录下了,这样在以后做一个工程的时候就需要在CMakeLists.txt中修改opencv路径
参考这一篇文章吧https://blog.csdn.net/qq_45831587/article/details/122621000
或者参考官方的指南:https://docs.opencv.org/4.5.3/d2/de6/tutorial_py_setup_in_ubuntu.html

  1. 安装Eigen3
sudo apt-get install libeigen3-dev
  1. 安装DBoW2
    打开:https://github.com/UZ-SLAMLab/ORB_SLAM3
    下载整个ORB-SLAM3文件,或者
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3
解压以后
cd ORB-SLAM3-master/Thirdparty
cd DBoW2
mkdir build
cd build
cmake ..
make -j4/make -j(自己的内核)

期间可能会报错 fatal error: boost/serialization/serialization.hpp
参考这一篇博客吧
https://blog.csdn.net/qq_38204686/article/details/114639824
,里面会有具体的解决方案
原因就是缺少相关的依赖库,遇到这种问题不要慌
没有什么是一行指令解决不了的
如果有那就再来一行

  1. 安装g2o
cd ORB-SLAM3-master/Thirdparty/g2o
mkdir build
cd build
cmake ..
make -j4/make -j(自己的内核)
  1. 编译ORB-SLAM3
cd ORB-SLAM3-master
mkdir build
cd build
cmake ..
make -j8

期间可能会出错fatal error: openssl/md5.h: No such file or directory
原因是缺少依赖库
执行下一行命令

sudo apt install libssl-dev

如果出现c++: internal compiler error: Killed (program cc1plus)

进入root
sudo su
然后再make一下
  1. 安装python依赖
sudo apt install libpython2.7-dev
  1. 最后运行 build.sh文件

如果没有报错,就证明ORB-SLAM3可以运行了,这时候就可以测试一下自己的数据集

第三步:安装ROS-melodic
没啥好说的
参考这一篇博客吧https://blog.csdn.net/qq_41450811/article/details/99079041

如果遇到错误cannot open roscore
执行命令

sudo apt install python-rosdep2

如果出现 bash: roscore: command not found,就再执行

sudo apt-get install ros-melodic-desktop-full

第四步:安装ZED-SDK和配套的东东

要运行zed2,首先看一下系统配置要求https://github.com/stereolabs/zed-ros-wrapper
在这里插入图片描述
1.下载SDK并安装https://www.stereolabs.com/developers/release/
下载以后

chmod +x 自己的文件

然后运行

./自己的文件

安装完成以后会提示需要安装SDK吗,这里选择n
然后会提示用不用安装cuda10.2
我们的原则就是只要是recommend就选yes

cuda很大,需要安装很久,提示一下,我自己装了梯子,所以国外的软件我都可以安装

  1. 安装好了以后,开始安装zed-ros-wapper
    参考这里:https://github.com/stereolabs/zed-ros-wrapper
cd ~/catkin_ws/src
git clone --recursive https://github.com/stereolabs/zed-ros-wrapper.git
cd ../
rosdep install --from-paths src --ignore-src -r -y
catkin_make -DCMAKE_BUILD_TYPE=Release
source ./devel/setup.bash

然后插上zed2相机,运行,会发现 success
这时候转动自己的相机,时间戳会有变化

roslaunch zed_wrapper zed2.launch

如果遇到-bash: rosdep cannot open问题

sudo apt install python-rosdep

如果遇到提示ModuleNotFoundError: No module named ‘em’
而且执行了命令python -m pip install empy、pip install em,仍然不能直接解决问题
解决方法:

运行了python -m pip install empy命令后,发现empy是成功地安装在了/usr/lib/python2.7/dist-packages/em.py中,而不是编译时报错的/opt/ros/kinetic/lib/python2.7/dist-packages/中,因此尝试是否可以将empy.py文件从/usr复制到/ros中去:

执行以下命令即可

sudo cp /usr/lib/python2.7/dist-packages/em.py /opt/ros/melodic/lib/python2.7/dist-packages/

如果遇到没有zed_interfaces相关的错误
解决思路:下载zed_interfaces到src中然后在编译一下
操作如下

cd catkin_ws/src
git clone https://github.com/stereolabs/zed-ros-interfaces
cd ../
rosdep install --from-paths src --ignore-src -r -y
catkin_make -DCMAKE_BUILD_TYPE=Release
source ./devel/setup.bash
  1. 这时候是不能可视化的,所以我们需要安装另一个包,参考这里
    https://github.com/stereolabs/zed-ros-examples
cd ~/catkin_ws/src
git clone https://github.com/stereolabs/zed-ros-examples.git
cd ../
rosdep install --from-paths src --ignore-src -r -y
catkin_make -DCMAKE_BUILD_TYPE=Release
source ./devel/setup.bash

然后运行

roslaunch zed_display_rviz display_zed2.launch

这时候会自动打开rviz,会有清楚的可视化效果

第五步:ORB-SLAM3与ZED2结合,下次更新
有不明白的小伙伴可以问我

  • 6
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值