Ubuntu20.04 ORB_SLAM3 环境配置
Ubuntu20.04 ORB_SLAM3 环境配置

Ubuntu20.04 ORB_SLAM3 环境配置

环境配置

Python && libssl-dev

sudo apt install libpython2.7-dev
sudo apt-get install libssl-dev

Eigen

git clone https://github.com/eigenteam/eigen-git-mirror
cd eigen-git-mirror
mkdir build
cd build
cmake ..
sudo make install

Pangolin

安装Pangolin所需依赖

sudo apt install libgl1-mesa-dev
sudo apt install libglew-dev
sudo apt install libpython2.7-dev
sudo apt install pkg-config
sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols

装版本0.6

git clone https://github.com/stevenlovegrove/Pangolin.git -b v0.6
cd Pangolin
mkdir build && cd build
cmake ..
make -j4
sudo make install

检查安装成功(build 文件夹下)

cd examples/HelloPangolin
./HelloPangolin

出现这个安装成功

OpenCV 3.4.5

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
sudo apt-get install build-essential libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
sudo apt install libgtk2.0-dev --fix-missing

编译需要下载ippicv加速库电脑需要vpn

cd opencv-3.4.5
mkdir build&& cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j4
sudo make install

添加库路径

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

更新系统库

sudo ldconfig

配置bash

sudo gedit /etc/bash.bashrc

在末尾粘贴如下两行代码

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH 

配置生效

source /etc/bash.bashrc 

更新

sudo apt-get install mlocate
sudo updatedb  

版本检测

pkg-config --modversion opencv

boost

下载1.75.0 并解压

cd boost_1_75_0
sudo ./bootstrap.sh
sudo ./b2 install

代码编译

git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git -b v0.4-beta
cd ORB_SLAM3
chmod +x build.sh
./build.sh

报错解决

make[2]: *** [CMakeFiles/ORB_SLAM3.dir/build.make:89:CMakeFiles/ORB_SLAM3.dir/src/LocalMapping.cc.o] 错误 1

make[2]: *** [CMakeFiles/ORB_SLAM3.dir/build.make:349:CMakeFiles/ORB_SLAM3.dir/src/CameraModels/KannalaBrandt8.cpp.o] 错误 1

在报错的文件里,如KannalaBrandt8.cpp,LocalMapping.cc

在include之后加上如下代码

namespace cv
{
template<typename _Tp, int m, int n> static inline
Matx<_Tp, m, n> operator / (const Matx<_Tp, m, n> &a, float alpha)
{
return Matx<_Tp, m, n>(a, 1.f / alpha, Matx_ScaleOp());
}
}

ROS环境配置

ROS安装

在~/.bashrc添加

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/PATH/ORB_SLAM3/Examples/ROS

查看路径是否正确

echo $ROS_PACKAGE_PATH

修改 PATH/ORB_SLAM3/Examples/ROS/ORB_SLAM3/CMakeLists.txt

find_package(OpenCV 4 QUIET)
chmod +x build_ros.sh
./build_ros.sh

检查是否正常启动

roscore
rosrun ORB_SLAM3 Mono /PATH/ORB_SLAM3/Vocabulary/ORBvoc.txt /PATH/ORB_SLAM3/Examples/Monocular/KITTI00-02.yaml

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注