Code Monkey home page Code Monkey logo

nav-competition-icra2022-drl-vo's Introduction


DRL-VO control policy for ICRA 2022 BARN Challenge

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

Requirements:

  • Ubuntu 20.04/18.04
  • ROS-Noetic/ROS Melodic
  • Python 3.7
  • Singularity

Usage:

First, download the pre-created "nav_competition_image.sif" container to the home directory.

Simulation:

# 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

Hardware:

# 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"

Modify code in hardware:

# 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"

Citation

@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}
}

nav-competition-icra2022-drl-vo's People

Contributors

zzuxzt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

nav-competition-icra2022-drl-vo's Issues

Physical robot

Hello, I am very honored to read your paper and get your help in the simulation experiment a while ago. In your introduction, I saw that you used the turtlebot2 robot, but you used the Jackal robot in the competition. I would like to know if I can migrate this code to the turtlebot3 waffle pi for experiments in real environment. Because I am a beginner, if I can transfer to Waffle school for experiment, there may be some problems in the future, I hope you can give me some advice, thank you very much.

BARN Challenge Set Dynamic Obstacles

I'm delighted to see that the authors have open-sourced such excellent navigation algorithms. However, I'm currently facing some challenges and hope you can assist me. I can run Ubuntu 20.04 on Docker with the robot navigation training you provided. After training the model, it performs well in the static BARN environment. Now, I want to run it in the dynamic BARN environment, but I couldn't find any tutorials in your repository.

If you could provide guidance on this matter, I would greatly appreciate it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.