robokudo.descriptors.analysis_engines.query_startstop_pipeline_from_storage

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

AnalysisEngine

Analysis engine for continuous perception with external control.

Module Contents

class robokudo.descriptors.analysis_engines.query_startstop_pipeline_from_storage.AnalysisEngine

Bases: 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.

name()

Get the name of the analysis engine.

Returns:

The name identifier of this analysis engine

Return type:

str

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

Returns:

The configured pipeline with start/stop control

Return type:

robokudo.pipeline.Pipeline

Warning

The pipeline will automatically fail after 30 iterations to demonstrate error handling mechanisms.