问题标签 [rosbag]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
466 浏览

ros - 将包文件转换为常见的点云格式

操作系统:Ubuntu 18.04

激光雷达:Livox Mid 40

你好,

我使用 livox mid 40 将点云导出到 .lvx 文件或 rosbags。我正在寻找一种方法将这些文件转换为常见的点云格式,如 ply、las、laz,以便我可以将其用于 cloudcompare、meshlab 或其他程序。我尝试了一些解决方案,例如rosrun pcl_ros bag_to_pcd <input_file.bag> <output_directory>或 cloud_assembler 但第一个创建多个 pcd 而不是单个点云(它为每个帧创建一个 pcd),第二个不起作用(cloud_assembler_try)。

我真的很困惑!!

任何帮助,将不胜感激。

0 投票
1 回答
101 浏览

ros - 为什么 Velodyne PointCloud2 消息记录到 rosbags 不一致?

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

这里的限制因素是什么?

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

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

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

0 投票
1 回答
226 浏览

timestamp - ROS时间。记录到文件时尝试恢复时间

我正在尝试获取特定 ROS 消息的时间戳,将其记录在文件中,读取文件并恢复原始时间戳。至今未果。

这是我的代码

结果我得到了

所以你可以看到,首先我得到了时间戳(原始)并记录了转换为秒(1625151029.99)。我将它记录到一个文件中(其中记录了该数字),恢复的时间戳与原始时间戳不同(ns 部分从 987577614 变为 990000009)。我想这是由于进行了to_sec转换

为了纠正这一点,我做了第二部分(在===之后)。我记录了我读取的 nsecs 数(1625151029987577614),首先正确地作为一个字符串,然后作为一个浮点数(以科学计数法显示)但在最后一部分(“恢复”)我不知道如何正确转换这个数字到 ROS 时间。我得到的价值是完全错误的

如何在此处获取原始时间戳?

编辑:我试过

但是虽然更接近原作了,但还是不明白

另外,不能是一个更简单和正确的方法吗?

0 投票
0 回答
169 浏览

ros - Rosbag 记录不记录第一条消息

我遇到了 ROS rosbag 的问题。我有一个生成和发布消息的 python 脚本。我尝试记录它们,rosbag record但生成的 rosbag 似乎不包含第一条消息。

我做了以下事情:

  1. 在我拥有的其他终端中运行脚本,rostopic echo /the_message我可以看到所有消息都已正确生成->所以这不是脚本的问题

  2. 首先在一个终端中运行(以防需要一些“初始化时间”)rosbag record -O data.bag /the_message,然后在另一个终端中运行脚本。我得到了正确的包文件。但是当在其他终端上玩包时rosbag play --clock data.bagrostopic echo /the_message我只收到第三条或第四条消息的消息。从来没有第一条消息

会发生什么?以及如何确保录制包括第一条消息?

0 投票
1 回答
914 浏览

ros - rosbag play(和 rqt_bag)和 rosbag.Bag 的 read_messages() 使用的时间戳不同

我有一些 rosbags 发生了一些非常奇怪的事情。这些 rosbags 包含sensor_msgs/Image其他主题中的类型消息。

所以我这样做:

第一种情况

我在一个终端上运行rostopic echo /the_image/header,因为我对实际数据不感兴趣,只对标题信息感兴趣。在另一个终端我运行rosbag play --clock the_bag.bag

有了这个我得到

第二个场景 我和前面的场景做同样的事情,但是我运行的是 rosbag play 而不是运行rqt_bag the_bag.bag,在那里我右键单击消息以发布它们。这样我得到了类似的值,但是(我之前已经报告过这个问题)第一条消息被跳过了。(这不是这个问题的问题)

第三个场景

奇怪的部分来了。我没有像上面那样做,而是有一个 python 脚本

如您所见,我打开包并获取时间戳列表并将其记录在文本文件中。这使:

如您所见,价值观完全不同!!!

这里会发生什么?

0 投票
1 回答
1426 浏览

ros - ROS中use_sim_time的效果

我试图了解在录制和播放 rosbag 时将 use_sim_time 设置为 true 有什么特别的效果,但不幸的是,信息很少且难以理解。

我已经知道如何将其设置为 true,所以没问题。怎么做

我用我拥有的 rosbag 文件做了一些实验,我注意到:

  • 当我这样做时rosplay play file.bag,主题不会发布\clock
  • 当我这样做时rosplay play file.bag --clock,主题\clock 发布

我也注意到,当我做rostopic echo \clock和我玩包的时候,很多时候发布的都是一样的!(这是什么意思??)

最后,我注意到这对任何这些结果use_sim_time没有影响。

那么设置这个参数为true有什么影响呢?

0 投票
2 回答
679 浏览

ros - 如何同步两个 ROS 包?

想象一下,我有一个 rosbag,上面记录了一些消息。

我想提取一些消息,对其进行一些操作,然后记录另一个“结果”包。

后来我想要rosbag play两个包文件,我希望它们以相同的速度播放,因此同步。

我怎样才能做到这一点?

0 投票
1 回答
302 浏览

ros - 如何提取 rosbag 中主题的频率(以 Hz 为单位)?

我有一个 rosbag 文件,里面记录了几个主题的消息。

有没有办法可以知道特定主题的消息发布(和记录)的频率?

当我这样做时,rosbag info我会得到类似的东西

0 投票
1 回答
73 浏览

google-cloud-platform - 安装 Debian 软件包以运行 Airflow DAG

我正在运行一个 Airflow DAG,其中一个操作员是 BashOperator,并且依赖 rosbag 包才能运行。我在 GCP 的虚拟机中安装了气流和 rosbag,一切正常,但是当我触发 DAG 时,它一直说 rosbag: command not found any idea how to solve it?

我已按照http://wiki.ros.org/Installation/Ubuntu中的所有说明进行操作

0 投票
0 回答
176 浏览

python - 循环通过 ROS 包文件消息的矢量化方式

是否有一种矢量化的方式(类似于 Numpy、Pandas)来遍历包文件消息并对其执行计算?这就是我目前所做的:

参考:http : //docs.ros.org/en/diamondback/api/rosbag/html/python/rosbag.bag.Bag-class.html#read_messages