robokudo.analysis_engine ======================== .. py:module:: robokudo.analysis_engine Classes ------- .. autoapisummary:: robokudo.analysis_engine.AnalysisEngineInterface robokudo.analysis_engine.SubtreeInterface Module Contents --------------- .. py:class:: AnalysisEngineInterface Bases: :py:obj:`typing_extensions.Protocol` Protocol defining the interface for Analysis Engines. This interface must be implemented by all Analysis Engines in RoboKudo. Each Analysis Engine provides a behavior tree implementation for a specific task or pipeline. The RoboKudo runner will load and execute these implementations. .. warning:: Do not instantiate this class directly. Instead, create a subclass that implements this interface. See :mod:`robokudo.descriptors.analysis_engines` for example implementations. .. py:method:: name() -> str Get the name of this Analysis Engine. :return: The unique name identifying this Analysis Engine .. py:method:: implementation() -> py_trees.behaviour.Behaviour Get the behavior tree implementation for this Analysis Engine. :return: The root node of the behavior tree implementing this engine .. py:class:: SubtreeInterface Bases: :py:obj:`AnalysisEngineInterface` Analysis Engines often contain reusable components which are used across different use cases. To represent these parts, use the SubtreeInterface and create a subclass. Similarly to an AnalysisEngine, return the py_trees.Behaviour in the implementation method. To provide semantic difference, .. py:attribute:: top_level :value: False