目录
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以上
配置环境的安装
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install build-essential
sudo apt-get install cmake
官网下载0.5版本的
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
cd Pangolin
rm build -r
mkdir build
cd build
cmake ..
make -j4
sudo make install
官网下载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
官网下载或者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
进入boost官网网址:Boost Downloads
选择boost_1_77_0.tar.gz版本
解压
./bootstrap.sh
sduo ./b2 install
首先扩展swap交换分区为10G不然编译会报错internal computer error,内存不足的问题。
首先查看分区大小 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
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
修改33行find_package(OpenCV 3.4.3 REQUIRED)的版本号为你自己的
可以修改build.sh中的make -j 为make -j4来加快编译速度
./build.sh
目前我还只是跑了数据集,接入自己的小觅双目相机跑还没有成功,需要编译build_ros,但是当前的ORB_SLAM3的版本build_ros中的ROS包不在example中,移动到了example_old中,想要运行,需要做一些改动,自己一个人摸索,可能还有点小问题,能力有限