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

环境配置

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的含义及作用

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值