visualizers.viser_app.tasks.mujoco_task#

Module Contents#

class visualizers.viser_app.tasks.mujoco_task.MujocoTask(model_path: str = '')#

Bases: jacta.visualizers.viser_app.tasks.task.Task[jacta.visualizers.viser_app.tasks.task.ConfigT, Tuple[mujoco.MjModel, mujoco.MjData]]

Container for task based on Mujoco .. py:property:: additional_task_info

type:

dict[str, Any]

Get additional state information that might be needed by the controller.

Override this method in child classes to provide task-specific information.

Parameters:

model_path (str) –

property nu: int#

Number of control inputs. The same as the MjModel for this task.

Return type:

int

property actuator_ctrlrange: numpy.ndarray#

Mujoco actuator limits for this task.

Return type:

numpy.ndarray

property dt: float#

Returns Mujoco physics timestep for default physics task.

Return type:

float

property default_idle_command: numpy.ndarray#

Default idling command for the task.

Return type:

numpy.ndarray

create_visualization(server: viser.ViserServer, context: jacta.visualizers.viser_app.io.IOContext, text_handles: dict) None#

Returns a visualizer for the task.

Parameters:
  • server (viser.ViserServer) –

  • context (jacta.visualizers.viser_app.io.IOContext) –

  • text_handles (dict) –

Return type:

None

sim_step(controls: scipy.interpolate.interp1d | None) None#

Generic mujoco simulation step.

Parameters:

controls (Optional[scipy.interpolate.interp1d]) –

Return type:

None

rollout(models: list[Tuple[mujoco.MjModel, mujoco.MjData]], 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 mujoco threaded rollout.

Parameters:
  • models (list[Tuple[mujoco.MjModel, mujoco.MjData]]) –

  • 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]

make_models(num_models: int) list[Tuple[mujoco.MjModel, mujoco.MjData]]#

Makes a list of (MjModel, MjData) tuples for use with rollouts.

Parameters:

num_models (int) –

Return type:

list[Tuple[mujoco.MjModel, mujoco.MjData]]

reset() None#

Reset behavior for task. Sets config + velocities to zeros.

Return type:

None

is_terminated(config: jacta.visualizers.viser_app.tasks.task.TaskConfig) bool#

Defines if the current state is terminal.

Parameters:

config (jacta.visualizers.viser_app.tasks.task.TaskConfig) –

Return type:

bool