accml_lib.core.interfaces.solver package
Submodules
accml_lib.core.interfaces.solver.controller module
- class accml_lib.core.interfaces.solver.controller.ControllerInterface[source]
Bases:
object- abstractmethod async continuous(*, read_commands, set_commands, n_steps=None)[source]
- Parameters:
read_commands (
Sequence[ReadCommand]) – commands to retrieve the observed positionsset_commands (
Sequence[Command]) – commands to set the actuators. Note that a copy of the command will be made and the value will be adaptedn_steps (
Optional[int]) – if set to None, run forever, otherwise run maximum number of steps and stop then
- Discussion:
Should “read commands” and “set commands” be made available already at init?
Read commands tell the controller how to get to an “observable” state. “set_commands” allow the controller to e.g. probe the used measurement/cmd execution engine if these commands are understood and available.
The commands actually set will be typically produced by the “policy”. An alternate way would be that the policy changes the step to be taken. The commands to be executed are then generated by the controller.