# deep-rl-grasping
**Repository Path**: atari/deep-rl-grasping
## Basic Information
- **Project Name**: deep-rl-grasping
- **Description**: 同步 https://github.com/BarisYazici/deep-rl-grasping
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-10-14
- **Last Updated**: 2021-10-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Deep Reinforcement Learning on Robotics Grasping
Train robotics model with integrated curriculum learning-based gripper environment. Choose from different perception layers depth, RGB-D. Run pretrained models with SAC, BDQ and DQN algorithms. Test trained algorithms in different scenes and domains.
Master's thesis [PDF](https://github.com/BarisYazici/masters_thesis/blob/master/final_report.pdf)
### Prerequisites
Install anaconda. Start a clean conda environment.
```
conda create -n grasp_env python=3.6
conda activate grasp_env
```
## Installation
Use pip to install the dependencies. If you have a gpu you might need to install tensorflow based on your system requirements.
```
pip install -e .
```
## Run Models
train_stable_baselines script provides the functionality of **running** and **training** models.
For running models *'manipulation_main/training/train_stable_baselines.py'* takes the following arguments
* --model - trained model file e.g trained_models/SAC_full_depth_1mbuffer/best_model/best_model.zip
* -t - use test dataset if not given runs on training dataset
* -v - visualize the model (faster without the -v option)
* -s - run stochastic model if not deterministic
For running functionality *run* sub-parser needs to be passed to the script.
```
python manipulation_main/training/train_stable_baselines.py run --model trained_models/SAC_full_depth_1mbuffer/best_model/best_model.zip -v -t
```
## Train models
For training models *'manipulation_main/training/train_stable_baselines.py'* takes the following arguments
* --config - config file (e.g *'config/simplified_object_picking.yaml'* or *'config/gripper_grasp.yaml'*)
* --algo - algorithm to use(e.g BDQ, DQN, SAC, TRPO)
* --model_dir - name of the folder to host the trained model logs and best performing model on validation set.
* -sh - use shaped reward function (Only makes sense for Full Environment version)
* -v - visualize the model
For training functionality *train* sub-parser needs to be passed to the script.
```
python manipulation_main/training/train_stable_baselines.py train --config config/gripper_grasp.yaml --algo SAC --model_dir trained_models/SAC_full --timestep 100000 -v
```
## Running the tests
To run the gripperEnv related test use
```
pytest tests_gripper
```
* **Domain and Scene Transfer**
* **Different Perception Layers**
* **Ablation Studies**
* **Training Environment**
* **Domain transfer performance**
## Authors
* **Baris Yazici** - *Initial work* - [BarisYazici](https://github.com/BarisYazici)
## Citing the Project
To cite the master's thesis:
```
@MastersThesis{Yazici2020,
author = {Yazici Baris},
title = {{Branch Dueling Deep Q-Networks for Robotics Applications}},
school = {Technical University of Munich},
year = {2020},
howpublished = {\url{https://github.com/BarisYazici/tum_masters_thesis}}
}
```
## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
## Acknowledgments
* Mahmoud Akl (supervisor)
* Breyer Michel (author of https://arxiv.org/abs/1803.04996)
* https://github.com/atavakol/action-branching-agents