1.在cartographer_ros/launch下创建demo_velodyne_2d.launch |
cd |
cd catkin_ws/src/cartographer_ros/cartographer_ros/launch catkin_ws为工作空间,根据个人情况改动 |
gedit demo_velodyne_2d.launch 新建并打开.launch文件,编辑内容参考网址http://www.manongjc.com/article/38050.html |
保存并关闭文件 |
2.在cartographer_ros/configuration_files下新建velodyne.luao |
cd .. |
cd configuration_files |
gedit velodyne.lua 新建并打开velodyne.lua,参考给出的网址 |
保存并关闭文件 |
cd |
cd catkin_ws 再一次编译工作空间
catkin_make_isolated --install --use -ninja
(使用catkin_make 会出错!!!!) |
编辑的*.launch文件和*.lua文件,注释参照https://zhuanlan.zhihu.com/p/64747755 |
3.启动 |
首先连接velodyne |
roslaunch velodyne_pointcloud VLP16_points.launch
此时velodyne16开始采集数据
可在rviz中add->by topic ->pointcloud2来查看是否有数据
|
roslaunch cartographer_ros demo_velodyne_2d.launch 此时开始见图,马上会弹出rviz展示成图情况,绿色为点云。可以在左侧topic中把PointCloud2勾掉,此时可以看到占用栅格图 |
【注:以后执行roslaunch命令时,养成用Tab补全地址和文件名的习惯】
保存cartographer_ros建图结果: 当我们在房间里面扫描一圈,地图建立的差不多了,就可以将建图结果保存下来了,cartographer_ros提供了将建图结果保存为*.pbstream专门的方法,其实就是一条命令。 source ~/carto_ws/install_isolated/setup.bash rosservice call /write_state / home/cal/map/carto_map.pbstream
其实就是调用cartographer_ros提供的叫/write_state这个名字的服务,服务传入参数/home/cal/map/carto_map.pbstream为地图的保存路径。保存成功后,会返回相应的状态信息,
|