When To Use
Use this skill when a user is creating, migrating, or debugging manipulation tasks such as reach, grasp, lift, place, insertion, or tool-use environments.
Do not use this skill as a replacement for environment construction details. Pair it with isaaclab-building-environments, isaaclab-debugging-rl-training, and isaaclab-using-sensors-actuators as needed.
Workflow
- Define the task objective as measurable phases: approach, align, pre-contact, contact or grasp, transport or lift, and final goal.
- Build the minimum scene needed for the first phase: robot, support surfaces, task object, goal, lights, and required sensors.
- Validate asset physics before training: collision geometry, mass, inertia, joint limits, friction, and contact materials.
- Validate reset geometry before stepping: robot pose, object pose, goal pose, reachability, and absence of interpenetration.
- Prove the action contract with scripted or zero-action probes before interpreting PPO results.
- Add observations that expose the state required by the current phase, especially controlled-frame pose for end-effector or contact tasks.
- Add rewards for one phase at a time. Keep success reward, termination, and metric geometry consistent.
- Run a training smoke only after scene, reset, action, observation, and reward checks pass.
- Validate behavior using deterministic rollout state metrics, not just total reward.
Validation
Use these gates before calling a manipulation task ready:
- Environment launches with the intended backend and task ID.
- Scene assets spawn with usable collision and support geometry.
- Reset state is physically valid and reachable.
- Action dimensions and controlled joints or bodies match the agent config.
- Observation terms expose the task frames needed by rewards and actions.
- Reward, termination, and metric geometry agree.
- A deterministic rollout or scripted probe satisfies the current phase.
For skill changes, run:
uv run --no-project python tools/skills/cli.py check
Maintenance
Keep this skill synchronized with manipulation examples such as source/isaaclab_tasks/isaaclab_tasks/core/lift/ and source/isaaclab_tasks/isaaclab_tasks/contrib/stack/, environment authoring docs, and RL debugging guidance. Put project-specific history and experiment logs in the project, not in this public skill.