环境配置
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:会有什么影响?如何解决?)
解决方法:安装libparmetis-dev
sudo apt-get install libparmetis-dev
运行结果:
4、保存点云地图
*存在问题:
1.rosrun pcl_ros bag_to_pcd …报错
分析:前两条error是没有正确指向输入的数据集,第三个是topic不对应的问题
补充只是:PointCloud2是一种点云数据格式
存在问题
保存下来的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名>
//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,注意路径> <topic名> <存放pcd的文件夹名>
//topic要用laser_cloud_surround才可以保存成完整的点云地图,若用数据本身的velodyne_points则会保存原始数据
最终在pcd1文件夹中存放有过程中录制的所有点云地图
备注知识点:topic的含义及作用