# internrobotics/navdp architecture

> Architecture diagram of the GitHub repository internrobotics/navdp, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-10-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/internrobotics/navdp
- Repository: https://github.com/internrobotics/navdp

## Overview

NavDP is a mapless visual-navigation policy and IsaacSim/IsaacLab evaluation platform, with related baseline policies and the X-NavDP reinforcement-learning extension. The main workflow is to run a navigation server, send it task inputs over HTTP from a simulation evaluation, and track the resulting plans with a controller. The repository also contains X-NavDP training environments and policy components. Some server, evaluation, and training files are unsampled, so links to them rely on README documentation or are omitted where wiring is not shown.

Main entry points: [`eval_nogoal_wheeled.py`](https://github.com/internrobotics/navdp/blob/master/eval_nogoal_wheeled.py) (Wheeled Evaluation), [`baselines/x-navdp/src/environment/wheeled_tasks.py`](https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/environment/wheeled_tasks.py) (Navigation Task Configs), [`baselines/x-navdp/src/training/worker.py`](https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/training/worker.py) (Training Worker), [`baselines/x-navdp/src/environment/tasks/reward_utils.py`](https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/environment/tasks/reward_utils.py) (Task Rewards)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_benchmark["Simulation Benchmark"]
  node_evaluation["Wheeled Evaluation"]
  node_httpclient["Navigation HTTP Client<br/>[client_utils.py]"]
  node_mpc["MPC Tracking<br/>[tracking_utils.py]"]
  node_viz["Evaluation Visualization"]
end

subgraph group_navdp["NavDP Policy"]
  node_navserver["NavDP Server<br/>[navdp_server.py]"]
  node_policy["Navigation Policy<br/>[policy_network.py]"]
  node_backbone["Visual Backbone<br/>[policy_backbone.py]"]
  node_depth["Depth Estimator<br/>[dpt.py]"]
  node_dino["DINOv2 Encoder<br/>[dinov2.py]"]
end

subgraph group_xnavdp["X-NavDP Training"]
  node_xenv["RL Environment<br/>[env_wrapper.py]"]
  node_tasks["Navigation Task Configs<br/>[wheeled_tasks.py]"]
  node_observations["Task Observations"]
  node_rewards["Task Rewards<br/>[reward_utils.py]"]
  node_events["Task Events<br/>[event_utils.py]"]
  node_curriculum["Curriculum State"]
  node_sceneassets["Scene Assets<br/>[scene_assets.py]"]
  node_worker["Training Worker<br/>[worker.py]"]
  node_xpolicy["X-NavDP Policy<br/>[x_navdp_policy.py]"]
end

subgraph group_baselines["Navigation Baselines"]
  node_gnmmodel["GNM Model<br/>[gnm_model.py]"]
  node_vintmodel["ViNT Model<br/>[vint_network.py]"]
  node_nomadmodel["NoMaD Model<br/>[nomad_model.py]"]
  node_viplanner["ViPlanner<br/>[plannernet.py]"]
  node_logoplanner["LoGoPlanner<br/>[policy_network.py]"]
end

node_operator(("Evaluator"))

node_operator -->|"runs evaluation"| node_evaluation
node_evaluation -->|"requests navigation"| node_httpclient
node_httpclient -->|"sends HTTP requests"| node_navserver
node_navserver -.->|"serves policy"| node_policy
node_policy -->|"uses backbone"| node_backbone
node_backbone -->|"uses depth model"| node_depth
node_depth -->|"uses encoder"| node_dino
node_evaluation -->|"tracks trajectories"| node_mpc
node_evaluation -->|"visualizes results"| node_viz
node_worker -->|"checks scene type"| node_sceneassets
node_worker -->|"creates environment"| node_xenv
node_worker -->|"selects reward"| node_rewards
node_tasks -->|"configures observations"| node_observations
node_tasks -->|"configures rewards"| node_rewards
node_tasks -->|"configures events"| node_events
node_events -->|"uses curriculum state"| node_curriculum
node_rewards -->|"uses curriculum state"| node_curriculum
node_gnmmodel -.->|"shares base model"| node_vintmodel

click node_evaluation "https://github.com/internrobotics/navdp/blob/master/eval_nogoal_wheeled.py"
click node_httpclient "https://github.com/internrobotics/navdp/blob/master/utils_tasks/client_utils.py"
click node_navserver "https://github.com/internrobotics/navdp/blob/master/baselines/navdp/navdp_server.py"
click node_policy "https://github.com/internrobotics/navdp/blob/master/baselines/navdp/policy_network.py"
click node_backbone "https://github.com/internrobotics/navdp/blob/master/baselines/navdp/policy_backbone.py"
click node_depth "https://github.com/internrobotics/navdp/blob/master/baselines/navdp/depth_anything/depth_anything_v2/dpt.py"
click node_dino "https://github.com/internrobotics/navdp/blob/master/baselines/navdp/depth_anything/depth_anything_v2/dinov2.py"
click node_mpc "https://github.com/internrobotics/navdp/blob/master/utils_tasks/tracking_utils.py"
click node_viz "https://github.com/internrobotics/navdp/blob/master/utils_tasks/visualization_utils.py"
click node_xenv "https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/environment/env_wrapper.py"
click node_tasks "https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/environment/wheeled_tasks.py"
click node_observations "https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/environment/tasks/observation_utils.py"
click node_rewards "https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/environment/tasks/reward_utils.py"
click node_events "https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/environment/tasks/event_utils.py"
click node_curriculum "https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/environment/tasks/curriculum_utils.py"
click node_sceneassets "https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/training/scene_assets.py"
click node_worker "https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/training/worker.py"
click node_xpolicy "https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/x_navdp/models/x_navdp_policy.py"
click node_gnmmodel "https://github.com/internrobotics/navdp/blob/master/baselines/gnm/gnm_model.py"
click node_vintmodel "https://github.com/internrobotics/navdp/blob/master/baselines/vint/vint_network.py"
click node_nomadmodel "https://github.com/internrobotics/navdp/blob/master/baselines/nomad/nomad_model.py"
click node_viplanner "https://github.com/internrobotics/navdp/blob/master/baselines/viplanner/plannernet.py"
click node_logoplanner "https://github.com/internrobotics/navdp/blob/master/baselines/logoplanner/policy_network.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_evaluation,node_httpclient,node_mpc,node_viz toneBlue
class node_navserver,node_policy,node_backbone,node_depth,node_dino toneAmber
class node_xenv,node_tasks,node_observations,node_rewards,node_events,node_curriculum,node_sceneassets,node_worker,node_xpolicy toneMint
class node_gnmmodel,node_vintmodel,node_nomadmodel,node_viplanner,node_logoplanner toneRose
class node_operator toneIndigo
```

## Components

### Simulation Benchmark

- [Wheeled Evaluation](https://github.com/internrobotics/navdp/blob/master/eval_nogoal_wheeled.py): `eval_nogoal_wheeled.py`
- [Navigation HTTP Client](https://github.com/internrobotics/navdp/blob/master/utils_tasks/client_utils.py): `utils_tasks/client_utils.py`
- [MPC Tracking](https://github.com/internrobotics/navdp/blob/master/utils_tasks/tracking_utils.py): `utils_tasks/tracking_utils.py`
- [Evaluation Visualization](https://github.com/internrobotics/navdp/blob/master/utils_tasks/visualization_utils.py): `utils_tasks/visualization_utils.py`

### NavDP Policy

- [NavDP Server](https://github.com/internrobotics/navdp/blob/master/baselines/navdp/navdp_server.py): `baselines/navdp/navdp_server.py`
- [Navigation Policy](https://github.com/internrobotics/navdp/blob/master/baselines/navdp/policy_network.py): `baselines/navdp/policy_network.py`
- [Visual Backbone](https://github.com/internrobotics/navdp/blob/master/baselines/navdp/policy_backbone.py): `baselines/navdp/policy_backbone.py`
- [Depth Estimator](https://github.com/internrobotics/navdp/blob/master/baselines/navdp/depth_anything/depth_anything_v2/dpt.py): `baselines/navdp/depth_anything/depth_anything_v2/dpt.py`
- [DINOv2 Encoder](https://github.com/internrobotics/navdp/blob/master/baselines/navdp/depth_anything/depth_anything_v2/dinov2.py): `baselines/navdp/depth_anything/depth_anything_v2/dinov2.py`

### X-NavDP Training

- [RL Environment](https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/environment/env_wrapper.py): `baselines/x-navdp/src/environment/env_wrapper.py`
- [Navigation Task Configs](https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/environment/wheeled_tasks.py): `baselines/x-navdp/src/environment/wheeled_tasks.py`
- [Task Observations](https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/environment/tasks/observation_utils.py): `baselines/x-navdp/src/environment/tasks/observation_utils.py`
- [Task Rewards](https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/environment/tasks/reward_utils.py): `baselines/x-navdp/src/environment/tasks/reward_utils.py`
- [Task Events](https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/environment/tasks/event_utils.py): `baselines/x-navdp/src/environment/tasks/event_utils.py`
- [Curriculum State](https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/environment/tasks/curriculum_utils.py): `baselines/x-navdp/src/environment/tasks/curriculum_utils.py`
- [Scene Assets](https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/training/scene_assets.py): `baselines/x-navdp/src/training/scene_assets.py`
- [Training Worker](https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/training/worker.py): `baselines/x-navdp/src/training/worker.py`
- [X-NavDP Policy](https://github.com/internrobotics/navdp/blob/master/baselines/x-navdp/src/x_navdp/models/x_navdp_policy.py): `baselines/x-navdp/src/x_navdp/models/x_navdp_policy.py`

### Navigation Baselines

- [GNM Model](https://github.com/internrobotics/navdp/blob/master/baselines/gnm/gnm_model.py): `baselines/gnm/gnm_model.py`
- [ViNT Model](https://github.com/internrobotics/navdp/blob/master/baselines/vint/vint_network.py): `baselines/vint/vint_network.py`
- [NoMaD Model](https://github.com/internrobotics/navdp/blob/master/baselines/nomad/nomad_model.py): `baselines/nomad/nomad_model.py`
- [ViPlanner](https://github.com/internrobotics/navdp/blob/master/baselines/viplanner/plannernet.py): `baselines/viplanner/plannernet.py`
- [LoGoPlanner](https://github.com/internrobotics/navdp/blob/master/baselines/logoplanner/policy_network.py): `baselines/logoplanner/policy_network.py`

### Other components

- **Evaluator**

## Connections

- Evaluator → Wheeled Evaluation: runs evaluation (evidence: `README.md`)
- Wheeled Evaluation → Navigation HTTP Client: requests navigation (evidence: `eval_nogoal_wheeled.py`)
- Navigation HTTP Client → NavDP Server: sends HTTP requests (evidence: `README.md`)
- NavDP Server → Navigation Policy: serves policy
- Navigation Policy → Visual Backbone: uses backbone (evidence: `baselines/navdp/policy_network.py`)
- Visual Backbone → Depth Estimator: uses depth model (evidence: `baselines/navdp/policy_backbone.py`)
- Depth Estimator → DINOv2 Encoder: uses encoder (evidence: `baselines/navdp/depth_anything/depth_anything_v2/dpt.py`)
- Wheeled Evaluation → MPC Tracking: tracks trajectories (evidence: `README.md`)
- Wheeled Evaluation → Evaluation Visualization: visualizes results (evidence: `eval_nogoal_wheeled.py`)
- Training Worker → Scene Assets: checks scene type (evidence: `baselines/x-navdp/src/training/worker.py`)
- Training Worker → RL Environment: creates environment (evidence: `baselines/x-navdp/src/training/worker.py`)
- Training Worker → Task Rewards: selects reward (evidence: `baselines/x-navdp/src/training/worker.py`)
- Navigation Task Configs → Task Observations: configures observations (evidence: `baselines/x-navdp/src/environment/wheeled_tasks.py`)
- Navigation Task Configs → Task Rewards: configures rewards (evidence: `baselines/x-navdp/src/environment/wheeled_tasks.py`)
- Navigation Task Configs → Task Events: configures events (evidence: `baselines/x-navdp/src/environment/wheeled_tasks.py`)
- Task Events → Curriculum State: uses curriculum state (evidence: `baselines/x-navdp/src/environment/tasks/event_utils.py`)
- Task Rewards → Curriculum State: uses curriculum state (evidence: `baselines/x-navdp/src/environment/tasks/reward_utils.py`)
- GNM Model → ViNT Model: shares base model
