由于工程实践中需要对机器人地图进行概率化估计并表示,故引入OctoMap库。

本文将介绍如何在Ubuntu环境下安装OctoMap。

如果你安装了ROS,那么一下的安装过程很可能会出错。

首先应该检查ROS自带的octomap是什么版本的,然后安装相同的版本即可,不然会出现版本问题。

到以下目录检测ROS自带的octomap版本

/opt/ros/indigo/share/octomap/octomap-config-version.cmake

如果版本是 1.6.9

然后

git clone https://github.com/OctoMap/octomap/tree/v1.6-fixes;

最后

cmake &make.

另一种变态的方法:

  sudo cmake ..
sudo make

不知道为啥也通过了,但是这样就装了两个版本。

###############################################################################################################################

1 OctoMap的下载:

使用git从github下载OctoMap库。

git clone https://github.com/OctoMap/octomap

如果系统没有安装git则输入以下指令安装git:

sudo apt-get install git

如果使用git下载OctoMap连接不上,而使用ubuntu自带的浏览器速度又很慢,推荐使用chormium去官网直接下载。

输入如下指令安装chormium:

sudo add-apt-repository ppa:a-v-shkop/chromium
sudo apt-get update
sudo apt-get install chromium

    2 编译环境的安装

由于初期调试的不顺利,尝试了多个版本的ubuntu。推荐使用ubuntu16.04 32bit版本 ,当然选用老版的也都可以,我选择的版本是ubuntu 16.04 32bit 和ubuntu 14.04 32bit。

    OctoMap的编译依赖于以下几个库,输入如下指令对其进行安装。

sudo apt-get install build-essential cmake doxygen libqt4-dev \
libqt4-opengl-dev libqglviewer-qt4-dev

若选择Ubuntu 16.04版本则将“libqglviewer-qt4-dev”换成“libqglviewer-dev-qt4”,若为Ubuntu 14.04版本则将“libqglviewer-qt4-dev”换成"libqglviewer-dev" 。

请对所有编译环境进行安装,尽管在部分库缺失的情况下编译也能够成功,但实际运行时程序将会报错,故老老实实的把所有库都给安装上去吧。

安装完依赖库之后进入OctoMap的文件夹中,输入如下指令对其进行编译。

cd octomap
mkdir build
cd build
cmake ..
make

3 OctoMap中Octovis的使用

编译完成接下来尝试一下OctoMap的图形显示功能,输入:

bin/octovis octomap/share/data/geb079.bt

可以看到一张基本的地图。如下是使用octovis用不同分辨率显示实验室环境的激光雷达数据。

octomap 安装使用的更多相关文章

  1. ROS 八叉树地图构建 - 安装 octomap 和 octomap_server 建图包!

    项目要用到八叉树库 Octomap 来构建地图,这里记录下安装.可视化,并启用带颜色的 Octomap 的过程. 一.Apt 安装 Octomap 库 如果你不需要修改源码,可以直接安装编译好的 oc ...

  2. octomap的简介

    装载自高翔博士的博客:https://www.cnblogs.com/gaoxiang12/p/5041142.html 什么是octomap? RGBD SLAM的目的有两个:估计机器人的轨迹,并建 ...

  3. 视觉slam十四讲开源库安装教程

    目录 前言 1.Eigen线性代数库的安装 2.Sophus李代数库的安装 3.OpenCV计算机视觉库的安装 4.PCL点云库的安装 5.Ceres非线性优化库的安装 6.G2O图优化库的安装 7. ...

  4. SLAM拾萃(1):octomap

    前言 大家好,时隔多年之后,我又开始了博客旅程.经历了很多事情之后呢,我发现自己的想法真的很简单:好好读书做课题,闲下来时写写博客,服务大家.所以我会继续写SLAM相关的博客.如果你觉得它对你有帮助, ...

  5. octomap相关

    转载自http://blog.csdn.net/linuxarmsummary/article/details/50924947 什么是octomap? RGBD SLAM的目的有两个:估计机器人的轨 ...

  6. octomap建立

    1.安装ros的octomap  ---已完成 2.阅读相关论文,了解其机理,并编写程序实现. 参考网页:https://www.cnblogs.com/gaoxiang12/p/5041142.ht ...

  7. 树莓派3安装ros

    树莓派3上面安装ros总结参考wiki和诸多博客安装ros仍然遇到了很多问题,重装了好几遍才成功,为了自己和其他人以后再安装ros时,不在重蹈覆辙.1.准备和说明树莓派3,安装系统Raspbian j ...

  8. 源码安装ROS Melodic Python3 指南 (转) + 安装记录

    这篇文章转自   https://blog.csdn.net/id9502/article/details/80410989  csdn真是作大死,我保存这篇博客的时候还不需要花钱就能看,现在居然要v ...

  9. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

随机推荐

  1. day14 装饰器模拟验证附加功能

    user_list=[ {'}, {'}, {'}, {'}, ] current_dic={'username':None,'login':False} def auth_func(func): d ...

  2. eclipse svn同步资源库时忽略某些不需要提交文件类型和文件夹

    项目开发中,开发人员经常用SVN来管理代码,在和服务器同步时,每次都看到一堆.class,.log,target等文件,这样很不舒服. 解决方法: 打开:window-->preferences ...

  3. 点分治模板(洛谷P4178 Tree)(树分治,树的重心,容斥原理)

    推荐YCB的总结 推荐你谷ysn等巨佬的详细题解 大致流程-- dfs求出当前树的重心 对当前树内经过重心的路径统计答案(一条路径由两条由重心到其它点的子路径合并而成) 容斥减去不合法情况(两条子路径 ...

  4. [luogu3834]静态区间第k小【主席树】

    传送门:https://www.luogu.org/problemnew/show/P3834 题目描述 如题,给定N个整数构成的序列,将对于指定的闭区间查询其区间内的第K小值. 分析 很多人都说是用 ...

  5. 洛谷P4383 林克卡特树

    题意:树上最长不相交k条链. #include <cstdio> #include <algorithm> #include <cstring> typedef l ...

  6. 我们一起来详细的了解react的语法以及组件的使用方法

    jsx的介绍 React 使用 JSX 来替代常规的 JavaScript. JSX 是一个看起来很像 XML 的 JavaScript 语法扩展. jsx的优点 JSX 执行更快,因为它在编译为 J ...

  7. 出现Exception in thread "main" java.lang.UnsupportedClassVersionError: org/broadinstitute/gatk/engine/CommandLineGATK : Unsupported major.minor version 52.0问题解决方案

    在做外显子分析Indel Realigner时,弹出以下错误: Exception in thread "main" java.lang.UnsupportedClassVersi ...

  8. vue router.push(),router.replace(),router.go()

    1.router.push(location)=====window.history.pushState 想要导航到不同的 URL,则使用 router.push 方法.这个方法会向 history ...

  9. Linux下快速分区格式化大于2T磁盘存储

    在生产环境中,我们会遇到分区大于2T的磁盘(比如:添加一个10TB的存储),由于MBR分区表只支持2T磁盘,所以大于2T的磁盘必须使用GPT分区表,而我们在做raid时会划分多个VD来进行装系统,但系 ...

  10. 反射attr以及模块动态导入

    一.实现自省的四个函数 1.hasattr判断一个对象中有没有一个name字符串对应的方法或属性 class BlackMedium: feture="Ugly" def __in ...