在ROS-melodic中安装运行gmapping 功能包
文章目录
- 在ROS-melodic中安装运行gmapping 功能包
- 前言
- 一、我的环境
- 二、使用步骤
- 1.安装依赖项
- 2.创建ros工作空间
- 3.下载功能包(注意所下载的分支是melodic)
- 4.回到工作空间目录编译
- 4.运行Gmapping
- 总结
前言
本人在下载编译gamapping源码的过程中踩了不少坑,之前一直各种冲突由于自己手贱在opt目录下输了chmod导致系统崩了,没办法啊只能重装系统,结果!!!惊喜来了!!!!
新装了系统后再按照这个教程,再也没有任何依赖项冲突了~
塞翁失马焉知非福,开心!!!
提示:以下是本篇文章正文内容
一、我的环境
ubuntu18.04+ros_melodic
二、使用步骤
1.安装依赖项
sudo apt-get install libsdl1.2-dev
sudo apt install libsdl-image1.2-dev
sudo apt-get install ros-melodic-slam-gmapping
2.创建ros工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src/
3.下载功能包(注意所下载的分支是melodic)
下不下来的可以手动下载到目录/catkin_ws/src/并解压
git clone https://github.com/ros/geometry2/tree/melodic-devel
git clone https://github.com/ros-planning/navigation/tree/melodic-devel
git clone https://github.com/ros-planning/navigation_msgs.git
git clone https://github.com/ros-perception/slam_gmapping.git
git clone https://github.com/ros-perception/openslam_gmapping
4.回到工作空间目录编译
cd ~/catkin_ws/
catkin_make
编译成功
4.运行Gmapping
数据集下载(百度网盘)
链接: https://pan.baidu.com/s/1_GJrrRUhQ8yX3gU7r8TgaA
密码: gdwo
运行roscore
roscore
重新打开一个终端,设置为读取仿真时间,即让系统知道现在要运行的是数据集
rosparam set use_sim_time true
此处最好配置一下运行环境,不配置的话有可能会报错找不到gmapping
source ~/catkin_ws/devel/setup.bash
在数据集所在文件夹下打开新终端,读取base_scan话题。
rosrun gmapping slam_gmapping scan:=base_scan
再在数据集所在文件夹下新开终端,对数据集进行play,如果需要运行其他数据集,就修改数据集名字basic_localization_stage_indexed.bag成你自己的。
rosbag play --clock basic_localization_stage.bag
在数据集文件夹下打开终端,然后查看一下话题
rostopic list
启动RViz,点击 add 按钮(左下方)这时会弹出一个空地图,如果以上均正确,则rviz里边的Global Status:ok前边会显示绿色的√,如果为红色错误或黄色警告,可能就是base_scan那步运行有错误。选择bytopic,选择map ,点击OK,随着时间过去开始出现地图。
rosrun rviz rviz
总结
努力总是会有收获的,问题再多也要心平气和。