前言:gmapping是最常用和成熟的slam导航算法,gmapping功能包集成了Rao-Blackwellized粒子滤波算法,为开发者隐去了复杂的内部实现。

前提:已下载并编译了相关功能包集,如还未下载,可通过git下载:https://github.com/huchunxu/ros_exploring.git

一、启动launch文件

cd ~/catkin_ws/src/robot_mrobot/mrobot_gazebo/launch
roslaunch mrobot_laser_nav_gazebo.launch
cd ~/catkin_ws/src/robot_mrobot/mrobot_navigation/launch
roslaunch gmapping_demo.launch

--------------------------------------------------

解析:

第一个是仿真环境和车;

第二个是导航算法。

二、启动键盘控制节点

cd ~/catkin_ws/src/robot_mrobot/mrobot_teleop/launch
roslaunch mrobot_teleop.launch

---------------------------------------------------

出现如下错误

ERROR: cannot launch node of type [mrobot_teleop/mrobot_teleop.py]: can't locate node [mrobot_teleop.py] in package [mrobot_teleop]
No processes to monitor
shutting down processing monitor...
... shutting down processing monitor complete

是因为对文件没有权限,所以解决方式:

cd /home/cdq/catkin_ws/src/robot_mrobot/mrobot_teleop/scripts
chmod +x mrobot_teleop.py

再运行launch就可以了

三、保存地图

探测完地图后还可以保存地图:

rosrun map_server map_saver

-------------------------------------------------------

显示如下:

[ INFO] [1547175819.841787667]: Waiting for the map
[ INFO] [1547175820.094541085]: Received a 608 X 480 map @ 0.050 m/pix
[ INFO] [1547175820.094622238]: Writing map occupancy data to map.pgm
[ INFO] [1547175820.102316792, 2377.983000000]: Writing map occupancy data to map.yaml
[ INFO] [1547175820.102432815, 2377.983000000]: Done

-END-

ROS-SLAM-gmapping的更多相关文章

  1. 十四课 slam&gmapping

    gmapping 根据激光数据(或者深度数据模拟的激光数据)建立地图,在turtlebot里面应用的就是深度数据模拟的激光数据.如果没有激光雷达的话可以使用Kinect. SLAM 机器人在未知环境中 ...

  2. [SLAM] GMapping SLAM源码阅读(草稿)

    目前可以从很多地方得到RBPF的代码,主要看的是Cyrill Stachniss的代码,据此进行理解. Author:Giorgio Grisetti; Cyrill Stachniss  http: ...

  3. ros机器人开发概述

    1.       ROS项目开发流程? 参照古月大神写的ROS探索总结系列:http://blog.exbot.net/archives/619 具体项目设计可看看<程序员>杂志的最新一篇 ...

  4. Gmapping笔记

    2D-slam 激光slam: 开源代码的比较HectorSLAM Gmapping KartoSLAM CoreSLAM LagoSLAM 作者:kint_zhao 原文:https://blog. ...

  5. SLAM的现在与未来

    http://geek.csdn.net/news/detail/202128 作者:高翔,张涛,刘毅,颜沁睿. 编者按:本文节选自图书<视觉SLAM十四讲:从理论到实践>,系统介绍了视觉 ...

  6. Roomblock: a Platform for Learning ROS Navigation With Roomba, Raspberry Pi and RPLIDAR(转)

      What is this? "Roomblock" is a robot platform consists of a Roomba, a Raspberry Pi 2, a ...

  7. OpenSLAM

    [SLAM] GMapping SLAM源码阅读(草稿):https://www.cnblogs.com/yhlx125/p/5634128.html 从零开始学习SLAM:https://blog. ...

  8. Learning ROS for Robotics Programming Second Edition学习笔记(三) indigo rplidar rviz slam

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  9. ROS进阶学习笔记(11)- Turtlebot Navigation and SLAM - ROSMapModify - ROS地图修改

    ROS进阶学习笔记(11)- Turtlebot Navigation and SLAM - 2 - MapModify地图修改 We can use gmapping model to genera ...

  10. 对比几种在ROS中常用的几种SLAM算法

    在此因为要总结写一个文档,所以查阅资料,将总结的内容记录下来,欢迎大家指正! 文章将介绍使用的基于机器人操作系统(ROS)框架工作的SLAM算法. 在ROS中提供的五种基于2D激光的SLAM算法分别是 ...

随机推荐

  1. 打开word2010每次都要配置进度的解决办法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 不小心把ms office2010搞坏了,于是重装ms office2010,结果一打开word文档时总是出现下面的对 ...

  2. 转/ C# 托管资源和非托管资源

    原文 对于这两个一直就是模模糊糊的,半知零解 托管资源指的是.NET可以自动进行回收的资源,主要是指托管堆上分配的内存资源.托管资源的回收工作是不需要人工干预的,由.NET运行库在合适时调用垃圾回收器 ...

  3. 创建一个dynamics CRM workflow (二) - Build in Workflows

    这里我们不着重讲解build in workflow. 但是, 如果要上手custom workflow, 我们必须要了解 build in workflow. build-in workflow 在 ...

  4. jQuery添加新的元素

    append() - 在被选元素的结尾插入内容 prepend() - 在被选元素的开头插入内容 after() - 在被选元素之后插入内容 before() - 在被选元素之前插入内容 $(&quo ...

  5. charles抓https设置

    1下载charles和破解包 2安装证书 打开charles的help->SSL Proxying->install charles root certificate 选择你要安装的列表里 ...

  6. SciSharpCube:容器中的SciSharp,.NET机器学习开箱即用

    SciSharp Cube 在Docker容器中快速体验SciSharp机器学习工具的最新功能. 项目地址:https://github.com/SciSharp/SciSharpCube 从Dock ...

  7. NOIP2016 天天爱跑步 线段树合并_桶_思维题

    竟然独自想出来了,好开心 Code: #include<bits/stdc++.h> #define setIO(s) freopen(s".in","r&q ...

  8. VS2013 opencv 无法删除“继承的值”问题解决方案

    http://www.360doc.com/content/15/0103/14/110467_437739376.shtml 解决方案: (1)视图——其他窗口——属性管理器. 注意:是”属性管理器 ...

  9. springMVC常用注解的使用

    一.@ResponseBody注解的使用 1. @responseBody注解的作用是将controller的方法返回的对象通过适当的转换器,转换为指定的格式之后, 写入到response    对象 ...

  10. 【BZOJ2806】【CTSC2012】Cheat - 广义后缀自动机+单调队列优化DP

    题意: Description Input 第一行两个整数N,M表示待检查的作文数量,和小强的标准作文库的行数 接下来M行的01串,表示标准作文库 接下来N行的01串,表示N篇作文 Output N行 ...