ROS机器人SLAM学习:自建虚拟世界与Gazebo定位与导航仿真

gazebo 中能仿真真实世界,包括很多物理属性,比如惯性,碰撞等。对于没有真实机器人和场地条件的情况下,作用十分强大。
在本篇文章中,我会介绍如何在Gazebo中实现小车的定位与导航仿真,我会将所用代码上传,你可以使用他自带的虚拟环境,也可以像我一样,自行创建一个虚拟世界。
首先启动gazebo,ctrl+B启动gazeb自带的building模式
在这里插入图片描述

然后在构建好后,保存至./gazebo/moduls
在这里插入图片描述

创建一个空白文档,我取名为chen.world,并填写下列代码

在这里插入图片描述
并修改launch文件,将原有的world文档,替换成chen.world
在这里插入图片描述
执行mbot_laser_nav_gazebo.launch文件

在这里插入图片描述
再开一个终端启动gmapping_demo.launch
在这里插入图片描述
再开一个终端启动mbot_teleop.launch,通过键盘控制小车
在这里插入图片描述
在通过键盘控制小车,将整个封闭空间全部扫描完后,查看rviz
在这里插入图片描述
再开一个终端输入命令rosrun map_server map_saver -f chen_gmapping保存地图

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

再开一个终端启动hector_demo.launch
在这里插入图片描述
在这里插入图片描述

再开一个终端启动mbot_teleop.launch,通过键盘控制小车
在这里插入图片描述
在通过键盘控制小车,将整个封闭空间全部扫描完后,查看rviz
在这里插入图片描述
再开一个终端输入命令rosrun map_server map_saver -f chen_gmapping保存地图
在这里插入图片描述
在这里插入图片描述

在实现我们的自动导航前,我们需要将我们之前做的地图写入到程序中,先将地图移动到mbot_navigation/map下
在这里插入图片描述

然后修改代码如下图,将这里地图改为之前我们创建的地图的名字
在这里插入图片描述

开一个终端启动nav_cloister_demo.launch

在这里插入图片描述

会弹出rviz,如果这里你的实际地图与导航预测地图不同可以使用2D Pose Extimate,确立方向,使地图重合

在这里插入图片描述
然后就可以使用2D Nav Coat确立目标点,小车会自动前往该处

在这里插入图片描述

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值