在 Python 3 中导入 Rosbag

2023-11-25

我正在尝试从 Python 3 读取 rosbag 文件。
我安装了 ROS2 (Eloquent Elusor),它应该支持 Python 3。

当我跑步时

import rosbag
bag = rosbag.Bag('test.bag')

从Python 2.7开始,它可以工作了。
当我在 Python 3 中尝试同样的操作时,我得到:

ModuleNotFoundError: No module named 'rosbag'

我也尝试过类似的事情:sudo apt install python-rosbag, sudo apt install python3-rospkg and pip3 install rospkg,但它们没有帮助。

我应该怎么做才能从 Python 3 打开 rosbag 文件?

[EDIT]
这是调用后的输出pip3 install rospkg:

Requirement already satisfied: rospkg in ./rosbag-env/lib/python3.6/site-packages
Requirement already satisfied: catkin-pkg in ./rosbag-env/lib/python3.6/site-packages (from rospkg)
Requirement already satisfied: distro in ./rosbag-env/lib/python3.6/site-packages (from rospkg)
Requirement already satisfied: PyYAML in ./rosbag-env/lib/python3.6/site-packages (from rospkg)
Requirement already satisfied: pyparsing in ./rosbag-env/lib/python3.6/site-packages (from catkin-pkg->rospkg)
Requirement already satisfied: python-dateutil in ./rosbag-env/lib/python3.6/site-packages (from catkin-pkg->rospkg)
Requirement already satisfied: docutils in ./rosbag-env/lib/python3.6/site-packages (from catkin-pkg->rospkg)
Requirement already satisfied: six>=1.5 in ./rosbag-env/lib/python3.6/site-packages (from python-dateutil->catkin-pkg->rospkg)

您可以使用bagpy包以在 Python 中读取 .bag 文件。可以使用pip安装

pip install bagpy

简要文档位于https://jmscslgroup.github.io/bagpy/

以下是示例代码片段:

import bagpy
from bagpy import bagreader

b = bagreader('09-23-59.bag')

# get the list of topics
print(b.topic_table)

# get all the messages of type velocity
velmsgs   = b.vel_data()
veldf = pd.read_csv(velmsgs[0])
plt.plot(veldf['Time'], veldf['linear.x'])

# quickly plot velocities
b.plot_vel(save_fig=True)

# you can animate a timeseries data
bagpy.animate_timeseries(veldf['Time'], veldf['linear.x'], title='Velocity Timeseries Plot')

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 3 中导入 Rosbag 的相关文章

随机推荐

  • PyDev 和 Eclipse 未解决的导入问题

    尽管我已经多次使用 Eclipse for Java 但我对 PyDev 和 Python 还很陌生 我正在尝试解决一些 Dive Into Python 示例 这感觉像是一个极其微不足道的问题 但现在却变得非常烦人 我使用的是 Ubunt
  • 使用 method_add 动态覆盖实例方法了解 ruby​​ 元编程

    我有以下来自 Programming Ruby 1 9 的代码 稍作修改 我只是想确保我的思维过程是准确的 module Trace def self included culprit Inject existing methods wit
  • (276/304)*304 的小数舍入关闭

    如果将以下代码放入编译器中 结果会有点奇怪 decimal x 276 304 304 double y 276 304 304 Console WriteLine decimal x x Console WriteLine double
  • Apache 应该服务什么,Tomcat 应该服务什么?

    我正在尝试在 Tomcat 之前设置 Apache Apache 提供什么服务 我知道 Apache 对于静态页面和图像效果更好 我目前在 Tomcat 中部署了一个 war 文件 其中包含静态页面 图像和 Flash 文件 我应该把这些都
  • ASP.NET 托管环境/shadowCopyBinAssemblies

    今天我偶然发现了ShadowCopyBinAssemblies选项中的托管环境 tag 显然这个属性是网络配置 system web 配置布尔选项 指示 Bin 目录中应用程序的程序集是否卷影复制到应用程序的 ASP NET 临时文件目录
  • 未添加本机代码的 Java 致命错误 SIGSEGV

    我从 Java 编译器收到一条我不理解的错误消息 我已经使用 Java 6 和 7 在 OSX 10 6 10 9 和 Ubuntu 14 04 上测试了我的代码 当我使用 Eclipse 调试器或解释器 使用 Xint 选项 运行时 一切
  • Django 无法迁移 PostgreSQL:关系 Y 的约束 X 不存在

    我正在尝试在 PostgreSQL 9 6 5 数据库上运行 Django 1 11 迁移 但出现了奇怪的错误 Applying myapp 0011 auto 20171130 1807 Traceback most recent cal
  • sqlalchemy中的连接池是线程安全的吗?

    文档称连接池也不是为多线程设计的 至关重要的是 当使用连接池时 以及扩展时 使用通过 create engine 创建的引擎 连接不会与分叉进程共享 TCP 连接是 表示为文件描述符 通常跨进程工作 边界 这意味着这将导致对文件的并发访问
  • iPhone 应用程序无法在旧设备(3G、3GS...)上运行[重复]

    这个问题在这里已经有答案了 可能的重复 使用 Xcode 4 2 和 iOS 5 SDK 时是否可以针对旧版 iOS 版本 我开发了一个适用于 iPhone 4 iOS 4 3 和 5 的应用程序 在开发过程中使用 现在我尝试在3GS iO
  • 您可以记录角度数据绑定错误吗?

    如果绑定属性或表达式失败 是否有办法记录 i e
  • 如何为 JBoss 实例设置代理

    我有一个正在运行的 JBoss 实例 我想通过代理路由所有流量 我尝试将系统属性设置为在 run sh 中加载 如下所示 JAVA OPTS Dhttp proxyHost localhost Dhttp proxyPort 1234 JA
  • 发送电子邮件而无需在 Google 中启用不太安全的应用程序

    我用 C 制作了一个电子邮件程序 但您必须在 google 中启用不太安全的应用程序 有没有解决的办法 如果不是 其他应用程序如何安全地发送电子邮件而不被归类为安全性较低的应用程序 private void SendButton Click
  • 聚合物多重继承/组合

    高分子网站says在 Polymer 中使用 extend 属性不支持多重继承 或组合 我希望一个元素由一个 Polymer 元素中的一些方法和另一个 Polymer 元素中的一些方法组成 以使其反映应用程序逻辑 目前有什么方法可以在 Po
  • 正则表达式替换除破折号之外的非单词

    我有一个正则表达式模式 W 不适合h e l l o w o r d 替换字符串为 它返回类似这样的内容 h w 我希望至少能看到这样的事情 h e l l o w o r d 如何替换所有非单词字符和 不包括 symbol 要匹配除破折号
  • 为什么 strtotime 在不同时区给出不同的结果?

    我不知道为什么strtotime 在 PHP 中 即使给出相同的日期作为参数 在不同的时区也会返回不同的结果 有人知道答案吗 我也想知道 我可以做类似的任务 转换datetime to an int轻松地进行计算 与另一个在不同时区给出相同
  • 如何为 SQL Server 数据库中的所有表创建触发器

    我有一个专栏LastUpdate在我数据库的所有表中 我想说 在插入更新时LastUpdate getdate 我可以使用触发器来做到这一点 但我发现很难为数据库的每个表编写数百个触发器 如何动态创建影响所有表的触发器 如何为每个表动态创建
  • 将数据从 php 传回给 ajax

    如何将数据从 php of then rows 传递回 ajax PHP query SELECT FROM picture order by rand LIMIT 10 result mysql query query while rec
  • Android 在 snapchat 上分享图片

    我使用此代码来分享分数的屏幕截图 Intent sharingIntent new Intent Intent ACTION SEND sharingIntent setType image png Uri image Uri parse
  • 如何编写 EF.Functions 扩展方法?

    我看到 EF Core 2 有 EF Functions 属性EF Core 2 0 公告 which can be used by EF Core or providers to define methods that map to da
  • 在 Python 3 中导入 Rosbag

    我正在尝试从 Python 3 读取 rosbag 文件 我安装了 ROS2 Eloquent Elusor 它应该支持 Python 3 当我跑步时 import rosbag bag rosbag Bag test bag 从Pytho