目录
一、安装基础环境依赖项
1、g++
2、gcc
3、cmake
4、git
5、build-essential编译器
二、安装Pangolin
1、依赖项
2、安装Eigen 3
3、编译
三、安装opencv
1、下载原文件
2、安装依赖项
3、编译
4、添加路径
5、配置bash
6、验证版本
四、安装Boost
五、安装DBoW2 and g2o and Sophus
六、安装orb slam
问题1
问题2
问题3
swap交换空间
查看
增加虚拟内存
删除虚拟内存
释放缓存
七、数据集测试
1、下载
2、解压
3、运行
问题
参考文章
最近工作需要研究这个,尝试摸索中,记录一下自己尝试的步骤,方便以后参考。
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install cmake
sudo apt-get install git
sudo apt-get install build-essential
sudo apt install libglew-dev
sudo apt install libpython2.7-dev
sudo apt-get install libeigen3-dev
eigen3要在Pangolin之前安装,不然可能会出现无法make的情况
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build && cd build
cmake ..
make
sudo make install
opencv下载页面
我下载的是4.5.1版本,放到主目录(或者你选定的目录)然后提取到此处,打开opencv文件夹
sudo apt-get install 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
第二个命令可能会出现问题
E: 无法定位软件包 libjasper-dev
解决办法:
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
然后重新输入一下第二个命令就ok了
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release \ -DOPENCV_GENERATE_PKGCONFIG=ON \ -DCMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install
sudo gedit /etc/ld.so.conf.d/opencv.conf
打开一个空的文本文件,然后在里面添加opencv的安装路径:
/usr/local/lib
保存并关闭,出现warning是正常的情况,然后用下列命令让刚才的路径生效
sudo ldconfig
sudo gedit /etc/bash.bashrc
打开bash.bashrc文件,在文件末尾添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存并关闭,然后执行生效命令并更新
source /etc/bash.bashrc
sudo updatedb
查看版本号
pkg-config --modversion opencv4
sudo apt-get update
sudo apt-get install libboost-all-dev
不需要单独安装,在orb slam3中包含着,执行build.sh时就一起安装了
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3
cd ORB_SLAM3
chmod +x build.sh
./build.sh
如果电脑性能不太好的话,最后一句可能会直接卡死,基本都是卡在 make 这步
解决办法:
gedit build.sh
然后对文本进行修改,将里面的几个 make 改一下,反正在 make / make -j / make -j2 / make -j4 里面试吧
然后继续编译最后两行
如果还不行,那就把build.sh文本中的每一行复制下来挨个跑一遍慢慢来(我是卡在Sophus的编译上,最后用 make 跑完的)
在执行build.sh最后一部分编译orbslam时可能会出现如下错误
原因:没有安装openSSL开发包,找不到依赖文件,装上就行
解决办法:
sudo apt-get install libssl-dev
原因:编译过程中内存不够
解决办法:多分配一些内存,或者用swap创建临时分区
用于解决内存不足的情况
free -m
mkdir /home/su/swapfile
cd /home/su/swapfile
sudo dd if=/dev/zero of=swap bs=1G count=2
前两行需要根据自己的路径更改,第三行的 bs 和 count 可以根据电脑内存自己更改
转换格式
sudo mkswap -f swap
激活
sudo swapon swap
这个时候再查看就发现成功增加了
永久生效
打开 /etc/fstab 文件
gedit /etc/fstab
在文本文件最后加一行:
/home/su/swapfile/swap none swap defaults 0 0
然后重启
sudo swapoff -v /swapfile
sudo rm /swapfile
sudo -i
echo 3 > /proc/sys/vm/drop_caches
进入EuRoC数据集,选择下载
如果从页面直接点进去可能会出现无法安全下载的情况,复制下载链接到新窗口并回车就可以下载了
在 ORB_SLAM3 下新建一个 dataset 的文件夹用来存放数据,下载完成的数据集解压得到一个 mav0 的文件夹,将整个文件夹移到 dataset 下新建的 MH01 文件夹内
./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml ./dataset/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt
没有可视化界面
解决办法:
gedit ./Examples/Monocular/mono_euroc.cc
文本第83行将 false 改为 true
保存退出,然后重新编译
chmod +x build.sh
./build.sh
完成后再次输入运行命令即可显示可视化窗口
ubuntu18.04如何从头搭建一套ORB_SLAM3的框架,并在测试集和自己的D345i相机上进行测试。
ORB_SLAM3在ubuntu18.04下的环境搭建及测试
Ubuntu系统安装opencv详细操作及具体应用
ubuntu18.04配置ORB-SLAM3(包含ROS)完整版教程
安装pfring 报错error: openssl/md5.h: No such file or directory
C++ internal compiler error:killed (program cc1plus)
Ubuntu如何设置或删除swap虚拟内存
ubuntu增加swap交换空间
ubuntu 清理缓存
ORB-SLAM3 单目运行EuRoC数据集没有显示图像