ROS Kinect下ORB-SLAM2安装使用注意事项

前言

本文是最近安装和使用orb-slam2的一些笔记,走了一些弯路,因此记录一下。环境:vmware+ubuntu16.04且已安装了ROS kinect。

安装注意事项

安装方法具体参见github, 本文主要记录一些官方没有的注意事项:

  • 尽管Kinect自带有opencv3.3.0,但为了跑ros-slam2还需要在ROS空间外额外安装一个opencv(不安装无法读取摄像头设置文件),且最好选择opencv3.2。
  • ORB-SLAM2源码中就有Eigen3和DBoW2和g2o了,不需要再单独安装。
  • ORB-SLAM2是不完全依赖ROS的,它有两个编译选项,对应两个脚本文件build.sh和build_ros.sh。编译前者你只能跑一些数据集,后者使用ROS能用自己的摄像头,但是就算你只想用ROS版本,你也不能只运行build_ros.sh脚本(会编译失败),而需要在运行build.sh后再运行build_ros_sh脚本。
  • 使用脚本build_ros.sh编译时也会出现错误,参见网址,需要注意的是该方法不完全,要记得还要把libboost_system.so.1.58.0和libboost_filesystem.so.1.58.0也复制到对应文件夹才行。

运行注意事项

  • 使用TUM数据集时需要注意,官方所带的摄像头参数文件 TUM1.yaml 是针对所有 freiburg1 的测试数据的。同理 TUM2.yaml 是针对 freiburg2 测试数据。因此我们最好下载freiburg1_desk 数据集,将这个数据集放在 ORB_SLAM2 下的 Data 文件夹下面并解压缩。
    运行如下指令就能跑数据集:

    ./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml Data/rgbd_dataset_freiburg1_desk
    
  • ROS版本编译完还需要更新一下工作空间

    source Examples/ROS/ORB_SLAM2/build/devel/setup.bash
    
  • 使用ROS跑自己的单目摄像头时,要先自己写一个节点,发布摄像头数据,主题为camera/image_raw可以参考wiki, 我的节点名是usb_cam_node,因此可以用以下代码来运行。

    rosrun usb_cam usb_cam_node
    rosrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/ROS/ORB_SLAM2/Asus.yaml
    
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值