环境配置
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