Our DRL-VO control policy ranked 1st in the simulated competition and 3rd in the final physical competition of the ICRA 2022 BARN Challenge. Implementation details can be found in our paper "DRL-VO: Learning to Navigate Through Crowded Dynamic Scenes Using Velocity Obstacles"(arXiv) in IEEE Transactions on Robotics (T-RO) 2023. Video demos can be found at multimedia demonstrations. The original training and implementation code can be found in our drl_vo_nav repository.
The details of the BARN Challenge can be found in our paper "Autonomous Ground Navigation in Highly Constrained Spaces: Lessons Learned From the Benchmark Autonomous Robot Navigation Challenge at ICRA 2022 [Competitions]"
- navigation metric: 0.2339
- Ubuntu 20.04/18.04
- ROS-Noetic/ROS Melodic
- Python 3.7
- Singularity
First, download the pre-created "nav_competition_image.sif" container to the home directory.
# clone this project:
git clone -b master https://github.com/TempleRAIL/nav-competition-icra2022-drl-vo.git
cd nav-competition-icra2022-drl-vo
# move nav_competition_image.sif container to current directory:
mv ~/nav_competition_image.sif ./
# single world test:
./singularity_run.sh ./nav_competition_image.sif python run.py --out ~/drl_vo_out.txt
# 50 worlds test: 1 trial
./singularity_run.sh ./nav_competition_image.sif python run_drl_vo.py --out ~/drl_vo_out.txt --trials 1
# 50 worlds test: 10 trial
./singularity_run.sh ./nav_competition_image.sif python run_drl_vo.py --out ~/drl_vo_out.txt --trials 10
# report results:
./singularity_run.sh ./nav_competition_image.sif python report_test.py --out_path ~/drl_vo_out.txt
# enter the directory of nav_competition_image.sif container and run the container: home directory
cd ~
singularity shell --nv nav_competition_image.sif
source /etc/.bashrc
# set the appropriate goal point and run the DRL-VO policy: the robot's initial local coordinate system when the robot is powered on (right hand rule)
roslaunch jackal_helper move_base_drl_vo.launch goal_x:="20" goal_y:="15"
# enter the directory of nav_competition_image.sif container and run the container:
cd ~
singularity shell --nv nav_competition_image.sif
source /etc/.bashrc
# create ros workspace and clone this project:
mkdir -p jackal_ws/src
cd jackal_ws/src
git clone -b master https://github.com/TempleRAIL/nav-competition-icra2022-drl-vo.git
# modify the corresponding code as needed
# compile:
cd ..
catkin_make
source devel/setup.sh
# set the appropriate goal point and run the DRL-VO policy: the robot's initial local coordinate system when the robot is powered on (right hand rule)
roslaunch jackal_helper move_base_drl_vo.launch goal_x:="20" goal_y:="15"
@article{xie2023drl,
author={Xie, Zhanteng and Dames, Philip},
journal={IEEE Transactions on Robotics},
title={DRL-VO: Learning to Navigate Through Crowded Dynamic Scenes Using Velocity Obstacles},
year={2023},
volume={39},
number={4},
pages={2700-2719},
doi={10.1109/TRO.2023.3257549}
}
@article{xiao2022autonomous,
title={Autonomous Ground Navigation in Highly Constrained Spaces: Lessons Learned From the Benchmark Autonomous Robot Navigation Challenge at ICRA 2022 [Competitions]},
author={Xiao, Xuesu and Xu, Zifan and Wang, Zizhao and Song, Yunlong and Warnell, Garrett and Stone, Peter and Zhang, Tingnan and Ravi, Shravan and Wang, Gary and Karnan, Haresh and others},
journal={IEEE Robotics \& Automation Magazine},
volume={29},
number={4},
pages={148--156},
year={2022},
publisher={IEEE}
}