ROS机器人SLAM学习:Gazebo定位与导航仿真

ROS机器人SLAM学习:Gazebo定位与导航仿真

安装gmapping:
在这里插入图片描述

启动gmapping演示(激光雷达):

1.启动仿真环境
在这里插入图片描述在这里插入图片描述
2.在Rviz中查看激光雷达信息
在这里插入图片描述在这里插入图片描述
3.启动键盘控制机器人移动
在这里插入图片描述

若现了以下错误,是因为mbot_teleop.py没有可执行权限,使用chmod +x给它加上权限就可以了,或者直接右击这个文件,点击属性,再点击权限,把允许程序作为可执行文件勾上就可以了
在这里插入图片描述在这里插入图片描述

此时就可以通过键盘控制机器人移动了。
移动前:
在这里插入图片描述移动后:
在这里插入图片描述
Rviz中的地图显示:
在这里插入图片描述保存地图:
下载map_server 包:
在这里插入图片描述编译:出现了一下错误:
在这里插入图片描述原来是没有安装SDL包,下载SDL:
在这里插入图片描述安装成功后再进行编译就成功了。
在这里插入图片描述
若编译还是有类似错误,那就是你缺少了包,直接百度你的错误确定缺少哪种包然后下载下来就可以了。
运行:rosrun map_server map_saver -f cloister_gmapping
在这里插入图片描述
运行结果:
在这里插入图片描述在这里插入图片描述
地图被保存下来了。可以让机器人走完整个地图,就可以扫描出一张完整的地图。

启动gmapping演示(kinect)

1、
在这里插入图片描述在这里插入图片描述

注意:这里的环境最好是一个封闭的环境,不然扫描不出来。

2、
在这里插入图片描述
在这里插入图片描述我这个就是环境封闭性不太好。
3、
在这里插入图片描述

Hector_slam包的使用

安装hector包:
在这里插入图片描述1、启动仿真环境
在这里插入图片描述
在这里插入图片描述
2、Rviz在这里插入图片描述在这里插入图片描述
3、启动键盘控制
在这里插入图片描述在这里插入图片描述移动后再Rviz中查看雷达信息:
在这里插入图片描述
出现了打滑现象,一般来说再重新运行一次就可以了。

机器人自主导航仿真

下载相应的包:
在这里插入图片描述
使用roslocate uri move_base找到包的位置,

在这次实验中缺少的程序包都可以用这种方法

然后在你的工程包的src目录下使用命令“git clone https://gitub.com/ros-planning/navigation.git”就可以下载需要的包了。
编译:
在这里插入图片描述
运行:
1、在这里插入图片描述2、打开一个新终端在这里插入图片描述在这里插入图片描述
然后就可以使用 2D Nav Coat 确立目标点,小车会自动前往该处

在这里插入图片描述

发布了9 篇原创文章 · 获赞 4 · 访问量 905

猜你喜欢

转载自blog.csdn.net/weixin_43709601/article/details/105328847