# SafeCrowdNav: Safety Evaluation of Robot Crowd Navigation in complex scenes
## Paper
This paper is available in frontiers.[SafeCrowdNav](https://www.frontiersin.org/articles/10.3389/fnbot.2023.1276519/full)
## Abstract
Navigating safely and efficiently in dense crowds remains a challenging problem for mobile robots. The interaction mechanisms involved in collision avoidance require robots to exhibit active and foresighted behaviors while understanding the crowd dynamics. Deep reinforcement learning methods have shown superior performance compared to model-based approaches. However, existing methods lack an intuitive and quantitative safety evaluation for agents, and they may potentially trap agents in local optima during training, hindering their ability to learn optimal strategies. In addition, sparse reward problems further compound these limitations. To address these challenges, we propose SafeCrowdNav, a comprehensive crowd navigation algorithm that emphasizes obstacle avoidance in complex environments. Our approach incorporates a safety evaluation function to quantitatively assess the current safety score and an intrinsic exploration reward to balance exploration and exploitation based on scene constraints. By combining prioritized experience replay and hindsight experience replay techniques, our model effectively learns the optimal navigation policy in crowded environments. Experimental results demonstrate that our approach enhances the robot's understanding of the crowd, leading to lower collision probabilities and shorter navigation times compared to state-of-the-art algorithms.
## Method Overview
<img src="doc/architecture.png" alt="architecture" width="1000" />
## Setup
1. Install [Python-RVO2](https://github.com/sybrenstuvel/Python-RVO2) library
2. Install [socialforce](https://github.com/ChanganVR/socialforce) library
2. Install crowd_sim and crowd_nav into pip
```
pip install -e .
```
## Getting Started
This repository are organized in two parts: crowd_sim/ 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](crowd_sim/README.md). Below are the instructions for training and testing policies, and they should be executed
inside the crowd_nav/ folder.
```
parser.add_argument('--policy', type=str, default='tree-search-rl')
parser.add_argument('--config', type=str, default='configs/icra_benchmark/ts_separate_curiosity.py')
parser.add_argument('--output_dir', type=str, default='data/output')
parser.add_argument('--gpu', default=True, action='store_true')
```
1. Train a policy.
```
python train.py
```
2. Test policies with 1000 test cases.
```
python test.py
```
3. Run policy for one episode and visualize the result.
```
python test.py
```
```
python test.py --traj
```
```
python test.py --traj --human_num 10
```
4. plot the result
in crowdnav/plotall folder
```
(xjcrowdnav) xxx@xxx-amd:/mnt/f/xujing/intrinsic-Her-Ntime/crowd_nav/plotall$ python plot.py data/ --plot_time
```
## metrics
| Success Rate | Collision Rate |
| :----------------------------------------: | :----------------------------------------: |
| <img src="doc/train_sr_fig.png" width="500" /> | <img src="doc/train_cr_fig.png" width="500" /> |
| Reward | time |
| <img src="doc/train_reward_fig.png" width="500" /> | <img src="doc/train_time_fig.png" width="500" /> |
## Trajectory Diagram
| Simple Scenario | Complex Scenario |
| :----------------------------------------: | :----------------------------------------: |
| <img src="doc/traj_5human.png" width="500" /> | <img src="doc/traj_10human.png" width="500" /> |
## Safety Weights
| Simple Scenario | Complex Scenario |
| :-------------------------------------------: | :-------------------------------------------: |
| <img src="doc/low score.png" width="500" /> | <img src="doc/high score.png" width="500" /> |
## Video Demo
| Holonomic Robot in Simple Scenarios | Holonomic Robot in Complex Scenarios |
| :--------------------------------------------: | :--------------------------------------------: |
| <img src="doc/test_safe_5human.gif" width="500" /> | <img src="doc/test_safe_10human.gif" width="500" /> |
## Acknowledge
This work is based on [CrowdNav](https://github.com/vita-epfl/CrowdNav), [AEMCARL](https://github.com/SJWang2015/AEMCARL), [SG-D3QN](https://github.com/nubot-nudt/SG-D3QN) and [intrinsic-SGD3QN](https://github.com/dmartinezbaselga/intrinsic-rewards-navigation.git). The authors are thankful for their works and for making them available.
## Citation
```
@article{xu2023safecrowdnav,
title={SafeCrowdNav: safety evaluation of robot crowd navigation in complex scenes},
author={Xu, Jing and Zhang, Wanruo and Cai, Jialun and Liu, Hong},
journal={Frontiers in neurorobotics},
volume={17},
year={2023},
publisher={Frontiers Media SA}
}
```
没有合适的资源?快使用搜索试试~ 我知道了~
基于深度强化学习的机器人视觉导航安全性评估详细文档+全部资料+源码.zip
共148个文件
py:95个
png:14个
pdf:9个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 154 浏览量
2024-12-21
19:58:57
上传
评论
收藏 8.27MB ZIP 举报
温馨提示
【资源说明】 基于深度强化学习的机器人视觉导航安全性评估详细文档+全部资料+源码.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于深度强化学习的机器人视觉导航安全性评估详细文档+全部资料+源码.zip (148个子文件)
test_safe_10human.gif 2.53MB
test_safe_5human.gif 252KB
.gitignore 196B
LICENSE 1KB
README.md 5KB
README.md 3KB
RobotState.msg 128B
PedState.msg 71B
ObserveInfo.msg 47B
ActionCmd.msg 38B
tsrl5humannoh.out 424KB
high score.pdf 502KB
low score.pdf 497KB
architecture.pdf 312KB
train_time_fig.pdf 159KB
train_reward_fig.pdf 148KB
traj_10human.pdf 94KB
train_sr_fig.pdf 83KB
train_cr_fig.pdf 77KB
traj_5human.pdf 54KB
traj_10human.png 394KB
train_time_fig.png 339KB
train_time_fig.png 339KB
trainfig.png 334KB
train_sr_fig.png 295KB
train_sr_fig.png 295KB
train_cr_fig.png 267KB
train_cr_fig.png 267KB
architecture.png 253KB
train_reward_fig.png 236KB
train_reward_fig.png 236KB
traj_5human.png 231KB
high score.png 154KB
low score.png 150KB
crowd_sim.py 56KB
trainer.py 36KB
value_estimator.py 29KB
tree_searchrl.py 27KB
model_predictive_rl.py 26KB
random_encoder.py 18KB
gat_predictive_rl.py 18KB
train.py 18KB
curiosity.py 18KB
train_on_server.py 17KB
explorer.py 17KB
cadrl.py 15KB
graph_model.py 15KB
helpers.py 12KB
state_predictor.py 11KB
test.py 9KB
ros_inter.py 9KB
orca.py 9KB
multi_human_rl.py 9KB
critic.py 9KB
actor.py 8KB
plot.py 8KB
plot.py 8KB
TD3_rl.py 8KB
gcn.py 7KB
sarl.py 6KB
lstm_rl.py 5KB
config.py 5KB
memory.py 5KB
agent.py 5KB
GrandCentral.py 4KB
reward_estimate.py 4KB
state.py 3KB
testrospy3.py 3KB
socialforce.py 3KB
policy.py 2KB
ts_separate_random_encoder_v2.py 2KB
ts_separate_random_encoder_v3.py 2KB
ts_separate_random_encoder.py 2KB
mp_separate_dp_random_encoder.py 2KB
ts_separate_curiosity_v3.py 2KB
ts_separate_curiosity_v2.py 2KB
ts_separate_curiosity.py 2KB
ts_separate_boltzmann_v2.py 2KB
ts_separate_boltzmann.py 2KB
ts_separate_dropout.py 2KB
ts_separate_dropout_v3.py 2KB
ts_separate_dropout_v2.py 2KB
mp_separate_dp_curiosity_v2.py 2KB
mp_separate_dp_curiosity.py 2KB
mp_separate_dp_dropout.py 1KB
mp_separate_dp_noisy.py 1KB
ts_separate_noisy.py 1KB
test_polices.py 1KB
ts_separate_more_exploration.py 1KB
mp_separate_dp.py 1KB
ts_separate.py 1KB
mp_linear.py 1KB
mp_separate.py 1KB
mp_detach.py 1KB
td3.py 1KB
robot.py 959B
lstm_rl_random_encoder.py 843B
sarl_random_encoder.py 839B
lstm_rl_curiosity_v2.py 750B
lstm_rl_curiosity.py 749B
共 148 条
- 1
- 2
资源评论
Yuki-^_^
- 粉丝: 3101
- 资源: 2952
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 员工培训需求调查问卷.doc
- 如何确定针对性的培训需求.doc
- 素质能力培训需求分析模型.doc
- 怎样进行有效的培训需求分析(doc 9).doc
- 制造业各工位培训需求.doc
- 做好培训需求分析,奠定企业员工培训的基础(DOC 8页).doc
- SQLSERVER2005卸载方法word文档doc格式最新版本
- MicrosoftSQLServer2008安装和数据库实例创建操作手册doc版冯冰最新版本
- 西电微机原理实验PDF
- P6ProfessionalSetup R24.12 安装包
- MicrosoftSQLServer2008数据库安装图解集合[特别整理版]最新版本
- 含光伏的储能选址定容模型 14节点 程序采用改进粒子群算法,对分析14节点配网系统中的储能选址定容方案,并得到储能的出力情况,有相关参考资料 这段程序是一个粒子群算法(Particle Swarm O
- PROGPPCNEXUS读写烧录刷写软件 飞思卡尔MPC55xx 56xx 57xx 58xx 没有次数限制
- 01_python_基本语法_纯图版.pdf
- 考虑新能源消纳的火电机组深度调峰策略 摘要:本代码主要做的是考虑新能源消纳的火电机组深度调峰策略,以常规调峰、不投油深度调峰、投油深度调峰三个阶段,建立了火电机组深度调峰成本模型,并以风电全额消纳为前
- EV3100电梯专用变频器源代码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功