• Stars
    star
    583
  • Rank 76,634 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created over 6 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

[ICRA19] Crowd-aware Robot Navigation with Attention-based Deep Reinforcement Learning

CrowdNav

Website | Paper | Video

This repository contains the codes for our ICRA 2019 paper. For more details, please refer to the paper Crowd-Robot Interaction: Crowd-aware Robot Navigation with Attention-based Deep Reinforcement Learning.

Please find our more recent work in the following links

Abstract

Mobility in an effective and socially-compliant manner is an essential yet challenging task for robots operating in crowded spaces. Recent works have shown the power of deep reinforcement learning techniques to learn socially cooperative policies. However, their cooperation ability deteriorates as the crowd grows since they typically relax the problem as a one-way Human-Robot interaction problem. In this work, we want to go beyond first-order Human-Robot interaction and more explicitly model Crowd-Robot Interaction (CRI). We propose to (i) rethink pairwise interactions with a self-attention mechanism, and (ii) jointly model Human-Robot as well as Human-Human interactions in the deep reinforcement learning framework. Our model captures the Human-Human interactions occurring in dense crowds that indirectly affects the robot's anticipation capability. Our proposed attentive pooling mechanism learns the collective importance of neighboring humans with respect to their future states. Various experiments demonstrate that our model can anticipate human dynamics and navigate in crowds with time efficiency, outperforming state-of-the-art methods.

Method Overview

Setup

  1. Install Python-RVO2 library
  2. Install crowd_sim and crowd_nav into pip
pip install -e .

Getting Started

This repository is organized in two parts: gym_crowd/ folder contains the simulation environment and crowd_nav/ folder contains codes for training and testing the policies. Details of the simulation framework can be found here. Below are the instructions for training and testing policies, and they should be executed inside the crowd_nav/ folder.

  1. Train a policy.
python train.py --policy sarl
  1. Test policies with 500 test cases.
python test.py --policy orca --phase test
python test.py --policy sarl --model_dir data/output --phase test
  1. Run policy for one episode and visualize the result.
python test.py --policy orca --phase test --visualize --test_case 0
python test.py --policy sarl --model_dir data/output --phase test --visualize --test_case 0
  1. Visualize a test case.
python test.py --policy sarl --model_dir data/output --phase test --visualize --test_case 0
  1. Plot training curve.
python utils/plot.py data/output/output.log

Simulation Videos

CADRL LSTM-RL
SARL OM-SARL

Learning Curve

Learning curve comparison between different methods in an invisible setting.

Citation

If you find the codes or paper useful for your research, please cite our paper:

@inproceedings{chen2019crowd,
  title={Crowd-robot interaction: Crowd-aware robot navigation with attention-based deep reinforcement learning},
  author={Chen, Changan and Liu, Yuejiang and Kreiss, Sven and Alahi, Alexandre},
  booktitle={2019 International Conference on Robotics and Automation (ICRA)},
  pages={6015--6022},
  year={2019},
  organization={IEEE}
}

More Repositories

1

monoloco

A 3D vision library from 2D keypoints: monocular and stereo 3D detection for humans, social distancing, and body orientation.
Python
420
star
2

trajnetplusplusbaselines

[ITS'21] Human Trajectory Forecasting in Crowds: A Deep Learning Perspective
Python
244
star
3

UniTraj

A Unified Framework for scalable Vehicle Trajectory Prediction, ECCV 2024
Python
166
star
4

social-nce

[ICCV21] Official implementation of the "Social NCE: Contrastive Learning of Socially-aware Motion Representations" in PyTorch.
Python
157
star
5

s-attack

[CVPR 2022] S-attack library. Official implementation of two papers "Vehicle trajectory prediction works, but not everywhere" and "Are socially-aware trajectory prediction models really socially-aware?".
Python
105
star
6

causalmotion

[CVPR22] Towards Robust and Adaptive Motion Forecasting: A Causal Representation Perspective
Python
73
star
7

RRB

Official implementation of "Injecting Knowledge in Data-driven Vehicle Trajectory Predictors", Published in Transportation research part C.
Python
67
star
8

ttt-plus-plus

[NeurIPS21] TTT++: When Does Self-supervised Test-time Training Fail or Thrive?
Python
56
star
9

DePOSit

[ICRA 2023] Official implementation of "A generic diffusion-based approach for 3D human pose prediction in the wild".
Python
49
star
10

bounding-box-prediction

Bounding box prediction library. Official implementation of two papers on human 2D/3D bounding box prediction
Python
46
star
11

trajnetplusplustools

Tools for TrajNet++
Python
42
star
12

monstereo

MonoLoco++ and MonStereo for 3D localization, orientation, bounding box dimensions and social distancing from monocular and / or stereo images. PyTorch Official Implementation.
Python
39
star
13

social-transmotion

[ICLR 2024] Official implementation of "Social-Transmotion: Promptable Human Trajectory Prediction" in PyTorch.
Python
34
star
14

trajnetplusplusdata

Data for TrajNet++ Challenge
31
star
15

detection-attributes-fields

PyTorch implementation of "Detecting 32 Pedestrian Attributes for Autonomous Vehicles"
Python
31
star
16

looking

Python
30
star
17

trajnetplusplusdataset

Dataset Preparation for TrajNet++
Python
29
star
18

collaborative-gan-sampling

[AAAI20] TensorFlow implementation of the Collaborative Sampling in Generative Adversarial Networks
Python
24
star
19

decoupled-pose-prediction

Official implementation of "Learning Decoupled Representations for Human Pose Forecasting" in PyTorch
Python
19
star
20

Person-Re-Identification-with-Confidence

Python
18
star
21

motion-style-transfer

[CoRL22] Motion Style Transfer: Modular Low-Rank Adaptation for Deep Motion Forecasting
Python
17
star
22

SVGNet

The official implementation of "SVG-Net: An SVG-based Trajectory Prediction Model"
17
star
23

CIM

Causal Imitative Model official code
Python
14
star
24

openpifpaf_wholebody

PifPaf extension to detect body, foot, face and hand keypoints.
Python
13
star
25

unposed

[RA-L 2024] Official implementation of "Toward Reliable Human Pose Forecasting with Uncertainty"
Python
13
star
26

rock-pytorch

A PyTorch implementation of "Revisiting Multi-Task Learning with ROCK: a Deep Residual Auxiliary Block for Visual Detection"
Python
12
star
27

hybrid-feature-fusion

Python
11
star
28

butterflydetector

Python
9
star
29

pedestrian-transition-dataset

Jupyter Notebook
9
star
30

DLAV-2022

EPFL Deep Learning for Autonomous Vehicles, Spring 2022
Jupyter Notebook
9
star
31

SemDisc

Official implementation of "A Shared Representation for Photorealistic Driving Simulators" in PyTorch.
Python
9
star
32

JRDB-Traj

JRDB dataset: trajectory prediction baselines and data preprocessing
Python
8
star
33

introML-2021

EPFL Introduction to Machine Learning for Engineers, Spring 2021
Jupyter Notebook
7
star
34

SGG-CoRF

Python
7
star
35

CODE

Implementation of CODE: Confident Ordinary Differential Editing
Jupyter Notebook
6
star
36

IntroML-2024

Jupyter Notebook
6
star
37

DLAV-2023

Jupyter Notebook
5
star
38

introML-2023

Jupyter Notebook
5
star
39

Deep-Visual-Re-Identification-with-Confidence

Python
5
star
40

pose-action-recognition

Python
5
star
41

TIC-TAC

[ICML 2024] Code repository for "TIC-TAC: A Framework for Improved Covariance Estimation in Deep Heteroscedastic Regression". We address the problem of sub-optimal covariance estimation in deep heteroscedastic regression by proposing a new model and metric.
Python
5
star
42

openpifpaf-torchhub

Pretrained models for OpenPifPaf via torchhub.
4
star
43

openpifpaf_animalpose

Python
3
star
44

trajnetplusplus-model-zoo

TrajNet++ Model Zoo is a collection of pre-trained models on the TrajNet++ Benchmark
2
star
45

unitraj-DLAV

The UniTraj framework, developed by VITA, adjusted for the project of DLAV course.
Python
2
star
46

DLAV-2024

Jupyter Notebook
2
star
47

introML-2022

EPFL Introduction to Machine Learning for Engineers, Spring 2022
Jupyter Notebook
1
star
48

IncrementalHumanPose

Python
1
star
49

code_template

A repository displaying a possible code structure suitable for Slurm
Python
1
star