Skip to content

Repository files navigation

Path-conditioned RL-based Local Planning for Long-Range Navigation

Mateo Haro, Julia Richter, Fan Yang, Cesar Cadena, Marco Hutter

Project Page

📌 Meta-repository: This repository ties together the three components of the project as git submodules, each pinned to its feature/path-aware-rl branch. It contains no code of its own — see Repository Structure below for what lives where.

Overview

Long-range navigation is commonly addressed through hierarchical pipelines in which a global planner generates a path, decomposed into waypoints, that a local planner follows sequentially. These systems are sensitive to global path quality: inaccurate remote sensing data can produce locally infeasible waypoints that degrade local execution, while limited global context hinders long-range efficiency.

This project introduces a path-aware reinforcement learning policy that conditions local navigation on a full reference path, without ever explicitly rewarding path following. The policy learns to opportunistically exploit path information — cutting corners, ignoring detours, and biasing exploration along informative waypoints — while remaining robust to noisy, suboptimal, or entirely missing guidance. This implicit conditioning lets the agent improve efficiency when the global plan is useful and gracefully fall back to baseline-level, goal-driven exploration when it isn't.

The work extends SRU (Spatially-Enhanced Recurrent Memory), a state-of-the-art end-to-end RL navigation framework, with:

  1. Path-conditioned navigation architecture — a Path Encoding module (self-attention + cross-attention with a learned query) that builds a structured, relative representation of the reference path and fuses it with the SRU's recurrent state.
  2. Path-conditioned training strategy — training on a controlled distribution of optimal, suboptimal (biased-heuristic GBFS), and noise-perturbed paths, plus a shortcut reward that reinforces bypassing unnecessary detours, so path-following behavior emerges implicitly rather than being enforced.
  3. Real-world deployment — validation in simulation (Isaac Lab maze environments) and on a Unitree B2W quadruped performing long-range (>90 m) indoor navigation.

Compared to the SRU baseline, the path-aware model improves SPL by 7.02% when given an optimal reference path, while matching baseline performance when the path is degraded, noisy, or removed entirely. See the paper for full details, ablations, and real-world results.

Repository Structure

This meta-repo bundles the project as three submodules, each a fork of the corresponding SRU repository with path-conditioning added on feature/path-aware-rl:

Submodule Branch Description
sru-navigation-learning feature/path-aware-rl RL training framework (rsl_rl fork): SRU actor-critic, PPO/MDPO algorithms, extended with the Path Encoding module and path-conditioned training strategy.
sru-navigation-sim feature/path-aware-rl IsaacLab task extension: maze/terrain environments, reward and observation definitions, extended with reference-path generation (PRM + A*/GBFS), the shortcut reward, and the relative path observation.
sru-robot-deployment feature/path-aware-rl Real-robot deployment stack for the Unitree B2W: locomotion controller, navigation controller, teleoperation, extended to consume and forward reference-path waypoints to the onboard policy.

Each submodule remains independently installable and documents its own setup in detail — this README covers how the pieces fit together. Consult each submodule's own README for API-level and configuration details.

Getting Started

Clone with submodules

git clone --recurse-submodules git@github.com:leggedrobotics/sru-path-aware-rl.git
cd sru-path-aware-rl

If already cloned without --recurse-submodules:

git submodule update --init --recursive

Install the training framework

The learning framework (rsl_rl fork) needs to be installed in place of the stock rsl_rl shipped with Isaac Lab:

cd /path/to/IsaacLab
./isaaclab.sh -p -m pip uninstall rsl-rl-lib -y
rm -rf _isaac_sim/kit/python/lib/python3.10/site-packages/rsl_rl

# Symlink or copy the submodule in as rsl_rl
ln -s /path/to/sru-path-aware-rl/sru-navigation-learning rsl_rl
cd rsl_rl && ../isaaclab.sh -p -m pip install -e .

Install the simulation extension

cd /path/to/IsaacLab
ln -s /path/to/sru-path-aware-rl/sru-navigation-sim source/isaaclab_nav_task
./isaaclab.sh -p -m pip install -e source/isaaclab_nav_task

Train

./isaaclab.sh -p source/isaaclab_nav_task/scripts/train.py \
    --task Isaac-Nav-MDPO-B2W-v0 --num_envs 1024 --headless

Deploy on the robot

Follow the setup in sru-robot-deployment to bring up the Gazebo simulation or the Unitree B2W with the trained, path-conditioned policy.

Results

Model SR SPL
Baseline (SRU) 0.83 0.75
Ours (optimal path) 0.87 0.82
Ours (non-optimal & noisy path) 0.83 0.74

The path-aware model consistently exploits high-quality reference paths to reduce dead ends and unnecessary detours, while degrading gracefully to baseline behavior under poor or missing path information — including reaching the goal through unguided exploration when the reference path observation is entirely zeroed out.

Related Work

This project builds directly on the SRU navigation stack developed at the Robotic Systems Lab, ETH Zurich:

Repository Description
sru-navigation-learning Original SRU RL training framework
sru-navigation-sim Original SRU IsaacLab simulation environments
sru-robot-deployment Original SRU real-robot deployment stack
sru-pytorch-spatial-learning Core SRU PyTorch module (standalone)

Citation

If you use this code in your research, please cite both the path-conditioning extension and the underlying SRU work:

@inproceedings{haro2026pathconditioned,
          title     = {Path-conditioned Reinforcement Learning-based Local Planning for Long-Range Navigation},
          author    = {Haro, Mateo and Richter, Julia and Yang, Fan and Cadena, Cesar and Hutter, Marco},
          booktitle = {2026 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
          year      = {2026},
          note      = {https://arxiv.org/pdf/2603.13888}
        }

@article{yang2025sru,
  author  = {Yang, Fan and Frivik, Per and Hoeller, David and Wang, Chen and Cadena, Cesar and Hutter, Marco},
  title   = {Spatially-enhanced recurrent memory for long-range mapless navigation via end-to-end reinforcement learning},
  journal = {The International Journal of Robotics Research},
  year    = {2025},
  doi     = {10.1177/02783649251401926},
  url     = {https://doi.org/10.1177/02783649251401926}
}

Acknowledgment

This research was supported by the Swiss National Science Foundation (SNSF) as part of project No. 227617.

Contact

Corresponding author: Mateo Haro (maharo@ethz.ch)

Affiliation: Robotic Systems Lab (RSL), ETH Zurich

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors