运行LearnVIORB及VINS_mono

整个操作过程中,如果出现有关cmakelists中的某个版本和自己系统中提供的版本不符的情况。两种办法,一种更改cmakelists中要求的版本号,另一种是自己调整系统中的版本至要求。一般简单的是前者。

A.VIORB的运行步骤

1.编译库

根据文件夹中的build.sh流程走。

cd Thirdparty/DBoW2
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j

cd ../../g2o

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j

cd ../../../

在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.bag 

    rosbag play /media/zp/zengpan/MH_01_easy.bag

注意:每个新打开的终端在运行之前,都需要source一下.bash文件到当前的workspace之下,否则上述3条指令运行会出错。

猜你喜欢

转载自blog.csdn.net/Pancheng1/article/details/82454147