{"id":13445538,"url":"https://github.com/vita-epfl/CrowdNav","last_synced_at":"2025-03-20T21:30:52.704Z","repository":{"id":34300081,"uuid":"139729179","full_name":"vita-epfl/CrowdNav","owner":"vita-epfl","description":"[ICRA19] Crowd-aware Robot Navigation with Attention-based Deep Reinforcement Learning","archived":false,"fork":false,"pushed_at":"2022-08-26T14:04:26.000Z","size":627,"stargazers_count":568,"open_issues_count":29,"forks_count":166,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-08-01T05:15:18.681Z","etag":null,"topics":["collision-avoidance","crowd-navigation","reinforcement-learning"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vita-epfl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-04T13:57:07.000Z","updated_at":"2024-07-31T08:20:12.000Z","dependencies_parsed_at":"2022-07-12T10:01:43.720Z","dependency_job_id":null,"html_url":"https://github.com/vita-epfl/CrowdNav","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vita-epfl%2FCrowdNav","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vita-epfl%2FCrowdNav/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vita-epfl%2FCrowdNav/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vita-epfl%2FCrowdNav/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vita-epfl","download_url":"https://codeload.github.com/vita-epfl/CrowdNav/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221807736,"owners_count":16883639,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["collision-avoidance","crowd-navigation","reinforcement-learning"],"created_at":"2024-07-31T05:00:35.703Z","updated_at":"2025-03-20T21:30:52.697Z","avatar_url":"https://github.com/vita-epfl.png","language":"Python","funding_links":[],"categories":["6. Planning","Planning and Control"],"sub_categories":["3.4 High Performance Inference","Vector Map"],"readme":"# CrowdNav\n\n**[`Website`](https://www.epfl.ch/labs/vita/research/planning/crowd-robot-interaction/) | [`Paper`](https://arxiv.org/abs/1809.08835) | [`Video`](https://youtu.be/0sNVtQ9eqjA)**\n\nThis repository contains the codes for our ICRA 2019 paper. For more details, please refer to the paper\n[Crowd-Robot Interaction: Crowd-aware Robot Navigation with Attention-based Deep Reinforcement Learning](https://arxiv.org/abs/1809.08835).\n\nPlease find our more recent work in the following links \n- [Relational Graph Learning for Crowd Navigation, IROS, 2020](https://github.com/ChanganVR/RelationalGraphLearning).\n- [Social NCE: Contrastive Learning of Socially-aware Motion Representations, ICCV, 2021](https://github.com/vita-epfl/social-nce).\n\n## Abstract\nMobility in an effective and socially-compliant manner is an essential yet challenging task for robots operating in crowded spaces.\nRecent works have shown the power of deep reinforcement learning techniques to learn socially cooperative policies.\nHowever, their cooperation ability deteriorates as the crowd grows since they typically relax the problem as a one-way Human-Robot interaction problem.\nIn this work, we want to go beyond first-order Human-Robot interaction and more explicitly model Crowd-Robot Interaction (CRI).\nWe propose to (i) rethink pairwise interactions with a self-attention mechanism, and\n(ii) jointly model Human-Robot as well as Human-Human interactions in the deep reinforcement learning framework.\nOur model captures the Human-Human interactions occurring in dense crowds that indirectly affects the robot's anticipation capability.\nOur proposed attentive pooling mechanism learns the collective importance of neighboring humans with respect to their future states.\nVarious experiments demonstrate that our model can anticipate human dynamics and navigate in crowds with time efficiency,\noutperforming state-of-the-art methods.\n\n\n## Method Overview\n\u003cimg src=\"https://i.imgur.com/YOPHXD1.png\" width=\"1000\" /\u003e\n\n## Setup\n1. Install [Python-RVO2](https://github.com/sybrenstuvel/Python-RVO2) library\n2. Install crowd_sim and crowd_nav into pip\n```\npip install -e .\n```\n\n## Getting Started\nThis repository is organized in two parts: gym_crowd/ folder contains the simulation environment and\ncrowd_nav/ folder contains codes for training and testing the policies. Details of the simulation framework can be found\n[here](crowd_sim/README.md). Below are the instructions for training and testing policies, and they should be executed\ninside the crowd_nav/ folder.\n\n\n1. Train a policy.\n```\npython train.py --policy sarl\n```\n2. Test policies with 500 test cases.\n```\npython test.py --policy orca --phase test\npython test.py --policy sarl --model_dir data/output --phase test\n```\n3. Run policy for one episode and visualize the result.\n```\npython test.py --policy orca --phase test --visualize --test_case 0\npython test.py --policy sarl --model_dir data/output --phase test --visualize --test_case 0\n```\n4. Visualize a test case.\n```\npython test.py --policy sarl --model_dir data/output --phase test --visualize --test_case 0\n```\n5. Plot training curve.\n```\npython utils/plot.py data/output/output.log\n```\n\n\n## Simulation Videos\nCADRL             | LSTM-RL\n:-------------------------:|:-------------------------:\n\u003cimg src=\"https://i.imgur.com/vrWsxPM.gif\" width=\"400\" /\u003e|\u003cimg src=\"https://i.imgur.com/6gjT0nG.gif\" width=\"400\" /\u003e\nSARL             |  OM-SARL\n\u003cimg src=\"https://i.imgur.com/rUtAGVP.gif\" width=\"400\" /\u003e|\u003cimg src=\"https://i.imgur.com/UXhcvZL.gif\" width=\"400\" /\u003e\n\n\n## Learning Curve\nLearning curve comparison between different methods in an invisible setting.\n\n\u003cimg src=\"https://i.imgur.com/l5UC3qa.png\" width=\"600\" /\u003e\n\n## Citation\nIf you find the codes or paper useful for your research, please cite our paper:\n```bibtex\n@inproceedings{chen2019crowd,\n  title={Crowd-robot interaction: Crowd-aware robot navigation with attention-based deep reinforcement learning},\n  author={Chen, Changan and Liu, Yuejiang and Kreiss, Sven and Alahi, Alexandre},\n  booktitle={2019 International Conference on Robotics and Automation (ICRA)},\n  pages={6015--6022},\n  year={2019},\n  organization={IEEE}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvita-epfl%2FCrowdNav","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvita-epfl%2FCrowdNav","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvita-epfl%2FCrowdNav/lists"}