English | 中文
An OpenWorldLib extension library built on the SimWorld simulation environment, providing core modules — Pipeline, Memory, Operator, and Representation — for multi-agent scenarios.
- SimWorldPipeline — Multi-agent simulation pipeline that drives agent behaviors step-by-step via policies
- SimWorld Representation — Wraps UnrealCV communication to manage pedestrians, vehicles, Robot Dogs, NPCs, and other scene objects
- Flexible Configuration — Customize simulation parameters via YAML files
- Python >= 3.10
- SimWorld UE client running (see launch instructions below)
Run the following script to automatically install Python dependencies and download the SimWorld UE client:
bash simworld_install.shThe script auto-detects your OS (Linux / Windows via Git Bash) and downloads the corresponding SimWorld binary from Hugging Face.
To install only the Python package:
pip install -e .Before running any tests or scripts, start the SimWorld UE client first.
Windows — Double-click SimWorld.exe, or launch from the command line:
./SimWorld.exe <MAP_PATH>Linux — Run:
./SimWorld.sh <MAP_PATH>For map configuration details, refer to the SimWorld Documentation.
from openworldlib_extensions.pipelines.simworld.pipeline_simworld import SimWorldPipeline
rep_cfg = dict(
ip="127.0.0.1",
port=9000,
resolution=(640, 480),
num_agents=3,
spawn_position=[(0, 0), (200, 0), (400, 0)],
# ... see src/.../data/default.yaml for all options
)
pipeline = SimWorldPipeline(rep_cfg=rep_cfg)
pipeline(policy)
pipeline.save_results(dir)For a full working example, see test/test_simworld.py.
To customize the simulation scene (number of agents, spawn positions, map parameters, etc.), refer to:
src/openworldlib_extensions/representations/simulation_environment/simworld/simworld/data/default.yaml