Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

SimpleNav

SimpleNav logo

Make Navigation VLA Simple.
A simple, unified, reproducible, and extensible framework for navigation VLA research.

MIT License GitHub stars Python 3.10 Project Page ModelScope

中文 · Project Page · Data Pipeline · Documentation · Results · Data, Environments & Models

SimpleNav is a simple, unified, reproducible, and extensible framework for navigation VLA research, jointly developed and open-sourced by THUNLP at Tsinghua University, AI9Stars, OpenBMB, and HITDIP. It provides a unified research pipeline that connects heterogeneous navigation data, long-horizon VLA models, training, and benchmark evaluation through well-defined interfaces. SimpleNav supports both aerial and ground navigation, preserves dataset-specific coordinate systems and simulator semantics through dedicated adapters, and standardizes model, action, artifact, and evaluation interfaces to enable efficient reuse, comparison, and extension across datasets, tasks, and platforms.

Table of Contents

Vision

Navigation research should not require a separate data-model-evaluation stack for every dataset. SimpleNav provides one research loop in which:

  • source datasets enter through explicit conversion adapters;
  • model components remain replaceable and composable;
  • training runs are defined by portable configs;
  • benchmark-specific behavior stays inside evaluation plugins;
  • results remain traceable to code, data, config, checkpoint, and simulator versions.

Why SimpleNav

AreaWhat is provided
Simple DataConversion, trajectory augmentation, AirSim image collection, LeRobot v3 writing, validation, statistics, BATS context, and visual-token cache tools.
Simple ModelQwen3.5-VL navigation, long-history selection, temporal-view encoding, visual-token caching, and diffusion action heads.
Simple TrainingConfiguration-driven local, distributed, single-dataset, and mixed-dataset training.
Simple EvaluationPortable OpenFly, TravelUAV, AerialVLN, EVT-Bench, R2R-CE, and RxR-CE configs with shared rollout artifacts.

Framework

SimpleNav framework: data conversion, model training, and closed-loop evaluation

PathDescription
data_pipeline/Raw-data conversion, trajectory augmentation, simulator image collection, and enhanced-data construction.
starVLA/Dataloaders, models, training runtime, and shared modules.
examples/NavVLA/Portable training entry points and configs.
NavVLAeval/Closed-loop and offline benchmark evaluation.
tool/navvla/Dataset validation, repair, statistics, context, cache, and open-loop tools.
deployment/Deployment-side entry points.
docs/Documentation for installation, data, models, training, evaluation, and results.

Data Protocol

The primary LeRobot dataloader keeps storage, model input, and prediction target separate:

FieldProtocol
Stored observation.stateOne pose [x, y, z, yaw] in the coordinate convention declared by the dataset adapter.
Model stateWhen include_state: true, consecutive body-frame relative motions over the selected BATS history, ending at the current frame. It is not the stored absolute pose or the future action target.
Primary action targetA future chunk [H, 4] of [dx_forward, dy_right, dz_down, dyaw]. Every waypoint is independently anchored at the current pose, not at the previous predicted waypoint.
Normalizationdataset_statistics.json is authoritative. Actions use per-dimension q01/q99; padded action rows are zero after normalization.

Benchmark adapters may declare a different action Protocol when required by the benchmark. The config and adapter Protocol are authoritative. See Data Structure and State/Action Protocol.

Trajectory augmentation

Each animation aligns one raw trajectory with its enhanced version. Click an animation to open the MP4.

AerialVLN raw and enhanced rollout comparison
AerialVLN · Example 1
AerialVLN raw and enhanced trajectory plot
OpenFly raw and enhanced rollout comparison
OpenFly · Episode 000008
OpenFly raw and enhanced trajectory plot

Model

SimpleNav combines a vision-language backbone, selected long history, temporal-view context, and a continuous action head. The model consumes the protocol above and keeps dataset-specific coordinate semantics in the adapter.

SimpleNav model architecture with history, current observations, language tokens, VLM backbone, and action expert

Results

We adopt Qwen3.5-VL 4B as the unified vision-language backbone, and complete model training and closed-loop evaluation on 6 benchmarks respectively. Except for the necessary adaptation of data and task interfaces, we do not perform task-specific performance optimization for any individual benchmark. The results are summarized as follows. Full comparison tables and protocol notes are in Release 01 Benchmarks.

BenchmarkSplitNE↓SR↑OS/OSR↑SPL↑nDTW↑SDTW↑
OpenFlySeen37.1 m52.874.251.0--
TravelUAVTest Seen / Full85.6 m22.455.120.5--
AerialVLN-SVal Seen126.0 m8.418.9--3.4
R2R-CEVal-Unseen4.7 m49.255.945.8--
RxR-CEVal-Unseen4.6 m58.4-52.274.6-
BenchmarkTaskSR↑TR↑CR↓
EVT-BenchSTT82.893.51.2

Demos

Selected rollout trajectory previews are shown below. See the project-page video gallery for full videos.

OpenFly rollout trajectory
OpenFly · Env 16
TravelUAV rollout trajectory
TravelUAV · Modern City
AerialVLN rollout trajectory
AerialVLN · Env 8
RxR-CE rollout trajectory
RxR-CE · Episode 10129
EVT-Bench Scene 2 rollout trajectory
EVT-Bench · Scene 2
EVT-Bench Scene 30 rollout trajectory
EVT-Bench · Scene 30

Risks and Limitations

  • SimpleNav is a research framework, not a safety-certified flight-control system. Do not use model outputs as the sole control authority.
  • Validate in simulation and controlled environments with qualified supervision, manual override, emergency stop, geofencing, and independent safety monitors.
  • Performance can degrade under distribution shift, perception or communication latency, actuator/simulator mismatch, and coordinate or action-protocol errors.
  • No guarantee is made for collision avoidance, fail-safe behavior, or regulatory compliance; operators remain responsible for deployment decisions.

Quick Start

Public resources:

Place downloaded packages in the repository-relative local/ layout below.

1. Clone and install the model environment

Requirements: Linux, Python 3.10, and a model-compatible NVIDIA driver. Dataset conversion also requires ffmpeg; closed-loop evaluation requires the corresponding simulator and scene assets.

git clone -b SimpleNav https://github.com/OpenBMB/SimpleNav.git SimpleNav
cd SimpleNav
curl -LsSf https://astral.sh/uv/install.sh | sh
uv python install 3.10
uv sync --frozen --no-dev
uv run --no-sync python -c "import torch, transformers; print(torch.__version__, transformers.__version__)"

For the Qwen3.5 reference recipe, install the optional CUDA extension after the base environment succeeds:

uv sync --frozen --no-dev --extra flash-attention

See Installation for the Conda data-tool environments and system packages.

2. Prepare data

Install only the data component you need. For raw-dataset conversion:

cd data_pipeline/dataset_conversion
conda env create -f environment.yml
conda activate vln-dataset-conversion
vln-convert --help

The other component entry points are:

data_pipeline/trajectory_augmentation  -> vln-augment
data_pipeline/image_collection         -> vln-collect

Follow Data Preparation, then place local resources under:

local/
├── models/                         # base VLMs and auxiliary models
├── data/                           # converted datasets and benchmark inputs
├── checkpoints/                    # SimpleNav checkpoints + dataset_statistics.json
├── simulators/                     # AirSim/Habitat runtimes and scene assets
├── eval_results/
└── results/

Validate a converted split:

uv run --no-sync python -m tool.navvla.cli.validate_dataset \
  local/data/<dataset>/<split> --visual-token-mode online_images --smoke-load 8

3. Train

The public reference recipe is OpenFly Qwen3.5-VL training:

bash examples/NavVLA/train_files/qwen35/run_train.sh \
  examples/NavVLA/train_files/qwen35/navvla_qwen35_cpm_openfly_portable.yaml \
  --dry-run

bash examples/NavVLA/train_files/qwen35/run_train.sh \
  examples/NavVLA/train_files/qwen35/navvla_qwen35_cpm_openfly_portable.yaml

Copy the portable config before changing data mixtures, GPU counts, or attention implementations. See Training.

4. Evaluate

Each public config resolves paths relative to its own directory.

BenchmarkConfigLauncher
OpenFlyNavVLAeval/openfly/config_portable.yamlbash NavVLAeval/openfly/run_eval.sh
TravelUAVNavVLAeval/traveluav/config_portable.yamlbash NavVLAeval/traveluav/run_eval.sh
AerialVLNNavVLAeval/aerialvln/config_portable.yamlbash NavVLAeval/aerialvln/run_eval.sh
AerialVLN-S Val Seen · action stopNavVLAeval/aerialvln/config_qwen35_tb1024_ph32_s_seen_stop_finalseg0p292_k2.yamlbash NavVLAeval/aerialvln/run_eval.sh --config <config>
EVT-BenchNavVLAeval/track/eval_qwen35_track.pybash NavVLAeval/track/run_qwen35_track_eval.sh
R2R-CENavVLAeval/vlnce/r2r/config_portable.yamlbash NavVLAeval/vlnce/r2r/run_eval.sh
RxR-CENavVLAeval/vlnce/rxr/config_portable.yamlbash NavVLAeval/vlnce/rxr/run_eval.sh

Inspect a two-episode plan before starting a simulator:

bash NavVLAeval/openfly/run_eval.sh --dry-run \
  --override benchmark.max_samples=2 \
  --override parallel.gpu_ids='[0]' \
  --override output.run_name=openfly_dry_run

See Evaluation for resource layout, execution, resume, and artifacts.

For the OpenFly, AerialVLN, and TravelUAV data-to-training-to-evaluation workflow, use Aerial Training and Evaluation.

For the released R2R-CE and RxR-CE Qwen3.5 workflow, use VLN-CE Training and Evaluation.

Documentation

TaskDocument
Install environmentsInstallation
Convert, augment, and render dataData Preparation
Understand state/action semanticsData Structure and State/Action Protocol
Understand or extend the modelModel Architecture
Find model and checkpoint entriesModels and Checkpoints
Train a modelTraining
Reproduce mixed EVT-Bench training/evaluationEVT_BENCH_RECIPE
Run a benchmarkEvaluation
Reproduce OpenFly, AerialVLN, and TravelUAV training/evaluationAerial Training and Evaluation
Reproduce R2R-CE and RxR-CE training/evaluationVLN-CE Training and Evaluation
Inspect complete resultsRelease 01 Benchmarks
Read the project directionVision and Roadmap

Roadmap

  • Maintain released checkpoints, model cards, converted-data manifests, dataset cards, and simulator packages.
  • Add portable multi-domain training recipes and extend the released single-dataset workflows.
  • Expand model backbones, history and memory modules, action heads, and platform adapters.
  • Publish reproducible result bundles with resolved configs and episode-level artifacts.
  • Connect evaluation failures to data generation and the next training iteration.

Citation

If SimpleNav is useful in your work, please cite the repository.

@software{simplenav,
  title = {SimpleNav: Make Navigation VLA Simple},
  author = {{SimpleNav Contributors}},
  year = {2026},
  url = {https://github.com/OpenBMB/SimpleNav},
}

License

Repository source code is released under the MIT License. Datasets, pretrained models, simulators, scene assets, and third-party components retain their own licenses.

Acknowledgements

We thank pioneering navigation VLA studies, including NavFoM, Qwen-RobotNav, ABot-N0, starVLA and InternVLA-N1, whose valuable explorations have helped shape and advance this field.

SimpleNav builds upon starVLA, Qwen-VL, LeRobot, PyTorch, Transformers, DeepSpeed, AirSim, Habitat, as well as the datasets and benchmarks described above. We gratefully acknowledge these open-source contributions and encourage users to cite the original projects and datasets employed in their experiments.

关于 About

SimpleNav: A simple, unified, reproducible, and extensible framework for navigation VLA research.
embodiednavigationvision-language-action

语言 Languages

Python99.5%
Shell0.5%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
50
Total Commits
峰值: 45次/周
Less
More

核心贡献者 Contributors