用自己的双目相机在ROS 下实现双目ORB_SLAM2

原创 2018年04月16日 21:04:06

用自己的双目相机在ROS 下实现双目ORB_SLAM2

参考博客

ROS下单目SLAM

https://blog.csdn.net/goding_learning/article/details/52950993

 

配置ROS下的ORB_SLAM2

第一步、先准备好基本依赖

   1.1安装pangolin

1. $ sudo apt-get install libglew-dev   #安装Glew  

2. $ sudo apt-get install cmake         #安装CMake  

3.     #安装Boost  

4. $ sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev  

5. $ sudo apt-get install libpython2.7-dev  #安装Python2 / Python3  

6.    #下载、编译、安装Pangolin:  

7. $ git clone https://github.com/stevenlovegrove/Pangolin.git  

8. $ cd Pangolin  

9. $ mkdir build  

10. $ cd build  

11. $ cmake -DCPP11_NO_BOOST=1 ..  

12. $ make  

13. $ sudo make install  

 1.2安装opencv2.4.13

 1.3 安装eigen3.1.0

sudo apt-get install libeigen3-dev  

1.4BLAS and LAPACK

$ sudo apt-get install libblas-dev  

$ sudo apt-get install liblapack-dev 

1.4DBoW2 and g2o (Included in Thirdparty folder)

   ORB_SLAM2使用修改版的DBoW2 库进行位置识别 ,使用 g2o 库进行非线性优化. 这两个修改版的库被放在第三方文件夹内

 

第二步、创建ROS工作空间,将ORB_SLAM2代码下载到catkin_ws/src目录下,并编译

1. $ git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2  

2. $ cd ORB_SLAM2  

3. $ chmod +x build.sh  

4. $ ./build.sh  

第三步、编译ROS下的ORB_SLAM2

1、进入Examples/ROS/ORB_SLAM2

2、mkdir build

3、cmake .. -DROS_BUILD_TYPE=Release

4、source ~/catkin_ws/devel/setup.bash

第四步、单目实验

1、启动roscore

2、启动相机节点,根据具体启动文件而定

确保sudo /etc/init.d/ueyeusbdrc start已经运行 【如何加入开机自启】

添加开机启动,参考链接:

http://www.jb51.net/os/Ubuntu/181138.html

roslaunch  ueye_cam rgb8.launch(启动单目相机)

或者rosrun ueye stereo(启动双

rosrun ueye stereo _zoom:=2

3、启动ORB_SLAM2Mono节点

rosrun ORB_SLAM2 Mono PATH_TO_VOCABULARY(词袋位置) PATH_TO_YMAL_FILEymal相机标定文件位置)

 rosrun ORB_SLAM2 Mono src/ORB_SLAM2/Vocabulary/ORBvoc.txt src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml 

第五步、双目实验

cd catkin_ws

 rosrun ORB_SLAM2 stereo src/ORB_SLAM2/Vocabulary/ORBvoc.txt src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml 

l 报错:(搜搜这个,很多相关实验,可以学习学习)

rosrun ORB_SLAM2 Stereo path_to_vocabulary path_to_settings do_rectify

解决方法:

https://blog.csdn.net/u013019296/article/details/70051908

https://blog.csdn.net/wangshuailpp/article/details/70231074

rosrun ORB_SLAM2 stereo src/ORB_SLAM2/Vocabulary/ORBvoc.txt src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml  true

l 又报错

ERROR: Calibration parameters to rectify stereo are missing!

 Emmmm....突然想起来,双目还没有标定~~~

 

*****好了,就到这里了,明天来标定一下相机吧,或者把师兄表定好的文件拿过来用用******

rosrun ORB_SLAM2 Stereo src/ORB_SLAM2/Vocabulary/ORBvoc.txt src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml  false

do_rectify(校正设置,true false设置为false就可以了,不过这时候没有双目的图像

 

 

这时候,应该去查看ROS下的Stereo是从哪两个节点获取双目图像的,然后对应更改ueye启动双目相机后发布的图像消息话题名称。

ORBSLAM2双目图像所在的话题名是

/camera/left/image_raw

/camera/right/image_raw

双目相机在ROS下发布的额话题名称是

/left/image_raw

/right/image_raw

修改ORBSLAM2下的源码,使得话题名称一致!!!然后编译。

 

   catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/ros_stereo.cc文件中

    message_filters::Subscriber<sensor_msgs::Image> left_sub(nh, "/left/image_raw", 1);//default is /camera/left/image_raw

    message_filters::Subscriber<sensor_msgs::Image> right_sub(nh, "right/image_raw", 1);

重新编译Example

cd ~/catkin_ws/src/ORB_SLAM2/Example/ROS/ORB_SLAM2

mkdir buildcd build

cmake ..

make 

再来一遍命令:

rosrun ORB_SLAM2 stereo src/ORB_SLAM2/Vocabulary/ORBvoc.txt src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml  false

 

*****出现的问题是,相机一直处在trying to initialize状态下************

****ccurrent frame窗口下显示的是一个相机的灰度图,是有什么问题吗****

******************以上记录于2018.3.26.00:21****************

 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LOVE1055259415/article/details/79966517

关于双目立体视觉的一些总结(二)

上一篇只是对于双目立体视觉做了一个简单的介绍,这里就我在做这个的时候碰到的一些问题做一个梳理。1.首先要纠正一下之前一个错误:cvRemap函数只接受灰度图。其实这个函数要求src与dst大小格式通道...
  • u014629875
  • u014629875
  • 2016-05-07 21:26:59
  • 5082

ZED相机+ubuntu16.04运行ORBSLAM2双目

最近看到许多小伙伴利用zed相机做slam研究,遇到各种问题,由于之前运行过ORBSLAM2,所以出个教程,希望对大家有个参考,如有不足,还请批评指正。 运行环境 ubuntu16.04 Op...
  • sinat_38343378
  • sinat_38343378
  • 2018-01-24 17:59:07
  • 155

MYNTEYE双目摄像头orb-slam & okvis demo

跑官方demo做一个记录以备后查。-2017.09.04 乐前提:已经安装好SDK,安装好ROS kinetic ,ubuntu16.04 arm64 SDK:git链接下载orb-slam2:g...
  • hongliang2009
  • hongliang2009
  • 2017-09-04 10:12:16
  • 2098

ORB_SLAM之双目

ORB_SLAM之双目 手里有个便宜的双目摄像头,打算用来试试orb_slam,到时候直接架上就可以跑了。 先在pc上试试(ubuntu 14.04 LTS)。 在正式使用之前记得把ORB_SL...
  • awww797877
  • awww797877
  • 2016-04-16 23:37:21
  • 2742

ORB_SLAM

# ORB-SLAM2 **Authors:** [Raul Mur-Artal](http://webdiis.unizar.es/~raulmur/), [Juan D. Tardos](http...
  • qiqzhang
  • qiqzhang
  • 2018-03-06 19:49:19
  • 94

ORB-SLAM2

Authors: Raul Mur-Artal, Juan D. Tardos, J. M. M. Montiel and Dorian Galvez-Lopez (DBoW2) 13 ...
  • AMDS123
  • AMDS123
  • 2017-04-28 00:21:50
  • 6948

视觉SLAM ORB-SLAM2 双目相机实时实验 双目相机矫正 配置文件

一 ORB-SLAM2 安装 ORBSLAM2在Ubuntu14.04上详细配置流程参考安装1 安装必要工具首先,有两个工具是需要提前安装的。即cmake和git。sudo apt-get insta...
  • xiaoxiaowenqiang
  • xiaoxiaowenqiang
  • 2018-03-25 16:23:02
  • 227

ORB-SLAM2 跑数据集&&运行自己的摄像头

假设你已经成功将ORB-SLAM2 编译通过1、运行单目 SLAM:我们这里采用 freiburg1_desk 数据,可以从这里下载: freiburg1_desk 数据集 将这个数据集放在 OR...
  • HERO_CJN
  • HERO_CJN
  • 2017-10-28 10:42:57
  • 1088

ORB SLAM2运行步骤/怎样跑通orbslam2

前言:其实都在程序包的readme.md里,这里以ROS+单目为例Step1:下载ORB_SLAM2放进~/catkin_ws/src下面Step2:安装各种依赖项,github官网都写了Step3:...
  • fk1174
  • fk1174
  • 2016-07-01 13:56:37
  • 13805

在ROS中使用usb摄像头跑ORB SLAM2

摘要(假装这是论文):由于最近在做orb_slam2相关,将这几天的实验过程总结记录,本文主要为傻瓜式记录运行代码的过程,以及中间遇到的问题及解决方法,截止至发文前,只是把单目Mono的功能实现,暂时...
  • Goding_learning
  • Goding_learning
  • 2016-10-27 22:52:12
  • 6003
收藏助手
不良信息举报
您举报文章:用自己的双目相机在ROS 下实现双目ORB_SLAM2
举报原因:
原因补充:

(最多只允许输入30个字)