一.建图实际操作

  1. 下载源码测试源码,depthimage_to_laserscan,参考https://blog.csdn.net/u010925447/article/details/56494680
  2. 解压到你的ros工作空间路径中。
  3. 使用catkin_make编译功能包。
  4. 分析launch文件,修改使其在自己的平台上可用:参考https://www.jianshu.com/p/429e59d48322
  5. 运行launch文件 启动转换节点:roslaunch depthimage_to_laserscan sample_node.launch(包含主节点和深度相机启动节点)

二.利用深度相机仿激光数据创建地图

  1. 下载hector_slam_example:下载地址 https://github.com/chenxingzhe/hector_slam_example,编译(cmake)(无需里程计即可建图,核心节点hector_mapping订阅/scan话题)
  2. sudo apt-get install ros-indigo-hector-slam
  3. Install the dependency packages:rosdep install hector_slam_example
  4. 在启动之前如果你用的是kinect,那就修改一下launch文件
  5. 然后就是roslaunch hector_slam_example hector_openni.launch
  6. 只需要让移动平台移动就可以去构建地图了,当然这里面用的生成模拟激光的方法是depthimage_to_laserscan节点,但是要求KINECT要相对稳定,并且尽量水平放置。
  7. 在rviz中就可以看到hector_slam的效果了

三.终端操作

  • 启动摄像头 : $ roslaunch freenect_launch freenect.launch
  • 启动深度转scan信息:$ rosrun depthimage_to_laserscan depthimage_to_laserscan image:=/camera/depth/image_raw
  • 启动自己添加的三个launch文件:$ roslaunch hector_slam_launch slam.launch
  • 查看tree图:$ rosrun rqt_tf_tree rqt_tf_tree
  • 接下的是我自己通过手柄控制机器人的程序
  • $ rosrun joy joy_node
  • $ rosrun input_js_control logitech
  • $ rosrun ros_car_py base.py
  • $ python 22-tcp_client_joy.py
  • 利用预先准备好的bag文件运行的SLAM
  • $rosbag record -o foo scan tf
  • $rosbag play --clock foo.bag
  • $rosbag info foo.bag
  • 创建完成之后,启动地图以及查看地图
  • $ rosrun map_server map_server map.yaml
  • $ rosrun map_server map_server -f map
  • $ roscd ~/maps
  • $ rosrun map_server map_server map.yaml

使用hector-slam和Kinect V1建图的更多相关文章

  1. SLAM+语音机器人DIY系列:(六)SLAM建图与自主避障导航——2.google-cartographer机器人SLAM建图

    摘要 通过前面的基础学习,本章进入最为激动的机器人自主导航的学习.在前面的学习铺垫后,终于迎来了最大乐趣的时刻,就是赋予我们的miiboo机器人能自由行走的生命.本章将围绕机器人SLAM建图.导航避障 ...

  2. 通过gmapping和伪造的odom,完成Kinect建图

    传感器信息: 环境深度信息:sensor_msgs/laserScan -----> RGBD三维点云数据:通过ros功能包depthimage to laserscan完成深度相机数据转换成激 ...

  3. TurtleBot3 Waffle (tx2版华夫)(12)建图-hector建图

    1)[Remote PC] 启动roscore $ roscore 2)[TurBot3] 启动turbot3 $ roslaunch turbot3_bringup minimal.launch 3 ...

  4. rplidar & hector slam without odometry

    接上一篇:1.rplidar测试 方式一:测试使用rplidar A2跑一下手持的hector slam,参考文章:用hector mapping构建地图 但是roslaunch exbotxi_br ...

  5. cartographer环境建立以及建图测试(详细级)

  6. Hector SLAM解读(1)原文翻译

      一种带有3D运动状态估计的slam系统 A Flexible and Scalable SLAM System with Full 3D Motion Estimation 摘要: 在许多应用场景 ...

  7. 【Hector slam】A Flexible and Scalable SLAM System with Full 3D Motion Estimation

    作者总结了SLAM前端和后端的区别 While SLAM frontends are used to estimate robot movement online in real-time, the ...

  8. 【ros】rplidar Hector Slam

    想用rplidar跑一下hector slam,在网上发现了几个教程写的都不错,但是亲测发现都有点不足,综合了一下,进行补充. 1. 安装ros 和 创建工作空间 http://blog.csdn.n ...

  9. 【翻译】Kinect v1和Kinect v2的彻底比较

      本连载主要是比较Kinect for Windows的现行版(v1)和次世代型的开发者预览版(v2),以C++开发者为背景介绍进化的硬件和软件.本文主要是对传感的配置和运行条件进行彻底的比较.   ...

随机推荐

  1. Linux 下执行Shell 脚本的方式

    Shell 脚本的执行方式通常有如下三种: (1)bash script-name 或者 sh script-name:(2)path/script-name或者./script-name:(3)so ...

  2. CentOS7安装Go环境

    下载go(我的当前目录是/data/work)$wget https://studygolang.com/dl/golang/go1.10.1.linux-amd64.tar.gz$tar -xvf ...

  3. TypeSrcript如何引入第三方库 如果加d.ts以及async await如何使用 demo,只有代码,文字后续补充

    https://files.cnblogs.com/files/cappuccino/laya2.rar

  4. 8051汇编:EQU指令

    关于EQU汇编指令 EQU是英文单词equal的缩写,因此我们也能对EQU指令有一个初步的认识:做等价替换使用. 在8051汇编语言中,EQU用于定义一个符号常量,其效果不会带来存储空间的占用(这和C ...

  5. Tensorflow一些常用基本概念与函数(1)

    为了快速的熟悉TensorFlow编程,下面从一段简单的代码开始: import tensorflow as tf #定义‘符号’变量,也称为占位符 a = tf.placeholder(" ...

  6. 调用微信定位功能 lat _ lng php方法

    {:wx_jssdk_config("false")} //最主要的这一句 没有这一句在微信浏览器里是无法调用的定位功能的.下面有这个方法说明 <script> wx. ...

  7. git 实战

    1.网站手动创建新分支 2.在master下 项目路径下 右键 Git branch here 3.切分支: git fetch git branch -a git branch -r git che ...

  8. 线段树 || BZOJ1756: Vijos1083 小白逛公园 || P4513 小白逛公园

    题面:小白逛公园 题解: 对于线段树的每个节点除了普通线段树该维护的东西以外,额外维护lsum(与左端点相连的最大连续区间和).rsum(同理)和sum……就行了 代码: #include<cs ...

  9. SQL Server 索引自动组织维护

    公司的一个产品中的数据库,几个热点表因为主键和索引设计不合理,造成索引碎片过大,影响性能. 我尝试新建了一个索引碎片整理的定时任务,用于维护索引锁片和统计信息. 具体的过程如下: 本文原创,转发请表明 ...

  10. laravel队列使用

    1.修改.env中queue_driver = databases 2.php artisan queue:table 在database 目录下migrations里面有对应的表 3.执行迁移文件 ...