Load and Run MuJoCo 2.3.1 Models using JavaScript and WebAssembly.
This repo is a fork of @zalo 's starter repository, adding tons of functionality and stompy robot scene from kscale labs.
import load_mujoco from "./mujoco_wasm.js";
// Load the MuJoCo Module
const mujoco = await load_mujoco();
// Set up Emscripten's Virtual File System
mujoco.FS.mkdir('/working');
mujoco.FS.mount(mujoco.MEMFS, { root: '.' }, '/working');
mujoco.FS.writeFile("/working/humanoid.xml", await (await fetch("./examples/scenes/humanoid.xml")).text());
// Load in the state from XML
let model = new mujoco.Model("/working/humanoid.xml");
let state = new mujoco.State(model);
let simulation = new mujoco.Simulation(model, state);
Typescript definitions are available.
So far, most mjModel and mjData state variables and functions (that do not require custom structs) are exposed.
At some point, I'd like to de-opinionate the binding and make it match the original MuJoCo API better.