gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真

gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真

    • 配置gmapping节点
    • 安装hector——slam
    • 基于move_base的导航框架

一、 在gazebo中构建一个用于建图和导航的虚拟环境,可以使用Building Editor工具创建,也可以使用其他功能包中已有的虚拟环境;将前面作业完成的带传感器的移动机器人(小车)模型放置到虚拟环境中,使用gmapping 和 hector_slam功能包实现SLAM仿真建立完成的地图上,实现基于move_base和amcl功能包的机器人自主导航仿真。
gmapping和hector_hector包文件
链接:https://pan.baidu.com/s/1EXYq0NG0wW8jIzQS3HSMlw
提取码:80cn

配置gmapping节点

下载gmapping

sudo apt-get install ros-melodic-gmapping

启动gmapping演示

```bash
roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch

gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第1张图片
新的终端:

roslaunch mbot_navigation gmapping_demo.launch

gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第2张图片
启动控制键盘

roslaunch mbot_teleop mbot_teleop.launch

控制机器人绕环境旋转一周
gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第3张图片
保存pgm(首先下载server)

sudo apt-get install ros-melodic-map-server

保存地图

rosrun map_server map_saver -f cloister_gmapping

关闭启动项
在根目录可见:

gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第4张图片

安装hector——slam

sudo apt-get install ros-melodic-hector-slam

gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第5张图片
启动hector_slam演示

roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch

gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第6张图片
启动rviz演示

roslaunch mbot_navigation hector_demo.launch

gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第7张图片
启动键盘控制

roslaunch mbot_teleop mbot_teleop.launch

gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第8张图片
gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第9张图片

保存图片

rosrun map_server map_saver -f cloister_hector

gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第10张图片

基于move_base的导航框架

sudo apt-get install ros-melodic-navigation

gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第11张图片
配置move-base节点
配置amcl节点
导航实例

roslaunch rbx1_bringup fake_turtlebot.launch
roslaunch rbx1_nav fake_move_base_map_with_obstacles.launch
rosrun rviz rviz -d `rospack find rbx1_nav `/nav_obstacles.rviz
rosrun rbx1_nav move_base_square.py

导航仿真

roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch

gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第12张图片

roslaunch mbot_navigation nav_cloister_demo.launch

gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第13张图片
调整位置
gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第14张图片
通过2D nav goal让机器人动起来
gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第15张图片
躲避实时的障碍物(在模拟环境加入障碍物)

gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第16张图片
导航SLAM仿真

roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch

gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第17张图片

roslaunch mbot_navigation exploring_slam_demo.launch

gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第18张图片
自主探索SLAM仿真

roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch
roslaunch mbot_navigation exploring_slam_demo.launch
rosrun mbot_navigation exploring_slam.py

gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真_第19张图片

你可能感兴趣的:(gazebo的运用:使用gmapping 和 hector_slam功能包实现SLAM仿真)