Simple Agents

Simple Agents#

Workflows#

With Isaac Lab, we also provide a suite of benchmark environments included in the omni.isaac.lab_tasks extension. We use the OpenAI Gym registry to register these environments. For each environment, we provide a default configuration file that defines the scene, observations, rewards and action spaces.

The list of environments available registered with OpenAI Gym can be found by running:

./isaaclab.sh -p source/standalone/environments/list_envs.py
isaaclab.bat -p source\standalone\environments\list_envs.py

Dummy agents#

These include dummy agents that output zero or random agents. They are useful to ensure that the environments are configured correctly.

  • Zero-action agent on the Cart-pole example

./isaaclab.sh -p source/standalone/environments/zero_agent.py --task Isaac-Cartpole-v0 --num_envs 32
isaaclab.bat -p source\standalone\environments\zero_agent.py --task Isaac-Cartpole-v0 --num_envs 32
  • Random-action agent on the Cart-pole example:

./isaaclab.sh -p source/standalone/environments/random_agent.py --task Isaac-Cartpole-v0 --num_envs 32
isaaclab.bat -p source\standalone\environments\random_agent.py --task Isaac-Cartpole-v0 --num_envs 32

State machine#

We include examples on hand-crafted state machines for the environments. These help in understanding the environment and how to use the provided interfaces. The state machines are written in warp which allows efficient execution for large number of environments using CUDA kernels.

  • Picking up a cube and placing it at a desired pose with a robotic arm:

./isaaclab.sh -p source/standalone/environments/state_machine/lift_cube_sm.py --num_envs 32
isaaclab.bat -p source\standalone\environments\state_machine\lift_cube_sm.py --num_envs 32
  • Picking up a deformable teddy bear and placing it at a desired pose with a robotic arm:

./isaaclab.sh -p source/standalone/environments/state_machine/lift_teddy_bear.py
isaaclab.bat -p source\standalone\environments\state_machine\lift_teddy_bear.py