摘自:https://blog.csdn.net/qq_36898914/article/details/88780649

D435i跑通ORB-SLAM2

junjun_robotic 2019-03-24 22:09:35 2228 收藏 12

分类专栏: slam 文章标签: SLAM D4355i ORB-slam2

版权

这篇文章主要记录我的实现过程。根据官方安装文档,并参考以下两篇博客,可以比较顺利的实现:

Realsense D435i 在ubuntu上安装SDK与ROS Wrapper 运行ORB-SLAM2、RTAB和VINS-Mono

使用Realsense D435相机在ROS Kinetic中跑通ORB-SLAM2

感谢他们的细致整理与无私奉献。 建议读者参考官方文档(文中附),并结合上两篇博客学习实践。


  • 系统:Ubuntu16.04
  • 内核:4.15.0-46-generic
  • ROS 版本:Kinetic
  • D435i (D435上集成了IMU  网上说是6DOF  博世BMI055?)  SDK:librealsense 2.19.1
  • usb3.0

一.安装Realsense SDK

            1.安装内核驱动包:参考官方文档https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md

安装完毕后,运行  realsense-viewer ,点击左侧按钮,显示on.即可显示如上图像:

2.安装依赖:参考官方文档https://github.com/IntelRealSense/librealsense/blob/master/doc/installation.md

官方文档平行介绍了多种linux版本的安装方式,让英语语感差的人容易混淆。针对我上述系统配置,安装命令整理如下:

 sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

Download/Clone librealsense github repository:
Navigate to librealsense root directory to run the following scripts.
Unplug any connected Intel RealSense camera.

cmake 3.8+ 以上

 
  1. sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev

  2. sudo apt-get install libglfw3-dev

  3. sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/

  4. sudo udevadm control --reload-rules && udevadm trigger

  5. ./scripts/patch-realsense-ubuntu-lts.sh

  6. echo 'hid_sensor_custom' | sudo tee -a /etc/modules

运行 ./scripts/patch-realsense-ubuntu-lts.sh 时出现这个错误could not insert 'videodev': Required key not available #3354

按上述网页解决以后,

  • Navigate to librealsense root directory and run: mkdir build && cd build

  • Run CMake:

    • cmake ../ - The default build is set to produce the core shared object and unit-tests binaries in Debug mode. Use -DCMAKE_BUILD_TYPE=Release to build with optimizations.
    • cmake ../ -DBUILD_EXAMPLES=true - Builds librealsense along with the demos and tutorials
    • cmake ../ -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=false - For systems without OpenGL or X11 build only textual examples 
  • Recompile and install librealsense binaries:
    sudo make uninstall && make clean && make && sudo make install

至此,SDK安装完毕。

二.ORB-SLAM2编译,参考官方文档 官方安装文档

问题1:运行

./build.sh

出现错误(具体忘记了)。办法:将build.sh 文档打开,将make -j 修改为 make -j4 成功运行。

问题2:运行 ./build_ros.sh,编译出现问题。

办法:打开~/ORB_SLAM2/Examples/ROS/ORB_SLAM2  下的CMakeLists.txt.加入-lboost_system,如下:

set(LIBS
${OpenCV_LIBS}
${EIGEN3_LIBS}
${Pangolin_LIBRARIES}
${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2/lib/libDBoW2.so
${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o/lib/libg2o.so
${PROJECT_SOURCE_DIR}/../../../lib/libORB_SLAM2.so
-lboost_system
)
RGBD TUM数据集测试:在ORB-SLAM2目录下,运行

./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM2.yaml ~/tum_dataset/rgbd_dataset_freiburg2_large_with_loop ~/tum_dataset/rgbd_dataset_freiburg2_large_with_loop/associate.txt

Caption

三.ROS-wraper安装

参考官方文档:ros-wraper 安装

注意安装后这样操作:

检验是否能在ros使用realsense相机:

需要安装 rgbd_launch 。执行如下命令:
    sudo apt-get install ros-kinetic-rgbd-launch   //不安装这个  打开终端执行下个命令时,找不到rs_rgbd.launch文件,不知到为啥
    roslaunch realsense2_camera rs_rgbd.launch
    再打开一个终端,输入rviz
    此时并不能看到什么结果
    左上角 Displays 中 Fixed Frame 选项中,下拉菜单选择 camera_link  
    这是主要到Global Status变成了绿色
    点击该框中的Add -> 上方点击 By topic -> /depth_registered 下的 /points 下的/PointCloud2
    点击该框中的Add -> 上方点击 By topic -> /color 下的 /image_raw 下的image
---------------------  
引自:Carminljm  https://blog.csdn.net/Carminljm/article/details/86353775


测试效果:

四. D435i 跑orb-slam2

1.首先应修改相机内参信息。

roslaunch realsense2_camera rs_rgbd.launch

rostopic echo /camera/color/camera_info

这里只是测试,故可以使用Asus.yaml中的参数。

运行rs_rgbd.launch 后,运行  rostopic list 发布的信息如下:

摄像头节点发布的rgbd图和深度图话题名与ORB-SLAM2的订阅RGB图和深度图话题名不同,修改如下:在~/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src 文件夹下,打开ros_rgbd.cc文档,按如下修改:

 
  1. // message_filters::Subscriber<sensor_msgs::Image> rgb_sub(nh, "/camera/rgb/image_raw", 1);

  2. message_filters::Subscriber<sensor_msgs::Image> rgb_sub(nh, "/camera/color/image_raw", 1);

  3. // message_filters::Subscriber<sensor_msgs::Image> depth_sub(nh, "camera/depth_registered/image_raw", 1);

  4. message_filters::Subscriber<sensor_msgs::Image> depth_sub(nh, "/camera/aligned_depth_to_color/image_raw", 1);

最后在ORB_SLAM2工作目录下,运行

rosrun ORB_SLAM2 RGBD Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml

运行成功!

D435i跑通ORB-SLAM2相关推荐

  1. 小白学SLAM的流水账(一):跑通ORB踩过的坑

    1.装虚拟机 下载一个VMaware,然后在上面创建Ubuntu. (1)创建后第一次启动,出现黑屏,后面又出现几次,分别用不同办法解决. a. 关掉 虚拟机-设置-硬件-右侧的3D图形加速 b. 在 ...

  2. ROS kinetic外接Realsense D435i跑ORB_SLAM2教程

    本机环境:window10+vmware+ubuntu16.04+ROS kinetic+Intel Realsense D435i 基本步骤就四步:   1.配置好Realsense的SDK以及ro ...

  3. Ubuntu下使用单目相机运行ORB SLAM2

    环境:Ubuntu16.04+ROS Kinetic+USB单目摄像头 虽然ORB SLAM2的官方说明中表示没有ROS也可以编译运行,但要实时的跑ORB SLAM2还是需要ROS平台的,所以之前没有 ...

  4. 用D455摄像头跑通ORB-SLAM2

    (难 真难 看了无数教程踩了无数坑 最后终于跑通了 以此记录以下 水平有限 如有错误 还请各位批评指正) 目录 一.安装ROS 二.ORB-SLAM2的安装和配置 2.1安装Pangoline 2.2 ...

  5. 【全网唯一】全网唯一能够跑通的,跑不通你来找我~用node.js完成微信支付下单功能,且只需要一个文件wxpay.js就解决业务流程的node.js程序

    先吐为敬! 最近心血来潮研究nodejs如何完成微信支付功能,结果网上一搜索,一大堆"代码拷贝党"."留一手"."缺斤少两"."不 ...

  6. 13个月才跑通GitHub模型,机器学习科研入门太难了吧

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 金磊 萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI & ...

  7. @卡尔曼滤波 跑通调参

    可以先像一开始接触PID那样,先把整个系统跑通,感受一下它是咋用的.后面再回过头来研究原理. 学习OpenCV2--卡尔曼滤波(KalmanFilter)详解 四旋翼姿态解算--互补滤波和拓展卡尔曼 ...

  8. Ubuntu 16.04~ORB SLAM2~Kinect v1

    额 Ubuntu16.04 ORB-SLAM2实现(kinect V1/ROS) ----------------------------------------------------------- ...

  9. ubuntu12.04+fuerte 下跑通lsd-slam——数据集

    lsd-slam(下载链接:https://github.com/tum-vision/lsd_slam)提供了两种方法,一种是用数据集(下载地址http://vision.in.tum.de/lsd ...

最新文章

  1. Netflix是怎样做系统监控的?
  2. mysql数据库字符集设置
  3. 手机网页 右边的空白区
  4. SQL优化—— 优化insert语句
  5. msdn集合不存在 请重新安装msdn_全网首发【MSDN系统】 Windows 10 1909 五版合一 原版系统(64位)...
  6. windows虚拟多桌面常用软件调研
  7. 易语言html实现报表打印,易语言报表统计功能例程可打印
  8. Using Custom Assemblies with Reports
  9. AWT_Swing_单选框(Java)
  10. StreamSets sdc rpc 测试
  11. css compressor java_使用YUI Compressor压缩CSS/JS
  12. Redis教程(全面实战教程)
  13. 零基础爬取堆糖网图片(一)
  14. Delphi IdHTTP1下载文件防止假死 ( - 大悟还俗
  15. 小红书运营中常提到的KOC是什么?带你了解KOC和KOL之间的区别
  16. 用计算机如何计算投资回收期,动态投资回收期怎么算的?
  17. 什么是TorchScript
  18. iOS 四舍五入保留两位小数
  19. 俄勒冈大学计算机科学专业,俄勒冈大学计算机与信息科学详解 热门专业还等什么...
  20. 调参工要凉?微软重磅开源AutoML工具包NNI

热门文章

  1. c语言怎样调用求根函数,编写函数求一元二次方程的根,并在main主函数中调用该函数 用c++编写...
  2. 谷歌蜘蛛池-悟空蜘蛛池
  3. 嵌入式实时操作系统的设计与开发New(三)
  4. 推荐 8 个支持 Vue3 的前端 UI 组件库,免费开源、漂亮美观,涵盖常用的业务组件
  5. UOJ的special judge写法
  6. 国外开源的php,国外10款神一样的PHP开源工具 您值得一看
  7. 1.20 Python基础知识 - python常用模块-1
  8. Matlab中strlength函数的使用
  9. conv2d中groups和dilation
  10. Flutter 系统弹框