Skip to content

It simulates Rosbot movement on Gazebo and trains a rainforcement learning model DQN.

License

Notifications You must be signed in to change notification settings

kuwabaray/ros_rl_for_slam

Repository files navigation

Build Status

ROS Path planning for SLAM by training a DQN model on Gazebo

It simulates Rosbot movement on Gazebo and trains a rainforcement learning model DQN.
I mainly refer this thesis REINFORCEMENT LEARNING HELPS SLAM: LEARNING TO BUILD MAPS
rviz

Description

  • dqn_for_slam: RL Enviroment (gym) and trainig a DQN model (Keras-rl2, Tensorflow)
  • rosbot_description: Based on rosbot_description. turned off camera and Infrared for computational load and reduced friction.
  • simulate_robot_rl: The entry point of training launches all nodes
  • simulate_map: Map for simulation
  • slam_gmapping: Based on slam_gmapping. Added the service and functions that clear a map and restart gmapping.

IMU and Wheel odometry are used for Localization. RPLidar is filtered for SLAM (gmapping). graph

Dependency

This application don't require GPU.

environment

  • Ubuntu 20.04
  • ROS Noetic

ros package

  • geometry2
  • openslam_gmapping
  • robot_localization

install python frameworks to run

pip3 install matplotlib tensorflow gym numpy keras-rl2 rospkg
pip3 install --upgrade tensorflow

Usage

Run trainning

roslaunch simulate_robot_rl simulate_robot.launch

Trained models are saved to ~/dqn_for_slam/dqn_for_slam/models/
Figures show training process are saved to ~/dqn_for_slam/dqn_for_slam/figures/

License

This library is licensed under the MIT License.

Author

mail to: 6318036@ed.tus.ac.jp

About

It simulates Rosbot movement on Gazebo and trains a rainforcement learning model DQN.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published