激光SLAM之Gmapping(1)安装与测试

本文介绍Gmapping在ROS中的安装及测试过程。Gmapping是一种开源的实时SLAM解决方案,适用于激光和里程计数据。文中详细描述了两种安装方法及其注意事项,并提供了数据集测试和rviz配置的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

激光SLAM之Gmapping(1)安装与测试

背景

  Gmapping是ROS中一种开源的实时SLAM解决方案,由德国弗莱堡大学Giorgio Grisetti等编写。主要使用激光和里程计数据进行SLAM,采用自适应重采样技术来减少粒子退化的影响,同时在粒子分布时引入当前观测值,使得粒子不确定性降低。其方法中主要包括扫描匹配和Grid FastSLAM算法,构建的地图格式为栅格地图。

安装与编译

  ros-melodic支持的是Ubuntu18.04,网上主要有两种安装方式,一种安装方式与Ubuntu16.04安装无较大差异,可通过sudo apt install的方式安装;另一种是通过源码安装。具体操作如下。
先安装依赖库

sudo apt-get install libsdl1.2-dev
sudo apt install libsdl-image1.2-dev

方式1 apt 安装

sudo apt-get install ros-melodic-gmapping

  这个方法不太可行,我自己在操作的时候安装没有问题,显示如下图
在这里插入图片描述
  但是在建图测试的时候会出现问题,还是要重新进行源码安装。
方法2 源码安装
  也还是需要先安装依赖库

sudo apt-get install libsdl1.2-dev
sudo apt install libsdl-image1.2-dev

  创建工作空间

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src/
catkin_init_workspace

  进入工作空间

cd ~/catkin_ws/src

复制代码

git clone https://github.com/ros-perception/openslam_gmapping.git
git clone https://github.com/ros-perception/slam_gmapping.git
git clone https://github.com/ros-planning/navigation.git
git clone https://github.com/ros/geometry2.git

安装完成后记得编译

cd ..
catkin_make

这样就完成了gmapping的安装
在这里插入图片描述

注:安装过程中出现的错误以及解决方法

①编译时出现的问题
在这里插入图片描述
解决方法:
输入

catkin_make_isolated

如果还是不能解决问题,输入

rosdep where-defined bullet

可能会出现一个网址(我的出现的是下面这个网址)

https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml

不用管,接着输入

sudo apt-get install libbullet-dev

完成上述两步后重新进行编译,基本上不会再出错
在这里插入图片描述
接下来可以测试gmapping

数据集测试

在安装完成后,运行下数据集测试一下是否安装成功。这是我用的数据测试包
https://download.youkuaiyun.com/download/aidimoli123/14028249

具体操作步骤:
打开终端,输入

roscore

打开新的终端,输入

rosparam set use_sim_time true//设置ROS 启用重放数据中的时间而非本机时间,因为在默认情况下ros使用Ubuntu系统的时间,即当前时间。由于我们重放的文件是历史文件,它记录的是历史时间,所以需要设置ROS 从现在起开始启用模拟时间。
rosrun gmapping slam_gmapping scan:=base_scan	//启动gmapping,并监听scan_base topic 发来消息。

再打开另一个新的终端,输入

rosrun rviz //启动rviz

在这里插入图片描述

还需打开一个终端,输入

rosbag play basic_localization_stage.bag //这个basic_localization_stage.bag是我的数据包里的,如果是别的数据包,只需要将名字即basic_localization_stage.bag换了即可。

rviz配置

  启动 RViz,点击 add 按钮(左下方),在弹出的列表中选择 map,点击 OK,这时开始展现一个空的地图。
在这里插入图片描述
gmapping 输出的 topic 是 /map ,因此将其 topic 配置成 /map即可。

在这里插入图片描述
最终测试结果还是挺不错的。
在这里插入图片描述

GMapping是Google Robotics开发的一种SLAM(Simultaneous Localization And Mapping,同时定位建图)算法,主要用于移动机器人导航系统中。它基于激光雷达数据生成环境地图并实时更新机器人的位置。要在ROS(Robot Operating System,机器人操作系统)环境中安装GMapping,你需要做以下几个步骤: 1. **安装ROS**:首先确保你已经安装了ROS,通常选择版本如Noetic、Melodic等。你可以从ros.org网站下载对应的操作系统包。 2. **安装必要的依赖**:GMapping需要Ros navigation stack(导航栈),其中包括`amcl`(粒子滤波器定位)和`move_base`(路径规划)。运行命令行,安装这些包: ``` sudo apt-get update && sudo apt-get install ros-[your_ros_distribution]-navigation-stack ``` 3. **获取GMapping源码**:如果你想要最新的源码,可以克隆`nav_core`仓库: ``` git clone https://github.com/ros-planning/navigation.git cd navigation ``` 4. **构建和安装**: - 进入`src/nav_core`目录,然后执行`catkin_make`构建GMapping及其依赖。 - 完成构建后,执行`sudo catkin_install_python_packages`将Python包安装到系统的`python`库中。 5. **配置ROS参数和服务**:在`~/.bashrc`或`.zshrc`中添加ROS工作空间,并设置环境变量。启动ROS并运行相应的服务,比如`roslaunch move_base move_base.launch`。 6. **测试**:使用ROS的RViz或者其他工具验证GMapping是否正常工作。通过移动机器人并在 RViz 中查看地图和位置信息。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值