Skip to content

simulo.TerminationSet

Helper to compose multiple termination conditions.

Combines conditions with OR logic - terminates if ANY condition is met.

Example: term_set = simulo.TerminationSet([ simulo.term.HeightBelow(0.8), simulo.term.TiltExceeds(60), ]) term_set.initialize(robot, device, num_envs)

terminated = term_set.check()

simulo.TerminationSet(conditions: List[TerminationCondition])
TerminationSet.initialize(robot: RobotProtocol, device: str, num_envs: int) -> None

Initialize all conditions.

Must be called in on_start() before using check().

Args:

  • robot — Robot instance
  • device — Torch device string
  • num_envs — Number of parallel environments
TerminationSet.check() -> torch.Tensor

Check all conditions (OR logic).

Returns:

Boolean tensor of shape (num_envs,) - True if ANY condition met

TerminationSet.check_breakdown() -> dict

Check all conditions with per-condition breakdown.

Useful for debugging which conditions are triggering termination.

Returns:

Dict mapping condition names to their boolean tensors