This is an old revision of the document!
Belief State Logging
In order to create extensive logs of CRAM plan executions, a software package for symbolic logging was created. It records data based on symbolic contexts started and ended by external entities (such as CRAM).
Context-driven, synchronous log generation
The logs generated using the belief state log mechanism are represented by a tree of contexts and subcontexts. Each context can be annotated by additional data. Exemplary context annotation can take a form similar to the following (shown in pseudo-code):
begin context: fetch object annotation: start-time = 0 annotation: object-description = ... begin context: perceive annotation: start-time = 0 annotation: detected-object(s) = ... annotation: end-time = 2 annotation: success = true end context begin context: navigate-to-object annotation: start-time = 2 annotation: goal-position = ... annotation: end-time = 7 annotation: success = true end context begin context: grasp annotation: start-time = 7 annotation: gripper-side = left annotation: end-time = 10 annotation: success = true end context annotation: end-time = 10 annotation: success = true end context
Installation
The logging mechanism consists of two parts:
- The belief state logging software: A ROS node that records all symbolic events that are sent to a specific set of ROS services. This node keeps track of the symbolic event tree, all of its annotations, and is able to extract to data in various formats.
- The CRAM belief state interface: A CRAM package that enables easy integration of the logging mechanism into the CRAM system. Through hooks in vital functions inside CRAM, the belief state interface automatically logs structural information during plan execution.
In order to install the belief state logging software, you need the following entries in your .rosinstall
file:
- git: {local-name: beliefstate, uri: 'https://github.com/fairlight1337/beliefstate.git'} - git: {local-name: designator_integration, uri: 'https://github.com/code-iai/designator_integration.git'} - git: {local-name: iai_common_msgs, uri: 'https://github.com/code-iai/iai_common_msgs.git'}
In order to install the belief state interface for CRAM, you need these entries in your .rosinstall
file:
- git: {local-name: iai_common_msgs, uri: 'https://github.com/code-iai/iai_common_msgs.git'} - git: {local-name: cram_bridge, uri: 'https://github.com/cram-code/cram_bridge.git'}
Running the belief state software
TODO
Running the belief state CRAM interface
TODO