SLAM功能包使用:基于gmapping及hector_slam完成机器人导航图仿真

SLAM功能包使用:基于gmapping及hector_slam完成机器人导航图仿真

实现激光雷达机器人的室内的导航仿真

  • SLAM功能包使用:基于gmapping及hector_slam完成机器人导航图仿真
    • 1.利用gazebo创建室内封闭模型
    • 2. 将SLAM工程包导入ROS工作空间
    • 3.运行刚才保存的封闭环境模型

#1.利用gazebo创建室内封闭模型
#2.Ros工作空间中SLAM工程包的导入
#3.运行室内封闭环境仿真导航模型

1.利用gazebo创建室内封闭模型

1)、运行gazebo命令,开始搭建封闭环境
这里将不赘述具体如何搭建一个封闭空间,搭建完成如下图(如有需要后面将单独写一个博客)
SLAM功能包使用:基于gmapping及hector_slam完成机器人导航图仿真_第1张图片
2)将模型保存为playground
SLAM功能包使用:基于gmapping及hector_slam完成机器人导航图仿真_第2张图片
#2.创建室内环境world文件
1)、运行mbot_gazebo功能包下面的[view_mbot_with_laser_gazebo.launch]文件

运行指令

roslaunch mbot_gazebo view_mbot_with_laser_gazebo.launch 

运行后打开gazebo,搭建后如图
SLAM功能包使用:基于gmapping及hector_slam完成机器人导航图仿真_第3张图片
2)将文件另存为cloister.world
(操作如下)
SLAM功能包使用:基于gmapping及hector_slam完成机器人导航图仿真_第4张图片
3)[view_mbot_with_laser_gazebo.launch]文件修改
SLAM功能包使用:基于gmapping及hector_slam完成机器人导航图仿真_第5张图片

2. 将SLAM工程包导入ROS工作空间

1)、将以下文件下载到工作空间下src/mbot_nacigation文件夹中
在这里插入图片描述
下载链接如下所示:
https://download.csdn.net/download/qq_42451251/12289534
(下载可直接在虚拟机火狐浏览器完成避免跨平台传输)

2)、下载gmapping导航仿真包和hector_slam
首先下载aptitude下载器

sudo apt-get install aptitude

下载gmapping导航仿真包

sudo aptitude install ros-kinetic-gmapping #版本ubuntu-16版本

下载hector_slam

sudo aptitude install ros-kinetic-hector-slam

3)、下载地图服务功能包

sudo aptitude install ros-kinetic-map-server

4)、文件编译和程序注册
(1)、进入空间文件夹右键打开终端进行文件编译

catkin_make

(2)、编译完成后进行程序注册

source devel/setup.bash

3.运行刚才保存的封闭环境模型

1)、输入指令

roslaunch mbot_gazebo  view_mbot_with_laser_gazebo.launch 

2)、运行结果如下图

SLAM功能包使用:基于gmapping及hector_slam完成机器人导航图仿真_第6张图片
3)、终端内右键新建标签页
(1)、cd进入自己的工作空间

cd ~/catkin_ws

(2)、编译

catkin_make

(3)、程序注册

source devel/setup.bash

(4)、运行gmapping机器人导航图

roslaunch mbot_navigation gmapping_demo.launch

(5)、运行结果如图
SLAM功能包使用:基于gmapping及hector_slam完成机器人导航图仿真_第7张图片
4)、关闭运行gmapping的终端,新建终端运行hector_slam机器人导航图
(1)、进入空间文件夹右键打开终端
(2)、程序注册

source devel/setup.bash

(3)、运行机器人导航图

roslaunch mbot_navigation hector_demo.launch

如下图
SLAM功能包使用:基于gmapping及hector_slam完成机器人导航图仿真_第8张图片
(4)、运行键盘文件,操作机器人运动

roslaunch mbot_teleop mbot_teleop.launch

SLAM功能包使用:基于gmapping及hector_slam完成机器人导航图仿真_第9张图片
(这里给大家介绍对于机器人操作一个较为简单地使用方式,u、i、o控制前进方向,不要一直按住,机器人反应较慢,撞墙后只按m键调整方向,以免过多按键影响操作效率)

你可能感兴趣的:(ros机器人slam学习,Gazebo定位与导航仿真)