ManiSkill Panda PickCube Python recipe
Grasp a cube and move it to a target with the official Panda motion planner.
maniskill-panda-pick-cube | Record version: contrib-a5dd78ad4e1d4e3d
Record JSON | Markdown recipe | All records
Fetch and prepare
curl -fsSL https://hub.superfastrobotics.com/skills/maniskill-panda-pick-cube/skill.json
curl -fsSL https://hub.superfastrobotics.com/skills/maniskill-panda-pick-cube/README.md
python /PATH_TO_SKILL/scripts/rsh.py --catalog https://hub.superfastrobotics.com/catalog/v1/index.json inspect maniskill-panda-pick-cube --json
python /PATH_TO_SKILL/scripts/rsh.py --catalog https://hub.superfastrobotics.com/catalog/v1/index.json prepare maniskill-panda-pick-cube --project ./experiment --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
- maniskill 3.0.0b22
- Robot
- panda
- Controller
- pd_joint_pos
- Observation
- state
- OS / architecture
- linux / x86_64
- Python
- >=3.10,<3.11
Compatibility status: contributor_reported
Reads ground-truth object poses, collision geometry and robot state directly from the simulator. Not an RGB-only policy.
Requirements
- Linux x86_64 CPU; SAPIEN wheel needs glibc >=2.28
disabled explicitly: render_backend=none, render_mode=None, state observations and CPU simulation; graphics paths require separate Vulkan setup
Packages: torch==2.5.1, numpy==1.26.4, sapien==3.0.0, mplib==0.1.1, fast_kinematics==0.2.2
Direct dependencies pinned; transitive dependencies resolved by pip and captured in the prepared project. No bit-for-bit environment guarantee.
External API keys: none.
Invocation
Entrypoint: mani_skill.examples.motionplanning.panda.solutions.pick_cube:solve
{
"argv": [
"{python}",
"{recipe_dir}/run.py",
"--seed",
"0"
],
"inputs": {
"task": "PickCube-v1",
"seed": 0,
"robot": "panda",
"controller": "pd_joint_pos",
"obs_mode": "state",
"sim_backend": "cpu",
"render_backend": "none"
},
"outputs": {
"format": "last stdout line JSON",
"fields": [
"status",
"success",
"elapsed_steps",
"task",
"seed",
"runtime",
"robot",
"controller",
"observation",
"sim_backend",
"render_backend"
],
"error_fields": [
"status",
"reason_code",
"error_type",
"message"
]
}
}
Success: PickCube-v1 env info.success is true after upstream solver finishes; adapter exit 0 only when success is true.
Timeout: 180 seconds. Stop after one seed; no retries to conceal failures. Use an external 180-second process timeout.
Failure modes
- Dependency installation unavailable or incompatible
- Required Linux mplib wheels unavailable on host OS
- Motion planning reports failure or env info.success is false
- Runtime exception or asset download failure
Source and license
- Repository
- https://github.com/haosulab/ManiSkill
- Authors
- ManiSkill contributors
- Commit
33967b9e3ead1f841eec57cc9f31d0d8b8cf0907- Archive SHA256
d194e39e4f86063f7ea49f25c918ca7474d088ad8d5abdc37573daf4672f86d4- License
- Apache-2.0
- Hub commit
01b4b20f7ea55d9e9395915aed4e82c890c4c1c4
- mani_skill/examples/motionplanning/panda/run.py
- mani_skill/examples/motionplanning/panda/solutions/pick_cube.py
- LICENSE
Evidence
Runtime: not_run / not_run
Intake structure checks only. Changed recipe runtime, dependency installation, imports and robot tasks were not run by the hub.
Reviewer: Robot Skill Hub API structural intake | 2026-10-17
- API schema, exact base/source pin, allowlist and strict unified diff checks
Submitter reports and hub verification remain separate. Source review does not establish task success.