Giter Site home page Giter Site logo

pablospuzzlingpendulum's Introduction

PablosPuzzlingPendulum

This repository is a final "dump" of an university project (bachelor thesis-level), which aimed at implementing methods to control a robot arm perform a pendulum swing up. As it was a very deadline-driven project, the code commits might not be as clean as desired. The final PDF describing in the project and experimental results can be found here:

github pdf reader
download prompt

Structure of project and repo

The aim of the project was to try to make a robot arm (see picture) swing up and balance a pendulum.

image of robot set up

The repository contains several folders with a specific functionality.

  • communication implements the low-level data communication to send commands and receive observations from sensors from an arduino to a pc over USB.
  • micro contains the code running on an arduino, which is required for repaying movement commands to a servo motor and relaying sensor data for motor joint positions and pendulum positions.
  • mm stands for mathematical modeling. This folder contains code for simulating the pendulum environment.
  • ourgym implements an openAI gym interface for both the simulation and the "real-world" control of the robot. This makes it easier to test reinforcement learning algorithms on the robot.
  • rl implements several reinforcement learning algorithms, including "normal" tabular SARSA as well as DQN and actor-critic.
  • simulationshould be part of the ourgym folder.
  • vision has some code experimenting with using a camera to predict the pendulum position. Ultimately not used.

In the root folder there are some scripts to automate experimenting with all the algorithms. These were used in a google-cloud environment to run simulations.

pablospuzzlingpendulum's People

Contributors

swengeler avatar jlvelasquezsosa avatar nikvaessen avatar pablopsoto avatar

Stargazers

Michael Corrado avatar

Watchers

Herredro avatar  avatar  avatar  avatar  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.