说明:Ubuntu 16.04以及必要的基础软件安装完成之后进行;

1.OpenNI2安装(可选)

安装依赖项:

sudo apt-get install -y g++ python libusb-1.0--dev freeglut3-dev doxygen graphviz
sudo apt-get install libudev-dev

安装:

sudo apt-get install libopenni2-dev

检查测试:

pkg-config --modversion libopenni2

2.PCL 1.7 安装:

https://www.cnblogs.com/haijian/p/8678189.html

3.OpenCV 2.4.3以上版本 安装:

https://www.cnblogs.com/haijian/p/9734538.html  (示例为OpenCV-3.4.3)

4.安装PangoLin

安装依赖项:

sudo apt-get install libglew-dev libpython2.-dev

下载源码包:

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

编译

cd Pangolin
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j8
sudo make install

5.ORB_SLAM2编译

cd ORB_SLAM2
sudo chmod +x build.sh
./build.sh

6.数据集测试

下载数据集(以mono为例)

http://vision.in.tum.de/data/datasets/rgbd-dataset/download

终端运行(mono)

./Examples/Monocular/mono_tum  Vocabulary/ORBvoc.txt  Examples/Monocular/TUMX.yaml  PATH_TO_SEQUENCE_FOLDER

若使用RGBD,需要使用图片序列汇集信息,请参考associate.py 源代码 及 使用方法

https://www.cnblogs.com/haijian/p/10848607.html

-----------------------------------------ROS_ORB_SLAM2-----------------------------------------

ROS安装

https://www.cnblogs.com/haijian/p/8782560.html

Kinect V2驱动安装(如果不使用,可不装)

https://www.cnblogs.com/haijian/p/9734624.html

ORB_SLAM2_ROS编译

更改~/ORB_SLAM2-master/Examples/ROS/ORB_SLAM2/src/ros_mono.cc中(更改接口,否则运行黑屏)

ros::Subscriber sub = nodeHandler.subscribe("/camera/image_raw", 1, &ImageGrabber::GrabImage,&igb);
>
ros::Subscriber sub = nodeHandler.subscribe("/usb_cam/image_raw", 1, &ImageGrabber::GrabImage,&igb);

编译:

cd ~/ORB_SLAM2/Examples/ROS/ORB_SLAM2
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j8

安装USB_CAM测试

https://www.cnblogs.com/haijian/p/10847457.html

测试

终端1:
source ~/catkin_ws/devel/setup.bash
roslaunch usb_cam usb_cam-test.launch
终端2:
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/××/ORB_SLAM2_modified/Examples/ROS
rosrun ORB_SLAM2 Mono ~/ORB_SLAM2-master/Vocabulary/ORBvoc.txt ~/ORB_SLAM2-master/Examples/Monocular/TUM1.yaml

Ubuntu 16.04 orb-slam2配置的更多相关文章

  1. 如何在Ubuntu 16.04上安装配置Redis

    如何在Ubuntu 16.04上安装配置Redis Redis是一个内存中的键值存储,以其灵活性,性能和广泛的语言支持而闻名.在本指南中,我们将演示如何在Ubuntu 16.04服务器上安装和配置Re ...

  2. Ubuntu 16.04 samba相关配置

    samba是 SMB/CIFS网络协议的重新实现,它作为NFS的补充使得在Linux和Windows系统之间进行文件共享.打印更容易实现. 相关介绍: SAMBA套件: (1)samba:这个套件主要 ...

  3. Ubuntu 16.04 服务器上配置使用 Docker

    Docker基础概念 在使用Docker之前,我们先了解下几个Docker的核心概念 Docker Daemon Docker引擎,就是运行在后台的一个守护进程,在我们启动它之后,我们就可以通过Doc ...

  4. Ubuntu 16.04 安装和配置 Redis

    因为发现之前手动安装的 redis 与现有的教程不一样,所以总结统一一下安装的标准步骤. 安装依赖项 为了获取最新版本的 Redis,我们将从源代码进行编译和安装.下载源代码之前,需要先安装一些编译所 ...

  5. Ubuntu 16.04上thunderbird配置163邮箱出现“配置无法被验证-请查看用户名或密码是否正确?”

    在Ubuntu 16.04 上用thunderbird配置163免费邮箱时出现的提示信息如图1: 图1 提示信息 网上有不少方法都说是将接收和发出的主机名分别改为 imap.ym.163.com 和 ...

  6. [Part 1] Ubuntu 16.04安装和配置QT5 | Part-1: Install and Configure Qt5 on Ubuntu 16.04

    本文首发于个人博客https://kezunlin.me/post/91842b71/,欢迎阅读! Part-1: Install and Configure Qt5 on Ubuntu 16.04 ...

  7. Intel realSense ubuntu 16.04+python 环境配置指南

    1. 安装librealsense2-dkms 以及librealsense2-utils 1.Register the server's public key: sudo apt-key adv - ...

  8. 自学python:python学习笔记之Ubuntu 16.04网络的配置

    Ubuntu 作为一个Linux的发行版,在桌面环境的易用性上做了很多改善,对推动Linux的推广做了很大的贡献.同时,它作为服务器的操作系统也越来越多的被使用.当然,服务器端可能更多的人在使用Red ...

  9. Ubuntu 16.04.1 LTS配置LNMP使用wordpress搭建博客

    今天想用wordpress搭个博客,我的服务器是腾讯云的,然后腾讯云里有官方文档搭建的,但它是用centos为例, 搞得我的ubuntu跟着它走了些歪路,然后结合网上其它资料,终于一点一点的解决了. ...

  10. Ubuntu 16.04 环境下配置apache2.4 + php5.6

    相信用惯了Windows的朋友一开始接触Linux是很崩溃的,因为很多东西都是通过命令行来完成的,包括安装绝大多数的开发工具以及环境,那么在Ubuntu下其实可以直接通过apt-get指令来安装apa ...

随机推荐

  1. CSS二级菜单

    0.需求:当鼠标hover到按钮上时,出现下拉菜单导航条. 1.问题拆解: (1)HTML应该如何组织比较方便合理 因为题中要求下拉菜单位于按钮的正下方,可以使用列表<li>中嵌套无序列表 ...

  2. Ruby小白入门笔记之<个人记录档>

    书写缘由 快两年的JAVA开发,因为来到一家新公司,产品需要用Ruby开发,故此才有了这从头开始,一入编程深似海啊...... 因为入门时是JAVA,所以理念跟规范早已形成,故此感觉突然采用Ruby编 ...

  3. Linux 常用命令之 mv cp scp

    1.mv 命令是move的缩写,用于文件(或文件夹)移动的. 1)将 luna 目录下的文件 a.txt,移动到 miracle 目录下: mv ./luna/a.txt ./miracle/ 2)将 ...

  4. kendo Ui实现搜索选中建议 不改变输入框的值

    $("#SubjectFilter").kendoAutoComplete({ dataTextField: "patientCardNumber", temp ...

  5. vue-cli 3 ----- 项目频繁发送‘sockjs-node/info’请求

    在vue-cli3跑项目时发现了这个问题,浏览器一直在频繁发送这个请求,导致联调时很不方便,而且本地开发时项目也不能实时更新. 看了网上很多的 (1)  解决方案, 大多都是直接去node_modul ...

  6. 第七次学习总结&&第五次实验报告

    一.实验目的 (1)理解抽象类与接口的使用: (2)了解包的作用,掌握包的设计方法. 二.实验要求 (1)掌握使用抽象类的方法. (2)掌握使用系统接口的技术和创建自定义接口的方法. (3)了解 Ja ...

  7. javaScript中==和===对数组、对象的判断是它们是否同一个实例对象

      问题描述 在实现业务时,大量用到了 if(a === b)这样的判断,但有一个类似判断一直进不去这个if条件, a === b 返回的一直是false,但是其他几个类似判断,都正常触发条件. 原因 ...

  8. SCP,scp linux2台机器之间如何传输文件

    关键词:scp 转自: http://blog.csdn.net/gatieme https://blog.csdn.net/gatieme/article/details/51673229 scp传 ...

  9. mysql生成全局id(转)

    由于数据量以及IO效率的因素,很多项目对数据支持的数据库会采取分库分表的方式.使用了分库分表之后需要解决的一个问题就是主键的生成.多个表之间的主键就不能用数据库本身的自增主键来支持,因为不同表之间生成 ...

  10. 【中间件】Kafka 学习 01

    KafKa 博客教程-1 博客教程-2 kafka简介 kafka起源 Kafka是由LinkedIn开发并开源的分布式消息系统,2012年捐赠给Apache基金会,采用Scala语言,运行在JVM中 ...