octomap 安装使用
由于工程实践中需要对机器人地图进行概率化估计并表示,故引入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 安装使用的更多相关文章
- ROS 八叉树地图构建 - 安装 octomap 和 octomap_server 建图包!
项目要用到八叉树库 Octomap 来构建地图,这里记录下安装.可视化,并启用带颜色的 Octomap 的过程. 一.Apt 安装 Octomap 库 如果你不需要修改源码,可以直接安装编译好的 oc ...
- octomap的简介
装载自高翔博士的博客:https://www.cnblogs.com/gaoxiang12/p/5041142.html 什么是octomap? RGBD SLAM的目的有两个:估计机器人的轨迹,并建 ...
- 视觉slam十四讲开源库安装教程
目录 前言 1.Eigen线性代数库的安装 2.Sophus李代数库的安装 3.OpenCV计算机视觉库的安装 4.PCL点云库的安装 5.Ceres非线性优化库的安装 6.G2O图优化库的安装 7. ...
- SLAM拾萃(1):octomap
前言 大家好,时隔多年之后,我又开始了博客旅程.经历了很多事情之后呢,我发现自己的想法真的很简单:好好读书做课题,闲下来时写写博客,服务大家.所以我会继续写SLAM相关的博客.如果你觉得它对你有帮助, ...
- octomap相关
转载自http://blog.csdn.net/linuxarmsummary/article/details/50924947 什么是octomap? RGBD SLAM的目的有两个:估计机器人的轨 ...
- octomap建立
1.安装ros的octomap ---已完成 2.阅读相关论文,了解其机理,并编写程序实现. 参考网页:https://www.cnblogs.com/gaoxiang12/p/5041142.ht ...
- 树莓派3安装ros
树莓派3上面安装ros总结参考wiki和诸多博客安装ros仍然遇到了很多问题,重装了好几遍才成功,为了自己和其他人以后再安装ros时,不在重蹈覆辙.1.准备和说明树莓派3,安装系统Raspbian j ...
- 源码安装ROS Melodic Python3 指南 (转) + 安装记录
这篇文章转自 https://blog.csdn.net/id9502/article/details/80410989 csdn真是作大死,我保存这篇博客的时候还不需要花钱就能看,现在居然要v ...
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
随机推荐
- poj1154 【DFS】
LETTERS Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 8976 Accepted: 4017 Descripti ...
- 挂载文件系统出现"kernel panic..." 史上最全解决方案
问:挂载自己制作的文件系统卡在这里: NET: Registered protocol family 1 NET: Registered protocol family 17 VFS: Mounted ...
- Codeforces 1106F Lunar New Year and a Recursive Sequence | BSGS/exgcd/矩阵乘法
我诈尸啦! 高三退役选手好不容易抛弃天利和金考卷打场CF,结果打得和shi一样--还因为queue太长而unrated了!一个学期不敲代码实在是忘干净了-- 没分该没分,考题还是要订正的 =v= 欢迎 ...
- [luogu3178][bzoj4034][HAOI2015]树上操作
题目描述 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把某个节点 x 为根的子树中所有点的点权都增 ...
- luogu3203 弹飞绵羊 (LCT)
新建一个N+1的点,飞出去的连到这个上,记size,每次统计x和N+1的链长就可以. 别忘了编号是从0开始的 #include<cstdio> #include<cstring> ...
- java 反射 子类泛型的class
很早之前写过利用泛型和反射机制抽象DAO ,对其中获取子类泛型的class一直不是很理解.关键的地方是HibernateBaseDao的构造方法中的 Type genType = getClass() ...
- (转)Servlet的生命周期——初始化、运行、销毁全部过程
背景:面试中很基础的一个问题,所以有必要好好整理一番. Servlet体系结构是建立在 Java 多线程机制上的,它的生命周期由 Web 容器负责. 当客户端第一次请求某个 Servlet 时,Ser ...
- 无法SSH服务器的解决过程(openssh-daemon is stopped)
公司某台服务器不知为何无法ssh连接上,进入现场查看: 1.执行netstat -atnlp|grep ssh,没有找到ssh端口 2.执行ps aux|grep ssh,没找到相关进程 3.执行se ...
- JVM总结(二):JVM的内存分配策略
这节我们总结一下JVM中的内存分配策略.目录如下: 内存分配策略 对象优先在新生代Eden分配 大对象直接进入老年代 长期存活的对象将进入老年代 动态对象年龄判定 空间分配担保 内存分配策略 Java ...
- python---memcache使用操作
import memcache mc = memcache.Client(['127.0.0.1:8081'],debug=True) mc.set("key","val ...