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

Is rosbag available on ROS2 and how to benchmark it?

asked 2018-08-07 07:02:05 -0600

nickcage gravatar image

Hello everyone,

I'm using ROS2 that I obtained from here: https://github.com/ros2/ros2/wiki/Lin... . Running it on Ubuntu 16.04 with kernel 4.16.7.

I am tasked with benchmarking writing of bag files on ROS2 to SSD. Note that I am an absolute beginner but will probably not use ROS2 extensively since I am not responsible for development on it but for another application (not related to ROS2) which we will be linking to ROS2 application which is being developed by others. However, for the purposes of evaluation I am supposed to benchmark writing bag files to SSD.

Now, I have been reading about the progress of rosbag development on ROS2 and have seen that it is only in the beginning if I'm not wrong. What I would like is to ask either for a confirmation that rosbag is not available on ROS2 yet and cannot be tested, or, if there is an early version of it, what should I do in order to test its speed.

Thank you in advance.

Regards, Nick

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2018-08-07 11:18:29 -0600

Karsten gravatar image

Hi Nick,

you are right. There is no rosbag implementation for ROS 2 yet, but we are currently on it. SQlite3 will be used as the underlying default storage format and we've done some benchmarking of it here: https://github.com/ros2/rosbag2/tree/...

However, we are providing a plugin interface with the new implementation, which allows users to add different storage formats underneath in case SQlite3 does not meet their performance requirements.

Does that help?

edit flag offensive delete link more

Comments

Sorry for going off-topic but I am having trouble installing the rosbag2 packages following this guide https://github.com/ros2/rosbag2/blob/... . Having problems with cmake and ament which I saw in ros2_ws but not in rosbag_ws. Do I need to install rosbag2 inside ros2 directory?

nickcage gravatar image nickcage  ( 2018-08-08 03:10:53 -0600 )edit

you can compile the rosbag2_ws as an overlay. Before compiling you must source the ros2_ws/install/local_setup.sh file though. With this ament will be present.

Karsten gravatar image Karsten  ( 2018-08-08 16:49:01 -0600 )edit

I managed to install rosbag2 and ran the benchmark tests. I ran sqlite based ones as well as trivial one. In both cases I'm getting miserable results when writing to SSD, the best I had is ~70MB/s. I can confirm that my SSD is capable of writing at speeds ~1700MB/s. Why is the performance so bad?

nickcage gravatar image nickcage  ( 2018-08-09 08:03:05 -0600 )edit

Ok, so I haven't tried big_messages_benchmark right away, and, expectedly, when writing larger chunks of data the speed improves but I couldn't get speed greater than 380MB/s. Have you ever got better results? I am experimenting with the message size, number of messages and transaction size.

nickcage gravatar image nickcage  ( 2018-08-10 07:42:08 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2018-08-07 06:52:44 -0600

Seen: 1,506 times

Last updated: Aug 07 '18