文章目录
- 环境
- 依赖安装
- Opencv
- Pangolin
- Eigen3
- DBoW2 and g2o
- Python
- boost
- libssl-dev
- ORB_SLAM3的ROS编译和安装
- 编译过程中可能遇到的问题
- Q1:You should double-check your ROS_PACKAGE_PATH to ensure
- 数据集测试
- 参考
环境
- ubuntu18.04-x86
- nvidia-3080工作站
依赖安装
Opencv
参考这篇博客。
Pangolin
安装v0.6版本的,最新版会报错 error: ‘slots_reference’ was not declared in this scope
git clone -b v0.6 https://gitcode.net/mirrors/stevenlovegrove/pangolin.git
cd Pangolin
mkdir build && cd build
#sudo apt install cmake -y && sudo apt install build-essential -y
cmake ..
cmake --build .
sudo make install
Eigen3
#github 有个mirror,版本3.3.4 from 2017
git clone https://github.com/eigenteam/eigen-git-mirror
#安装
cd eigen-git-mirror
mkdir build
cd build
cmake ..
sudo make install
#安装后,头文件安装在/usr/local/include/eigen3/
DBoW2 and g2o
DBoW2主要用于回环检测,g2o(General Graph Optimization)主要用于图优化。
ORB-SLAM3的源码包自带DBoW2 and g2o,编译时会自动安装。不用管。
Python
sudo apt install libpython2.7-dev
boost
下载之后解压
tar -xzvf boost_1_81_0.tar.gz
解压之后进入解压出来的文件夹
然后执行这个脚本
sudo ./bootstrap.sh
执行完毕之后,你会发现又多了些文件
执行如下脚本
sudo ./b2 install -j24
libssl-dev
sudo apt-get install libssl-dev
ORB_SLAM3的ROS编译和安装
克隆代码
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git
cd ORB_SLAM3
添加路径到 ${ORB_SLAM3_ROOT}/Examples/ROS/ORB_SLAM3到~/.bashrc中
gedit ~/.bashrc
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/ORB_SLAM3/Examples/ROS
PS:PATH代指自己的ORB_SLAM3根目录
chmod +x build_ros.sh
./build_ros.sh
编译过程中可能遇到的问题
Q1:You should double-check your ROS_PACKAGE_PATH to ensure
这是由于在ROS环境下编译使用了多个版本的ORB_SLAM3工程导致的。
(1)先cd到/opt/ros/kinetic/share目录下,删除原来的ORB_SLAM3软连接
sudo rm -r ORB_SLAM3
(2)对当前工程在/opt/ros/noetic/share目录下建立软连接
sudo ln -s /home/...(具体路径)....../Examples/ROS/ORB_SLAM2 /opt/ros/kinetic/share/ORB_SLAM2
或者在bashrc中添加ROS_PACKAGE_PATH
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/ckq/TextSLAM/ORB_SLAM3/Examples/ROS/ORB_SLAM3
数据集测试
https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets#downloads 选择ASL格式,下载第一个MH01