reiniscimurs/DRL-robot-navigation
reiniscimurs/DRL-robot-navigation has 1,380 GitHub stars and 195 forks. GitHot measured 0 stars in 24 hours and +2 in 7 days. Last checked 2026-11-10 18:55 UTC. Last push 2025-12-13.
Deep Reinforcement Learning for mobile robot navigation in ROS Gazebo simulator. Using Twin Delayed Deep Deterministic Policy Gradient (TD3) neural network, a robot learns to navigate to a random goal point in a simulated environment while avoiding obstacles.
Measured star growth
- in 24h
- 0
- in 7 days
- +2
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalDRL-robot-navigation
Deep Reinforcement Learning for mobile robot navigation in ROS Gazebo simulator. Using Twin Delayed Deep Deterministic Policy Gradient (TD3) neural network, a robot learns to navigate to a random goal point in a simulated environment while avoiding obstacles. Obstacles are detected by laser readings and a goal is given to the robot in polar coordinates. Trained in ROS Gazebo simulator with PyTorch. Tested with ROS Noetic on Ubuntu 20.04 with python 3.8.10 and pytorch 1.10.
!!!Use the issue template to submit your issue
Installation and code overview tutorial available here
Training example:
ICRA 2022 and IEEE RA-L paper:
Some more information about the implementation is available here
Please cite as:
@ARTICLE{9645287,
author={Cimurs, Reinis and Suh, Il Hong and Lee, Jin Han},
journal={IEEE Robotics and Automation Letters},
title={Goal-Driven Autonomous Exploration Through Deep Reinforcement Learning},
year={2022},
volume={7},
number={2},
pages={730-737},
doi={10.1109/LRA.2021.3133591}}
Installation
Main dependencies:
Clone the repository:
$ cd ~
### Clone this repo
$ git clone https://github.com/reiniscimurs/DRL-robot-navigation
The network can be run with a standard 2D laser, but this implementation uses a simulated 3D Velodyne sensor
Compile the workspace:
$ cd ~/DRL-robot-navigation/catkin_ws
### Compile
$ catkin_make_isolated
Open a terminal and set up sources:
$ export ROS_HOSTNAME=localhost
$ export ROS_MASTER_URI=http://localhost:11311
$ export ROS_PORT_SIM=11311
$ export GAZEBO_RESOURCE_PATH=~/DRL-robot-navigation/catkin_ws/src/multi_robot_scenario/launch
$ source ~/.bashrc
$ cd ~/DRL-robot-navigation/catkin_ws
$ source devel_isolated/setup.bash
Run the training:
$ cd ~/DRL-robot-navigation/TD3
$ python3 train_velodyne_td3.py
To check the training process on tensorboard:
$ cd ~/DRL-robot-navigation/TD3
$ tensorboard --logdir runs
To kill the training process:
$ killall -9 rosout roslaunch rosmaster gzserver nodelet robot_state_publisher gzclient python python3
Once training is completed, test the model:
$ cd ~/DRL-robot-navigation/TD3
$ python3 test_velodyne_td3.py
Gazebo environment:
Rviz:
Running in Docker
It is also possible to run the training inside a docker container in headless mode (no rviz/gazebo).
Build the docker image:
$ sudo docker build -t drl_noetic .
Then run the docker image in interactive mode:
$ sudo docker run -it --rm drl_noetic
Inside the docker, start the training:
$ cd DRL-robot-navigation/TD3
$ python3 train_velodyne_td3.py
Explore related projects
tensorflow/tensorflow
An Open Source Machine Learning Framework for Everyone
201,505 starshuggingface/transformers
🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.
168,815 starsAUTOMATIC1111/stable-diffusion-webui
Stable Diffusion web UI
165,289 starsComfy-Org/ComfyUI
The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface. The fastest local inference engine in the world.
146,271 stars