← all repositories
vita-epfl/CrowdNav

Teaching robots to read a room full of pedestrians

A reinforcement learning approach that models how groups of humans actually influence each other, not just how they react to the robot.

728 stars Python Domain AppsML Frameworks
CrowdNav
Not currently ranked — collecting fresh signals.
star history

What it does

CrowdNav trains a robot to navigate through dense crowds using deep reinforcement learning. The twist: instead of treating every pedestrian as an independent obstacle that only responds to the robot, it models how humans interact with each other too. The code provides a simulation environment (gym_crowd/) and training/testing scripts (crowd_nav/) for several policies, including their proposed SARL method and a baseline ORCA implementation.

The interesting bit

The self-attention mechanism is the core insight. Rather than hand-crafting rules for crowd dynamics, the model learns which neighboring humans matter collectively for predicting future states. It’s the difference between a robot that reacts to individuals and one that reads the room.

Key highlights

  • Attention-based pooling over pairwise human-human and human-robot interactions
  • Gym-style simulation environment with ORCA, CADRL, LSTM-RL, and SARL policies for comparison
  • Training and testing pipelines included, with visualization support for single episodes
  • ICRA 2019 paper with follow-up work extending the approach (Relational Graph Learning, Social NCE)
  • ~720 stars, suggesting reasonable adoption in the crowd navigation research community

Caveats

  • Requires Python-RVO2 dependency, which is a separate C++ binding install
  • The README notes performance deteriorates as crowds grow; the attention mechanism helps but doesn’t eliminate the scaling problem
  • No explicit mention of real-world deployment or sim-to-real transfer in the provided sources

Verdict

Worth a look if you’re doing research in socially-aware robot navigation or multi-agent reinforcement learning. Skip it if you need a production-ready navigation stack for actual hardware today.

Frequently asked

What is vita-epfl/CrowdNav?
A reinforcement learning approach that models how groups of humans actually influence each other, not just how they react to the robot.
Is CrowdNav open source?
Yes — vita-epfl/CrowdNav is open source, released under the MIT license.
What language is CrowdNav written in?
vita-epfl/CrowdNav is primarily written in Python.
How popular is CrowdNav?
vita-epfl/CrowdNav has 728 stars on GitHub.
Where can I find CrowdNav?
vita-epfl/CrowdNav is on GitHub at https://github.com/vita-epfl/CrowdNav.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.