zoukankan      html  css  js  c++  java
  • ORB-SLAM编译记录

    系统:Ubuntu16.04+ROS-Kinetic

    ROS-Kinetic的安装请参考http://www.cnblogs.com/liu-fa/p/5779206.html

    新建一个ros工作空间(如果有就不用了),参考http://www.cnblogs.com/huangjianxin/p/6347416.html

    在你的工作空间下,我的是~/catkin_ws/src,下载ORB-SLAM到本地,git clone https://github.com/raulmur/ORB_SLAM.git ORB_SLAM,然后根据作者给的readme.md编译,这里主要说一下可能会碰到的问题吧

    首先安装依赖项:Boost/g2o/DBoW2,后两个都在自带的Thirdparty里,我这里都没碰到什么问题

    接着是编译ORB_SLAM,这里需要注意一点,在Indigo之后的ROS版本中都不带opencv了,所以我们需要在manifest.xml中注释掉opencv2,这在readme.md中作者提到了,但是好像很多人都没有注意,注释的方式是<!--depend package="opencv2"/-->

    出现报错error: ‘YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY’ is not a member of ‘Eigen::internal::static_assertion<false>’,这里我参考http://blog.csdn.net/qq_33179208/article/details/53032687的建议安装了另一版本的Eigen3,再次编译就没问题了,使用命令rospack list检查ORB_SLAM是否已安装

    最后就可以愉快地跑ros了,开启roscore,然后运行roslaunch ExampleGroovyHydro.launch就开启了ORB_SLAM,可以跑数据集*.bag,也可以用自己的相机跑,如果是用自己的相机跑,需要写如下launch文件,我用的是笔记本相机,还需要安装相机驱动,sudo apt-get install ros-kinetic-usb-cam

     <launch>
      <node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" >
       <param name="video_device" value="/dev/video0" />
       <param name="image_width" value="640" />
        <param name="image_height" value="480" />
        <param name="pixel_format" value="yuyv" />
        <param name="camera_frame_id" value="camera" />
        <param name="io_method" value="mmap"/>
        <remap from="/usb_cam/image_raw" to="/camera/image_raw" />
      </node>

       <node pkg="image_view" type="image_view" name="image_view">
        <remap from="/image" to="/ORB_SLAM/Frame" />
        <param name="autosize" value="true"/>
        </node>

        <node pkg="rviz" type="rviz" name="rviz" args="-d $(find ORB_SLAM)/Data/rviz.rviz" output="log">
       </node>

        <node pkg="ORB_SLAM" type="ORB_SLAM" name="ORB_SLAM"  args="Data/ORBvoc.txt Data/Settings.yaml" cwd="node" output="screen">
       </node>

    </launch>

  • 相关阅读:
    Java SSM入门(四)——Mybatis延迟加载、缓存、注解和小结
    Adam算法及相关Adaptive Learning Rate 自适应学习率
    20191229
    关于安装matlab FEAST过程(关于mex与工具包安装,附libsvm2.23和2017a安装教程网址)
    标准化和归一化(综合)
    [转]特征选择-weka搜索函数
    [转]怎样理解随机种子
    对神经网络输入是否做归一化
    点击邮箱名跳转到相对应的邮箱登陆页面
    在vue中使用document.execCommand实现复制文本的功能
  • 原文地址:https://www.cnblogs.com/roboai/p/7536747.html
Copyright © 2011-2022 走看看