ros学习

您所在的位置:网站首页 gmapping算法流程 ros学习

ros学习

2023-08-09 11:08| 来源: 网络整理| 查看: 265

前言 Gmapping算法

Gmapping是一个基于2D激光雷达使用RBPF(Rao-Blackwellized Particle Filters)算法完成二维栅格地图构建的SLAM(Simultaneous Localization And Mapping)算法。

Gmapping功能包

gmapping功能包集成了Rao-Blackwellized粒子滤波算法,为开发者隐去了复杂的内部实现 gmapping功能包订阅机器人的深度信息、IMU信息和里程计信息,同时完成一些必要参数的配置,即可创建完成基于概率的二维栅格地图(机器人地图一般分为三种类型:栅格地图,拓扑地图,特征地图)。

系统 Linux版本Ros版本Ubuntu 18.04melodic 配置Gmapping功能包 下载

Gmapping功能包GitHub链接 进入GitHub之后选中自己系统的版本(比如作者的的就是melodic)分支使用git方式或者直接网站下载压缩包在这里插入图片描述 解压下载下来的压缩包

unzip slam_gmapping-melodic-devel.zip

在这里插入图片描述

配置

将其中的gmapping和slam_gmapping文件夹移动到需要建图的ROS工作空间的/src目录(因为它俩是功能包嘛)

编译

新建一个终端(ctrl+alt+t)

cd racecar_ws //到工作空间下 catkin_make

在这里插入图片描述

编译成功

建图 运行小车的gazebo环境

打开一个终端

roslaunch gazebo_pkg race.launch

在这里插入图片描述

编写gmapping.launch文件

gmapping.launch是一个为gmapping算法配置参数的文件

需要注意的是参数的名字必须与订阅话题的名字一致,可以在运行gazebo(也就是小车模型已经加载出来了)后通过命令

rostopic list

查看话题 比如 里面的/odom 是里程计 /scan是激光雷达 其他参数暂且不管 在这里插入图片描述

编写gmapping_demo.launch文件

gmapping_demo.launch其实就是将上面的gmapping.launch运行然后启动了一下rviz文件

gazebo_pkg是gmapping.launch,gmapping_demo.launch,race.launch(运行小车和地图的文件)的功能包名。gmapping.launch也可以放在gmapping功能包里,功能包名随之改变即可 在这里插入图片描述

编译

新建一个终端(ctrl+alt+t)

cd racecar_ws //到工作空间下 catkin_make 运行gmapping_demo.launch文件 roslaunch gazebo_pkg gmapping_demo.launch //gazebo_pkg是gmapping_demo.launch所在的功能包名

在这里插入图片描述 没有错的话就会出现Rviz界面

配置Rviz

配置Rviz加载出小车及其其他参数 在这里插入图片描述

在这里插入图片描述 RobotModel是By display type栏 Image Map LaserScan Odometry在By topic栏

开车车

新终端

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

保持这个终端在前使用uiojklm,.控制在这里插入图片描述

跑完整个地图 在这里插入图片描述

Rviz保存地图 安装map-server sudo apt-get install ros-indigo-map-server 保存栅格地图 rosrun map_server map_saver -f mymap //mymap 是保存的文件名 如果想要保存到制定路径则mymap改为: .../.../.../mymap

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3