ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

What is the best performing storage/serialization format for sequential writing/reading for ros2 bag?

asked 2022-01-04 19:18:32 -0600

ajayvohra2005 gravatar image

I am using sqlite3 storage format and cdr serialization format in ROS2. In my testing, I have observed that the serialization/deserialization performance of sequentially writing/reading messages for ROS2 bag files is significantly slower than ROS1.

Is there anything faster than sqlite3 and cdr that is currently available that would achieve the performance at par with ROS1?

Documentation here appears to suggest as if rosbag2_v2 is an alternative to sqlite3, but when I try the rosbag2_v2 value it does not work for me. Am I reading the documentation below correctly?

ros2 bag <record> | <play> | <info> -s <sqlite3> | <rosbag2_v2> | <custom_plugin>

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
0

answered 2022-01-22 10:58:01 -0600

ajayvohra2005 gravatar image

updated 2022-01-22 10:59:32 -0600

In my research, I have found sqlite3 (storage) and cdr (converter) as the only available open source ROS2 bag plugins.

edit flag offensive delete link more
0

answered 2022-01-22 15:26:04 -0600

osilva gravatar image

updated 2022-01-22 15:30:43 -0600

Other than sqlite3, the tooling team proposed leveldb.

Please see thread: https://discourse.ros.org/t/tooling-p...

However based on most recent discussion, there is overall concerns with rosbag2

https://discourse.ros.org/t/fast-forw...

There is also a report from RobotecAI that reviews performance: https://github.com/ros2/rosbag2/blob/...

I suggest to read both threads, very interesting discussion and report.

edit flag offensive delete link more

Question Tools

3 followers

Stats

Asked: 2022-01-04 19:18:32 -0600

Seen: 1,030 times

Last updated: Jan 22 '22