Monty.Frameworks.Models.MotorPolicies.MotorPolicyResult (ExTbpMonty.Core v0.1.0)

Copy Markdown View Source

What one call to a motor policy decided: the actions, and how finished it is.

Mirrors tbp/monty/frameworks/models/motor_policies.py::MotorPolicyResult. motor_only_step says the learning modules should be skipped this step โ€” a policy that is only turning or moving has nothing for them to match โ€” and is how a policy affects the run without reaching into it. telemetry is the surface policy's own record of why it chose what it chose, kept because there is nowhere else for it to go yet, as Monty says of its own.

Monty lets a policy set motor_only_step on the motor system itself through a fixme_provide_motor_system handout; here the policy says it in the result it returns (docs/monty-differences.md ยง2.2).

Summary

Functions

A result with nothing decided: no actions, and the policy ready for more.

Types

action()

@type action() :: term()

t()

@type t() :: %Monty.Frameworks.Models.MotorPolicies.MotorPolicyResult{
  actions: [action()],
  motor_only_step: boolean(),
  status: Monty.Frameworks.Models.MotorPolicies.PolicyStatus.t(),
  telemetry: term()
}

Functions

new()

@spec new() :: t()

A result with nothing decided: no actions, and the policy ready for more.

Monty's conservative defaults, so a policy only has to say what it did.