Skip to main content

Usage

Login

A PAT created from the Model-Prime Swagger page's PAT service page must be used to log into the plugin. Once successfully logged in, your email and organiaztion name will be displayed in the top left corner of the plugin's UI.

PAT Prompt

After successfully logging in, the plugin will attempt to load a robolog using automatic robolog detection as outlined below. If no robolog is found, the plugin will display a message indicating that no robolog was found and you will need to load a robolog using one of the methods outlined below.

No Robolog Found

Loading a robolog

The rqt_metadata plugin allows you to modify metadata on a ROS robolog that has been previously ingested. The plugin does not allow you to trigger or manage ingestion of robologs. For that, please use the Model-Prime Swagger page's ingestion service section.

My robologs

Use the My Robologs button to view a list of robologs that have been ingested by Model-Prime and are available for modification. The list will be empty if no robologs have been ingested.

My Robologs

Select bag file

Use the Select Bag File button to select a .bag file from your local filesystem. The plugin will then attempt to find a matching robolog using the Model-Prime search service. If a matching robolog is found, its metadata will be loaded into the plugin. If multiple robologs are found, you will be prompted to select one. Multiple matches can occur if the .bag file was ingested multiple times by accident, or following an update of your intrinsic field definitions.

Select Bag File

Detect robolog

Use the Detect Robolog button to detect a robolog that is loaded in the rqt_bag plugin fork provided by Model-Prime. This feature will not work if the official rqt_bag plugin overrides Model-Prime's fork. The rqt_bag plugin fork provided by Model-Prime is included in the binaries provided to you by Model-Prime when distirbuting the rqt_metadata installation folder unless otherwise noted.

In rare cases, robolog detection may result in multiple robologs being found. This can happen if the robolog you have loaded in the rqt_bag fork has been ingested multiple times by accident, or following an update of your intrinsic field definitions.

Automatic loading (rqt_bag integration)

When the plugin initially loads, it will attempt to detect a robolog using the rqt_bag plugin fork's get_bag_filename service exactly as is done when you press the Detect Robolog button yourself.

Refresh values/fields

Use the Refresh Values/Fields buttons to refresh the values and fields used to populate the metadata table for the loaded robolog. This may be useful if you know or suspect that others on your team have update a robolog's metadata or field definitions by using something other than the instance of the rqt_metadata plugin that you have open.

Metadata table

The bulk of the rqt_metadata plugin UI is the tabbed metadata table section. This table displays metadata values along with information about their fields for the currently loaded robolog. The table is organized into two sections: intrinsic metadata and extrinsic metadata.

Both tables feature a context menu that can be accessed by right clicking on a specific cell. The context menu options vary from table to table and cell to cell. The following sections describe the context menu options available for each table and cell type.

Intrinsic metadata

Intrinsic metadata is metadata that was available at the time of ingest such as the file name, ingest request trace id, ingest time, and values associated with intrinsic fields that you've defined or have been defined for you during onboarding (ex. start time, end time, duration, message count).

Intrinsic Metadata

Context menu options

Copy to clipboard

The cell's value will be copied to your clipboard.

Extrinsic metadata

Extrinsic metadata is metadata that is associated with the robolog after ingest through your use of the rqt_metadata plugin or the Model-Prime Swagger page's metadata service section.

For exsiting metadata, the following attributes are meant to be edited by you by double clicking on the cell and entering the corresponding cell:

  • Value: The value of the metadata.
  • Time Start: The value's associated interval start time.
  • Time Stop: The value's associated interval stop time computed as Time Start + Lasting[s].
  • Lasting[s]: The value's associated interval duration in seconds.
  • Channels: The value's associated channels (i.e. topic names for ROS 1). Multiple channels can be specified by separating them with a comma (ex. channel1,channel2). The channels used here must be channels that have been determined to exist in your robolog at the time of ingest.

Extrinsic Metadata

Adding new metadata values is covered in the corresponding section below.

Context menu options

If a context menu action may be disabled within the menu if it does not make sense for the given cell's attribute type. For example, the Reset cell change action will be disabled if the cell's attribute has not or cannot be changed by the user.

Extrinsic Metadata Context Menu

Reset cell change

The cell's value will be reset to the last known value requested from our metadata service. You can tell a cell's value has been changed by you if its background color is yellow.

Reset row changes

All the editabled attributes associated with the cell's metadata will be reset to the last known values requested from our metadata service.

Reset all table cell changes

All the editables attributes in the table will be reset to the last known values requested from our metadata service.

Clear interval

Set the metadata values associated with the cell's interval to null. A metadata value with null interval indicates that the metadata applies to the entire robolog instead of a specific time interval.

Set to current playback time

Use the current playback time from the rqt_bag plugin fork's get_current_time service to set the cell's interval start or stop. The get_current_time service is only available if the rqt_bag plugin fork is running and a robolog has been loaded into it.

Copy to clipboard

The cell's value will be copied to your clipboard.

Adding metadata

Use the Add Metadata button to add a new extrinsic metadata to the robolog. You will be prompted to select a field from a list of extrinsic fields that you have defined. The metadata's interval, channels, and value may also be set.

Add Metadata

Modifying metadata / syncing

After you've modified a metadata value or other editable attribute such as Time Start, Time Stop, Lasting[s], or Channels, by double-clicking on a corresponding cell and modifying its value, the Sync button will become enabled and the cell's background color will change to yellow. Until you sync the values, the changes you've made will not be sent to our metadata service and are considered to be local changes.

Metadata Syncing

Deleting metadata

Use the Delete Metadata button to delete the metadata associated with the currently selected cell from the robolog. You will be prompted to confirm the deletion. Remember, this deletes the metadata from the robolog, not the field definition.

Adding fields

Use the Add Field button to add a new extrinsic field to your organiztion's fields configuration. You will be prompted to enter a field alias and select a field type from a list of supported field types. The field alias must be unique and cannot be the same as an existing field alias. The field type cannot be changed after the field has been created. An optional, human-readable field description may also be entered.

Add Field

Modifying fields

Use the Modify Field button to modify the currently selected cell's existing extrinsic field's configuration.

Deactivating fields

Use the Deactivate Field button to deactivate the currently selected cell's extrinsic field. You will be prompted to confirm the deactivation. WARNING: this deactivates the field from your organization's fields configuration and all associated values will no longer be loaded in the table for any robologs that had values defined for it.