• SLAM各算法运行方法与过程


    本文介绍本人在实践过程中遇到的各个间接法的运行和配置过程。

    主要包括以下五种算法:

    1. VINS_mono/fusion
    2. OKVIS
    3. ROVIO
    4. VI_ORB-SLAM
    5. MSCKF

    VINS_mono


    OKVIS

    Run OKVIS

    可能需要加入std::ftream
    Opencv需要3.4.2或以下版本,需要opencvv模块
    Opencv3.4.7没有这个模块


    ROVIO

    可参考:[该博客]https://www.cnblogs.com/Jessica-jie/p/6607719.html

    catkin build rovio --cmake-args -DCMAKE_BUILD_TYPE=Release -DMAKE_SCENE=ON

    运行ROVIO

    $ source devel/setup.bash 
    $ roslaunch rovio rovio_node.launch

    修改代码以输出路径

    在发送IMU数据下边添加输出到文件的代码

    //把数据写到文档里
    std::ofstream vio_result_file("/home/guoben/Documents/output/vio_result.csv", ios::app);
    vio_result_file << ros::Time(mpFilter_->safe_.t_) << " "
    << imuOutput_.WrWB()(0) << " "
    << imuOutput_.WrWB()(1) << " "
    << imuOutput_.WrWB()(2) << " "
    << imuOutput_.qBW().x() << " "
    << imuOutput_.qBW().y()<< " "
    << imuOutput_.qBW().z() << " "
    << -imuOutput_.qBW().w() << std::endl;
    vio_result_file.close();

    VI-ORB_SLAM

    LearnVIORB 的代码地址
    代码运行方法
    轨迹生成
    输出位置位于 System.cc


    MSCKF

    运行方法

    roslaunch msckf_vio msckf_vio_euroc.launch 
    rosrun rviz rviz -d ~/Project/msckf_vio_workspace/src/msckf_vio/rviz/rviz_euroc_config.rviz //rviz显示模型
    rosbag play /home/wj/Downloads/dataset/EuRoC/ROS_bag/MH_05_difficult.bag

    NOTE
    The software does not run on EuRoC MH_01_easy.bag and MH_02_easy.bag. As explained in the README, the algorithm requires the sensor to start from staic in order to initialize the orientation and IMU bias. unfortunately, MH_01_easy.bag and MH_02_easy.bag do not have the initial static period.

  • 相关阅读:
    安装curl依赖库后yum不能使用问题解决
    leetcode Container With Most Water
    leetcode Median of Two Sorted Arrays
    leetcode Add Two Numbers(对指针的一些基本操作)
    hdu 4427 DP
    hdu 4454 三分*****
    HDU5917 RAMSEY定理
    UVAlive7501 Business Cycle 2015ECfinal B(二分模板)
    已知圆半径和外接正多边形边数求边长
    hdu4799 树型DP
  • 原文地址:https://www.cnblogs.com/guoben/p/13339298.html
Copyright © 2020-2023  润新知