Skip to content

anurye/Mobile-Robot-Navigation-Using-Deep-Reinforcement-Learning-and-ROS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DRL-for-Mobile-Robot-Navigation-Using-ROS2

Simulation

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

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_SRC_PATH:

    echo 'export DRL_AGENT_SRC_PATH=~/drl_agent_ws/src/' >> ~/.bashrc source ~/.bashrc
  • Launch the simulation:

    Terminal 1:

    cd ~/drl_agent_ws source install/setup.bash ros2 launch drl_agent_gazebo simulation.launch.py

    [!NOTE] If gazebo is not starting, you may want to source it.

    source /usr/share/gazebo/setup.bash 

    Terminal 2:

    cd ~/drl_agent_ws source install/setup.bash ros2 run drl_agent 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

SLAM Dynamic

About

Deep Reinforcement Learning Based Mobile Robot Navigation Using ROS2 and Gazebo

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published