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