Git Product home page Git Product logo

giorgiaauroraadorni / learning-relative-interactions-through-imitation Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 36.98 MB

Project assignment for Robotics course @USI19/20. Learn to perform specific interactions between the robot and objects in the environment.

Home Page: https://gitlab.com/GiorgiaAuroraAdorni/learning-relative-interactions-through-imitation

License: Apache License 2.0

TeX 73.86% Shell 0.06% Python 26.08%
imitation-learning pytorch python3 neural-network robotics marxbot enki simulations controller

learning-relative-interactions-through-imitation's Introduction

learning-relative-interactions-through-imitation

Project for Robotics course @ USI 19/20.
See https://gitlab.com/GiorgiaAuroraAdorni/learning-relative-interactions-through-imitation and https://drive.google.com/drive/folders/1J0SKQ7mXedDJUBa_mRUZPTQXVFbu7CAH?usp=sharing for datasets and models.

Contributors

Giorgia Adorni - [email protected] GiorgiaAuroraAdorni

Elia Cereda - [email protected] EliaCereda

Prerequisites

  • Python 3
  • Enki
  • PyTorch

Installation

To install Enki follow the following instructions: https://jeguzzi.github.io/enki/intro.html.

Clone our repository and install the requirements

$ git clone https://github.com/GiorgiaAuroraAdorni/learning-relative-interactions-through-imitation
$ cd learning-relative-interactions-through-imitation
$ pip install -r requirements.txt

Usage

To receive help on how to run the script, execute:

$ python scripts/task1.py --help

> usage: task1.py [-h] [--gui] [--n-simulations N]
                  [--initial-poses {uniform,uniform-radius,demo-circle,demo-various,load}]
                  [--initial-poses-file INITIAL_POSES_FILE] [--generate-dataset]
                  [--goal-object {station,coloured_station}] [--plots-dataset]
                  [--generate-splits] [--controller CONTROLLER]
                  [--dataset-folder DATASET_FOLDER] [--dataset DATASET]
                  [--models-folder MODELS_FOLDER]
                  [--tensorboard-folder TENSORBOARD_FOLDER] [--model MODEL]
                  [--arch {convnet,convnet_maxpool}] [--loss {mse,smooth_l1}]
                  [--dropout [DROPOUT]] [--train-net] [--evaluate-net]
                  [--compare-models]

Imitation Learning - Task1

optional arguments:
  -h, --help            show this help message and exit
  --gui                 run simulation using the gui (default: False)
  --n-simulations N     number of runs for each simulation (default: 1000)
  --initial-poses {uniform,uniform-radius,demo-circle,demo-various,load}
                        choose how to generate the initial positions for each
                        run, between uniform, uniform-radius, demo-circle,
                        demo-various and load (default: uniform)
  --initial-poses-file INITIAL_POSES_FILE
                        name of the file where to store/load the initial poses
  --generate-dataset    generate the dataset containing the n_simulations
                        (default: False)
  --goal-object {station,coloured_station}
                        choose the type of goal object between station and
                        coloured_station (default: station)
  --plots-dataset       generate the plots of regarding the dataset (default:
                        False)
  --generate-splits     generate dataset splits for training, validation and
                        testing (default: False)
  --controller CONTROLLER
                        choose the controller for the current execution
                        usually between all, learned and omniscient (default:
                        all)
  --dataset-folder DATASET_FOLDER
                        name of the directory containing the datasets
                        (default: datasets)
  --dataset DATASET     choose the datasets to use in the current execution
                        (default: all)
  --models-folder MODELS_FOLDER
                        name of the directory containing the models (default:
                        models)
  --tensorboard-folder TENSORBOARD_FOLDER
                        name of the directory containing Tensorboard logs
                        (default: tensorboard)
  --model MODEL         name of the model (default: net1)
  --arch {convnet,convnet_maxpool}
                        choose the network architecture to use for training
                        the network, between convnet and convnet_maxpool
                        (default: convnet)
  --loss {mse,smooth_l1}
                        choose the loss function to use for training or
                        evaluating the network, between mse and smooth_l1
                        (default: mse)
  --dropout [DROPOUT]   enable dropout after fully-connected layers,
                        optionally setting theprobability of randomly dropping
                        neuron outputs (default: off, default probability:
                        0.5)
  --train-net           train the model (default: False)
  --evaluate-net        generate the plots regarding the model (default:
                        False)
  --compare-models      compare the losses of some models (default: False)

Tasks

Launch file task1.py or task2.py

learning-relative-interactions-through-imitation's People

Contributors

dependabot[bot] avatar eliacereda avatar giorgiaauroraadorni avatar

Watchers

 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.