You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Repository for implementing rosbag2 as described in its corresponding [design article](https://github.com/ros2/design/blob/ros2bags/articles/rosbags.md).
5
+
Rosbag2 - the tool for recording and playback of messages from ROS 2 topics.
6
+
7
+
This is the ROS 2 successor of https://wiki.ros.org/rosbag.
8
+
9
+
A "rosbag" is simply a file full of timestamped messages. The first goal of the tool is efficient recording, to support complex systems in real time. Its second goal is efficent playback, to allow for viewing and using recorded data.
10
+
11
+
For historical context, see the original [design article](https://github.com/ros2/design/blob/ros2bags/articles/rosbags.md) that kicked off the project.
12
+
13
+
This README has a lot of information. You may want to jump directly to:
Play and record are fundamental tasks of `rosbag2`. However, playing or recording data at high rates may have limitations (e.g. spurious packet drops) due to one of the following:
409
420
- low network bandwidth
@@ -487,7 +498,7 @@ player:
487
498
node_prefix: ""
488
499
rate: 1.0
489
500
loop: false
490
-
# Negative timestamps will make the playback to not stop.
501
+
# Negative timestamps will make the playback to not stop.
491
502
playback_duration:
492
503
sec: -1
493
504
nsec: 00000000
@@ -501,7 +512,9 @@ player:
501
512
502
513
For a full list of available parameters, you can refer to [`player`](rosbag2_transport/test/resources/player_node_params.yaml) and [`recorder`](rosbag2_transport/test/resources/recorder_node_params.yaml) configurations from the `test` folder of `rosbag2_transport`.
503
514
504
-
## Storage format plugin architecture
515
+
## Plugin implementation
516
+
517
+
### Storage format plugin architecture
505
518
506
519
Looking at the output of the `ros2 bag info` command, we can see a field `Storage id:`.
507
520
Rosbag2 was designed to support multiple storage formats to adapt to individual use cases.
@@ -521,7 +534,7 @@ Bag reading commands can detect the storage plugin automatically, but if for any
521
534
To write your own Rosbag2 storage implementation, refer to [Storage Plugin Development](docs/storage_plugin_development.md)
522
535
523
536
524
-
## Serialization format plugin architecture
537
+
### Serialization format plugin architecture
525
538
526
539
Looking further at the output of `ros2 bag info`, we can see another field attached to each topic called `Serialization Format`.
527
540
By design, ROS 2 is middleware agnostic and thus can leverage multiple communication frameworks.
@@ -538,3 +551,48 @@ By default, rosbag2 can convert from and to CDR as it's the default serializatio
0 commit comments