/learning_distribution_gan

Repository for the paper "Generative Adversarial Network to Learn Valid Distributions of Robot Configurations for Inverse Kinematics and Constrained Motion Planning"

Primary LanguageJupyter Notebook

Learning Constrained Distributions of Robot Configurations with Generative Adversarial Network#

In this work, we use Generative Adversarial Network (GAN) to estimate the distributions of high DoF robot configurations in a constraint manifold. It is then used for speeding up inverse kinematics and sampling-based constrained motion planning. This repository contains the code for this work.

Installation Procedure

Install scipy:

sudo apt-get install scipy

Install tensorflow:

pip install tensorflow

Install networkx:

pip install networkx

Install pinocchio:

see https://github.com/stack-of-tasks/pinocchio

Install transforms3d:

pip install transforms3d

Install pybullet:

pip install pybullet

Then run the following code in the main folder (tf_robot_learning) for installing the library :

pip install -e .

How to use the library

The library contains general tools for working with probability distributions of robotic systems. For running the specific experiments in the paper, you can look at the following notebooks:

talos_footfixed.ipynb,
talos_footmoved.ipynb,
2Drobot.ipynb,
panda.ipynb

in the notebook folder (tf_robot_learning/notebooks/motion_planning_sampling/).