OmniGibson Home Scene Simulation Quick Start Guide
OmniGibson is a robot simulation environment based on Isaac Sim, and also serves as the simulation platform used for the BEHAVIOR-1K home activity benchmark. This section describes its configuration structure and the minimum environment creation process. The installation commands and asset authorization are subject to the official installation documentation and the official repository .
Learning Objectives
- Understand the four types of configurations: scenarios, objects, robots, and tasks.
- Create an environment containing the Fetch robot and basic objects.
- Complete the environment setup and properly shut down the simulator.
- Know when to use BEHAVIOR-1K scenario and object assets.
Prerequisites
OmniGibson relies on Isaac Sim, and has specific requirements for operating systems, graphics card drivers, and graphical environments. Before starting, check the current version requirements on the official installation page and create an independent environment for the project. Model, scene, and object assets should be stored outside the source code repository.
bashexport PROJECT_ROOT=$HOME/projects/BEHAVIOR-1K
export DATA_ROOT=$HOME/datasets/behavior-1k
git clone https://github.com/StanfordVL/BEHAVIOR-1K.git "$PROJECT_ROOT"
cd "$PROJECT_ROOT"
Then, complete the installation of OmniGibson and assets using the official installation script. After the installation, verify the import first:
bashpython -c "import omnigibson as og; print(og.__file__)"
The command should output the path of the omnigibson package in the current environment.
Configuration Structure
OmniGibson combines environments through a configuration dictionary:
pythonimport omnigibson as og
cfg = {
"scene": {
"type": "Scene",
"floor_plane_visible": True,
},
"objects": [
{
"type": "PrimitiveObject",
"name": "target_box",
"primitive_type": "Cube",
"rgba": [0.2, 0.7, 1.0, 1.0],
"scale": [0.25, 0.25, 0.1],
"fixed_base": True,
"position": [1.0, 0.0, 0.1],
}
],
"robots": [
{
"type": "Fetch",
"name": "fetch",
"obs_modalities": ["rgb", "depth"],
}
],
"task": {
"type": "DummyTask",
"termination_config": {},
"reward_config": {},
},
}
scenedefines the space and scene assets.objectsdefines interactive objects, initial pose, and physical properties.robotsdefines the robot, sensor modalities, and control interfaces.taskdefines rewards, termination conditions, and task logic.
Create and Step Environment
Save the above configuration as examples/omnigibson_minimal.py, and then add:
pythonenv = og.Environment(cfg)
for _ in range(240):
action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)
if terminated or truncated:
break
og.shutdown()
Run:
bashcd "$PROJECT_ROOT"
python examples/omnigibson_minimal.py
The environment should load the ground, objects, and Fetch robot, and continuously execute environmental steps. Random actions are only used for inspection, observation, action, and physical step interfaces, and do not represent task policy.
Using Dataset Object
In the official quick start, the DatasetObject will search for objects in the BEHAVIOR-1K assets based on category and model. The corresponding asset installation must be completed before using such objects; custom USD files are loaded via USDObject and usd_path.
Checkpoints
import omnigibsonsucceeded.- No scene or object assets were missing during environment creation.
- The dimension of
env.action_space.sample()matches the robot action space. env.step()returns observation, reward, termination markers, and information dictionary.og.shutdown()is called before the script exits to release simulation resources.
Common Questions
Unable to find the object or scene
Check whether the assets are installed, whether the categories in the configuration match the model names, and whether the runtime environment can read the asset directory.
No graphical interface server can start up
First, verify that it works without a graphical interface by following the official Isaac Sim documentation. Then run OmniGibson. Do not mix graphical driver failures with task configuration failures in the same troubleshooting process.
The environment can run, but the task failed.
This section uses the random action verification interface. For formal tasks, you need to select a controller or policy, and use the termination conditions and evaluation protocol corresponding to the task.