• 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节点与运行

     

  • 相关阅读:
    asp.net AD 域验证
    ASP.NET身份验证
    .Net默认IE版本号的两种方式
    (转)移动端自适应方案
    (转)手机web——自适应网页设计(html/css控制)
    (转)优雅降级和渐进增强的区别
    (转)hasLayout与BFC的触发条件
    (转)js中几种实用的跨域方法原理详解
    (转)js实现继承的5种方式
    (转)js 判断各种数据类型
  • 原文地址:https://www.cnblogs.com/zhubaohua-bupt/p/7182811.html
Copyright © 2020-2023  润新知