robokudo.annotators.storage =========================== .. py:module:: robokudo.annotators.storage .. autoapi-nested-parse:: 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 ------- .. autoapisummary:: robokudo.annotators.storage.StorageWriter Module Contents --------------- .. py:class:: StorageWriter(name='StorageWriter', descriptor=Descriptor()) Bases: :py:obj:`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. :ivar storage: MongoDB storage interface :type storage: robokudo.io.storage.Storage .. py:class:: Descriptor Bases: :py:obj:`robokudo.annotators.core.BaseAnnotator.Descriptor` Configuration descriptor for storage writer. :ivar parameters: Storage parameters :type parameters: StorageWriter.Descriptor.Parameters .. py:class:: Parameters Parameter container for storage configuration. :ivar db_name: Name of MongoDB database :type db_name: str :ivar drop_database_on_storage: Whether to clear database before recording :type drop_database_on_storage: bool .. py:attribute:: db_name :value: 'rk_scenes' .. py:attribute:: drop_database_on_storage :value: True .. py:attribute:: parameters .. py:attribute:: storage .. py:method:: 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. :return: SUCCESS if storage successful, FAILURE otherwise :rtype: py_trees.Status