Add rosbag conversion tools

This commit is contained in:
Marko Durkovic
2021-05-02 14:51:08 +02:00
parent 4de0c99274
commit 5d2d394110
10 changed files with 291 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
rosbags.convert
===============
.. automodule:: rosbags.convert
:members:
:show-inheritance:
+1
View File
@@ -4,6 +4,7 @@ Rosbags namespace
.. toctree::
:maxdepth: 4
rosbags.convert
rosbags.rosbag1
rosbags.rosbag2
rosbags.serde
+1
View File
@@ -14,6 +14,7 @@
topics/serde
topics/rosbag2
topics/rosbag1
topics/convert
.. toctree::
+29
View File
@@ -0,0 +1,29 @@
Convert Rosbag1 to Rosbag2
==========================
The :py:mod:`rosbags.convert` package includes a CLI tool to convert legacy rosbag1 files to rosbag2.
Features
--------
- Reasonably fast, as it converts raw ROS1 messages to raw CDR messages without going though deserialization and serialization
- Tries to match ROS1 message type names to registered ROS2 types
- Automatically registers unknown message types present in the legacy rosbag file for the conversion
- Handles differences of ``std_msgs/msg/Header`` between both ROS versions
Limitations
-----------
- Refuses to convert unindexed rosbag files, please reindex files before conversion
- Currently does not handle split bags
Usage
-----
.. code-block:: console
# Convert "foo.bag", result will be "foo/"
$ rosbags-convert foo.bag
# Convert "foo.bag", save the result as "bar"
$ rosbags-convert foo.bag --dst /path/to/bar