Panda Gym Push closed-loop starting policy
Panda Gym Push closed-loop starting policy. Native IK actions, privileged simulator observations and a frozen three-seed evaluation; no state teleportation after reset.
pandagym-panda-push | Record version: 1.0.0
Record JSON | Markdown recipe | Complete search index
Fetch and prepare
curl -fsSL https://hub.superfastrobotics.com/skills/pandagym-panda-push/skill.json
curl -fsSL https://hub.superfastrobotics.com/skills/pandagym-panda-push/README.md
python /PATH_TO_SKILL/scripts/rsh.py inspect pandagym-panda-push --json
python /PATH_TO_SKILL/scripts/rsh.py prepare pandagym-panda-push --project ./experiment --expected-source-commit 14d944120037a5bb637e629965f88bb9e13dba3b --expected-record-version 1.0.0 --plan --json
Inspect the requirements, then remove --plan to prepare a project. Preparation verifies the archive SHA256 and preserves exact source pins. --install-deps explicitly installs dependencies. Run the returned simulation command separately.
Environment
- Runtime
- panda-gym 3.0.7
- Robot
- franka-panda
- Controller
- native_pybullet_ik_cartesian_feedback
- Observation
- goal_dict
- OS / architecture
- linux / x86_64
- Python
- >=3.10,<3.11
Compatibility status: source_reviewed
Privileged simulator state and declared goals; no perception or real sensor validation.
Requirements
- Linux x86_64; CPU simulation; see retained receipt for the exact host environment
Headless. EGL libraries are required for MuJoCo imports; PushT uses SDL dummy video. No interactive display.
Packages: panda-gym==3.0.7, pybullet==3.2.7, gymnasium==1.2.0, numpy==1.26.4
Direct runtime versions are pinned and measured. The receipt retains the complete environment freeze; prepare records the installed environment. System drivers are separate host requirements.
External API keys: none.
Invocation
Executable interface
{
"version": "1",
"kind": "task",
"abstraction_level": 2,
"execution_domain": "simulation",
"language": "python",
"input_transport": "json_file_or_inline",
"output_transport": "json_stdout",
"output_selector": "outputs",
"conventions": {
"linear_unit": "m",
"angular_unit": "rad",
"time_unit": "s",
"coordinate_frame": "right_handed_world_xyz; +z_up",
"joint_order": "not_used",
"quaternion_order": "not_used"
},
"input_schema": {
"type": "object",
"required": [
"seed"
],
"properties": {
"seed": {
"type": "integer",
"minimum": 0,
"maximum": 10000
}
},
"additionalProperties": false
},
"output_schema": {
"type": "object",
"required": [
"achieved_goal",
"desired_goal",
"error_m",
"steps",
"environment_success"
],
"properties": {
"achieved_goal": {
"type": "array",
"minItems": 3,
"maxItems": 3,
"items": {
"type": "number",
"minimum": -30,
"maximum": 30
},
"x-unit": "m",
"x-frame": "right_handed_world_xyz; +z_up"
},
"desired_goal": {
"type": "array",
"minItems": 3,
"maxItems": 3,
"items": {
"type": "number",
"minimum": -30,
"maximum": 30
},
"x-unit": "m",
"x-frame": "right_handed_world_xyz; +z_up"
},
"error_m": {
"type": "number",
"minimum": 0,
"maximum": 50
},
"steps": {
"type": "integer",
"minimum": 1,
"maximum": 1500
},
"environment_success": {
"type": "boolean"
}
},
"additionalProperties": false
},
"preconditions": [
"Use the exact recorded source, Linux Python 3.10 environment and pinned direct packages.",
"No physical robot, network actuation or external robot credentials."
],
"postconditions": [
"All reported checks must be true and all output numbers finite.",
"Success covers the declared goal and frozen cases, not arbitrary tasks or physical hardware."
],
"failure_codes": [
"invalid_input_or_environment",
"execution_failed",
"task_failed"
],
"composition": {
"depends_on": [],
"automatic_frame_conversion": false,
"automatic_hardware_execution": false
}
}
Entrypoint: python run.py
{
"argv": [
"{python}",
"{recipe_dir}/run.py",
"--source-dir",
"{source_dir}",
"--example"
],
"inputs": {
"seed": 0
},
"outputs": {
"format": "single JSON object",
"payload_selector": "outputs",
"schema": {
"type": "object",
"required": [
"achieved_goal",
"desired_goal",
"error_m",
"steps",
"environment_success"
],
"properties": {
"achieved_goal": {
"type": "array",
"minItems": 3,
"maxItems": 3,
"items": {
"type": "number",
"minimum": -30,
"maximum": 30
},
"x-unit": "m",
"x-frame": "right_handed_world_xyz; +z_up"
},
"desired_goal": {
"type": "array",
"minItems": 3,
"maxItems": 3,
"items": {
"type": "number",
"minimum": -30,
"maximum": 30
},
"x-unit": "m",
"x-frame": "right_handed_world_xyz; +z_up"
},
"error_m": {
"type": "number",
"minimum": 0,
"maximum": 50
},
"steps": {
"type": "integer",
"minimum": 1,
"maximum": 1500
},
"environment_success": {
"type": "boolean"
}
},
"additionalProperties": false
}
}
}
Success: All declared goal and finite-state checks pass; exit 0 with task_complete. Native task success plus final Euclidean goal error <.04 m. Airborne pick/place goals retain the grasp; ground goals are released.
Timeout: 180 seconds. Terminate the adapter at the recorded timeout. No physical hardware is opened.
Failure modes
- Invalid input or source checksum
- Different pinned package version
- Unavailable runtime/driver
- Goal not reached within bounded steps
Source and license
- Repository
- https://github.com/qgallouedec/panda-gym
- Authors
- Original panda-gym contributors (preserve pinned LICENSE)
- Commit
14d944120037a5bb637e629965f88bb9e13dba3b- Archive SHA256
fd2fde8e90118b215f27c70654bccb0a0bd0042eb10cc986b3ae5168d5635fb1- License
- MIT
- Hub commit
ede75c00118e9808e5099da43c26f4619cc3bc37
- README.md
- setup.py
- LICENSE
- panda_gym/pybullet.py
- panda_gym/utils.py
- panda_gym/version.txt
- panda_gym/__init__.py
- panda_gym/envs/panda_tasks.py
- panda_gym/envs/core.py
- panda_gym/envs/__init__.py
- panda_gym/envs/tasks/stack.py
- panda_gym/envs/tasks/flip.py
- panda_gym/envs/tasks/slide.py
- panda_gym/envs/tasks/push.py
- panda_gym/envs/tasks/pick_and_place.py
- panda_gym/envs/tasks/reach.py
- panda_gym/envs/tasks/__init__.py
- panda_gym/envs/robots/panda.py
- panda_gym/envs/robots/__init__.py
- panda_gym/assets/colored_cube.png
- panda_gym/assets/__init__.py
Evidence
Runtime: import_verified / import_verified
1/3 frozen cases completed; retained failures are not promoted.
Reviewer: Hub finite-case Lambda execution harness | 2026-10-20
- python tools/verify_runtime_expansion.py --backend pandagym --source-cache SOURCE_CACHE --output OUTPUT
Submitter reports and hub verification remain separate. Source review does not establish task success.