< >
Home » Turbot中级教程 » Turbot中级教程-应用-实现gmapping建图

Turbot中级教程-应用-实现gmapping建图

Turbot中级教程-应用-实现gmapping建图

说明

  • 介绍如何实现gmapping建图

操作步骤

  • [Turbot] 新终端执行,启动底盘
$ roslaunch turbot_bringup minimal.launch
  • 效果如下:

请输入图片描述

  • [Turbot] 新终端执行,启动gmapping,利用kinect v1实现获取深度速度并转为激光数据
$ roslaunch turbot_slam gmapping_demo.launch
  • 效果如下:

请输入图片描述

  • [Remote PC] 新终端,启动rviz
$ roslaunch turbot_rviz nav.launch
  • 显示效果:

请输入图片描述

  • [Remote PC] 新终端,启动键盘控制
$ roslaunch turbot_teleop keyboard.launch
  • 效果如下:

请输入图片描述

  • 通过键盘控制Turbot在房子内来回走动,生成房子的地图。
  • 效果如下:

请输入图片描述

  • [Turbot] 保存地图
$ rosrun turbot_map saver zhizaokongjian
  • 自动新建目录,并保存地图到~/map

  • 得到两个文件如下:

    • zhizaokongjian.pgm 地图
    • zhizaokongjian.yaml 配置
  • zhizaokongjian.yaml样例:

image: /home/ubuntu/map/zhizaokongjian.pgm
resolution: 0.050000
origin: [-12.200000, -12.200000, 0.000000]
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196
  • 必填的字节:
image:   含占用信息的image文件的路径;可以是绝对路径,也可以是到YAML文件的相对路径。
resolution:地图的分辨率,meters/pixel
origin: 机器人相对地图原点的位姿,(x,y,yaw),yaw逆时针旋转(yaw=0表示没有旋转)。
occupied_thresh:单元占用的概率大于这个阈值则认为完全占用。
free_thresh: 单元占用的概率小于这个阈值则认为完全自由。
negate: 不论白色/黑色,自由/占用,semantics(语义/符号)应该被反转(阈值的解释不受影响)。

演示视频

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: turbot中级教程