ubuntu18.04安装ORB_SLAM3以及遇到的问题

目录

1.安装c++11

2.安装Pangolin

a)安装依赖

b)编译pangolin 切换到pangolin下载包里面

3.安装opencv

4.eigen3安装

5.boost安装

6.编译ORB_SLAM3

6.1扩展swap分区(出现问题,加sudo)

6.2编译


首先准备一个新的ubuntu18.04系统,简易安装的时候内存分配到35G以上

配置环境的安装

1.安装c++11

         sudo apt-get install gcc

         sudo apt-get install g++

         sudo apt-get install build-essential

         sudo apt-get install cmake

2.安装Pangolin

                         官网下载0.5版本的

a)安装依赖

sudo apt-get install libglew-dev

sudo apt-get install cmake

sudo apt-get install libpython2.7-dev

sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev

sudo apt-get install libdc1394-22-dev libraw1394-dev

sudo apt-get install libjpeg-dev libpng12-dev libtiff5-dev libopenexr-dev

libpng12-dev安装可能会报错,但不影响后续步骤。

        # Ubuntu 16.04 之后不支持 libpng12-dev 修改为

        sudo apt install libpng-dev

b)编译pangolin 切换到pangolin下载包里面

cd Pangolin

rm build -r

mkdir build

cd build

cmake ..

make -j4

sudo make install
  1. 3.安装opencv

官网下载opencv3.4.3  Releases - OpenCV 选择source下载

unzip opecn-3.4.3.zip

cd opencv-3.4.3

安装依赖

sudo apt-get install build-essential

sudo apt-get install 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

问题

出现Unable to locate package libjasper-dev

解决sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"

sudo apt update

sudo apt install libjasper1 libjasper-dev

编译

mkdir build

cd build

cmake ..

sudo make -j4

sudo make install

sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf'

sudo ldconfig
  1. 4.eigen3安装

官网下载或者https://gitlab.com/libeigen/eigen/-/archive/3.4-rc1/eigen-3.4-rc1.tar.gz

tar -xzvf  eigen-3.4-rc1.tar.gz

cd eigen-3.4-rc1

mkdir build

cd build

cmake ..

make

make install
  1. 5.boost安装

进入boost官网网址:Boost Downloads

选择boost_1_77_0.tar.gz版本

解压

./bootstrap.sh

sduo ./b2 install

  1. 6.编译ORB_SLAM3

首先扩展swap交换分区为10G不然编译会报错internal computer error,内存不足的问题。

  1. 6.1扩展swap分区(出现问题,加sudo

首先查看分区大小  free -m

增加10G    dd if=/dev/zero of=/home/swap bs=1024 count=10000000

设置交换文件 mkswap  /home/swap

启用交换分区 swapon /home/swap

再次查看分区大小 free -m

设置永久挂载(编译ORB_SLAM3后应该就用不到这么大了,看个人需求)

vi  /etc/fstab

/home/swap swap swap default 0

用完后关闭分区 swapoff /home/swap

  1. 6.2编译

cd ~

mkdir ROS_ORB_SLAM3/src

下载代码文件git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3

cd ORB_SLAM3-master

chmod u+x build.sh

修改33find_package(OpenCV 3.4.3 REQUIRED)的版本号为你自己的

可以修改build.sh中的make -j make -j4来加快编译速度

              ./build.sh

 


目前我还只是跑了数据集,接入自己的小觅双目相机跑还没有成功,需要编译build_ros,但是当前的ORB_SLAM3的版本build_ros中的ROS包不在example中,移动到了example_old中,想要运行,需要做一些改动,自己一个人摸索,可能还有点小问题,能力有限

你可能感兴趣的:(debian,ubuntu,linux)