no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


Previous revision
Last revision
doc:logging:plugins [2014/03/06 12:43] – [Experimental Plugins] winkler
Line 1: Line 1:
 +====== 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.
 +
 +  * **ros**: Opens up the connection to the ROS robot middleware. It is the basic plugin for most other functionalities that rely on communication through ROS.
 +
 +==== 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.
 +
 +  * **imagecapturer**: When sending the belief state system the command to include a snapshot of a ROS-enabled (connected) camera topic, this plugin acquires the snapshot and sends internal events to include it into the symbolic log.
 +
 +==== 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 [[http://www.knowrob.org/|KnowRob]]. This plugin can be fed experiment-related, semantic data for logging using a [[doc:logging:plugins:owlexporter:semantics_descriptor_file|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 [[doc:logging:beliefstate:development_plugins|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 [[http://wiki.ros.org/rviz|rviz]] (e.g. clicks on the menu entries) are published onto a ROS topic by the belief state plugin.
 +
 +{{ :doc:logging:interactive_menu_rviz.png?nolink |}}
 +===== 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 [[http://www.knowrob.org/|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 [[https://github.com/fairlight1337/bs_plugin_knowrob|here]].