Monty.Frameworks.Models.MotorSystem.RuntimeMotorSystem behaviour (ExTbpMonty.Core v0.1.0)

Copy Markdown View Source

What the rest of the runtime asks a motor system: this step, what should move?

Mirrors tbp/monty/frameworks/models/motor_system.py::RuntimeMotorSystem, a protocol with one method. The percept is the one from the first sensor module, which is the only one a body has ever needed to be told about.

Summary

Callbacks

The actions to take next, and the motor system as it now stands.

Types

t()

@type t() :: struct()

Callbacks

call(t, ctx, observations, proprioceptive_state, percept, goals)

@callback call(
  t(),
  ctx :: Monty.Context.t(),
  observations :: map() | nil,
  proprioceptive_state ::
    Monty.Frameworks.Models.MotorSystemState.ProprioceptiveState.t(),
  percept :: Monty.Cmp.Message.t() | nil,
  goals :: [Monty.Cmp.Goal.t()]
) :: {[term()], t()}

The actions to take next, and the motor system as it now stands.

Monty answers only the actions, because it can change itself; the step's record of what was decided is the motor system's own state, so it comes back with the answer, as everywhere else in this port.