问题标签 [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 回答
764 浏览

c++ - 运行命令“rosbag play example.bag”时发生错误。找不到与插件 rosbag/NoEncryptor 对应的库

我目前正在学习如何使用 rosbag,但是当我运行命令“rosbag play D:\summer_project\20200619_123634.bag”时,出现以下错误:

我在网上做了一些研究,我需要用 NoEncryptor 做点什么。这是我找到的链接:http://wiki.ros.org/pluginlib; https://docs.ros.org/melodic/api/rosbag_storage/html/c++/classrosbag_1_1NoEncryptor.html;

我从来没有使用过c语言,所以我对设置过程一无所知。我需要对 .cpp 文件和 .h 文件做什么?如果有人能给我一些想法或建议,将不胜感激!

0 投票
1 回答
601 浏览

python - ROS - 使用自定义 ROS 消息编写包文件时出现序列化错误

我创建了一个自定义 ros 消息,其格式如下

数据是从 csv 文件读取的 4D 列表列表

customMessage(genpy.Message)类里面,我设置了msg.datato pmsg.headertoheadermsg.modeltomodel 我用这个消息类型创建了一个随机数据,我试图写一个包文件出来

但是我收到此错误

msg.data一个类型<type 'list'>是假定的类型 如果只有msg.data有一个str类型,则包文件的写入成功

然而,这没有意义,因为它不会使用str数据类型

如果我通过以下方式将数据更改为 uint8:points = np.uint8(p)

我得到了这个错误

以前有人遇到过这样的问题吗?

我尝试更改数据读取方法

但是我的 p1、p2、p3 和 p4 是浮动的,我只是做了 int cast 来尝试它。我得到了同样的错误

0 投票
1 回答
578 浏览

python - 在 Ubuntu 和 Windows 中使用相同的代码读取 ros bag 文件会产生不同的格式

我目前正在尝试使用 python bagpy 库从 ros 包中读取数据。我已经在 Windows 中编写了代码,但最近切换到了 Ubuntu。如果我现在尝试在 Ubuntu 中运行相同的代码,则输出的格式会有所不同。这是我用来读取数据的代码:

当我在 Windows 中运行此代码时,变量“newmsg”是一个包含所有包数据的列表。这是该列表的第一个条目:

该列表包含另一个列表(事件),其中每个条目都有一堆数据,我都可以单独访问这些数据。使用newmsg[0].events[0].x eg 可以让我访问事件列表的第一个元素中的 x。

但是,当我在 Ubuntu 中运行相同的代码时,会返回一个 csv 文件:

我尝试通过使用 pandas 读取生成的 csv 文件来访问事件列表中的元素,如下所示:

这将返回一个包含所有事件数据的字符串,这样我就无法再访问各个条目了。对于可能导致这种差异的原因,我非常迷茫,所以如果有人知道为什么会发生这种情况,或者我如何仍然可以访问事件列表的各个元素而无需遍历大量字符串,我将非常感激: )

0 投票
1 回答
114 浏览

ros - 如何使用 USB 摄像头创建 rosbag 文件,将摄像头图像作为 sensor_msgs/CompressedImage,将里程计作为 nav_msgs/Odometry

帮助我使用 USB 摄像头创建 rosbag 文件,该文件提供摄像头图像作为 sensor_msgs/CompressedImage 和里程计作为 nav_msgs/Odometry。

0 投票
1 回答
21 浏览

python - python代码中终端的ctrl + c功能的不完整表示

我有一个通过以下命令在终端中执行的应用程序:

file.bag.active在上面的地址中做了一个,基本上在里面记录了一些信息。

一段时间后,通过在终端中按 ctrl+cfile.bag.active更改,file.bag并将准备好被另一个应用程序读取。

然而,我想通过一个 python 脚本完成这个序列,最好的方法似乎是执行以下操作:

用于表示 ctrl+c 函数的脚本的另一部分是:

但是,在这种情况下,file.bag.active文件不会更改为file.bag,我不确定我还能做什么或添加到此代码中。

另外我注意到的是,如果我添加一个 pdb.set_trace() 并在调用它时在其中按 ctrl+c,我会得到我要查找的结果,我无法解释为什么或如何在自动码。

有谁知道它的解决方法?

0 投票
0 回答
340 浏览

ros - rosbag在播放过程中会播放保证数据吗?

我目前正在开发 ROS 节点。一个节点用于解析从.bag文件中获取的原始激光雷达数据并发布到主题,另一个节点从第一个节点订阅解析后的数据,并通过收集特定时间段的方式发布一堆解析后的点云数据.

但是,点云数据似乎没有以正确的数据量发布到节点。当我以0.1速率播放.bag文件时,点云数据似乎没有太多丢失数据,但是当它以正常速度播放时,则丢失了很多数据。

例如,

  • rosbag play data.bag :(结果)点云#60000~80000(正常速度)

  • rosbag play data.bag --rate=0.1 :(结果)点云#1000~1100(速度慢10倍)

根据上面的结果,当以正常速度播放数据时,它会丢失近 50% 的数据。

您是否知道以正常播放速度获取完整数据?

0 投票
0 回答
104 浏览

python - Python ROS 与 Anaconda

我安装在 Anaconda 中:

但是使用命令:

我得到错误:

我启动了命令:

有什么要设置的吗?

谢谢您的帮助!

0 投票
0 回答
58 浏览

python - 使用 rosbags-libary (PyPI) 创建包含图像和时间戳的 rosbag 文件,而不依赖于 ROS

我想创建一个没有任何 ROS 版本的 rosbag 文件。为此,我有带有相应时间戳的图像。在互联网上搜索我找到了以下库,我可以使用它来读取和写入不依赖 ROS 的 rosbags ( Rosbag-PyPI )。

我已经阅读了文档,不幸的是我无法继续前进。我不知道如何处理我的图像和时间戳。我知道这是一个普遍的问题,但有人还能给我一个提示吗?

我将不胜感激任何建议。

0 投票
1 回答
645 浏览

ros - 为什么 ROSBag 记录每秒只记录来自任何传感器的十个事件?

作为 Cartographer 教程 ( https://google-cartographer-ros.readthedocs.io/en/latest/demos.html ) 的一部分提供的示例 ROSBags 对于 LiDAR 消息的消息频率约为每秒 1507 条消息,每条消息为 250 条消息。第二个来自 IMU。我有一个 IMU 每秒广播大约 100 条消息,还有一个 Velodyne VLP-16 使用 Velodyne 自己的驱动程序 (VLP16_points.launch) 广播消息。对于这两个传感器,rosbag record 似乎每秒最多只能记录 10 条消息。我怎样才能增加这个记录频率?

0 投票
1 回答
313 浏览

ros - 如何从 rosbag 为 ZED SDK 生成“.svo”文件

我想使用 Stereolabs 的 ZED SDK 从立体视频生成点云。

我现在拥有的是一些带有左右图像(以及来自不同传感器的其他数据)的 rosbags。

当我提取图像并从中创建视频时,我的问题出现了,我得到的是使用 ffmpeg 的某种格式(例如 .mp4)的视频,但是 ZED SDK 需要 .svo 格式,我不知道如何生成它。

是否存在从 rosbags 获取“.svo”视频的某种方式?

另外,我想问一下,(一旦我获得 .svo 文件)如果我不能使用图形界面,我如何使用 SDK 获得点云?我在 Docker 中使用 ROS(Melodic 和 Ubuntu 18.04)从 DGX 工作站工作,我无法使 rviz 和任何图形工具在 Docker 映像中工作,所以我认为我应该“自动”生成点云,但我不知道如何。

我不得不说这是我第一个使用 ROS、ZED SDK 和 Docker 的项目,所以这就是我问这个(也许)基础问题的原因。

先感谢您。