Datasets/cumulti#41
Conversation
|
Okay test issue is that I broke part of the API that I did not realize we used. I think that the desired API is that:
Currently the API doesn't let us disambiguate between the options when a directory is passed. Happy to make these changes, but wanted to check the proposed API changes first. |
|
Hmm, this is a great catch. There's a few trajectories in oxford_spires that have multiple ros2 bags that I never took the time to figure out that this would fix as well. Ideally, we'd like to this to just work and magically infer ros versions and whether we should glob or not.
Do you think it's still worth having parameters to override the inferring behavior? I think we should be able to make it smart enough that it just handles all these cases, I was just too busy to code up it previously. |
Should now automatically accept - A path to a ros1 or ros2 bag - A Path to a dir containing multiple ros1 or ros2 bags
|
This looks great Dan, I'll merge this once the ground truth is publicly available. I am hitting a hitch though - when running I did notice in the metadata.yaml the topic is missing the Are you able to recreate this at all? It's an error I definitely haven't seen before. |
|
Got this figured out - it appears that the lidar bags of the main robot sequences don't have embedded message definitions! rosbags will try to load some message definitions if none are found in any of the bags. Since there are messages definitions in the imu bags, none were being loaded! The fix was to forcibly load some messages definitions using some rosbags internal API: if type_store is not None:
self.reader.typestore.register(get_typestore(type_store).fielddefs)I'll push the fix soon here. It may be worth reporting this to the original authors? In case they want to tweak those rosbags |
|
The root issue is definitely related to the rosbags themselves. |
- Updates the Lidar - IMU extrinsics - Fixes LiDAR rate - Fixes LiDAR stamp convention
|
Just pushed the tweak to manually load typestores, remove that strange legacy "orig" check, and some formatting tweaks. Should be good to merge now! :) |
Cu-Multi
This PR adds a dataset description for the CU-Multi Dataset: https://arxiv.org/abs/2505.17576
A few notes on CU-Multi
ROS2 Bag Support
This PR also updates the usage of
rosbags.AnyReader. While the documentation ofAnyReaderimplies that it can either handle multiple ros1.bagfiles OR a single ros2bag/directory the actual implementation permits reading multiple ros2bag/directories much like multiple ros1.bagfiles. The changes made are minor to the loaders, and should be backwards compatible, but updates themcapflag tois_ros2and globs over all sub-directories to permit multiple ros2bag/directories.