pyrobolearn  by robotlearn

Python framework for robot learning

created 6 years ago
409 stars

Top 72.3% on sourcepulse

GitHubView on GitHub
Project Summary

PyRoboLearn (PRL) is a Python framework designed for robot learning research and development. It provides a structured approach to integrating simulators, robots, learning tasks, models, and algorithms, aiming to streamline the experimentation process for researchers and engineers in robotics.

How It Works

PRL is built around seven core axes: simulators, worlds, robots, interfaces, learning tasks (environment and policy), learning models, and learning algorithms. This modular design allows for flexible configuration and experimentation with different combinations of these components. The framework emphasizes a unified interface for various simulators and robot platforms, abstracting away low-level implementation details.

Quick Start & Requirements

  • Installation:
    • Virtualenv & Pip: Clone the repository, create a virtual environment (virtualenv -p /usr/bin/python<version> <virtualenv_name>), activate it (source <virtualenv_name>/bin/activate), and run pip install -e .. Requires numpy, cython, and gpytorch (or a specific alpha version for Python 2.7).
    • Docker: Build the image with docker build -t pyrobolearn . and run with docker run -p 11311:11311 -v $PWD/dev:/pyrobolearn/dev/:rw -ti pyrobolearn python3. For GPU support, use nvidia-docker run.
  • Prerequisites: Tested with Python 2.7, 3.5, 3.6 on Ubuntu 16.04/18.04. tk package might be needed. Windows installation requires manual setup of PyBullet and NLopt. macOS installation is experimental.
  • Resources: Docker image includes all libraries. GPU support requires nvidia-docker2.
  • Docs: Examples are available in the examples folder's README.rst.

Highlighted Details

  • Supports integration with multiple simulators, primarily PyBullet.
  • Modular design around seven key components for flexible robot learning experiments.
  • Provides a unified interface for robots, environments, and learning algorithms.
  • Includes locomotion controllers from Songyan Xin.

Maintenance & Community

The project is under active development, with a warning that substantial changes may occur. Acknowledgements mention contributions from Songyan Xin and Daniele Bonatto.

Licensing & Compatibility

Released under the GNU GPLv3 license. This license may impose copyleft restrictions on derivative works, potentially impacting commercial or closed-source use.

Limitations & Caveats

The framework is under ongoing development, and some interfaces may not be available on operating systems other than Linux. Windows and macOS installation procedures are noted as experimental or requiring specific workarounds.

Health Check
Last commit

2 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
2 stars in the last 90 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), Nathan Lambert Nathan Lambert(AI Researcher at AI2), and
1 more.

tianshou by thu-ml

0.1%
9k
PyTorch RL library for algorithm development and application
created 7 years ago
updated 2 days ago
Feedback? Help us improve.