Skip to main content

用于读取、修改、转换和编写 rosbag 文件的纯 Python 库。

项目描述

管道状态 覆盖率报告 蟒蛇版本

罗斯巴格

Rosbags 是所有 rosbag 的纯 Python库。它包含:

  • rosbag2读写器,

  • rosbag1读写器,

  • 具有序列化器和反序列化器的可扩展类型系统,

  • rosbag1 和 rosbag2 之间的高效转换器,

  • 和更多。

Rosbags 对 ROS 软件堆栈没有任何依赖关系,可以单独使用,也可以与 ROS1 或 ROS2 一起使用。

Rosbags 是为MARV开发的,它需要一个快速、正确且灵活的库来读取、操作和编写各种 rosbag 文件格式。

入门

Rosbags 发布在 PyPI 上,没有任何特殊的依赖关系。只需使用 pip 安装:

pip install rosbags

读取和反序列化 rosbag2 消息:

from rosbags.rosbag2 import Reader
from rosbags.serde import deserialize_cdr

# create reader instance and open for reading
with Reader('/home/ros/rosbag_2020_03_24') as reader:
    for connection, timestamp, rawdata in reader.messages(['/imu_raw/Imu']):
         msg = deserialize_cdr(rawdata, connection.msgtype)
         print(msg.header.frame_id)

在 rosbag 版本之间转换:

# Convert "foo.bag", result will be "foo/"
rosbags-convert foo.bag

# Convert "bar", result will be "bar.bag"
rosbags-convert bar

# Convert "foo.bag", save the result as "bar"
rosbags-convert foo.bag --dst /path/to/bar

# Convert "bar", save the result as "foo.bag"
rosbags-convert bar --dst /path/to/foo.bag

文档

阅读文档以获取更多信息。

贡献

感谢您考虑为 rosbags 做出贡献。

要提交问题或创建合并请求,请按照贡献指南中提供的说明进行操作。

通过向 rosbags 捐款,您接受并同意其中列出的条款和条件。

发展

克隆存储库并设置本地结帐:

git clone https://gitlab.com/ternaris/rosbags.git

cd rosbags
python -m venv venv
. venv/bin/activate

pip install -r requirements-dev.txt
pip install -e .

这将创建一个具有必要 python 依赖项的新虚拟环境,并以可编辑模式安装 rosbags。rosbags 代码库使用 pytest 作为其测试运行器,只需调用以下命令即可运行测试套件:

pytest

要从其源代码构建文档,请运行 sphinx-build:

sphinx-build -a docs public

本地文档构建的入口点应该在public/index.html下可用。

支持

Ternaris提供专业支持。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

rosbags-0.9.13.tar.gz (57.3 kB 查看哈希

已上传 source

内置分布

rosbags-0.9.13-py3-none-any.whl (69.2 kB 查看哈希

已上传 py3