激光雷达pcap包转换为bag包、pcd文件

参考:https://blog.csdn.net/geerniya/article/details/90681003

说明:本文选用的是速腾16线激光雷达。

1. 采集 pcap 文件:

通过 Wireshark 抓包或速腾激光雷达的上位机软件 rsview 采集数据,得到 pcap 原始文件。

2. ros 上回放 pcap 文件:

在速腾激光雷达的 ros 驱动上,修改 ros_rslidar 中的 rs_lidar_16.launch 文件,回放 pcap ,修改内容如下:

<param name="pcap" value="your.pcap"/> //your.pcap为第一步采集到的pcap包

然后,打开一个终端,输入如下命令,回放 pcap 数据:

roslaunch rslidar_pointcloud rs_lidar_16.launch

便可得到如下,显示为之前采集到的动态点云图:
激光雷达pcap包转换为bag包、pcd文件_第1张图片

3. 录制bag包:

此时,第二步中的终端不要关闭。我们采用 rosbag 命令录制需要的 bag 包。

 rosbag record -o mybag.bag /rslidar_points

这里我们只获取了 /rsliar_points 话题的数据,当然还可以获取更多的话题或者所有的话题数据,具体可查询 rosbag record 相关的命令。

4. 将 bag 文件转换成 pcd 文件:

到这一步时可以将之前打开的终端全部关了。接下来讲上一步获取的 mybag.bag 转换成 pcd 文件。
新建一个终端,键入如下命令:

 rosrun pcl_ros bag_to_pcd mybag.bag /rsliar_points ~/pcd_file

这里我们通过 pcl_ros 包将 bag 文件中的 /rslidar_points 话题的数据生成对应的 pcd 文件。默认 pcl_ros 是安装的,如果提示缺少的话,请根据提示自行安装。

5. 查看 pcd 文件:

关闭所有终端。
上一步中获取的 pcd 文件是很多个,每一个 pcd 是一帧数据,命名方式与点云数据的时间戳有关。可以通过 pcl_viewer 命令查看 pcd 格式的文件:

pcl_viewer yourname.pcd //键入对应的pcd文件名即可
  • pcl_viewer 语法:pcl_viewer .pcd
    选项是:
    -bc r,g,b =背景颜色
    -fc r,g,b =前景色
    -ps X =点大小(1…64)
    -opaque X =渲染点云不透明度(0…1)
    -ax n =启用XYZ轴的屏幕显示并将其缩放到n
    -ax_pos X,Y,Z =如果启用轴,则在空间中设置其X,Y,Z位置(默认为0,0,0)
    -cam( * )=使用给定的摄像机设置作为初始视图;
    ( * )[剪切范围/焦点/位置/视图上限/距离/窗口大小/窗口位置]或使用包含相同信息的
    -multiview 0/1 =启用/禁用自动多视口渲染(默认禁用)
    -normals 0 / X =禁用/启用每个第X点的曲面法线显示为线(默认为禁用)
    -normals_scale X =将正常单位矢量大小调整为X(默认值为0.02)
    -pc 0 / X =禁用/启用每个X点的主曲率显示为线(默认禁用)
    -pc_scale X =将主曲率向量大小调整为X(默认值为0.02)
    (注意:对于多个.pcd文件,提供多个 - {fc,ps}参数;它们将自动分配给正确的文件)

你可能感兴趣的:(激光雷达pcap包转换为bag包、pcd文件)