说明: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. WireShark简单使用以及TCP三次握手

    最近一直在用C#编写服务器端的程序,苦于一直找不到合适的方法来测试网络程序,这篇文章很好的解释了网络程序的底层实现. WireShark是最好的学习网络协议最好的工具. wireshark介绍 wir ...

  2. 子系统 安装vsftpd

    1.安装命令 sudo apt install vsftpd 2.为FTP添加用户,使用sudo useradd -m sunftp命令添加一个sunftp的用户 3. 授权文件夹  chmod 77 ...

  3. enumerable 可枚举 属性

    一个对象的可枚举属性会在for...in中被访问到 (或是类似的迭代方法, Object.keys() 如果一个属性不是可枚举的,循环会忽略这个属性 var obj = { key: 'val' }; ...

  4. 阶段3 2.Spring_01.Spring框架简介_04.spring发展历程

  5. django 通过模型类操作数据表(基础增删改查)

    进入项目shell的命令: python manage.py shell 以下为在相互shell终端中演示的例子: 首先导入模型类:(from 应用名.models import 类名) from b ...

  6. onserverclick

    <button type="button" id="Log_Submit" runat="server" runat="se ...

  7. javascript 数据类型 undefined 和null

    数据类型 undefind null boolean number string object type of 功能:检测变量类型 语法:type of 变量或 type of (变量) consol ...

  8. 2015沈阳区域赛Meeting(最短路 + 建图)

    Meeting Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total ...

  9. 初步学习jquery学习笔记(二)

    jQuery事件 jquery是为事件处理而设计的 什么是事件? 页面对不同访问者的相应叫做事件. 事件处理程序指的是html中发生某些事件所调用的方法 实例: 在元素上移动鼠标 选取单选按钮 点击元 ...

  10. Nob常用命令

    说明:此文件为常用的命令笔记 规则: .使用"[组名]"分组,如[linux] .使用"<标题一>"标示知识点,可用"<<二级 ...