ROS的SLAM学习:地图扫描与导航仿真

首先启动gazebo,ctrl+B启动gazebo自带的building模式,构建自己的模型

然后将模型文件命名,然后保存到目录下(默认的是home目录)
在这里插入图片描述
之后将世界命名,然后保存到mbot_gazebo的worlds文件夹下
在这里插入图片描述
并修改mbot_gazebo中你需要用到的机器人模型的launch文件,将原有的参数,替换成自己的(如果这个方法不行,可以不用在创建完模型之后再改参数。可以先修改参数,然后运行launch文件,他会默认成为一个空的模型文件,之后再进行环境搭建,保存为你参数设置的名称)
在这里插入图片描述
执行mbot_laser_nav_gazebo.launch文件

  1. 首先进入工作空间
  2. 命令行输入
source  ./devel/setup.bash
  1. 运行launch文件
roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch

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

roslaunch mbot_navigation gmapping_demo.launch

如果没有安装gmapping,可以执行以下命令进行安装:(以kinetic为例)

sudo apt-get install ros-kinetic-gmapping

执行成功之后会打开rviz界面:
在这里插入图片描述
再开一个终端启动mbot_teleop.launch,通过键盘控制小车

roslaunch mbot_teleop mbot_teleop.launch

在这里插入图片描述
将整个封闭空间全部扫描完后,rviz界面图像如下:
在这里插入图片描述
如果要保存地图的话,可以执行如下命令:(name是你自己命名的,如果要进行导航的话则需要保存地图)

rosrun map_server map_saver -f name

上面就是整个gmapping的整个过程,接下来是hector_slam

关闭之前的rviz界面,并打开终端Ctrl+C终止进程,避免再打开时卡住,然后运行hector_slam

roslaunch mbot_navigation hector_demo.launch

在这里插入图片描述
再开一个终端启动mbot_teleop.launch,通过键盘控制小车,与上述步骤一样。
在这里插入图片描述
将整个封闭空间全部扫描完后,rviz中图像如下:
在这里插入图片描述
保存之后的图片如下:
在这里插入图片描述
接下来就是自主导航

导航之前需要修改一下参数设置,所以需要将之前的gazebo关闭

将mbot_navigation/launch文件中的nav_cloister_demo.launch文件的地图配置参数修改为:
在这里插入图片描述
终端启动运行mbot_laser_nav_gazebo.launch

之后再开一个终端输入roslaunch mbot_navigation nav_cloister_demo.launch会得到下图
在这里插入图片描述
然后可以使用2D Nav Coat确立目标点,小车会自动前往该处
在这里插入图片描述

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
1. 先了解ROS(机器人操作系统)的基本概念和架构。学习ROS的官方文档(http://wiki.ros.org/ROS/Introduction)和ROS入门教程(http://wiki.ros.org/ROS/Tutorials)。 2. 了解SLAM(Simultaneous Localization and Mapping,即同时定位和建图)的基本概念和算法。可以参考SLAM介绍(http://www.cnblogs.com/gaoxiang12/p/SLAM.html)。 3. 学习ROS中常用的SLAM算法,如GMapping、Hector SLAM、Cartographer等。可以参考ROS官方文档中的Navigation Stack(http://wiki.ros.org/navigation)和SLAM相关的Tutorials(http://wiki.ros.org/SLAM/Tutorials)。 4. 掌握使用ROSSLAM算法构建机器人定位和建图系统的方法。可以参考ROS机器人定位和建图教程(http://wiki.ros.org/robot_pose_ekf/Tutorials)和ROS机器人建图教程(http://wiki.ros.org/gmapping/Tutorials)。 5. 学习如何使用ROSSLAM算法进行实时定位和建图。可以参考ROS实时定位和建图教程(http://wiki.ros.org/rtabmap_ros/Tutorials)和深入了解Cartographer教程(https://google-cartographer-ros-for-wind.readthedocs.io/en/latest/)。 6. 掌握ROSSLAM算法的调试和优化技巧。可以参考ROS调试和优化教程(http://wiki.ros.org/ROS/Debugging)和ROS性能优化教程(http://wiki.ros.org/ROS/Performance)。 7. 针对具体应用场景,学习如何使用ROSSLAM算法进行机器人导航、路径规划和避障等。可以参考ROS导航栈教程(http://wiki.ros.org/navigation/Tutorials)和ROS避障教程(http://wiki.ros.org/obstacle_avoidance/Tutorials)。 8. 不断实践和探索,提高ROSSLAM算法的应用水平。可以参与ROS社区的开源项目和讨论,积极参加ROSSLAM算法的相关活动和比赛。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值