judo.utils.rollout_backend¶
Base class for rollout backends.
Module Contents¶
- class judo.utils.rollout_backend.RolloutBackend[source]¶
Bases:
abc.ABCAbstract base class for rollout backends.
Rollout backends conduct parallel trajectory simulations for sampling-based optimization in the controller.
- num_threads: int¶
- abstractmethod rollout(x0: numpy.ndarray, controls: numpy.ndarray, last_policy_output: numpy.ndarray | None = None) tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray | None][source]¶
Conduct parallel rollouts.
- Parameters:
x0 (numpy.ndarray) – Initial state, shape (nq+nv,). Will be tiled to num_threads internally.
controls (numpy.ndarray) – Control inputs, shape (num_threads, num_timesteps, nu).
last_policy_output (numpy.ndarray | None) – Previous policy outputs, if applicable.
- Returns:
Tuple of – - states: Rolled out states, shape (num_threads, num_timesteps, nq+nv)
- Return type:
tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray | None]
- sensors: Sensor readings, shape (num_threads, num_timesteps, nsensor) - policy_outputs: Final policy outputs, or None if not applicable.