电脑:Dell G3 3590,空白状态
目标:让我的电脑可以实时的利用zed2运行ORB-SLAM3
第一步:安装ubuntu18.04系统
如果已经安装过了ubuntu系统可以跳过。如果没有ubuntu启动盘,需要先去搜索一下ubuntu启动盘如何制作。
好了,开始:
首先搜索自己的电脑怎么进入BIOS模式,我的事dell的所以出现开机界面,我按F2就可以了,选择自己的u盘,把别的选项(电脑的硬盘等)都给取消勾选,点击Apply,然后Exit
这时候系统会进入ubuntu安装模式
- 选择中文简体
- 键盘选择,英文美国
- 不连接网络,这一步很重要,如果连接网络容易出错
- 点击正常安装
- 选择清空磁盘重新安装ubuntu1804
下面的步骤好像是没了,等待就可以啦
第二步:安装ORB-SLAM3依赖
- 安装g++
sudo apt install g++
- 安装cmake
sudo apt install cmake
- 安装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
- 安装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
- 安装Eigen3
sudo apt-get install libeigen3-dev
- 安装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,里面会有具体的解决方案
原因就是缺少相关的依赖库,遇到这种问题不要慌
没有什么是一行指令解决不了的
如果有那就再来一行
- 安装g2o
cd ORB-SLAM3-master/Thirdparty/g2o
mkdir build
cd build
cmake ..
make -j4/make -j(自己的内核)
- 编译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一下
- 安装python依赖
sudo apt install libpython2.7-dev
- 最后运行 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很大,需要安装很久,提示一下,我自己装了梯子,所以国外的软件我都可以安装
- 安装好了以后,开始安装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
- 这时候是不能可视化的,所以我们需要安装另一个包,参考这里
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结合,下次更新
有不明白的小伙伴可以问我