整个操作过程中,如果出现有关cmakelists中的某个版本和自己系统中提供的版本不符的情况。两种办法,一种更改cmakelists中要求的版本号,另一种是自己调整系统中的版本至要求。一般简单的是前者。
A.VIORB的运行步骤
1.编译库
根据文件夹中的build.sh流程走。
cd Thirdparty/DBoW2
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -jcd ../../g2o
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -jcd ../../../
在src文件夹下cmake .. , make,编译src和include文件,生成 libORBSLAM2.so
#Vocabulary文件夹下还差一个ORBvoc.txt文件,需添加
2.配置和build ORBSLAM
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j
一般运行到make这一步就会出现各种千奇百怪的问题about g2o啦, about ceres啦,等等
#此时,将文件夹中的include 文件更换为ORB SLAM2中的include 文件,再进行上述cmake,make操作,就不会产生错误了。
编译成功的状态如下:
[100%] Built target ORB_SLAM2
3.Build ROS node
打开文件
gedit ~/.bashrc
在.bashrc 末尾添加:
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/ws/catkin_ws/src/LearnVIORB-RT/Examples/ROS 并保存
更新文件
source ~/.bashrc
显示当前ros 环境
echo $ROS_PACKAGE_PATH
cd ..
cd Examples/ROS/ORB_VIO
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j
构建成功如下所示:
[100%] Linking CXX executable VIO
[100%] Built target VIO
4.配置configuration文件:
config/euroc.yaml(两处):
test.InitVIOTmpPath:生成文件存放的位置
bagfile:数据集位置
5.运行
source devel/setup.bash(添加工作环境,只需要运行一次)
roslaunch ORB_VIO testeuroc.launch(运行)
________________________________________________________________________________
以上是VIORB的运行步骤,下面是VINS_mono的运行相关。
B.VINS_mono的运行步骤
1.常规操作:
cd ~/catkin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash //一定注意修改到当前ws的路径下
编译结束的结果:
[100%] Linking CXX executable /media/zp/zengpan/ubuntu/catkin_ws_vins/devel/lib/vins_estimator/vins_estimator
[100%] Built target vins_estimator
2.公开数据集上的Visual-Inertial Odometry and Pose Graph Reuse
打开三个终端,分别运行:
roslaunch vins_estimator euroc.launch
roslaunch vins_estimator vins_rviz.launch
rosbag play YOUR_PATH_TO_DATASET/MH_01_easy.bagrosbag play /media/zp/zengpan/MH_01_easy.bag
注意:每个新打开的终端在运行之前,都需要source一下.bash文件到当前的workspace之下,否则上述3条指令运行会出错。