SVO-REMODE编译运行方法

转载请说明出处

http://blog.csdn.net/zhubaohua_bupt/article/details/53841614


///////////////////////////////////////////////////////////////////

REMODE+SVO编译运行方法。
///////////////////////////////////////////////////////////////////
**************************************************************************************************
                        编译部分
**************************************************************************************************
在编译之前,首先确保你已经安装ROS,以及显卡能否安装CUDA(http://blog.csdn.net/zhubaohua_bupt/article/details/53838091)
1:下载编译SVO
 1.1   找一个地方新建工程

mkdir REMODE_SVO&&cd REMODE_SVO
    mkdir -p catkin_ws/src
    cd  catkin_ws/src

 1.2 下载SVO

git clone https://github.com/pizzoli/rpg_svo.git

 1.3 配置SVO的一些依赖
   为了整洁,把这些第三方依赖 放在一个新建的workspace文件夹内,和catkin_ws同目录

cd ..
    mkdir workspace&&cd workspace


    1.3.1 下载并编译Sophus库

    git clone https://github.com/strasdat/Sophus.git
    cd Sophus
    git checkout a621ff
    mkdir build
    cd build
    cmake ..
    make
        cd ../../



     1.3.2 下载并编译Fast库   

 git clone https://github.com/uzh-rpg/fast.git
    cd fast
    mkdir build
    cd build
    cmake ..
    make
      cd ../../


     1.3.3 下载并编译g2o库  
    首先安装一些g2o的依赖项 

 apt-get libeigen3-dev libsuitesparse-dev libqt4-dev qt4-qmake libqglviewer-qt4-dev
    git clone https://github.com/RainerKuemmerle/g2o.git
    cd g2o
    mkdir build
    cd build
    cmake ..
    make
    sudo make install
    cd ../../


     1.3.4 下载  rpg_vikit 

cd catkin_ws/src
    git clone https://github.com/uzh-rpg/rpg_vikit.git


     1.3.5 安装ROS 依赖     

 sudo apt-get install ros-<版本>-cmake-modules 

 我的是indigo,若显示已安装则跳过该步骤即可

 1.4 开始编译SVO

cd ..             现在我们在catkin_ws目录下 
catkin_make

       至此, svo安装完毕

 2 下载并编译rpg_open_remode
     2.1 配置rpg_open_remode的依赖
        为了方便,rpg_open_remode的依赖也放到编译SVO时新建的workspace
    2.1.1 安装googletest
        首先安装依赖       

sudo apt-get install libopencv-dev libeigen3-dev libboost-filesystem-dev

   开始安装googletest      

cd workspace
        git clone https://github.com/google/googletest.git
        cd googletest
        git checkout release-1.7.0
        mkdir build && cd build
        cmake ..
        make
        cd ..
        mkdir install
        cp -r include install
        cp build/*.a install
        cd ../../../


    2.1.2 安装英伟达CUDA工具包,见我的另一篇博客 http://blog.csdn.net/zhubaohua_bupt/article/details/53838091
     2.2 编译    rpg_open_remode

 cd catkin_ws/src
    git clone https://github.com/uzh-rpg/rpg_open_remode.git
    cd ..
    source devel/setup.sh
    catkin_make -DGTEST_ROOT=$MY_WORKSPACE/googletest/install -DBUILD_ROS_NODE=ON

   至此,编译结束

**************************************************************************************************
                运行部分    
**************************************************************************************************
注意 1
SVO和REMODE可以是独立的工程,但他们也可以一块运行,SVO为REMODE提供帧间位姿。
他们之间是靠ros节点通信的,经过上述联合编译,REMODE会生成一些用于通讯的节点(可执行程序),在
~/catkin_ws/devel/lib/rpg_open_remode目录下。
注意 2
 设置本工程的环境变量  
    echo source PATH/catkin_ws/devel/setup.sh >> ~/.bashrc
    source ~/.bashrc
下面给出一个运行例子:

   下载图像包:http://rpg.ifi.uzh.ch/datasets/px4_2_fly_over_debris.bag

以下每句指令都要新打开一个终端,一共要打开5个终端。   

        1 开启ros

roscore

       2 运行SVO

roslaunch svo_ros px4_2.launch 

     3  运行REMODE

      roslaunch rpg_open_remode px4_2.launch

    4  打开显示  

    rosrun rviz rviz -d $MY_CATKIN_WORKSPACE/src/rpg_open_remode/open_remode.rviz

    5  把数据集跑起来     

  rosbag play $path_imgdata/px4_2_fly_over_debris.bag


      执行完第五5步,就可以看到运行效果了。

当然,也可以把2、3节点些在一个launch文件里,这样只需要打开4个终端就行了。

launch文件格式参考我的另一篇博客ROS节点与运行

 

原文地址:https://www.cnblogs.com/zhubaohua-bupt/p/7182811.html