2D建图以及导航(Gmapping建图的实现)

本文详细介绍了在Ubuntu18.04环境下安装和配置ROS-Melodic版本,使用Gmapping进行2D建图的过程,包括依赖项安装、源码下载、环境配置、运行Gmapping以及在Rviz中查看和保存地图的步骤。
摘要由CSDN通过智能技术生成

2D建图以及导航

2D建图

这里我们采用Gmapping(安装好了的话,直接调到第二部分)

首先已经默认大家在ubuntu18.04安装了ROS-melodic版本(或者其他版本),没安装的同学可以参考B站古月居ros21讲。

Gmapping源码下载并编译:

  • 下载依赖项

    //桌面上打开终端 
    sudo apt-get install libsdl1.2-dev
    sudo apt install libsdl-image1.2-dev
    
  • 主目录新建catkin_ws1工作空间文件夹,在catkin_ws1中新建src功能包文件夹

    //进入src文件下载gmapping源码
    cd ~/catkin_ws/src/
    
  • 下载gmapping源码

    1、使用git clone下载

    Gmapping建图功能包是由slam_gmapping 和 openslam_gmapping 两部分组成的,具体网址如下所示:

    https://github.com/ros-perception/slam_gmapping

    https://github.com/ros-perception/openslam_gmapping

一共需要下载五个功能包,第五个功能包geometry2需要手动下载(手动选择melodic版本下载,默认为noetic版本,会导致编译出错),移动至src路径下。(点击Code下载压缩包)
在这里插入图片描述

  • 在刚刚建的工作空间中编译

    catkin_make
    
  • 配置一下环境变量

    //在主目录下打开.bashrc文件(该文件为隐藏文件,按ctrl+h可出现)
    //最后一行加上下面路径
    source /home/XXX/catkin_ws/devel/setup.bash
    
  • 运行Gmapping源码:
    数据集下载

    https://wwm.lanzoul.com/itVF002ans5e

  • 运行roscore

    roscore
    
  • 重新打开一个终端,设置为读取仿真时间,即让系统知道现在要运行的是数据集

     rosparam set use_sim_time true
    
  • 在数据集文件夹下打开终端,然后查看一下话题

    rostopic list
    
  • 在数据集所在文件夹下打开新终端,读取base_scan话题,这个不开的话,不能在rviz里边读取话题里的信息,就看不到地图

     rosrun gmapping slam_gmapping scan:=base_scan
    
  • 在数据集所在文件夹下新开终端,对数据集进行play,如果需要运行其他数据集,就修改数据集名字

    rosbag play --clock basic_localization_stage_indexed.bag
    
  • 新建终端打开rviz

    rviz
    
  • 如果以上均正确,则rviz里边的Global Status:ok前边会显示绿色的√,如果为红色错误或黄色警告,可能就是base_scan那步运行有错误。然后选择add,选择by topic,选择map。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 然后就可以看到在一点点建图了
  • Rviz保存地图
//新建终端输入,保存的地图在主目录下,名为mymap
rosrun map_server map_saver -f mymap

**注:**其实笔者有很多想要总结的东西,但是由于时间和精力的原因,暂时没法按时更新,如果有需要,可以给我留言或者评论,非常愿意和大家一起讨论一起进步!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值