Code Structure in URBAN-SIM#
URBAN-SIM is organized to support extensibility, debugging, and algorithmic innovation. This section introduces core components of the codebase and their intended roles in the simulation and learning pipeline.
Code Modules
Module Overview#
envs Defines environment logic, including abstract base classes and wrappers for RL training. See: Environment: Spawning and simulation for learning
learning Contains RL algorithm implementations and training entry points. See: Learning Module
primitives Encapsulates reusable low-level capabilities such as locomotion, navigation heuristics, and robot configurations. See: Primitives Module
scene Manages scene layout, asset placement, and scenario configuration for environments. See: UrbanScene: Scenario Construction
utils General utility functions and wrappers used across modules, such as logging, parsing, and random seeds.
Developer Notes#
The project follows a component-based architecture, where environments, robot actions, assets, and reward logic are independently modularized. Developers can subclass and register custom components for rapid experimentation.
New modules can be added under urbansim/ and integrated via entry-point registries.