Giter VIP home page Giter VIP logo

autonomous-driving-turtlebot-with-reinforcement-learning's Introduction

autonomous-driving-turtlebot-with-reinforcement-learning

Implementation of Q-learning algorithm and Feedback control for the mobile robot (turtlebot3_burger) in ROS.

  • Algorithm is implemented from scratch.
  • To run the code in gazebo simulator, export the model (burger) and roslaunch turtlebot3_world.launch file.
  • To run the code live on a physical TurtleBot, the ROS_MASTER_URI and ROS_HOSTNAME need to be set via the terminal by editing the ~/.bashrc script.
  • After setting up the environment, rosrun the desired nodes!
  • Link to video: https://www.youtube.com/watch?v=zw1BCfku1Dc&t=3s

radno okruzenje 3

Content

  • Thesis -> master thesis and learning phase flow chart
  • Log_feedback_1, 2, 3 -> folders containing data and parameters from Feedback Control algorithm testing
  • Log_learning ... -> folder containing data and parameters from the learning phase, as well as the Q-table
  • rqt_graphs -> folder containing rqt graphs in ROS
  • scripts -> python scripts
    • Control.py -> functions for robot control, Odometry message processing and setting robot's initial position
    • Lidar.py -> functions for Lidar message processing and discretization
    • Qlearning.py -> functions for Q-learning algorithm
    • Plots.py -> plotting the data from learning phase and Q-table
    • scan_node.py -> initializing the node for displaying the Lidar measurements and the current state of the agent
    • learning_node.py -> initializing the node for learning session
    • feedback_control_node.py -> initializing the node for applying Feedback Control algorithm
    • control_node.py -> initializing the node for applying the Q-learning algorithm combined with Feedback control
    • learning phase flow chart -> flow chart of the learning phase of the algorithm

autonomous-driving-turtlebot-with-reinforcement-learning's People

Contributors

bernard3073 avatar lukovicaleksa avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.