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 确立目标点,小车会自动前往该处