Hi Ivan,

I'm not sure it's possible to devise a meta-data schema flexible enough to satisfy all use cases.  The ROS toolchain is pretty flexible, though, and it should be easy to engineer a solution for your particular needs.  The following techniques[*] might help you:

To query the topics and message types in a bag, use:

    rosbag info --yaml mybag.bag


to return information about the bag in a YAML document.

For arbitrary meta-data, it's easy to add any data you want to a bag.  For example, here's a Python script that will take a bag filename passed on the command-line, and add as the first message in the bag a message on the /metadata topic:

    import roslib; roslib.load_manifest('rosbag')
    import sys, rosbag, rospy, std_msgs.msg
    b = rosbag.Bag(sys.argv[1], 'a')

    # @todo: generate your meta-data message here                                                                                                                                                                        
    metadata = std_msgs.msg.String()
    metadata.data = 'my metadata'

    for _, _, t in b.read_messages():
        break
    b.write('/metadata', metadata, t - rospy.Duration(0, 1))
    b.close()

For example, if you wanted to annotate the bag with a description and keywords, the meta-data message could be populated from the command-line arguments the user passes in.

Your meta-data can then easily be read from the bag, either using the rosbag API, or via the command-line, e.g.

    rostopic echo -b metadata.bag -n 1 /metadata

Tim

[*] assuming a C-turtle installation

On Mon, Jun 21, 2010 at 5:46 PM, Ivan Dryanovski <ivan.dryanovski@gmail.com> wrote:
Hi,

We've been running into a somewhat logistical problem of having too
many bag files, and no good way to organize them. Has anyone given
thought to the idea of adding meta-data to the .bag files? It would be
useful if we can attach a description and keywords so we can quickly
find relevant bags. For example, you would keep all your bags in a
specific directory, and have a ros tool that is able to search through
them based on keywords, topics, or message types.

Since adding explicit meta-data to the bag format might cause
compatibility problems with current bag tools, perhaps a round-about
solution would be to attach a "metadata" topic to each bag.

Ivan Dryanovski
_______________________________________________
ros-users mailing list
ros-users@code.ros.org
https://code.ros.org/mailman/listinfo/ros-users