Git Product home page Git Product logo

visualcollisionarm's Introduction

End-to-End Visual Obstacle Avoidance for a Robotic Manipulator using Deep Reinforcement Learning

About The Project

This project uses a DRL algorithm (TD3) to perform a goal-reaching task for a robotic arm, while avoiding obstacles using camera images. This is the result of my master thesis, which can be found here.

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Installation

This project was tested using python versions 3.7.10 and 3.8.8, but any recent python version should work.

  1. Clone the repo

    git clone https://github.com/fpadula/visualcollisionarm
  2. Navigate to the Python Scripts folder and create a new virtualenv

    cd python_scripts/
    python -m virtualenv venv
  3. Enable the virtualenv and install all the necessary python packages

    source venv/bin/activate
    pip install -r python_packages.txt

Usage

  1. Run a pre-trained model with a single agent using visual and scalar inputs, and enable input visualization

    python src/trainer.py --run_id VisualModel --config_file configs/base_config_visual_aug.yaml --device cuda --exec_type eval --env_location simu_envs/SingleAgentVisualization/scene.x86_64 --simu_spd 1 --eval_episodes 10 --seed 1 --visualize_input true
  2. Run a pre-trained model using multiple agents that uses visual and scalar values

    python src/trainer.py --run_id VisualModel --config_file configs/base_config_visual_aug.yaml --device cuda --exec_type eval --env_location simu_envs/AllAgentsVisual/scene.x86_64 --simu_spd 1
  3. Run a pre-trained model using multiple agents that uses only scalar values

    python src/trainer.py --run_id ScalarModel --config_file configs/base_config.yaml --device cuda --exec_type eval --env_location simu_envs/AllAgentsScalar/scene.x86_64 --simu_spd 1
  4. Gym-Wrapper example; running a random policy:

    python examples/gym_api.py

To-do

  • Organize the code a little bit better
  • Add more usage examples

visualcollisionarm's People

Contributors

fpadula avatar clr-cera 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.