streamvln¶
StreamVLN (Wei et al., 2025, "StreamVLN: Streaming Vision-and-Language Navigation via
SlowFast Context Modeling", arXiv 2507.05240) behind the arena_planners bridge. A LLaVA-Video model on Qwen2-7B follows
a natural-language instruction from the egocentric RGB stream alone, without a goal pose, and answers each call with a
chunk of discrete actions (normally four): TURN LEFT, TURN RIGHT, MOVE FORWARD or STOP. The checkpoint is
StreamVLN_Video_qwen_1_5_r2r_rxr_envdrop_scalevln_v1_3, reported at SR 56.4 and SPL 50.2 on R2R-CE val-unseen.
arena feature planners add streamvln
arena launch sim:=gazebo robot:=jackal[camera=vln_streamvln] robot.planner:=streamvln robot.mobile.goal:=instruction
robot.planner:=streamvln selects robot.mobile:=vla. The planner accepts the instruction only (goal_inputs:
[instruction]), so robot.mobile.goal:=instruction is also the default. It needs a CUDA GPU with about 18 GB free
(16 GB of bf16 weights plus the KV cache and frame features).
Inputs¶
| Datasource | Topic (jackal camera=vln_streamvln) |
Model input |
|---|---|---|
rgb (image sensor) |
vln_camera/image |
640x480 RGB, squashed to 384x384 for SigLIP, 196 tokens per frame |
| instruction | from the goal | inserted verbatim into the task prompt |
StreamVLN trained in Habitat with a 640x480 RGB camera at 79 degrees HFOV, 1.25 m above the floor, which the
vln_streamvln camera reproduces. Depth is not used.
Primitives¶
The planner returns discrete commands (action_type: discrete) and the bridge executes each as a motion primitive:
| Model token | Command | Primitive |
|---|---|---|
up arrow U+2191 (MOVE FORWARD) |
forward |
0.25 m straight ahead |
left arrow U+2190 (TURN LEFT) |
left |
15 degrees counterclockwise |
right arrow U+2192 (TURN RIGHT) |
right |
15 degrees clockwise |
STOP |
none | ends the episode for the planner |
A call runs only when the previous chunk is used up: the planner executes the chunk one primitive per observation and
records each step's frame, as upstream's evaluation loop does. An answer without any action token counts as STOP.
On STOP the planner latches: it stops calling the model and, for a goto phase with signal: arrived, keeps sending
arrived until the next reset. Without an expected signal it stands still. Before an instruction arrives (a reset
without a goal) or with an empty instruction, the planner stands still without running the model.
Streaming memory¶
Within a window of 32 executed steps the dialogue is multi-turn: each call appends the new frame as a user turn and the
KV cache carries the earlier turns. Every 32 steps the cache and dialogue are dropped, and the next call reopens the
window with the task prompt plus 8 frames sampled uniformly from all earlier steps of the episode as memory. Decoding
is greedy with the checkpoint's repetition_penalty of 1.05.
Instructions come from the scenario, per goto phase:
robots:
- start: [1.0, 1.0, 0.0]
phases:
- goto: [8.0, 8.0, 0.0]
instruction: walk past the sofa and stop at the door to the kitchen
signal: arrived
The goal pose decides success but never reaches the planner.
Config¶
Set in planner.yaml > config, override per launch with robot.mobile.config.<key>:=<value>.
| Key | Default | Effect |
|---|---|---|
device |
auto |
Torch device, auto picks CUDA when available. |
Performance¶
On an RTX PRO 6000 Blackwell (torch 2.14 cu130, SDPA attention): about 0.11 s per call inside a window, 0.25 s for a window-opening call with 8 memory frames, 0.8 s for the first call after loading, 17.3 GB peak GPU memory over a 40-step episode.
Weights and license¶
arena feature planners add streamvln fetches the v1_3 checkpoint (4 safetensors shards, 16.06 GB, with its config and
generation config) and, because that repository has no tokenizer, the tokenizer files of the same authors'
StreamVLN_Video_qwen_1_5_r2r_rxr_envdrop_scalevln_real_world checkpoint. The SigLIP vision tower comes from the
checkpoint itself. The code is CC BY-NC-SA 4.0 like upstream, with Apache-2.0 parts from LLaVA-NeXT, see LICENSE and
ATTRIBUTION.md. The checkpoints carry no license of their own and are trained on Matterport3D-based data, so treat them
as non-commercial and research-only. Cite Wei et al. 2025 when using this planner:
@article{wei2025streamvln,
title={StreamVLN: Streaming Vision-and-Language Navigation via SlowFast Context Modeling},
author={Wei, Meng and Wan, Chenyang and Yu, Xiqian and Wang, Tai and Yang, Yuqiang and Mao, Xiaohan and Zhu, Chenming and Cai, Wenzhe and Wang, Hanqing and Chen, Yilun and others},
journal={arXiv preprint arXiv:2507.05240},
year={2025}
}