1

我有一个 Velodyne VLP-16 “Puck”激光雷达,我正在尝试在 ROS 中与 Google Cartographer 一起使用。我已将 velodyne 驱动程序中的“npackets”设置为 1,以获取我们在 Google 的示例包文件中看到的消息频率,但这些消息似乎是零星发布的(请参阅随附的 RQT 图像)。

这里的限制因素是什么?

我已经尝试过在我的 VLP-16 和计算机之间进行直接以太网连接,以及运行带有 Intel Core I5-7600 处理器和 Core I5-8365U 处理器的 Ubuntu 的计算机。

这些处理器是否不够快,或者是否存在其他瓶颈导致这些消息暂停? 在此处输入图像描述

结果,Cartographer 验证器抱怨一条消息在前一条消息结束之前开始:

    cartographer_rosbag_validate -bag_filename 2021-08-10-17-10-09.bag
    W0810 17:19:57.937173  4886 rosbag_validate_main.cc:166] Sensor with frame_id "velodyne" measurements overlap in time. Previous range message, ending at time stamp 637642374093122761, must finish before current range message, which ranges from 637642374093120291 to 637642374093133354
    W0810 17:19:57.940515  4886 rosbag_validate_main.cc:166] Sensor with frame_id "velodyne" measurements overlap in time. Previous range message, ending at time stamp 637642374093783810, must finish before current range message, which ranges from 637642374093783614 to 637642374093796654
    W0810 17:19:57.940832  4886 rosbag_validate_main.cc:166] Sensor with frame_id "velodyne" measurements overlap in time. Previous range message, ending at time stamp 637642374093929761, must finish before current range message, which ranges from 637642374093929736 to 637642374093942776
    W0810 17:19:59.675483  4886 rosbag_validate_main.cc:203] Sensor with frame_id "velodyne" range measurements have longest overlap of 0.0012975 s
    I0810 17:19:59.675602  4886 rosbag_validate_main.cc:399] Time delta histogram for consecutive messages on topic "points2" (frame_id: "velodyne"):
    Count: 8126  Min: 8.821e-06  Max: 0.0126982  Mean: 0.00132742
    [0.000009, 0.001278)                   # Count: 295 (3.63032%) Total: 295 
    (3.63032%)
    [0.001278, 0.002547) ################### Count: 7828 (96.3328%) Total: 8123 (99.9631%)
    [0.002547, 0.003816)                     Count: 2 (0.0246124%) Total: 8125 (99.9877%)
    [0.003816, 0.005085)                     Count: 0 (0%) Total: 8125 (99.9877%)
    [0.005085, 0.006353)                     Count: 0 (0%) Total: 8125 (99.9877%)
    [0.006353, 0.007622)                     Count: 0 (0%) Total: 8125 (99.9877%)
    [0.007622, 0.008891)                     Count: 0 (0%) Total: 8125 (99.9877%)
    [0.008891, 0.010160)                     Count: 0 (0%) Total: 8125 (99.9877%)
    [0.010160, 0.011429)                     Count: 0 (0%) Total: 8125 (99.9877%)
    [0.011429, 0.012698]                     Count: 1 (0.0123062%) Total: 8126 (100%)
4

1 回答 1

2

尝试记录点云数据可能会非常密集,因为它变得非常密集。同样,rosbag record它的工作方式是偶尔打开并将数据块写入磁盘。反过来,如果块没有像它们进入的那样快地写入磁盘,这可能会产生问题。

我在 I7-6700 上一次录制 3 个 VLP-16 时遇到了同样的问题。buffsize最后,我能够通过编辑and来让它工作chunksizechunksize写入文件时它使用的实际大小在哪里。我的最终命令是rosbag record --lz4 --chunksize=16000 --buffsize=640000 -O <output_file> <topic_names>. 注意:我最后也使用了 lz4 压缩,因为它是最快的选择。

这一切都假设您遇到的问题是特定的,rosbag并且在直接从 velodyne 节点收听主题时不会出现。如果后者也是一个问题,并且由于 VLP-16 使用广播消息,则可能是网络接口设置问题。

于 2021-08-11T19:52:18.957 回答