First Simulation¶
This tutorial checks one environment from registration through scene creation and stepping. It uses the EE-only oracle so a first run does not depend on Pyroki or acados.
1. Activate the environment¶
From the AM-Bench repository root:
source ../IsaacLab/env_isaaclab/bin/activate
nvidia-smi
Confirm that the selected GPU has enough free memory and that no unexpected Isaac Sim process is already running.
2. List registered environments¶
python scripts/environments/list_envs.py
Locate PressButton-Am-EE-Delta-PID-Direct-v0 in the output. Environment IDs encode the task, robot profile, action mode, and controller; see Environment IDs.
3. Run a bounded headless check¶
zero_agent.py is a continuous runner, so bound it during validation:
timeout --signal=INT 30s python scripts/environments/zero_agent.py \
--task PressButton-Am-EE-Delta-PID-Direct-v0 \
--num_envs 1 \
--headless \
--device cuda:0
A useful pass reaches all three milestones:
- Isaac Sim starts without a driver or renderer failure;
- the task scene resets and prints its observation and action spaces;
- the environment steps repeatedly until
timeoutsends the interrupt.
The zero-action agent is not expected to solve the task.
4. Optional video check¶
Record the end-effector camera while stepping:
timeout --signal=INT 30s python scripts/environments/zero_agent.py \
--task PressButton-Am-EE-Delta-PID-Direct-v0 \
--num_envs 1 \
--video \
--camera_names ee_camera \
--headless \
--device cuda:0
The script prints VIDEO_PATH when it shuts down cleanly. Video output verifies the camera and encoding path, not task success.
5. Choose the next workflow¶
Once this check passes, move to Choose a Workflow. Use the EE-only environment for task and policy debugging, then introduce a physical platform when you are ready to study IK, base control, allocation, and saturation.