Giter VIP home page Giter VIP logo

pyreach's Introduction

PyReach

PyReach is an implementation of point-to-point arm reaching motions. Dynamics of the upper-limb has been simplified to a two-link-arm model. The goal is to replicate classical motor control experiments using various control schemes from classical approaches to RL-based methods.

image

What's Here

  • A gym-compatible environment of the upper-limb.
  • Three controllers:
    • Impedance-based.
    • Soft actor-critic (SAC).
    • Deep Deterministic Policy Gradiant (DDPG).
  • Tools to replicate motor control experiments.

File Description:

  • Arm:

    • arm_params.py

      Mechanical properties of the upper-limb.

    • Arm2DEnv.py

      A gym-like environment of goal-directed arm movement.

  • Controllers:

    • imp_ctrl.py

      Classical impendace control based on minimum-jerk trajectory.

    • sac.py

      Train soft actor-critic controller.

    • ddpg

      Train deep deterministic policy gradiant controller.

  • Tools

    • mainReach.ipynb

      Hook a controller to the environment and visualize trajectories, rewards, etc.

    • mainExperiment.ipynb

      Hook a controller to the environment and visualize experimental results.

    • utils.py

      Helper functions for all codes.

  • Results image

How to Run:

If you want to train an RL controller (SAC, or DDPG), run the corresponding code. When running the training code a snapshot of all codes will be saved to ./sandbox/ directory marked with a timestamp and the name of the algorithm. All training logs will be saved to the same directory. While the training is in progress, you can load the logs and the model's checkpoint using the snapshots of the codes and visualzie results.


Alireza Rezazadeh | [email protected] | Fall 2020

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.