Understand simulation, starting with MuJoCo#

Why does an object slip even as the fingers tighten? Does a smaller step always help? When simulation runs faster, has the controller changed too?

Follow one question: how does an action pass through stepping, contact and numerical solving to become the next state? Then use that chain to understand MuJoCo 4 and choose changes worth investigating in a real system.

Start with time: one step, several clocks →

Build the complete chain#

Control input → actuator forces → contact and constraint solving → state integration → observations → next control update.

A change anywhere can affect what follows. A dropped object in the last frame does not identify a solver defect; smooth rendering does not establish real-time physics.

This route covers time, contact, version 4, performance and an existing failure case. Each lesson starts with a question, then offers expandable explanations, a self-check and links to detailed courses.

Connect learning to system optimization#

For a robot system built on MuJoCo, start with three questions: how often does control update; which instant do the recorded forces and states describe; and where is time spent across physics, control, rendering and communication? The same questions help investigate MATRiX integration.

This course does not assume MATRiX’s current version, defaults or performance. Browser timing diagrams are teaching calculations. Optimization claims need the actual version, model and measurements.

A running example

A gripper receives a new target every 20 ms while physics advances every 2 ms. Ten physics steps occur between targets. Contact can form, carry a load or disappear during those steps.

Change the physics step to 1 ms but keep updating control every ten steps, and the control period becomes 10 ms. A changed result can no longer be attributed only to physical resolution. The next lesson makes this visible with an adjustable timeline.

Where MuJoCo 4 fits#

The version 4 lesson connects changes to problems: speculative contacts to fast thin-object encounters, plasticity to history dependence, Studio to inspection, and batching to throughput. Understand the question before selecting a capability.

As checked on 2026-11-13, the official stable release is 4.0.1. The existing detailed courses retain a 3.15.0 source-reading baseline. They are not relabeled as validated 4.0 runtime experiments.

All courses#

These six lessons are a guided entry. Continue into the existing courses for derivations, APIs and source code. Those detailed courses are primarily Chinese; this introductory route is bilingual.

Courses come from Sim Learning and the independent engine-course repositories. Original text and provenance remain intact. Read here; find source and license information on each course page.