linklab-uva / RACECAR_DATA

80 stars 7 forks source link

convert db3 files to mcap? #12

Open lucasw opened 1 year ago

lucasw commented 1 year ago

Any interest in converting the db3 files to mcap and hosting those on s3 in a parallel set of folders? I tried converting one:

mcap convert T-SOLO-FAST-140.db3 T-SOLO-FAST-140.mcap

It took about 10 minutes for the 16GB input db3 and the output mcap is about 30% smaller (I didn't change any default settings, it says compression zstd 1834 chunks- maybe that's possible with db3 as well). I think the main benefit is not having to have the message definitions (I had to build this repo and delphi_mrr_msgs out of astuff_sensor_msgs in order to get the conversion to work)- though I haven't tested that yet.

In addition ros2 iron is maybe necessary to interact with them through ros2 bag commands.

I've been trying to load the mcap in plotjuggler but no success yet, it sees the list of topics but has the error No parser available for encoding [cdr] nor [ros2msg]- maybe I have an outdated plotjuggler (or plotjuggler has outdated mcap support?).

amarkoolk commented 1 year ago

That's a great idea, we should be able to host both sets. I have done this conversion before, and iron is not necessary to use mcap, but you do have to install

sudo apt install ros-humble-rosbag2-storage-mcap

Plotjuggler should have mcap support, I do use it frequently on mcap bags. Try the above installation unless you are already using iron

lucasw commented 1 year ago

I was able to figure out the issue with plotjuggler, I was trying to use it with a version built with catkin for ros1 (in principle that still ought to work, it shows mcap as a possible file type to load, but understandable that pathway wasn't tested)