How vail-ucla/navsafe-infty works
NavSafe benchmarks closed-loop driving-policy safety in reconstructed scenes. A user supplies scenario data, a policy adapter and checkpoint, then evaluation configures the simulator and renderer, obtains policy observations and actions, executes the ego alongside replay/traffic actors, and records scores and artifacts. The repository also contains log-ingestion and parsing paths for preparing scenarios, model implementations, sensor/render support, and visualization. The README documents scenario mining, reconstruction preparation, asset harvesting, and recipe authoring; their implementation directories are not present in the supplied tree, so those branches are not expanded here. Some runtime links remain uncertain because evaluator and environment implementations were not excerpted.
Main entry points: evaluator.py Evaluator · navsafe_env.py Simulation environment · eval_entry.py Evaluation CLI · nurec_grpc.py NuRec renderer
Components 21
Scenario preparation
- Log ingestion
navsafe/gs3d_converter/log_ingestion.py - NavSim parser
navsafe/gs3d_converter/navsim_parser.py - Scenario format
navsafe/scenario/scenario_description.py
Simulation runtime
- Scene builder
navsafe/scene/scenario_map_builder.py - Simulation environment
navsafe/env/navsafe_env.py - Actor replay
navsafe/manager/scenario_replay_manager.py - Traffic behaviors
navsafe/traffic/navsafe.py
Policies and models
- Sensor policy adapters
navsafe/policy/sensor_policy.py - State policy adapters
navsafe/policy/state_policy.py - Model implementations
navsafe/modelzoo
Evaluation and results
- Evaluation CLI
navsafe/cli/eval_entry.py - Evaluator
navsafe/evaluation/evaluator.py - Route manager
navsafe/evaluation/route_manager.py - Trajectory scoring
navsafe/evaluation/scorers/epdms_trajectory_scorer_fast.py - Evaluation visuals
navsafe/evaluation/vis_utils.py
Rendering and control
- Camera dispatch
navsafe/env/camera_manager.py - NuRec renderer
navsafe/render/nurec_grpc.py - Trajectory control
navsafe/core/controllers.py - Plan execution
navsafe/core/plan_execution.py
Other components
- Benchmark user
- NuRec gRPC service
Connections 21
- Benchmark user → Evaluation CLI: runs evaluation
README.md - Evaluation CLI → Evaluator: configures and runs
navsafe/cli/eval_entry.py - Log ingestion → NavSim parser: uses parser
navsafe/gs3d_converter/log_ingestion.py - NavSim parser → Log ingestion: provides log data
navsafe/gs3d_converter/navsim_parser.py - Actor replay → Scenario format: reads scenario
navsafe/manager/scenario_replay_manager.py - Scene builder → Scenario format: builds from
navsafe/scene/scenario_map_builder.py - Evaluator → Route manager: delegates routes
navsafe/evaluation/route_manager.py - Evaluator → Trajectory scoring: scores policies
- Evaluator → Evaluation visuals: produces visuals
- Evaluation CLI → Sensor policy adapters: selects adapter
README.md - Evaluation CLI → State policy adapters: selects adapter
README.md - Sensor policy adapters → Model implementations: uses inference
README.md - Camera dispatch → NuRec renderer: requests images
navsafe/env/camera_manager.py - NuRec renderer → NuRec gRPC service: requests frames
navsafe/render/nurec_grpc.py - Trajectory control → Plan execution: uses plan execution
navsafe/core/controllers.py - Evaluator → Simulation environment: runs in environment
- Simulation environment → Actor replay: updates actors
- Simulation environment → Traffic behaviors: simulates traffic
- Simulation environment → Camera dispatch: dispatches cameras
navsafe/env/camera_manager.py - Simulation environment → NuRec renderer: renders observations
- Evaluator → Trajectory control: executes plans