Rl Botics

Deep Reinforcement Learning Toolbox for Robotics using Keras and TensorFlow
Alternatives To Rl Botics
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Keras58,5633309 hours ago68May 13, 2022391apache-2.0Python
Deep Learning for humans
Data Science Ipython Notebooks25,025
a month ago33otherPython
Data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe, Keras), scikit-learn, Kaggle, big data (Spark, Hadoop MapReduce, HDFS), matplotlib, pandas, NumPy, SciPy, Python essentials, AWS, and various command lines.
Netron23,12146320 hours ago489July 04, 202228mitJavaScript
Visualizer for neural network, deep learning, and machine learning models
a month ago5March 05, 20191,947otherPython
Mask R-CNN for object detection and instance segmentation on Keras and TensorFlow
100 Days Of Ml Code19,753
a year ago9mitJupyter Notebook
D2l En18,092
2 days ago106otherPython
Interactive deep learning book with multi-framework code, math, and discussions. Adopted at 400 universities from 60 countries including Stanford, MIT, Harvard, and Cambridge.
2 days ago19July 01, 2022989otherC++
ncnn is a high-performance neural network inference framework optimized for the mobile platform
Onnx14,89314824513 hours ago26June 18, 2022388apache-2.0Python
Open standard for machine learning interoperability
Best Of Ml Python13,788
2 days ago19cc-by-sa-4.0
🏆 A ranked list of awesome machine learning Python libraries. Updated weekly.
Horovod13,34220103 days ago72June 21, 2022347otherPython
Distributed training framework for TensorFlow, Keras, PyTorch, and Apache MXNet.
Alternatives To Rl Botics
Select To Compare

Alternative Project Comparisons


RL-botics is a toolbox with highly optimized implementations of Deep Reinforcement Learning algorithms for robotics developed with Keras and TensorFlow in Python3.

The objective was to have modular, clean and easy to read codebase so that the research community may build on top with ease. The implementations can be integrated with OpenAI Gym environments. The majority of the algorithms are Policy Search Methods as the toolbox is targetted for robotic applications.



Conda Environment

It is highly recommended to install this package in a virtual environment, such as Miniconda. Please find the Conda installation here.

To create a new conda environment called RL:

conda create -n RL python=3

To activate the environment:

source activate RL

To deactivate the environment:

source deactivate


To install the package, we recommend cloning the original package:

git clone https://github.com/Suman7495/rl-botics.git
cd rl-botics
pip install -e .


To run any algorithm in the default setting, simply run:

cd rl_botics/<algo>/
python main.py

For example, to run TRPO:

cd rl_botics/trpo/
python main.py

Numerous other options can be added too, but it is recommended to modify the hyerperparameters in hyperparameters.py.


The algorithms implemented are:

To be added:


All environments are in the envs directory. The environments available currently are:

  • Field Vision Rock Sampling (FVRS): A POMDP environment where the agent has to collect good rocks from partial observability.
  • Table Continuous: A POMDP environment emulation Human Robot Collaboration. The objective of the robot is to remove dirty dishes from the table without colliding with the human.

Toolbox Structure

All the algorithms are in the rl_botics directory. Each algorithm specified above has an individual directory.


The directory common contains common modular classes to easily build new algorithms.

  • approximators: Basic Deep Neural Networks (Dense, Conv, LSTM).
  • data_collection: Performs rollouts and collect observations and rewards
  • logger: Log training data and other information
  • plotter: Plot graphs
  • policies: Common policies such as Random, Softmax, Parametrized Softmax and Gaussian Policy
  • utils: Functions to compute the expected return, the Generalized Advantage Estimation (GAE), etc.

Algorithm Directories

Each algorithm directory contains at least 3 files:

  • main.py: Main script to run the algorithm
  • hyperparameters.py: File to contain the default hyperparameters
  • <algo>.py: Implementation of the algorithm
  • utils.py: (Optional) File containing some utility functions

Some algorithm directories may have additional files specific to the algorithm.


To contribute to this package, it is recommended to follow this structure:

  • The new algorithm directory should at least contain the 3 files mentioned above.
  • main.py should contain at least the following functions:
    • main: Parses input argument, builds the environment and agent, and train the agent.
    • argparse: Parses input argument and loads default hyperparameters from hyperparameter.py.
  • <algo>.py should contain at least the following methods:
    • __init__: Initializes the classes
    • _build_graph: Calls the following methods to build the TensorFlow graph:
      • _init_placeholders: Initialize TensorFlow placeholders
      • _build_policy: Build policy TensorFlow graph
      • _build_value_function: Build value function TensorFlow graph
      • _loss: Build policy loss function TensorFlwo graph
    • train: Main training loop called by main.py
    • update_policy: Update the policy
    • update_value: Update the value function
    • print_results: Print the training results
    • process_paths: (optional) Process collected trajectories to return the feed dictionary for TensorFlow

It is recommended to check the structure of ppo.py and follow a similar structure.


Suman Pal


MIT License.

Popular Tensorflow Projects
Popular Keras Projects
Popular Machine Learning Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Machine Learning
Deep Learning
Reinforcement Learning
Machine Learning Algorithms
Deep Reinforcement Learning
Openai Gym
Q Learning
Policy Gradient