Code Monkey home page Code Monkey logo

dwa-rl's Introduction

HybridReinforcementLearning

Package that combines reinforcement learning with Dynamic Window Approach

Training iterations

  1. Trained wirth discretized lidar data and policy converged to a stable reward value

  2. Traind with DWA costs as input and rewarded for going towards goal and reaching the goal. It was penalized for colliding, diverging from goal and choosing velocities those are not feasible. In this case the model never converged. It might be because of the dynamic nature of the observations and the action space.

  3. In the 3rd iteration, I am sorting the DWA costs so that the network will have a structured input. This training also did not converge.

  4. Now rewarding the robot for going towards goal, executing velocity with linear component. and penalizing for colliding with something.

Different training scenarios

Instructions to run the Code

Initial setup instructions

git clone https://github.com/NithishkumarS/DWA-RL.git
cd DWA-RL
rosdep install --from-paths src --ignore-src -r -y
catkin_make

Once the dependencies are satisfied and after build is created, launch the training environment

roslaunch hybrid_rl_training 4_robot_3D1P.launch

Create a virtual environment with the requirements.txt

To start the training, activate the virtual environment

cd hybrid_rl_training/src
python stable_baselines.py <world-file-name> <Number-of-robots-to-train>

Sample scenario

python stable_baselines.py 4_robot_3D1P 2

To test the trained model in a gazebo world

cd hybrid_rl_training/src
python test_trained_model.py <world-file-name> <Number-of-robots-to-train> <robot-id-topic-name>

Sample scenario

python test_trained_model.py zigzag_3ped 1 0

Test scenarios

Link to the video Presentation.

dwa-rl's People

Contributors

nithishkumars avatar

Watchers

James Cloos 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.