(ros/navigation)how to build a map using logged data 怎样用记录的数据创建地图

how to build a map using logged data 怎样用记录的数据创建地图

描述:怎样用记录的转换和激光扫描数据创建二维地图。

创建地图

1.  如果作为源校验(相对于二进制安装),构建gmapping:

  rosmake gmapping

2. 获取一个包。有两个选择:

1 用机器人创建一个包

2 下载一个现有的包做测试

任何一种方式,都会得到一个包。

3. 启动核心

  roscore 

4. 在其他节点启动前,确保use_sim_time设置为true

<pre name="code" class="javascript">     rosparam set use_sim_time true

5. 启动slam_gmapping,它将会接收激光扫描(在这个例子中,在base_scan话题上),并且创建地图:

    rosrun gmapping slam_gmapping scan:=base_scan 

注意:在PR2上,odom坐标系称为odom_combined。使用这个命令:

 rosrun gmapping slam_gmapping scan:=base_scan _odom_frame:=odom_combined 

6. 在一个新终端,开始回放bag文件,莱维slam_gmapping提供数据:

      rosbag play --clock <name of the bag that you downloaded / created in step 2> 

等待rosbag完成并退出。

7. 使用map_server包的map_saver保存新地图到磁盘:

   rosrun map_server map_saver 

现在就有了一个地图,本地保存为map.pgm。可以用任何图像浏览器(gimp,eog,gthumb等)查看;

下载一个测试包

使用wget命令来下载测试包,

wget http://pr.willowgarage.com/data/gmapping/basic_localization_stage.bag

自己创建包

1   启动机器人,发布激光扫描和转换数据,摇杆操纵启用(不同机器人的细节不同);

2  开始记录扫描和转换(注意scan话题可能因为机器人不同而不同):

 rosbag record -O mylaserdata /base_scan /tf 

将会在当前目录开始写文件,文件名字为’mylaserdata_<DATE>-topic.bag’

3  驱动机器人转一圈。常用的建议:

?    尝试限制快速旋转,因为他们在扫描匹配上最难。降低操纵杆的最大允许速度比较有用。

?     用激光雷达可视化机器”看到”的;如果激光不能看到,则地图上就不会有。

?    人类走动通常不会出现问题,除非他随着机器人走,在激光的视野内。

?      回路闭合是最难的部分。关闭回路时,确保多行驶5-10米,来获得回路始端和终端之间的大量重叠。

4 杀掉rosbag实例,并且注意创建的文件的名字。

变化:查看创建地图的进展

如果看到结果前,不介意等待直到记录数据回放和创建地图过程完成,可以再rviz中查看进展:

 rosrun rviz rviz 

添加地图显示,设置话题 /map

Author: wsh

Email: [email protected]

时间: 2024-10-10 07:11:24

(ros/navigation)how to build a map using logged data 怎样用记录的数据创建地图的相关文章

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 laser sensor(RPLIDAR) and a mobile battery. The mounting frame can be made by 3D printers. ROS navigation system enable to make a map of rooms and use it to

分析ROS Navigation Stack的原因

机器人导航是机器人所有其他功能的基础,手上现有的机器人导航框架已经基本完善,想要再进行性能以及效果上的提高需要很大的改动,因此参考ROS Navigation Stack,进行其代码结构以及思路的阅读,帮自己理清自己项目改进思路,经过几天的分析以及阅读,已经基本明确,接下来几天准备新导航代码的编写.

(ros/navigation/gmapping)导航/建地图

概述 http://wiki.ros.org/gmapping Gmapping包包含OpenSlam的Gmapping的一个ROS封装.Gmapping 的ROS节点slam_gmapping提供基于激光的SLAM(同时定位和创建地图).依靠移动机器人收集的激光和位姿数据,使用slam_gmapping可以创建2维栅格地图. 外部文档 主要是一个第三方包. 硬件需求 使用slam_gmapping,需要移动机器人提供里程计数据,并且水平安装固定激光测距仪.slam_gmapping节点试图转换

(ros/navigation/slam_gmapping) map_server地图服务器

http://wiki.ros.org/map_server 概述 map_server提供map_server ROS节点,它提供地图数据作为一个ROS服务器.也提供map_saver命令行功能,能动态生成保存到文件中的地图. 地图格式 包中通过工具操作的地图是以成堆的文件存储的.YAML文件描述地图的元数据,并命名image文件.Image文件编码占用数据. Image 格式 Image 以对应单元的颜色描述世界中每个单元的占用状态.白色单元格表示自由,黑色单元格表示占用,两种颜色之间的单元

(ros/navigation) navigation导航中一些重要话题的来源和去路

(ros/navigation) navigation导航中一些重要话题的来源和去路,对理解程序有很大帮助 topic1:  cmd_vel Type: geometry_msgs/Twist Publishers: * /move_base Subscribers: * none topic2:  /move_base/NavfnROS/plan Type: nav_msgs/Path Publishers: * /move_base Subscribers: * /rviz topic3: 

ROS Navigation中的map_server地图包功能和使用

博客参考 http://wiki.ros.org/map_server 和 https://www.ncnynl.com/archives/201708/1897.html 1. 安装map_server sudo apt-get install ros-kinetic-map-server 2. 具体使用说明 map_server使得地图的数据变成 ros 的service 可以被调用.其中以两种方式存储.一个是yaml文件,他存储了数据的元数据.一个是image file   他编码了地图的

How To Build Compelling Stories From Your Data Sets

How To Build Compelling Stories From Your Data Sets Every number has a story. As a data scientist, you have the incredible job of digging in and analyzing massive sets of numbers to find what that story is. The challenge can be that while you may hav

【Unity3D】生成工程报错解决—UnityEditor.HostView:OnGUI() Error building Player: Couldn&#39;t build player because of unsupported data on target platform.

错误 错误1:An asset is marked as dont save, but is included in the build: unityEditor.HostView:OnGUI() 错误2:Building - Failed to write file: sharedassets0.assetsUnityEditor.HostView:OnGUI() 错误3:Error building Player: Couldn't build player because of unsup

map的数据创建任意类的JavaBean对象

1.需要的jar包: itcast-tools-1.4.jar     http://pan.baidu.com/s/1Dbo2i commons-beanutils-1.8.3.jar    http://pan.baidu.com/s/1Dbo2i commons-logging-1.1.1.jar  http://pan.baidu.com/s/1c0yefK0 2.map的数据创建任意类的JavaBean对象 T toBean(Map, Class<T>):把Map转换成指定类型的Be