做原创品牌服饰的网站,网站建设需求调研表,网站建设的基本话术,开发一个app的费用【 声明#xff1a;版权所有#xff0c;欢迎转载#xff0c;请勿用于商业用途。 联系信箱#xff1a;feixiaoxing 163.com】 前面我们介绍了hector slam建图。相对而言#xff0c;hector slam建图对数据的要求比较低#xff0c;只需要lidar数据就可以建图了。但是hector …【 声明版权所有欢迎转载请勿用于商业用途。 联系信箱feixiaoxing 163.com】 前面我们介绍了hector slam建图。相对而言hector slam建图对数据的要求比较低只需要lidar数据就可以建图了。但是hector slam也有它自己的问题。那就是如果robot行走在走廊上面特别是长走廊上面那么hector slam是很难建图的。这主要的原因就是hector slam算法会觉得前后两帧lidar frame没有发生改变小车根本没有移动。基于这个原因人们又设计出了一种新的制图方法那就是gmapping制图。和hector slam相比较gmapping还依赖于robot的里程计数据。 1、打开仿真地图 和之前打开wpb_stage_slam.launch不同这一次打开的wpb_stage_corridor.launch。用roslaunch wpr_simulation wpb_stage_corridor.launch打开效果是这样的 2、开启gmapping 仿真环境准备好了这个时候就可以准备用gmapping开始绘图了。输入的方法就是rosrun gmapping slam_gmapping即可。不出意外的话可以看到这样的打印
feixiaoxingfeixiaoxing-VirtualBox:~/Desktop/catkin_ws$ rosrun gmapping slam_gmapping
Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame odom at time 137.641000 according to authority unknown_publisherat line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.6/src/buffer_core.cpp
[ INFO] [1696080880.129716402, 137.739000000]: Laser is mounted upwards.-maxUrange 5.99 -maxUrange 5.99 -sigma 0.05 -kernelSize 1 -lstep 0.05 -lobsGain 3 -astep 0.05-srr 0.1 -srt 0.2 -str 0.1 -stt 0.2-linearUpdate 1 -angularUpdate 0.5 -resampleThreshold 0.5-xmin -100 -xmax 100 -ymin -100 -ymax 100 -delta 0.05 -particles 30
[ INFO] [1696080880.212790260, 137.789000000]: Initialization complete
update frame 0
update ld0 ad0
Laser Pose 1.7082e-07 1.78246e-07 3.20824e-08
m_count 0
Registering First Scan3、用rviz开启绘图效果 直接执行rosrun rviz rviz依次打开RobotModel、Map、LaserScan之后我们就可以看到这样的效果 4、继续打开rqt_robot_steering 这个时候虽然已经看到图形了但是车还没有办法动起来。所以这个时候我们还需要用rosrun rqt_robot_steering rqt_robot_steering把小车启动起来。这样一顿操作之后就可以把所有的场景绘制完毕了。如果仅仅使用hector slam这个时候就没有什么办法继续绘图了 但是此时我们使用的是gmapping的建图方法所以小车可以一直向前建图下去 5、保存和显示地图 等地图做好了就可以使用map_server保存地图了。直接输入rosrun map_server map_saver。ls一下就可以看到map.yaml和map.pgm两个新文件。把map.pgm拷贝到windows平台用gimp打开就可以看到这样的图片效果