利用深度摄像头生成仿激光数据并构建地图
前言
博主本来是想自己将生成的激光数据和ros中的地图构建工具生成地图的,结果搜了一下github发现这项工作已经被大牛们写好并且打包上传了,可以只利用激光数据不需要里程计数据来构建地图,不过还是把过程写一下,mark一下。
准备
- ros,openni的准备就参考前文吧~
- 安装hector_slam,最简单的方式是直接apt-get
sudo apt-get install ros-indigo-hector-slam
当然你可以从github上下载源码编译一下:hector_slam github.网站上还有ros wiki的介绍链接大家可以去学习一下 - 下载hector_slam_example:下载地址,编译好之后,记住需要将这个文件加入ros包中
ROS_PACKAGE_PATH=/home/cxz/projects/hector_slam_example:$ROS_PACKAGE_PATH
当然路径改成你自己的路径。 - Install the dependency packages:
rosdep install hector_slam_example
- 然后就是喜闻乐见的roslaunch了:
roslaunch hector_slam_example hector_openni.launch
结果
只需要移动摄像头就可以去构建地图了,当然这里面用的生成模拟极光的方法是depthimage_to_laserscan并不是博主前文提到的pointcloud_to_laserscan,代码的方法速度更快但是要求摄像头要相对稳定,并且尽量水平放置,大家最好固定好再去生成地图。
无图无真相~
ps:这种方法没有使用里程计来矫正激光数据,所以误差会比较大,而且稳定性也不强,可以作为一种测试方法,不过真正用到机器人上还是要跟其他数据融合一下才能更精准。
后面会有更精准的地图构建的敬请期待
利用深度摄像头生成仿激光数据并构建地图相关推荐
- 深度学习数据驱动_利用深度学习实现手绘数据可视化的生成
前一段时间,我开发了Sketchify, 该工具可以把任何以SVG为渲染技术的可视化转化为手绘风格.(参考手绘风格的数据可视化实现 Sketchify) 那么问题来了,很多的chart是以Canvas ...
- 利用深度学习实现手绘数据可视化的生成
个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈 前一段时间,我开发了Sketchify, 该工具可以把任何以SVG为渲染技术的可视化转化为手绘风格.(参考手绘风格的数据可视化实现 ...
- 实战技术:利用深度学习实现手绘数据可视化的生成
个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈 前一段时间,我开发了Sketchify, 该工具可以把任何以SVG为渲染技术的可视化转化为手绘风格.(参考手绘风格的数据可视化实现 ...
- 【干货】Entity Embeddings : 利用深度学习训练结构化数据的实体嵌入
[导读]本文是数据科学家Rutger Ruizendaal撰写的一篇技术博客,文章提出深度学习在非结构数据中有不错的表现,当前通过实体嵌入也可以使之在结构化数据中大放异彩.具体讲解了如何利用深度学习训 ...
- MySQL利用存储过程自动生成千万条数据
文章目录 前言 一.实现思路 二.实现步骤 1.创建数据库 2.创建存储表和内存表 3.创建所需函数 4.创建存储过程 5.调用存储过程插入数据 6.统计数据库 拓展 总结 前 ...
- 利用深度学习生成数据的时间序列预测(Matlab代码实现)
目录
- python 转换深度摄像头获取的字节流数据为16bitPNG图像
import numpy as np import struct import matplotlib.pyplot as pltfile = open(r"二进制文件目录", &q ...
- 激光点云构建地图(二)手动标注点云地图
主要依据教程 Autoware 矢量地图标注(Autoware Maptool插件) 环境配置 Unity3d + Autoware Map Toolbox插件 1.下载安装Unity 2.安装Aut ...
- GAN(生成对抗网络)在合成时间序列数据中的应用(第一部分——利用GAN生成合成(synthetic)数据)
(本文基本是对Jasen 的<Machine Learning for Algorithmic Trading>第二版的第21章进行翻译.改写和复现,并用于我们的实际情况) 1. 准备阶段 ...
最新文章
- mysql为什么用索引_MySql为什么使用B+树做索引
- C#的static,interface,virtual,abstract,override的区别用法
- python实现redis分布式锁
- C++11 —— 简易的旋转锁类
- python complex函数def_【Python3】Python函数
- c语言饿结构_C语言的四种程序结构
- 数据库原理及应用(索引为什么快,数据在磁盘上如何存储)
- [LeetCode]Unique Binary Search Trees
- (1)数据结构-绪论
- 【对讲机的那点事】对讲机数字语音加密,保障通信安全
- Socket网络编程进阶与实战
- 埋藏式心脏复律除颤器的原理及参数设置
- Docker入门学习
- java超市运行程序源代码_Java课程设计超市库存管理系统附源代码可以直接运行...
- 数据分析大厂面试真题汇总
- mysql判断字符串长度 超出用省略号_divcss超出长度文字自动隐藏或用省略号表示...
- parallel scavenge 与parnew 区别:
- halcon机器视觉实例1--表面划痕检测
- 如何从阿里云官方镜像站下载ubuntu并安装
- 开源项目学习:cJSON库的学习和使用(上)---以天气JSON数据为例