问题标签 [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 投票
1 回答
101 浏览

c++ - 在 C++ 中同时启动所有线程

我有 Rosbag 文件,其中包含有关各种主题的消息,每个主题都有自己的频率。该数据是从硬件设备流数据中捕获的,来自所有主题的数据将同时“到达”以用于不同的算法。
我希望使用 rosbag 文件来模拟这一点(将其视为每个主题都关联了一个数据数组),并且必须同时启动此数据流处理过程,以便数据可以同步。

我通过在不同线程上启动不同的发布者来做到这一点(我也对其他方法持开放态度,这是我能想到的唯一方法。),但是线程不会同时启动,到线程 3 启动时,线程 1 将大大领先。

我怎样才能做到这一点?

编辑 - 我知道在同一时间发射是不可能的,但也许我也可以通过彼此非常接近的发射而逃脱。有什么办法可以确保这一点?

Edit2 - 由于主要目的是在同步中获取数据流,我想知道线程的预热效果(假设 thread1 从 3.3GHz 开始,到 thread2 从 3.2 开始时达到 4.2GHz)。这会产生显着影响吗(我总是可以在开始发布过程之前对其进行预热,但我很好奇它是否会产生明显的影响)

TIA

0 投票
0 回答
275 浏览

python - 从 RealSense 数据生成 Open3D 中的 PointCloud 对象

我正在尝试将从英特尔实感设备捕获的数据转换为我需要处理的 Open3D PointCloud 对象。目前我只有rosbag 示例文件可以使用,但我认为应该对来自设备的直接流使用类似的程序。到目前为止,我设法使用pyrealsense2和 OpenCV 读取和显示文件。

现在我正在尝试使用 Open3D。例如(使用结构光短程示例):

这会导致错误提示:

因此,我尝试Open3D.geometry.RGBDImage使用“正确”格式手动创建:

现在创建PointCloud时没有TypeError,但是完全错误,实际上是这样显示的:

正视图 侧面图

实际上,它应该看起来像这样(请注意,当 rosbag 文件实际上是视频时,我只是在详细说明第一帧):

正确的

我还尝试使用从 rosbag 文件中提取的参数来处理内在和外在矩阵,但点云看起来仍然很混乱。

我究竟做错了什么?在 Open3D 中从 RealSense 数据正确重建点云的方法是什么?

0 投票
0 回答
29 浏览

c++ - ROS:包文件缓冲区突发

我正在使用 rosbag 的 API:write 将消息从一个包写入另一个包,但是当我运行代码时,出现错误:

**

在抛出 'ros::serialization::StreamOverrunException' 的实例后调用终止 what(): 缓冲区溢出

**

我觉得bag文件的buffer爆裂了,所以想问一下代码里怎么增加bag文件的buffer大小。

0 投票
0 回答
12 浏览

python - Ubuntu 18.04 LTS、ROS、无法加载 Python 扩展以支持 LZ4。LZ4 压缩将不可用

我一直在编写代码来从包文件中提取图像

我没有收到任何错误消息,但这

未能加载 LZ4 支持的 Python 扩展。LZ4 压缩将不可用

我使用 conda 环境,我的 python 版本是 3.6.13

ros-roslib 1.14.6 ros-roslz4 1.14.10.1 rospkg 1.3.0

我还用 pip、pip3 安装了 lz4。

未能加载 LZ4 支持的 Python 扩展。LZ4 压缩将不可用

我使用了上面网址中的方法,但我的问题仍然没有解决

我应该怎么办?

vscode 终端数据