Basics

../../../../../../_images/MLPro-OA-Control_class_diagram.drawio.png

Ver. 0.8.0 (2025-07-22)

This module provides basic classes around the topic online-adaptive closed-loop control.

class mlpro.oa.control.basics.OAController(p_input_space: MSpace, p_output_space: MSpace, p_ada: bool = True, p_id=None, p_name: str = None, p_range_max=0, p_visualize: bool = False, p_logging=True, **p_kwargs)

Bases: Controller, Model

Template class for online-adaptive closed-loop controllers. Please implement methods _compute_action() and _adapt() in child classes.

Parameters:
  • p_ada (bool = True) – Boolean switch for adaptivitiy. Default = True.

  • p_name (str = None) – Optional name of the task. Default is None.

  • p_range_max (int = Task.C_RANGE_THREAD) – Maximum range of asynchonicity. See class Range. Default is Task.C_RANGE_PROCESS.

  • p_visualize (bool = False) – Boolean switch for visualisation. Default = False.

  • Log.C_LOG_ALL (p_logging =) – Log level (see constants of class Log). Default: Log.C_LOG_ALL

  • p_kwargs (dict) – Further optional named parameters.

C_TYPE = 'OA Controller'
_run(p_instances: Dict[int, Tuple[str, Instance]])

Computes the next action based on the current control error and adapts on further contextual information like setpoint, state, action.

_adapt(p_ctrl_error: ControlError, p_ctrl_var: ControlVariable) bool

Specialized custom method for online adaptation in closed-loop control systems.

Parameters:
hdl_setpoint_changed(p_event_id: str, p_event_object: Event)

Handler method to be registered for event ControlPanel.C_EVNET_ID_SETPOINT_CHG. Turns off the adaptation for one cycle.

class mlpro.oa.control.basics.OAMultiController

Bases: object

C_TYPE = 'OA Multi-Controller'
C_NAME = ''
class mlpro.oa.control.basics.OAControlledSystem

Bases: object

Wrapper class for online-adaptive state-based systems.

C_TYPE = 'OA Controlled System'
C_NAME = ''
class mlpro.oa.control.basics.OAControlPanel

Bases: object

Enables external control of a closed-loop control.

C_TYPE = 'OA Control Panel'
C_NAME = '????'
class mlpro.oa.control.basics.OAControlShared

Bases: object

class mlpro.oa.control.basics.OAControlWorkflow

Bases: object

Container class for all tasks of a control workflow.

C_TYPE = 'OA Control Workflow'
C_NAME = ''
class mlpro.oa.control.basics.OAControlSystem

Bases: object

class mlpro.oa.control.basics.OAControlTrainingResults(p_scenario: Scenario, p_run, p_cycle_id, p_logging='W')

Bases: TrainingResults

class mlpro.oa.control.basics.OAControlTraining(**p_kwargs)

Bases: Training