Mobile agents require efficient exploration strategies to map unseen environments and autonomously plan tasks. Traditional methods rely on generating occupancy maps and optimizing the sequence in which unexplored regions are visited. However, in sensor-constrained settings, such as those limited to monocular cameras, generating accurate occupancy maps is challenging. To address this, we propose VANDERER, an exploration framework that leverages a Visual Curiosity Module (VCM) to guide pre-trained diffusion policies using only monocular image data. This curiosity module predicts the outcomes of proposed actions via a navigation world model and evaluates them through a curiosity cost. The cost then guides the diffusion process toward generating actions that maximize exploration. Evaluated across diverse simulated environments, VANDERER consistently outperforms established baselines, exploring an average of 13.4% more area than NoMaD. Our results reveal a direct correlation between visual and geometric curiosity in outdoor environments, demonstrating that VANDERER can effectively leverage this relationship for efficient exploration using sensor-constrained agents.
The diffusion policy samples N candidate action sequences from the current and context observations.
A navigation world model rolls each candidate forward to predict its future states. The VCM compares these against previously observed latents, using the curiosity score to update the mean and covariance of the policy's noise distribution.
The computed updates are applied to the noise distribution, which is reset every P steps to keep its statistics from drifting too far from standard values.
A CEM update refits the action distribution to the high-curiosity candidates and resamples the optimal action to execute.
def vanderer(current_img, context_imgs, database):
# noise_distribution: init as standard normal
# Convert to latent state representation
latent_states = VAE(current_img, context_imgs)
c_t = context_transformer(latent_states)
# 1. Generate action proposals
noise_latents = noise_distribution.sample(N)
actions = noise_prediction(c_t, noise_latents)
# 3. VCM-based Curiosity Guidance
mean_updated, var_updated = VCM(actions, latent_states,
database, noise_latents)
# 4. CEM Update
noise_distribution = Normal(mean_updated, var_updated)
# 4. Resample the action
action_updated = policy(noise_distribution.sample(1))
return action_updated
Exploration rollouts produced by VANDERER in simulation.
Town 1
Town 2
Town 3
Town 4
Town 5
@article{devarakonda2026vanderer,
title={VANDERER: Map-Free Exploration using Future-Aware and Visual-Curiosity-Guided Diffusion Policy},
author={Devarakonda, Venkata Naren and Goswami, Raktim Gautam and Krishnamurthy, Prashanth and Khorrami, Farshad},
journal={arXiv preprint arXiv:2606.14879},
year={2026}
}