visualizers.viser_app.tasks.task
#
Module Contents#
- class visualizers.viser_app.tasks.task.TaskConfig#
Base task configuration dataclass.
- visualizers.viser_app.tasks.task.ConfigT#
- visualizers.viser_app.tasks.task.ModelT#
- class visualizers.viser_app.tasks.task.Task#
Bases:
Generic
[ConfigT
,ModelT
]Base container for sampling-based MPC tasks. Implements reward, simulation step, and resetting behavior. .. py:property:: nu
- type:
int
- abstractmethod:
Control dimension for this task.
- abstract property actuator_ctrlrange: numpy.ndarray#
Actuator limits for this task.
- Returns:
A numpy array, shape (self.nu, 2), with self.actuator_ctrlrange[i] = (lower_lim, upper_lim) for actuator i.
- Return type:
numpy.ndarray
- abstract property additional_task_info: dict[str, Any]#
Get additional state information that might be needed by the controller.
Use this method to provide task-specific information.
- Return type:
dict[str, Any]
- abstract property dt: float#
Timestep for this task.
- Return type:
float
- abstract create_visualization(server: viser.ViserServer, context: jacta.visualizers.viser_app.io.IOContext, text_handles: dict) jacta.visualizers.visualization.Visualization #
Returns a visualizer for the task.
- Parameters:
server (viser.ViserServer) –
context (jacta.visualizers.viser_app.io.IOContext) –
text_handles (dict) –
- Return type:
jacta.visualizers.visualization.Visualization
- abstract reward(states: numpy.ndarray, sensors: numpy.ndarray, controls: numpy.ndarray, config: ConfigT, additional_info: dict[str, Any]) numpy.ndarray #
Abstract reward function for task.
- Parameters:
states (numpy.ndarray) –
sensors (numpy.ndarray) –
controls (numpy.ndarray) –
config (ConfigT) –
additional_info (dict[str, Any]) –
- Return type:
numpy.ndarray
- abstract sim_step(controls: scipy.interpolate.interp1d | None) None #
Generic simulation step. Reads controls and updates self.data.
- Parameters:
controls (Optional[scipy.interpolate.interp1d]) –
- Return type:
None
- abstract rollout(models: list[ModelT], states: numpy.ndarray, controls: numpy.ndarray, additional_info: dict[str, Any], output_states: numpy.ndarray, output_sensors: numpy.ndarray) tuple[numpy.ndarray, numpy.ndarray] #
Generic threaded rollout. Performs rollouts from a set of states using a set of controls.
- Parameters:
models (list[ModelT]) –
states (numpy.ndarray) –
controls (numpy.ndarray) –
additional_info (dict[str, Any]) –
output_states (numpy.ndarray) –
output_sensors (numpy.ndarray) –
- Return type:
tuple[numpy.ndarray, numpy.ndarray]
- abstract make_models(num_models: int) list[ModelT] #
Method that creates a vector of model/system objects that can be used for rollouts.
- Parameters:
num_models (int) –
- Return type:
list[ModelT]
- abstract reset() None #
Reset behavior for task. Sets config + velocities to zeros.
- Return type:
None
- abstract is_terminated(config: TaskConfig) bool #
Defines termination conditions for task.
- Parameters:
config (TaskConfig) –
- Return type:
bool