• kinect1在ros环境下跑orb_slam2


    1.安装ORB-SLAM2 参照ORB-SLAM2的Installation部分
    1.1 下载 git clone https://github.com/raulmur/ORB_SLAM.git (可以直接放在home下,然后解压)
    1.2 修改.bashrc,加入
    export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH_TO_PARENT_OF_ORB_SLAM (红色字体是需要修改的内容,改为ROS文件夹下的ORB-SLAM2路径)
    gedit .bashrc
    export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/zfy/ORB-SLAM2/Examples/ROS (根据需要,红色字体改为对应的路径)
    1.3 cd到Examples/ROS/ORB_SLAM2,然后执行:
    mkdir build cd build cmake .. -DROS_BUILD_TYPE=Release make -j
    编译得到RGBD节点。(ps:新版本的ORB_SLAM2增加了build_ros.sh,里面的内容就是上面4行命令

    1.4 cd到
    /home/zfy/ORB-SLAM2,执行:
    chmod +x build.sh ./build.sh
    编译完成ORB-SLAM2。 (build.sh中包含编译DBOW2和g2o,编译过程很占用计算资源,电脑会很卡,稍微等等)

     2. 安装Kinect V1 驱动

      

    3. 配置launch文件
    在解压后的ORB-SLAM2的根目录下新建文件kinect_orbslam2.launch , 其内容为(根据需要,红色字体改为对应的路径,其他的无需修改)
    <launch> 
      <param name="orb_use_viewer" value="false"/> 
      <node pkg="ORB_SLAM2" type="RGBD" name="ORB_SLAM2" 
            args="/home/zfy/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/zfy/ORB_SLAM2/Examples/RGB-D/TUM1.yaml" cwd="node" output="screen"> 
    <remap from="/kinect/depth/image_raw" to="/camera/depth_registered/image_raw" />
      <remap from="/kinect/rgb/image_raw" to="/camera/rgb/image_raw"/>
    </node>

      <include file="$(find freenect_launch)/launch/freenect.launch"> 
        <!-- use device registration --> 
        <arg name="depth_registration" value="true" /> 
        <arg name="rgb_processing" value="true" /> 
        <arg name="ir_processing" value="false" /> 
        <arg name="depth_processing" value="false" /> 
        <arg name="depth_registered_processing" value="true" /> 
        <arg name="disparity_processing" value="false" /> 
        <arg name="disparity_registered_processing" value="false" /> 
        <arg name="sw_registered_processing" value="false" /> 
        <arg name="hw_registered_processing" value="true" /> 
      </include> 
    </launch> 

    注:重映射的topic很重要,因为kinect发布的话题与orbslam中订阅的话题名称不一致,因此需要重映射改变订阅话题的名称.
    4. 运行ORB-SLAM2
    cd ORB-SLAM2
    ./build.sh
    roslaunch kinect_orbslam2.launch
  • 相关阅读:
    【Redis】简介与安装
    【JAVA】 Java 连接池的工作原理
    【异常】ORA-01536: space quota exceeded for tablespace
    【Oracle】Oracle 序列步长问题
    【ORACLE】常用脚本
    【ORACLE】特殊的NULL
    【JAVA】Runtime
    【JAVA】Calendar
    出现脚本错误或者未正确调用 Page()
    小程序出现 “2 not found” 解决方案
  • 原文地址:https://www.cnblogs.com/excellentlhw/p/11160244.html
Copyright © 2020-2023  润新知