robokudo.annotators.storage

Storage writer annotator for RoboKudo.

This module provides an annotator for storing sensor data in MongoDB. It supports:

  • MongoDB integration

  • CAS data persistence

  • View data storage

  • Database management

  • Configurable database settings

The module is used for:

  • Data recording

  • Offline processing

  • Dataset creation

  • Experiment logging

Classes

StorageWriter

Annotator for storing sensor data in MongoDB.

Module Contents

class robokudo.annotators.storage.StorageWriter(name='StorageWriter', descriptor=Descriptor())

Bases: robokudo.annotators.core.BaseAnnotator

Annotator for storing sensor data in MongoDB.

This annotator provides methods to store sensor data in a MongoDB database, allowing for data recording and offline processing without using ROS bag files.

Variables:

storage – MongoDB storage interface

class Descriptor

Bases: robokudo.annotators.core.BaseAnnotator.Descriptor

Configuration descriptor for storage writer.

Variables:

parameters – Storage parameters

class Parameters

Parameter container for storage configuration.

Variables:
  • db_name – Name of MongoDB database

  • drop_database_on_storage – Whether to clear database before recording

db_name = 'rk_scenes'
drop_database_on_storage = True
parameters
storage
update()

Store current CAS data in MongoDB.

Creates a deep copy of the CAS, flattens it into a dictionary, and stores both views and CAS data in the database.

Returns:

SUCCESS if storage successful, FAILURE otherwise

Return type:

py_trees.Status