git-subtree-dir: rosbags git-subtree-mainline: 48df1fbdf4490f3cbfa3267c998d1a0fc98378ca git-subtree-split: c80625df279c154c6ec069cbac30faa319755e47
37 lines
1.1 KiB
ReStructuredText
37 lines
1.1 KiB
ReStructuredText
Convert rosbag versions
|
|
=======================
|
|
|
|
The :py:mod:`rosbags.convert` package includes a CLI tool to convert legacy rosbag1 files to rosbag2 and vice versa.
|
|
|
|
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 rosbag1 files, please reindex files before conversion
|
|
- Currently does not handle split bags
|
|
- Only ROS2 default message types are supported when converting rosbag2 to rosbag1
|
|
|
|
Usage
|
|
-----
|
|
|
|
.. code-block:: console
|
|
|
|
# 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
|