![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro humble. Known supported distros are highlighted in the buttons above.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro rolling. Known supported distros are highlighted in the buttons above.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 drl_agent drl_agent_description drl_agent_gazebo drl_agent_interfaces |
|
Repository Summary
Description | Deep Reinforcement Learning Based Mobile Robot Navigation Using ROS2 and Gazebo |
Checkout URI | https://github.com/anurye/mobile-robot-navigation-using-deep-reinforcement-learning-and-ros.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2024-10-29 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | deep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
drl_agent | 0.0.0 |
drl_agent_description | 0.0.0 |
drl_agent_gazebo | 0.0.0 |
drl_agent_interfaces | 0.0.0 |
README
DRL-for-Mobile-Robot-Navigation-Using-ROS2

Table of Contents
Project Structure
.
├── 📂 docs/: contains demo videos
│ ├── 📄 dynamic_environment.mp4
│ ├── 📄 slam.mp4
│ └── 📄 simulation.mp4
├── 📂 drl_agent/: main deep reinforcement learning agent directory
│ ├── 📂 config/: contains configuration files
│ ├── 📂 launch/: contains launch files
│ ├── 📂 scripts/: contains code for environment, policies, and utilities
│ └── 📂 temp/: stores models, logs, and results
├── 📂 drl_agent_description/: contains robot description files, models, and URDFs
│ ├── 📂 launch/: launch files for agent description
│ ├── 📂 meshes/: 3D models of the robot
│ ├── 📂 models/: contains specific model files for kinect sensors
│ └── 📂 urdf/: URDF files for camera, laser, and robot description
├── 📂 drl_agent_gazebo/: contains Gazebo simulation configuration and world files
│ ├── 📂 config/: simulation and SLAM configuration files
│ ├── 📂 launch/: Gazebo launch files for various setups
│ ├── 📂 models/: Gazebo models used in the simulation
│ └── 📂 worlds/: simulation worlds for training and testing environments
├── 📂 drl_agent_interfaces/: custom action, message, and service definitions
│ ├── 📂 action/: defines DRL session actions
│ ├── 📂 msg/: empty for now
│ └── 📂 srv/: service definitions for environment and robot interactions
├── 📂 velodyne_simulator/: Velodyne LiDAR simulation setup
Requirements
- Install Ubuntu 22.04
- Install ROS2 Humble
- Install Gazebo
- Install
gazebo_ros_pkgs
by running:
sudo apt install ros-humble-gazebo-*
- Install PyTorch 2.3.1
Other requirements
pip install -r requirements.txt
Build
- Clone this repository:
mkdir -p ~/drl_agent_ws/src
cd ~/drl_agent_ws/src
git clone --recurse-submodules git@github.com:anurye/DRL-for-Mobile-Robot-Navigation-Using-ROS2.git .
- Install dependencies:
cd ~/drl_agent_ws
rosdep install --from-path src -yi --rosdistro humble
- Build the workspace:
cd ~/drl_agent_ws
colcon build
Training
- Export the environment variable
DRL_AGENT_PACKAGE_PATH
:
echo 'export DRL_AGENT_PACKAGE_PATH=~/drl_agent_ws/src/drl_agent' >> ~/.bashrc
source ~/.bashrc
-
Launch the simulation:
Terminal 1:
cd ~/drl_agent_ws
source install/setup.bash
ros2 launch drl_agent_gazebo simulation.launch.py
Terminal 2:
cd ~/drl_agent_ws
source install/setup.bash
ros2 run drl_agent_gazebo environment.py
Terminal 3:
cd ~/drl_agent_ws
source install/setup.bash
ros2 run drl_agent train_td7_agent.py
Testing
If you have closed the terminals, restart the simulation in Terminal 1 and Terminal 2 as described above.
Terminal 3:
cd ~/drl_agent_ws
source install/setup.bash
ros2 run drl_agent test_td7_agent.py
Additional Demos
![]() |
![]() |
CONTRIBUTING
No CONTRIBUTING.md found.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro noetic. Known supported distros are highlighted in the buttons above.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro ardent. Known supported distros are highlighted in the buttons above.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro crystal. Known supported distros are highlighted in the buttons above.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro dashing. Known supported distros are highlighted in the buttons above.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro galactic. Known supported distros are highlighted in the buttons above.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro foxy. Known supported distros are highlighted in the buttons above.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro iron. Known supported distros are highlighted in the buttons above.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro lunar. Known supported distros are highlighted in the buttons above.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro jade. Known supported distros are highlighted in the buttons above.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro indigo. Known supported distros are highlighted in the buttons above.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro hydro. Known supported distros are highlighted in the buttons above.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
![]() |
mobile-robot-navigation-using-deep-reinforcement-learning-and-ros repositorydeep-reinforcement-learning gazebo slam obstacle-avoidance ros2 robot-navigation pioneer3dx-robot differential-drive-robot td7 |
|
No version for distro melodic. Known supported distros are highlighted in the buttons above.