{
  "$schema": "https://botlandscape.com/episodes.schema.json",
  "chunks": [
    {
      "count": 32,
      "digest": {
        "alg": "sha256",
        "hex": "ab43e278ceb179764177db5f2ec9ba15f0837dc7f8c8ee9cf4b2245907e7702e"
      },
      "href": "maniskill3.pickcube-v1.ppo.seed1.chunk-000.json",
      "start": 0
    },
    {
      "count": 19,
      "digest": {
        "alg": "sha256",
        "hex": "26bb2dcf9b4a00a7e034f80fe1b640f980d6a93a9980e630138c42a7186c1f69"
      },
      "href": "maniskill3.pickcube-v1.ppo.seed1.chunk-001.json",
      "start": 32
    }
  ],
  "digest": {
    "alg": "sha256",
    "hex": "00ac25cb13b810d6b6cb4badc8836910cf6d35c48ac17edfbc7567be96822c83"
  },
  "events": [
    {
      "index": 0,
      "kind": "note",
      "label": "Original PPO checkpoint \u00b7 reference seed 1",
      "t": 0
    },
    {
      "index": 31,
      "kind": "note",
      "label": "Native goal reached within the evaluation horizon",
      "t": 1.55
    },
    {
      "index": 50,
      "kind": "truncation",
      "label": "Original 50-action evaluation horizon",
      "t": 2.5
    }
  ],
  "id": "maniskill3.pickcube-v1.ppo.seed1",
  "keyframes": [
    0,
    31,
    50
  ],
  "kind": "recorded-rollout",
  "label": "Cube pickup \u00b7 PPO policy \u00b7 3.0.0b15 \u00b7 seed 1",
  "maps": {
    "actions": {
      "high": [
        1.0,
        1.0,
        1.0,
        1.0,
        1.0,
        1.0,
        1.0,
        1.0
      ],
      "low": [
        -1.0,
        -1.0,
        -1.0,
        -1.0,
        -1.0,
        -1.0,
        -1.0,
        -1.0
      ],
      "names": [
        "arm_delta_1",
        "arm_delta_2",
        "arm_delta_3",
        "arm_delta_4",
        "arm_delta_5",
        "arm_delta_6",
        "arm_delta_7",
        "gripper_target"
      ],
      "space": "Eight raw deterministic PPO outputs passed to the source pd_joint_delta_pos controller. The declared controller Box is [-1,1]; raw policy outputs can exceed it. Native controller normalization/clipping remains upstream. These are not measured torques."
    },
    "bodies": [
      {
        "id": 0,
        "name": "panda_link0"
      },
      {
        "id": 1,
        "name": "panda_link1"
      },
      {
        "id": 2,
        "name": "panda_link2"
      },
      {
        "id": 3,
        "name": "panda_link3"
      },
      {
        "id": 4,
        "name": "panda_link4"
      },
      {
        "id": 5,
        "name": "panda_link5"
      },
      {
        "id": 6,
        "name": "panda_link6"
      },
      {
        "id": 7,
        "name": "panda_link7"
      },
      {
        "id": 8,
        "name": "panda_link8"
      },
      {
        "id": 9,
        "name": "panda_hand"
      },
      {
        "id": 10,
        "name": "panda_hand_tcp"
      },
      {
        "id": 11,
        "name": "panda_leftfinger"
      },
      {
        "id": 12,
        "name": "panda_rightfinger"
      },
      {
        "id": 13,
        "name": "panda_leftfinger_pad"
      },
      {
        "id": 14,
        "name": "panda_rightfinger_pad"
      },
      {
        "id": 15,
        "name": "table-workspace"
      },
      {
        "id": 16,
        "name": "ground"
      },
      {
        "id": 17,
        "name": "cube"
      },
      {
        "id": 18,
        "name": "goal_site"
      }
    ],
    "joints": [
      {
        "clamp": false,
        "kind": "hinge",
        "name": "panda_joint1",
        "qpos_adr": 0,
        "qpos_dim": 1,
        "range": [
          -2.8973,
          2.8973
        ],
        "wrap": false
      },
      {
        "clamp": false,
        "kind": "hinge",
        "name": "panda_joint2",
        "qpos_adr": 1,
        "qpos_dim": 1,
        "range": [
          -1.7628,
          1.7628
        ],
        "wrap": false
      },
      {
        "clamp": false,
        "kind": "hinge",
        "name": "panda_joint3",
        "qpos_adr": 2,
        "qpos_dim": 1,
        "range": [
          -2.8973,
          2.8973
        ],
        "wrap": false
      },
      {
        "clamp": false,
        "kind": "hinge",
        "name": "panda_joint4",
        "qpos_adr": 3,
        "qpos_dim": 1,
        "range": [
          -3.0718,
          -0.0698
        ],
        "wrap": false
      },
      {
        "clamp": false,
        "kind": "hinge",
        "name": "panda_joint5",
        "qpos_adr": 4,
        "qpos_dim": 1,
        "range": [
          -2.8973,
          2.8973
        ],
        "wrap": false
      },
      {
        "clamp": false,
        "kind": "hinge",
        "name": "panda_joint6",
        "qpos_adr": 5,
        "qpos_dim": 1,
        "range": [
          -0.0175,
          3.7525
        ],
        "wrap": false
      },
      {
        "clamp": false,
        "kind": "hinge",
        "name": "panda_joint7",
        "qpos_adr": 6,
        "qpos_dim": 1,
        "range": [
          -2.8973,
          2.8973
        ],
        "wrap": false
      },
      {
        "clamp": false,
        "kind": "slide",
        "name": "panda_finger_joint1",
        "qpos_adr": 7,
        "qpos_dim": 1,
        "range": [
          0.0,
          0.04
        ],
        "wrap": false
      },
      {
        "clamp": false,
        "kind": "slide",
        "name": "panda_finger_joint2",
        "qpos_adr": 8,
        "qpos_dim": 1,
        "range": [
          0.0,
          0.04
        ],
        "wrap": false
      }
    ],
    "qpos": {
      "nbody": 19,
      "nq": 9,
      "nu": 8,
      "nv": 9
    },
    "units": {
      "angle": "radian",
      "length": "m",
      "quaternion": "wxyz",
      "time": "s"
    }
  },
  "notes": "Learned-policy native reference episode: success is recorded by the original task and independently checked against native state. Independent checkpoint inference and observation audits pass. All ten preselected seeds succeeded at the original horizon in both independent sets. This replay is seed 1, one task and one checkpoint; it is not the full ManiSkill suite or a reproduced paper score. Joint telemetry and original body world poses are retained; browser playback executes no policy or physics. No synchronized video, contact or force overlay is claimed.",
  "origin": "site-generated",
  "overlays": {
    "contacts": false,
    "reward": false,
    "sensors": false
  },
  "provenance": {
    "asset_licence": "CC-BY-NC-4.0",
    "code_licence": "Apache-2.0",
    "gym_id": "PickCube-v1",
    "licence": "CC-BY-NC-4.0 assets; Apache-2.0 source code",
    "protocol": "Original PPO deterministic actor mean; 42 state inputs and eight raw pd_joint_delta_pos outputs. Reference seed 1; original reset(seed=1), then reset() uses episode seed 1791095845. eval_partial_reset=False ignores success terminations until the original 50-action horizon. No site clipping or added actions. Ten preselected reference seeds each repeated in an independent process.",
    "robot_id": "maniskill3.ppo.robot.panda",
    "runner": {
      "gymnasium_version": "0.29.1",
      "name": "ManiSkill original PPO reference evaluator",
      "python_version": "3.10.20",
      "simulator": "SAPIEN / PhysX CUDA",
      "simulator_version": "3.0.0b1",
      "torch_version": "2.4.1+cu124",
      "version": "3.0.0b15"
    },
    "scene": {
      "href": "/worlds/maniskill-ppo/scenes/pickcube-ppo.scene.json",
      "id": "maniskill3.ppo.scene.pickcube.seed1",
      "kind": "recorded-demonstration-scene",
      "notes": "Original observed native world poses. Same task geometry as the 3.0.1 demonstration; older source version and different controller. No additional distinct world is counted."
    },
    "scene_id": "maniskill3.ppo.scene.pickcube.seed1",
    "seed": 1,
    "source_blobs": [
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/agents/robots/panda/panda.py",
        "sha256": "c29ff097a17908e594484fb38cd7fca3e2425bfb4fae44cfe998052557146971"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/collision/hand.stl",
        "sha256": "94493e94f30fe940f2c8ca2f155c3bbe67bbff406d3edf5e261670d2f0f6e2ed"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/collision/link0.stl",
        "sha256": "dfc6d94330de8ddb005b311bfdba9f3b8e1aa7c256b71592ee7ff32cb9a9a5aa"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/collision/link1.stl",
        "sha256": "e41a39a94108fcf56aacff603fc91ec80541f4c1af17b51a0de5617f5566e6d2"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/collision/link2.stl",
        "sha256": "370f7605a0fae3529db169ded50f52f171024aa792d4d773bc84197301f6a039"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/collision/link3.stl",
        "sha256": "0a8d638b9349c6c0eefc4e888636ac4838c4b27170f18a51699321118af709c1"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/collision/link4.stl",
        "sha256": "0180ebb5772ec9840cb049750cffb29a9ddc90311752a16ea34757782ef9e48d"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/collision/link5.stl",
        "sha256": "dd17e688c7870e722283525879643d53a74c0024d328b0e14b034b54c8b6c31a"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/collision/link6.stl",
        "sha256": "20b768e99a0e0440b5754dcca108016434e57937cc356acd9c352ccd3cb27f77"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/collision/link7.stl",
        "sha256": "92ac6afcf7574c034d3170d8a68e95ac9048ab9d0dd5bbd8311b86e551b9ab1c"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/visual/finger.glb",
        "sha256": "0a71d057c0afb3e8587129539ec4161b726cf55dcb8935c4e6094f2b13558ed3"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/visual/hand.glb",
        "sha256": "3c2de5514714f7f8232a51b008eadb2eb421d290bfdc7341e5a12887cb70b661"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/visual/link0.glb",
        "sha256": "672626c2bbf38cd2ea28837e5dafdc2f264959761200177e9e256d532b9be4f9"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/visual/link1.glb",
        "sha256": "8376fac9a80cd04767a3749a723a68809c5b85fe34110f056e83b9c984c1f052"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/visual/link2.glb",
        "sha256": "bbab9909c2b0572d256cd60e6a9c1b63ca9b55047ac3da7124a99b8b1fe6b8fc"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/visual/link3.glb",
        "sha256": "f904d2d91255086a5706ca9c039cac62de4b7877b4a91b8ef387f461b9fa915b"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/visual/link4.glb",
        "sha256": "3e301a20f05f81d007741c2f8e199452a705ec4a489b729ff389ef14769c2283"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/visual/link5.glb",
        "sha256": "80d620e7d92b38a90a9ff2536e2d278cf2d0fa665f6bf4982e7069589b5cbb02"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/visual/link6.glb",
        "sha256": "20f04024218fdafdf41926143e9038b970e27f0c84f574d34c2dd05df6a7a74f"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/franka_description/meshes/visual/link7.glb",
        "sha256": "a207703b9d6d28c186949619e5c424072ee8331b8d51d6256ace975816a94a15"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/assets/robots/panda/panda_v2.urdf",
        "sha256": "524c6986dbbabe244e05801f262862205e880834d01459b06ee273016d0579ba"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/envs/tasks/tabletop/pick_cube.py",
        "sha256": "a935b95d59c4fb34d1cf9ccb00011e733440cabd1c48af1a0a7a781f3911038c"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/utils/building/actors/common.py",
        "sha256": "1364fa7d4c4087922ddf07a591390c43fa6d903abc761d3afa49490ad6a02bcd"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/utils/building/assets/grid_texture.png",
        "sha256": "e675a0ae7dcca3428fb026b51fc29160477b376f5ab7b7aa6e966f9e0f0e6575"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/utils/building/ground.py",
        "sha256": "b553289f7d2b9ce16a4feb8869c6766ce17583189150884ac78803654d2ca6d8"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/utils/scene_builder/table/assets/table.glb",
        "sha256": "cb0ebd8ad6438c1160f095d902bf55415f9d643f8c6990a186a052251fe7951a"
      },
      {
        "path": "https://raw.githubusercontent.com/mani-skill/ManiSkill/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/mani_skill/utils/scene_builder/table/scene_builder.py",
        "sha256": "63e8fe4b8836ad7c7433b08adc3bfec5595ea917a24b773b2dfb593d234a6f40"
      },
      {
        "path": "ppo_pd_joint_delta_pos_ckpt.pt",
        "sha256": "78959417279892d73e4ed5930a6d8de8626a24eee0ec553dfc6af61391b0b356"
      }
    ],
    "source_ref": "baab60ede2e89167c1b7aaed41a9aa8e690a9d1e",
    "source_url": "https://github.com/mani-skill/ManiSkill/blob/baab60ede2e89167c1b7aaed41a9aa8e690a9d1e/examples/baselines/ppo/ppo.py",
    "suite_id": "maniskill3",
    "task_id": "maniskill3.ppo.pickcube-v1",
    "version_id": "maniskill3.3.0.0b15.baab60ede2e89167c1b7aaed41a9aa8e690a9d1e"
  },
  "schema_version": 1,
  "summary": {
    "horizon": 50,
    "official_max_episode_steps": 50,
    "recording_truncated": false,
    "steps": 51,
    "success": true,
    "success_bar": null,
    "terminated": false,
    "truncated": true,
    "truncation_reason": "Original evaluator continues to 50 actions even after success. Raw native termination flags remain in each sample. No horizon extension."
  },
  "timebase": {
    "action_alignment": "Sample 0 is the reset state with no applied action. For i>0, sample[i].action is source HDF5 action[i-1], followed by the recorded state[i].",
    "dt": 0.05,
    "frame_skip": 5,
    "index_policy": "uniform-dt",
    "sample_hz": 20,
    "timestep": 0.01,
    "unit": "s"
  },
  "verify": {
    "indices": [
      0,
      31,
      50
    ],
    "kinematics_atol": 2e-06,
    "qpos_xpos_same_sample": true,
    "samples": [
      {
        "index": 0,
        "joints": {
          "panda_finger_joint1": 0.03999999910593033,
          "panda_finger_joint2": 0.03999999910593033,
          "panda_joint1": 0.015291127376258373,
          "panda_joint2": 0.37021327018737793,
          "panda_joint3": -0.0027463294100016356,
          "panda_joint4": -1.9529324769973755,
          "panda_joint5": -0.01675759069621563,
          "panda_joint6": 2.359395980834961,
          "panda_joint7": 0.7719600200653076
        },
        "objects": {
          "cube": {
            "pos": [
              0.07805182784795761,
              -0.094509556889534,
              0.019999999552965164
            ],
            "quat": [
              0.6316008567810059,
              0.0,
              0.0,
              -0.77529376745224
            ]
          },
          "goal_site": {
            "pos": [
              -0.050519704818725586,
              -0.002183064818382263,
              0.24728795886039734
            ],
            "quat": [
              1.0,
              0.0,
              0.0,
              0.0
            ]
          },
          "table-workspace": {
            "pos": [
              -0.11999999731779099,
              0.0,
              -0.9196429252624512
            ],
            "quat": [
              0.7071067690849304,
              0.0,
              0.0,
              0.7071067690849304
            ]
          }
        },
        "qpos_finite": true,
        "root": {
          "name": "panda_link0",
          "pos": [
            -0.6150000095367432,
            4.3655745685100555e-11,
            -1.862645149230957e-08
          ],
          "quat": [
            1.0000001192092896,
            2.720872971373467e-10,
            -3.2895179913339234e-09,
            -3.588018770983581e-12
          ]
        },
        "t": 0.0
      },
      {
        "index": 31,
        "joints": {
          "panda_finger_joint1": 0.022149046882987022,
          "panda_finger_joint2": 0.022195564582943916,
          "panda_joint1": -0.29528453946113586,
          "panda_joint2": 0.20549121499061584,
          "panda_joint3": 0.2073851227760315,
          "panda_joint4": -2.0115766525268555,
          "panda_joint5": 0.35179468989372253,
          "panda_joint6": 2.157597064971924,
          "panda_joint7": 0.8348758220672607
        },
        "objects": {
          "cube": {
            "pos": [
              -0.026531359180808067,
              -0.004355146549642086,
              0.24075643718242645
            ],
            "quat": [
              0.4234348237514496,
              0.05303802713751793,
              0.2507050037384033,
              -0.8689286112785339
            ]
          },
          "goal_site": {
            "pos": [
              -0.050519704818725586,
              -0.002183064818382263,
              0.24728795886039734
            ],
            "quat": [
              1.0,
              0.0,
              0.0,
              0.0
            ]
          },
          "table-workspace": {
            "pos": [
              -0.11999999731779099,
              0.0,
              -0.9196429252624512
            ],
            "quat": [
              0.7071067690849304,
              0.0,
              0.0,
              0.7071067690849304
            ]
          }
        },
        "qpos_finite": true,
        "root": {
          "name": "panda_link0",
          "pos": [
            -0.6150000095367432,
            4.3655745685100555e-11,
            -1.862645149230957e-08
          ],
          "quat": [
            1.0000001192092896,
            2.720872971373467e-10,
            -3.2895179913339234e-09,
            -3.588018770983581e-12
          ]
        },
        "t": 1.55
      },
      {
        "index": 50,
        "joints": {
          "panda_finger_joint1": 0.022137805819511414,
          "panda_finger_joint2": 0.02218484692275524,
          "panda_joint1": -0.26583078503608704,
          "panda_joint2": 0.15137207508087158,
          "panda_joint3": 0.17973557114601135,
          "panda_joint4": -2.0455868244171143,
          "panda_joint5": 0.3448353409767151,
          "panda_joint6": 2.125321626663208,
          "panda_joint7": 0.801034152507782
        },
        "objects": {
          "cube": {
            "pos": [
              -0.042311716824769974,
              -0.0008721316116861999,
              0.2527753710746765
            ],
            "quat": [
              0.4448448121547699,
              0.04319676384329796,
              0.24679222702980042,
              -0.859849214553833
            ]
          },
          "goal_site": {
            "pos": [
              -0.050519704818725586,
              -0.002183064818382263,
              0.24728795886039734
            ],
            "quat": [
              1.0,
              0.0,
              0.0,
              0.0
            ]
          },
          "table-workspace": {
            "pos": [
              -0.11999999731779099,
              0.0,
              -0.9196429252624512
            ],
            "quat": [
              0.7071067690849304,
              0.0,
              0.0,
              0.7071067690849304
            ]
          }
        },
        "qpos_finite": true,
        "root": {
          "name": "panda_link0",
          "pos": [
            -0.6150000095367432,
            4.3655745685100555e-11,
            -1.862645149230957e-08
          ],
          "quat": [
            1.0000001192092896,
            2.720872971373467e-10,
            -3.2895179913339234e-09,
            -3.588018770983581e-12
          ]
        },
        "t": 2.5
      }
    ]
  }
}
