Skip to content

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.

License

Notifications You must be signed in to change notification settings

TannerGilbert/Turtlebot3-DRL-Navigation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Turtlebot3 DRL Navigation

This repository is a fork of DRL-robot-navigation with modifications to run with the Turtlebot3 and its 2D lidar sensor. All the base behavior should be credited to the original author. The fork however changes the structure of the project so everything can be executed directly via ROS.

Inference example

Installation

  1. Clone the repository
    git clone -b ros2 https://github.com/TannerGilbert/DRL-robot-navigation --recursive
  2. Install Python dependencies
    pip3 install -r requirements.txt
  3. Build workspace
    colcon build --symlink-install

Usage

Train

Training can be started via:

ros2 launch td3_rl train_td3.launch.py

Note: Training can be sped up by increasing the simulation speed in the Gazebo environment. This can be done by changing the real_time_update_rate in TD3.world. For example setting it to 0 will make the simulation run as fast as possible.

Gazebo environment

RVIZ

The training can be configured inside the td3_config.yaml file.

Check training progress with Tensorboard:

$ cd src/TD3
$ tensorboard --logdir runs

Tensorboard

Inference

After training, the model can be tested with the following command:

ros2 launch td3_rl test_td3.launch.py

The default behaviour for the inference script is to run indefinitetly until the robot crashes. If the environment should also be reset after a certain time td3_params/max_ep needs to be set to a positive value.

Acknowledgements

This repository builds on the work of Reinis Cimurs.

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 88.4%
  • CMake 7.6%
  • Dockerfile 4.0%