(以下功能包的网盘链接:链接:https://pan.baidu.com/s/15NVx6vmdz20o2YLkecobkg
提取码:geuo)
(1)下载gmapping
sudo apt-get install ros-kinetic-gmapping
①运行代码
source devel/setup.bash
roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch
②打开RVIZ查看
source devel/setup.bash
roslaunch mbot_anvigation gmapping_demo.launch
③打开键盘控制节点
source devel/setup.bash
roslaunch mbot_teleop mbot_teleop.launch
控制小车的移动,观察到的画面如下
④保存地图
rosrun map_server map_saver -f cloister_gmapping3
(1)下载hector_slam
sudo apt-get install ros-kinetic-hector-slam
(2)配置hector_mapping节点
(3) 启动hector_slam演示
①运行代码
source devel/setup.bash
roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch
②运行代码
source devel/setup.bash
roslaunch mbot_navigation hector_demo.launch
③打开键盘控制节点
source devel/setup.bash
roslaunch mbot_teleop mbot_teleop.launch
由于机器人的速度加快,发生了打滑现象
④保存地图
rosrun map_server map_saver -f cloister_gmapping4
source devel/setup.bash
roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch
source devel/setup.bash
roslaunch mbot_navigation nav_cloister_demo.launch
点击2D Naw Goal,使小车自己运动
运行代码:
source devel/setup.bash
roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch
运行代码:
source devel/setup.bash
roslaunch mbot_navigation exploring_slam_demo.launch
点击2D Naw Goal,使小车自己运动
新建终端运行:
source devel/setup.bash
roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch
新建终端运行:
source devel/setup.bash
roslaunch mbot_navigation exploring_slam_demo.launch
新建终端运行:
source devel/setup.bash
rosrun mbot_navigation exploring_slam.py
小车自己在缓缓运动:
在用gmapping中对比,激光雷达和Kinetic,激光雷达的仿真时无死角的360°可以观小车的动向,而Kinetic只能观察到60°左右的范围,而且用激光雷达的仿真比Kinetic的仿真数据更加精确。
用hector_slam仿真时,当小车速度加快是,会出现打滑现象,因此,解决办法:降低小车的移动速度。
基于move_base 和 amcl功能包的机器人自主导航仿真时,成功的对小车自己走且遇到障碍物,会绕行,缺点:移动速度太缓慢。
参考资料:
1) 课件和网上教学视频
2) https://www.jianshu.com/p/fb91063a9fd7,“ROS:基于 gazebo 仿真运行 SLAM
而且用激光雷达的仿真比Kinetic的仿真数据更加精确。