API Reference¶
This document provides API reference for the NavArena embodied navigation infrastructure. NavArena consists of four sub-projects: Core Library (navarena-core), Asset Preprocessing (navarena-forge), Data Generator (navarena-gen), and Evaluation Framework (navarena-bench).
Core Library API (navarena-core)¶
navarena-core provides shared configuration, data models, rendering, and utilities. For full details, see Core Library.
Main Exports¶
BaseConfig,load_config,resolve_path,resolve_scene_dir,get_assets_dir,get_datasets_dir,get_shared_dir— config and path resolutionEpisode,TrajectoryStep,SceneAsset,ParquetDatasetReader,ParquetEpisodeWriter,ParquetTrajectoryWriter,validate_episode,validate_dataset— data models and I/Oget_logger,setup_logging— logging
Data Generator API¶
For the complete Data Generator API, see Data Generator API.
Main Classes¶
BaseGenerator- Generator base class; registered subclasses:PointNavGenerator,ImageNavGenerator,ObjectNavGenerator,VLNGeneratorBaseSimEnv- Simulation environment base class;GSSimEnvfor 3D GSBaseInstructionGenerator- Instruction generator base class (VLN); registered subclasses:SimpleDirectionInstructionGenerator,PathBasedInstructionGenerator,ObjectGoalInstructionGeneratorGridAStarPlanner- Global A* path plannerTwoStageTrajectoryPlanner- Two-stage trajectory planner (A* + local smoothing)DatasetWriter,TrajectoryWriter- Data writersGeneratorConfig- Data generation configuration class
Evaluation Framework API¶
For the complete Evaluation Framework API, see Evaluation Framework API.
Main Classes¶
Evaluator- Evaluator base class; registered subclasses:PointNavEvaluator,ImageNavEvaluator,ObjectNavEvaluator,VLNEvaluatorEnv- Environment base class;GaussianSplattingEnvfor 3D GSAgent- Agent base class; registered subclasses:LocalAgent,RemoteAgent,ViNTAgent,GNMAgent,NoMaDAgent,MultiModalNavAgent,LanguageNavAgentDataset- Dataset base class;EpisodeDatasetimplementationMetric- Metric base class;NavigationMetricsimplementation
Quick Reference¶
Data Generator¶
from navarena_gen.generators.base import BaseGenerator
from navarena_gen.envs.base import BaseSimEnv
from navarena_gen.config.base_config import GeneratorConfig
# Load config
config = GeneratorConfig.from_yaml("configs/examples/pointnav_example.yaml")
# Create env and generator
env = BaseSimEnv.init(config.env_type, config.env_config)
env.load_scene(config.get_resolved_scene_path())
generator = BaseGenerator.init(config.task_type, config.task_config)
# Stream episodes
for episode in generator.generate(env, config.num_episodes):
...
Evaluation Framework¶
from navarena_bench.evaluator import Evaluator
from navarena_bench.configs.eval_config import EvalCfg
# Load config
config = EvalCfg.from_yaml("configs/eval/default_eval.yaml")
# Create evaluator
evaluator = Evaluator.init(config)
# Run evaluation
results = evaluator.eval()
Full Documentation¶
- Core Library - navarena-core module overview and API
- Data Generator API - Complete Data Generator API
- Evaluation Framework API - Complete Evaluation Framework API