Source code for tbp.monty.experiment.motor_system

# Copyright 2026 Thousand Brains Project
#
# Copyright may exist in Contributors' modifications
# and/or contributions to the work.
#
# Use of this source code is governed by the MIT
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT.

from typing import Protocol

__all__ = [
    "ExperimentMotorPolicy",
    "ExperimentMotorPolicySelector",
    "ExperimentMotorSystem",
]


[docs]class ExperimentMotorSystem(Protocol): """Experiment interface to a Motor System."""
[docs] def reset(self) -> None: """Reset the internal state of this Motor System.""" ...
@property def motor_only_step(self) -> bool: """When `True`, suppress Learning Module processing.""" ... @motor_only_step.setter def motor_only_step(self, value: bool) -> None: ...
[docs]class ExperimentMotorPolicySelector(Protocol): """Experiment interface to a Motor Policy Selector."""
[docs] def reset(self, motor_system: ExperimentMotorSystem) -> None: """Reset the internal state of this Motor Policy Selector. Args: motor_system: The associated Motor System. """ ...
[docs]class ExperimentMotorPolicy(Protocol): """Experiment interface to a Motor Policy."""
[docs] def reset(self, motor_system: ExperimentMotorSystem) -> None: """Reset the internal state of this Motor Policy. Args: motor_system: The associated Motor System. """ ...