Genesis

Genesis native Panda replay

Watch a Franka Emika Panda grasp, lift and hold a cube in Genesis World. The original tutorial uses inverse kinematics, RRTConnect path planning, arm position control and finger force control. Genesis World is the open-source physics engine, distinct from Genesis AI’s commercial products.

Open recording · Native verification · Reproduction notes (repository access required)

What the recording establishes

Pinned Genesis tutorial, native capture and independent control replay.
ItemRecorded evidence
TutorialGenesis 1.4.1, original Panda MJCF, procedural plane and 0.04 m cube. Original control gains, phase lengths and CPU physics settings; explicit seed 0 and deterministic algorithms.
Declared hold criteriaAuthored before capture: every sample 601–700 must keep lift ≥0.10 m above initial cube height, linear speed ≤0.10 m/s, and cube-to-hand origin distance ≤0.18 m. The upstream tutorial defines no success score.
Measured holdDuring the final second: minimum lift 0.140929 m, maximum speed 0.0029311 m/s, maximum cube/hand distance 0.111665 m. Maximum lift over the whole recording: 0.144626 m.
Independent replayA fresh native setup applies the recorded command journal without evaluating IK or path planning or restoring recorded states. All 701 samples and 252,360 compared state/force scalars match exactly. The authored hold check passes again on this host.
Video701 native RGB frames, 640 × 480, 100 fps; 457,875-byte H.264 video lasting 7.01 s. Every decoded frame matches its input within the quality threshold; minimum PSNR 41.2084 dB. The wide source camera shows the robot and grasp near the lower part of the image.
PublicationOne simulation recording with camera/state playback, seeking, metadata and recipe downloads. Zero additional browser world assemblies, learned checkpoints or reproduced evaluation suites.

Time, state and mixed controls

Sample 0 follows setup and initial planning, before the first issued control. Each later sample follows one 0.01 s native physics step. State and camera clocks are 100 Hz; encoded frame i has presentation time i/100 s. The final state at 7 s occupies the last 0.01 s frame. The unchanged tutorial runs 200 planned-path steps, 100 settling steps, 100 reaching steps, 100 grasping steps and 200 lifting steps.

The source ends after 700 steps. The metadata marks a recording boundary, with recording_truncated=true only at the final sample. It preserves empty reward data and false required terminated/truncated fields because no environment reward or ending signal is defined.

Native sample downloads retain 16 position coordinates, 15 generalized velocities and 13 body poses. The cube free joint precedes seven arm hinges and two finger slides. Each applied action has nine values: arm position targets in radians, followed by finger position targets in metres through step 400, then finger forces in newtons from step 401. The per-sample mode array identifies the active units. Retained position/force targets, computed control force and internal generalized force are separate channels.

Native right-handed z-up positions and wxyz quaternions are preserved. Solver-link and authored-link poses remain separate. The cube’s generalized velocity contains world linear velocity followed by local angular velocity; captured link velocities are world-expressed at their stated origins. Native quaternion normalization can leave small rounding differences between free-joint and solver-link values; neither is replaced in the export.

The coordinate audit checks 9,113 body transforms using 36,452 basis/origin points against Genesis’s native transform API. Maximum point error is 4.44e-16; maximum free-joint/link pose difference is 1.193e-7; maximum local-angular-to-world velocity difference is 3.116e-8. All are within the declared 1e-6 coordinate tolerance. Each of the three IK calls and the path-planning call leaves the measured state unchanged at its call boundary.

Original inputs and native behavior

The pinned Genesis Git tree supplies 1,056 verified regular files / 229,447,032 bytes. The input receipt retains Git identities, modes, sizes and SHA-256 hashes. Three optional Git submodules are explicitly unmaterialized. The selected Panda folder contains 77 files / 36,562,081 bytes.

The asset audit checks 68 active files and 67 MJCF mesh references, plus inline materials. It records 56 OBJ material-library references to absent files. These remain unresolved source references: the pinned MuJoCo OBJ decoder parses geometry with an empty material string, and Genesis uses the MJCF materials. No replacement material files were invented.

The native run uses Genesis’s own import and contact behavior: tendon actuators are approximated by finger-joint actuators, the constraint time constant is clamped from 0.005 s to 0.02 s, and default neutral-collision processing filters six geometry pairs. Capture and replay use these same defaults. Original model bytes remain unchanged.

The isolated runtime pins Python 3.12.3, Genesis 1.4.1, Quadrants 1.3.0, CPU PyTorch 2.11.0 and MuJoCo 3.12.0 for model parsing. It was tested on Ubuntu 24.04 with Ryzen 9 7950X3D and RTX 4090; physics uses CPU. Runtime packages and source-build dependencies have hash locks. This establishes repeatability for the selected host and runtime.

Attribution and reproduction

Genesis contributors provide the engine under Apache-2.0. The exact Panda model README attributes the description to franka_ros and declares Apache-2.0. The robot’s original authors retain their rights; this site generated the rendered video and measured-state recording. Original MJCF, mesh and engine distributions remain in native storage.

The frozen protocol states the seed, threads, clocks, camera, horizon, outcome criteria and replay tolerances. The source viewer is disabled and a headless native camera uses its pose and FOV, excluding debug nodes. Capture and replay scripts are in this site’s private repository; recipe links require repository access. A fresh trial needs its own qualification before replacing the selected evidence.

One scripted grasp does not establish real-robot performance or a benchmark success rate. The frontier sequence continues with aerial and marine candidates.