CRAM Belief State Plugins
Shipped plugins
The belief state software is mostly plugin driven. Here is a list of plugins available for the system that are part of the core release:
Communication Plugins
These plugins open up the belief state system to connections from outside, making interaction with other entities possible.
Management Plugins
These plugins manage the background coordination in the belief state system, such as starting the system properly, and holding collected data.
supervisor: Manages the start and the end of experiments, sending start messages to all other plugins upon complete system startup, and creating experiment directories according to the current experiment index (all automatic).
symboliclog: Collects and manages hierarchical context data sent by the CRAM system (or other entities contributing to the log). Exporter plugins request and use this plugin's information when extracting their own formats.
Helper Plugins
These plugins themselves don't have a closed function, but are used as helper functionalities for other plugins.
Exporter Plugins
These plugins manage the export of collected data in various formats.
owlexporter: Exports the symbolic log into a well-formed XML document following the OWL syntax, readily formatted to be imported into
KnowRob. This plugin can be fed experiment-related, semantic data for logging using a
semantics descriptor file.
dotexporter: Exports the symbolic log into a DOT formatted file to be used with the dot
tool framework. This can be used to generate PDFs of your symbolic plan execution graph using the command 'dot -Tpdf experiment.dot > experiment.pdf'
.
experiment-context: Exports the metadata of the experiment set during said experiment. Currently, this plugin can hold information about the experiment name, the robot used within it, the person conducting the experiment, a description of how well the experiment went, and the absolute start/end times of the experiment. When exporting the data, it creates a metadata.xml
file in the experiment directory, which holds said information.
Experimental Plugins
These plugins are strongly work-in-progress and most probably not useable for a broad audience at the moment. Feel free to experiment with them, but no support is given. By default, they count as development plugins.
interactive: Allows the dynamic allocation, management, and feedback acquisition of interactive markers in rviz. From CRAM side, the shape, dimensions, pose, and right click menus for interactive objects can be changed on demand. The results of the interaction in
rviz (e.g. clicks on the menu entries) are published onto a ROS topic by the belief state plugin.
Excluded Plugins
These plugins are not part of the core release, but work fine with the system.
knowrob: This plugin allows to forward symbolic events directly into a running
KnowRob instance, making live reasoning possible. It is not included in the main system since it must be built as a
rosbuild
package (due to dependency on
json_prolog
). The default
config.cfg
file includes an example line for loading this plugin when installed. You can find it
here.