激光点云构建地图(一)生成点云地图

环境配置

1、Ubuntu 18.04
2、ROS melodic
安装教程:https://blog.csdn.net/qq_41501557/article/details/109764434

学习LeGO-LOAM算法

跟着知乎上的大牛将LeGO-LOAM算法跑了一遍
LeGO-LOAM分析之点云分割(一)

1、保存论文和代码
2、阅读论文
3、跑代码 LeGO-LOAM运行编译
编译中的问题,在“roslaunch lego_loam run.launch”提示错误
运行报错程序被杀死(图片红字),但依然能运行(Q:会有什么影响?如何解决?)

激光点云构建地图(一)生成点云地图_第1张图片解决方法:安装libparmetis-dev
sudo apt-get install libparmetis-dev

运行结果:
激光点云构建地图(一)生成点云地图_第2张图片

4、保存点云地图
*存在问题:
1.rosrun pcl_ros bag_to_pcd …报错
分析:前两条error是没有正确指向输入的数据集,第三个是topic不对应的问题
补充只是:PointCloud2是一种点云数据格式
激光点云构建地图(一)生成点云地图_第3张图片
存在问题
保存下来的pcd是原始各帧点云,而非最终生成的点云地图
解决
topic不对

总结执行步骤:

1.新开终端1,运行ros(在ros环境下录制)

roscore

2.新开终端2,执行lego-loam算法(打开工程、载入数据集)

3.新开终端3,录制bag。

rosbag record -o output /laser_cloud_surround
//语法:rosbag record -o <输出的bag名> 
//topic要用laser_cloud_surround才可以保存成完整的点云地图,若用数据本身的velodyne_points则会保存原始数据。
//2021-07-16补充,对于topic还是有疑问,用自己小车的数据时,此处和第5步的topic要用rslidar_points才行

4.当终端2运行完(Done时),稍等一会儿在终端3中 ctrl + c ,终止终端,会在终端3的运行路径中生成bag

5.打开新终端,将bag转为pcd地图:

rosrun pcl_ros bag_to_pcd output.bag /laser_cloud_surround mypcd
//语法:rosrun pcl_ros bag_to_pcd <点云地图的bag,注意路径>  <存放pcd的文件夹名>
//topic要用laser_cloud_surround才可以保存成完整的点云地图,若用数据本身的velodyne_points则会保存原始数据

最终在pcd1文件夹中存放有过程中录制的所有点云地图

备注知识点:topic的含义及作用

你可能感兴趣的:(构建高精度地图,自动驾驶,人工智能,机器学习)