robokudo.descriptors.analysis_engines.query_startstop_pipeline_from_storage =========================================================================== .. py:module:: robokudo.descriptors.analysis_engines.query_startstop_pipeline_from_storage .. autoapi-nested-parse:: Analysis engine for continuous perception with start/stop control. This module provides an analysis engine that demonstrates how to implement a continuous perception pipeline with external start/stop control through an action server. It processes stored camera data and can be started, stopped, and preempted by external commands. The pipeline implements the following functionality: * Query-based start/stop control * Continuous processing of stored camera data * Image preprocessing and point cloud analysis * Object segmentation and visualization * Automatic failure after 30 iterations * Preemption handling .. note:: This engine demonstrates how to implement a long-running perception pipeline that can be controlled externally through ROS action server commands. .. warning:: The pipeline is designed to fail after 30 iterations to demonstrate error handling and recovery mechanisms. Classes ------- .. autoapisummary:: robokudo.descriptors.analysis_engines.query_startstop_pipeline_from_storage.AnalysisEngine Module Contents --------------- .. py:class:: AnalysisEngine Bases: :py:obj:`robokudo.analysis_engine.AnalysisEngineInterface` Analysis engine for continuous perception with external control. This class implements a pipeline that runs continuous perception tasks while allowing external control through an action server. The pipeline can be started, stopped, and preempted, and includes automatic failure simulation for testing error handling. The pipeline includes: * Query handling for start/stop control * Continuous camera data processing * Point cloud analysis and segmentation * Visualization updates * Preemption checking * Simulated failure after 30 iterations .. note:: The pipeline uses a condition decorator to continue processing until failure or preemption occurs. .. py:method:: name() Get the name of the analysis engine. :return: The name identifier of this analysis engine :rtype: str .. py:method:: implementation() Create a continuous perception pipeline with external control. This method constructs a processing pipeline that runs continuously until stopped or preempted. The pipeline processes stored camera data and includes automatic failure simulation after 30 iterations. Pipeline execution sequence: 1. Initialize pipeline 2. Wait for start command 3. Begin continuous processing: * Read stored camera data * Preprocess images * Crop point cloud * Detect table plane * Extract object clusters * Update visualization * Check for preemption * Fail after 30 iterations 4. Handle failure by aborting goal :return: The configured pipeline with start/stop control :rtype: robokudo.pipeline.Pipeline .. warning:: The pipeline will automatically fail after 30 iterations to demonstrate error handling mechanisms.