处理ROS采集到的点云数据(pcap数据,bag数据)

当拿到一个开源的数据集,其中包含依托于ros系统采集的多模态数据,我的目标是提取数据集中的数据,用于验证我的多模态数据融合算法。

pcap包中存储的是一个时间段的点云数据,按照帧进行存储,每帧数据包含点云的直角坐标系和极坐标系下的坐标信息,时间信息,强度信息等,可以选取某个时间点提取该时间点的点云信息,也可以提取一个时间段点云信息研究变化。通过可视化软件,比如VeloView可以查看一段时间点云的效果。

借用如下工具可以将得到的pcap数据进行处理。

使用工具:

CloudCompare 【点云处理】https://download.csdn.net/download/oqqHun123/24366799?spm=1001.2014.3001.5501

VeloView 【点云处理】VeloView-3.1.1-26022015-Windows-64bit.exe-其它文档类资源-CSDN下载veloview下载

步骤:

1、pcap转csv

打开veloView,工具栏 file -> open -> capture file 选择pcap点云数据,

保存成为csv格式:工具栏 file -> save as -> save csv。

2、csv转pcd

打开CloudCompare,工具栏 file -> open 选择csv文件,

待点云图像加载完毕后在左边DB Tree中选中当前点云数据,然后 file -> save 选择pcd格式。

如果工程项目需要可通过代码方式转换:https://blog.csdn.net/oqqHun123/article/details/120261165

3、pcd转txt

同理可参考步骤2。

打开CloudCompare,工具栏 file -> open 选择pcd文件,

待点云图像加载完毕后在左边DB Tree中选中当前点云数据,然后 file -> save 选择txt格式。


————————————————

版权声明:本文为CSDN博主「RanMaxLi」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/oqqHun123/article/details/121093394


附1:VLP激光雷达Veloview使用教程 参考使用教程

Veloview软件使用

1、双击打开软件,点击左上角 File→Open→Sensor Stream

这一步骤主要是连接雷达,与雷达建立通信


2、在弹出的界面,选择所对应的激光雷达按型号,点击OK ,这里选择16线激光雷达。


3、雷达扫描区域

    这个时候在就会显示雷达的点云图像,注意不要近距离遮挡雷达(放在封闭抽屉里)都不会产生图像,好像是距离大于20cm.点击右上方的三维坐标轴,在点云图像左下方即出现坐标信息,滚动鼠标可以看到三维各个角度的图像


如果想录制某一段点云数据,点击上方红色按钮,选择保存位置,再次点击按钮,提示已经录制成功,文件格式为.pcap


4、打开录制的pcap文件

  依次选择 File→Open→Capture Files 选择保存文件的位置,在弹出的页面中依然选择所属雷达型号。


工具栏可以控制播放速度,可以看到一共录制23帧点云数据。

Veloview软件好用的原因就是可以直接将点云数据保存为CSV格式,非常方便,包括三维位置和属性数据,X、Y、Z数据值和时间戳。

5、点云数据信息查看

点击左上角 Tools→Spreadsheet

弹出的界面按照帧来划分,每一帧有不同数量的数据,点击时间戳上方的小黄格子,

选择显示的具体信息,如 XYZ坐标信息等 。


若想导出这些数据,点击File→Save as 即可,这里会提示你保留数据类型,可以使全部帧数据,也可以是具体到每一帧的数据。


保存数据打开之后如下显示


最后三列为XYZ坐标信息,当然你也可以选择你想要的信息导出数据。

保存为pcap文件之后,可以通过程序转换为PCD文件,在pcl库下进行处理点云

————————————————

版权声明:本文为CSDN博主「凌晨一点二十」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/m0_61777635/article/details/120443592


附2:LiDAR-Velodyne激光雷达pcap文件解析

pcap文件解析程序代码


附3:bag包是什么以及如何查看和使用

在ROS系统中,可以使用 bag 文件来保存和恢复系统的运行状态,比如录制雷达和相机话题的 bag 包,然后回放用来进行联合外参标定。

参考连接 rosbag详细使用教程

rosbag 工具可以录制一个包、从一个或多个包中重新发布消息、查看一个包的基本信息、检查一个包的消息定义,基于 Python 表达式过滤一个包的消息,压缩和解压缩一个包以及重建一个包的索引。

rosbag 目前常用的命令如下(fix 和 filter 暂时没有用到):

record:用指定的话题录制一个 bag 包

info:显示一个 bag 包的基本信息,比如包含哪些话题

play:回放一个或者多个 bag 包

check:检查一个 bag 包在当前的系统中是否可以回放和迁移

compress:压缩一个或多个 bag 包

decompress:解压缩一个或多个 bag 包

reindex:重新索引一个或多个损坏 bag 包

用的最多的一般就是 record、info 以及 play 功能,先录制想要的话题包,录制完毕检查下包的信息,最后再回放作为算法的输入,下面就详细学习下上面命令的用法。

参考链接 bag包提取数据 ,从bag文件中提取信息,bag文件录制和回放数据

一.查看bag包信息

    rosbag info yourname.bag

可以看到如下图bag包信息:

点云数据有2257帧,点云话题为/rfans_driver/rfans_points

二.提取点云数据

命令是在bag包所在路径下执行的,命令格式为:

rosrun pcl_ros bag_to_pcd bag包 点云话题 保存pcd的路径

命令如下:

rosrun pcl_ros bag_to_pcd yourname.bag /rfans_driver/rfans_points /home/hyper/Downloads/pcd

执行完会在pcd文件夹下得到2257帧pcd点云数据

三.点云可视化

提取的点云如果想看一下的话,可通过以下命令:

pcl_viewer yourname.pcd

————————————————

版权声明:本文为CSDN博主「HyperZhu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_38337524/article/details/109144072

你可能感兴趣的:(处理ROS采集到的点云数据(pcap数据,bag数据))