1  具备的条件:

(1)ubuntu 14.04

(2)ROS indigo(可选)


2  安装依赖

(1)Pangolin:https://github.com/stevenlovegrove/Pangolin

安装依赖:

sudo apt-get install libglew-dev

sudo apt-get install cmake

sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev

sudo apt-get install libpython2.7-dev

安装Pangolin:

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

cd Pangolin

mkdir build

cd build

cmake -DCPP11_NO_BOOSR=1 ..

make -j

(2)OpenCV:http://opencv.org/(我使用的是OpenCV 2.4.10)

安装步骤:参考:http://blog.csdn.net/csqingchen/article/details/43968925

(3)Eigen3:http://eigen.tuxfamily.org/

直接在终端:sudo apt-get install libeigen3-dev

(4)BLAS and LAPACK

安装步骤:

    sudo apt-get install libblas-dev

    sudo apt-get install liblapack-dev


3  安装ORB-SLAM2

  git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2(我直接放在Home文件夹下)

  cd ORB_SLAM2

  chmod +x build.sh

  ./build.sh

碰到问题:

找不到<Eigen/Core>,但是eigen3已经安装,

解决——运行指令:sudo ln -s /usr/include/eigen3/Eigen /usr/local/include/Eigen


4  下载并运行TUM(慕尼黑工业大学)的数据集

目前为止,我实际跑了单目、RGB-D的一个数据集作为调试用。

下载TUM的数据集:http://vision.in.tum.de/rgbd/dataset/freiburg1/rgbd_dataset_freiburg1_xyz.tgz

解压放到~/ORB_SLAM2/Examples下

运行单目的指令:Monocular Examples TUM Dataset

cd ~/ORB_SLAM2/

  ./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml Examples/rgbd_dataset_freiburg1_xyz

运行RGB-D的指令: RGB-D Example TUM Dataset

cd ~/ORB_SLAM2/

./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml Examples/rgbd_dataset_freiburg1_xyz Examples/RGB-D/associations/fr1_xyz.txt

以上均不需要ROS,在ubuntu 14.04下就能实现。

继续跑TUM(慕尼黑工业大学)的数据集:

初始化失败的数据集:(不完全统计)

rgbd_dataset_freiburd1_floor

rgbd_dataset_freiburd2_pioneer_slam

rgbd_dataset_freiburd3_nostructure_notexture_near_withloop


5  在ROS下跑ORB-SLAM2,使用外接摄像机

(1)安装ROS indigo,

(2)到路径Examples/ROS/ORB_SLAM2下,执行:

mkdir build
cd build
cmake .. -DROS_BUILD_TYPE=Release
make -j

完成了ROS indigo下ORB-SLAM2的调试,使用的是索尼的PS3摄像机,效果不错。

ORB-SLAM2的ROS节点,以双目为例,在路径: path/to/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src的ros_stereo.cc中,可以看到订阅左右摄像机的Topic:

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

发布对应的Tocpic上,就能够运行ORB-SLAM2的Stereo版。

(3)基于VSLAM的四旋翼飞行器自主悬停控制


6  后记

按理说,下载作者开源代码(https://github.com/raulmur/ORB_SLAM2),根据README的说明安装依赖关系,一步一步按照说明进行下去,顺利的话就能完成。一开始,我是在ubuntu 12.04.5上进行,Map Viewer不能显示内容,一直是黑屏,尝试解决未果,并在运行sudo autoremove的时候,破坏了ubuntu系统。后来,转到ubuntu 14.04.3+indigo上继续搞。在ubuntu12.04上搞的时候,碰到的问题、解决的问题其实更多,但是最后Map Viewer的问题没能解决,不做记录,但欢迎交流。

发表的相关论文:

[1] 林辉灿, 吕强, 张洋, 等. 稀疏和稠密的VSLAM的研究进展[J]. 机器人, 2016, 38(5): 621-631.

   http://robot.sia.cn/CN/Y2016/V38/I5/621

   CNKI

[2] 林辉灿, 吕强, 卫恒, 等. 基于VI-SLAM的四旋翼自主飞行与三维稠密重构[J]. 光学学报,2018,38(07):0715004.

  http://kns.cnki.net/KCMS/detail/31.1252.O4.20180312.0927.054.html

  http://www.opticsjournal.net/Articles/HPAbstract?manu_number=g180489

[3] 林辉灿, 吕强, 王国胜, 等. 鲁棒的非线性优化的立体视觉-惯导SLAM[J]. 机器人, 2018, 40(6).

  http://kns.cnki.net/KCMS/detail/21.1137.TP.20180514.1838.002.html


其它参考:http://blog.csdn.net/aptx704610875/article/details/51490201

转载于:https://www.cnblogs.com/huicanlin/p/5265477.html

ubuntu 14.04调试ORB-SLAM2相关推荐

  1. ubuntu 14.04 64 bit上开启nscd服务缓存加速及清除dns缓存

    简介 linux本身是没有dns缓存的,想使用dns缓存的话需要自己安装一个服务程序NSCD(name service cache daemon).  Nscd会缓存libc接口(比如 getpwna ...

  2. 在Ubuntu 14.04 64bit上编译并研究State Threads网络线程库源码

    State Threads是一个广受关注的高性能网络线程库,winlin在SRS中做了比较充分的应用,我很遗憾直到现在才精心研究它.下面是我的研究实录,以作备忘. 一.源码编译 下面是在Ubuntu ...

  3. 在Ubuntu 14.04 64bit上安装Valgrind并检查内存泄露

    valgrind官网:http://valgrind.org/ 1.安装方法 第一种方式:下载目前最新的源码,编译安装,在服务器上推荐这种方式 wget http://valgrind.org/dow ...

  4. redis ubuntu php 5.2,ubuntu 14.04下简易安装php5.5 + apache2 + redis + mysql

    我是在Windows 10下安装的vagrant环境. 1.首先官网:https://www.vagrantup.com/ 下载最新版的vagrant,安装:安装虚拟机VirtualBox:https ...

  5. Ubuntu 14.04系统下安装和编译QT 5.9.2库(桌面版/ARM嵌入式IMX6版)

    最近要搞一个嵌入式项目,在I.MX6平台上基于linux系统使用QT做界面开发,于是就研究了一下如何对QT 5.9.2版本的代码进行下载和编译.同时,因为编译出来的程序不光要能在I.MX6嵌入式板子上 ...

  6. (2014年3月1)Ubuntu 14.04 Beta 1-32位简体中文优化定制版

    2019独角兽企业重金招聘Python工程师标准>>> (2014年3月1)Ubuntu 14.04 Beta 1-32位简体中文优化定制版 感谢大家对linux封装和版本制作技术的 ...

  7. Ubuntu 14.04+Ros indigo+ORB_SLAM2 的平台搭建

    目前,在视觉SLAM所有算法中,ORB_SLAM2是一个极其优秀值得深究的算法,其包含了单目,双目和深度摄像头三种接口.本本记叙了本次Ubuntu 14.04+Ros indigo+ORB_SLAM2 ...

  8. Ubuntu 14.04~14.10 Linux 3D桌面完全教程,显卡驱动安装方法,compiz特效介绍,常见问题解答

    首先秀一下我的3D桌面效果(视频)  点击打开原文链接 虽然这段视频是在2008年时使用Ubuntu 8.04版录制的,Ubuntu版本已经更新了多次,但至今大部分3D特效仍是一样的效果. 酷6  h ...

  9. Ubuntu 14.04 Linux 3D桌面完全教程,显卡驱动安装方法,compiz特效介绍,常见问题解答

    源:http://forum.ubuntu.org.cn/viewtopic.php?t=140531 相比旧版本,现在最新Ubuntu 14.04版的3D桌面是最稳定的.下面就是我安装和启用3D桌面 ...

最新文章

  1. 第一款支持容器和云部署的开源数据库Neo4j 3.0
  2. Codeforces Round #361 (Div. 2) B. Mike and Shortcuts bfs
  3. 32边界的链码表示MPP算法MATLAB实现
  4. DL:基于sklearn的加利福尼亚房价数据集实现GD算法
  5. delphi TWebBrowser组件使用详解
  6. c++string替换指定位置字符_Excel数据分析:如何替换字符串中的指定字符?
  7. 向模态窗体传递参数和获取返回值
  8. C#获取当前系统磁盘符、系统目录、桌面等
  9. 《C++ Primer 第五版》(第4.11-4.12节)——static_cast,const_cast和reinterpret_cast类型转换, 运算符优先级表
  10. [vue] vue怎么缓存当前的组件?缓存后怎么更新?
  11. SpringBoot------集成PageHelper分页功能
  12. C++动态内存会被自动释放吗?
  13. CCSP2020比赛太原理工学子再创佳绩
  14. 如何修改Myeclipse的JSP模板
  15. Android自动打包、签名、优化、上传ANT脚本
  16. 一、Jquery入门(超详)
  17. android支付宝转跳转,APP跳转支付宝指定界面
  18. 不需要再手写 onSaveInstanceState 了,因为你的时间非常值钱
  19. Android内存优化总结
  20. 南京邮电大学网络攻防训练平台-密码学-异性相吸

热门文章

  1. 【庄碰辉】物质与精神的对垒中选择
  2. nexus5 博通芯片WIFI详解 (3)
  3. 树莓派 4b 配置 USB 网络连接
  4. CardsMobile携手华为安全检测,打造俄罗斯一体化支付新体验
  5. 21款奔驰S400L升级原厂小柏林之声音响
  6. 中国Linux公社校园联络员第四次全体大会会议记录
  7. 【思考】阿里云的混合云战略,凭啥扯上Zstack?
  8. Python | Python保存高维数组array,Python用pandas将numpy保存csv文件,Python保存3维数组
  9. 信息系统自动决策机制的使用
  10. springboot智慧餐厅点餐餐桌预订系统设计与实现