This repository contains the code for the PyRoboLearn (PRL) framework: a Python framework for Robot Learning. This framework revolves mainly around 7 axes: simulators, worlds, robots, interfaces, learning tasks (= environment and policy), learning models, and learning algorithms.
Warning: The development of this framework is ongoing, and thus some substantial changes might occur. Sorry for the inconvenience.
The framework has been tested with Python 2.7, 3.5 and 3.6, on Ubuntu 16.04 and 18.04. The installation on other OS is experimental.
There are two ways to install the framework:
1. First download the pip
Python package manager and create a virtual environment for Python as described in the following link: https://packaging.python.org/guides/installing-using-pip-and-virtualenv/
On Ubuntu, you can install pip
and virtualenv
by typing in the terminal:
sudo apt install python-pip
sudo pip install virtualenv
sudo apt install python3-pip
sudo pip install virtualenv
You can then create the virtual environment by typing:
virtualenv -p /usr/bin/python<version> <virtualenv_name>
# activate the virtual environment
source <virtualenv_name>/bin/activate
where <version>
is the python version you want to use (select between 2.7
or 3.5
), and <virtualenv_name>
is a name of your choice for the virtual environment. For instance, it can be py2.7
or py3.5
.
To deactivate the virtual environment, just type:
deactivate
setup.py
In Python 2.7:
git clone https://github.com/robotlearn/pyrobolearn
cd pyrobolearn
pip install numpy cython
pip install http://github.com/cornellius-gp/gpytorch/archive/alpha.zip # this is for Python 2.7
pip install -e . # this will install pyrobolearn as well as the required packages (so no need for: pip install -r requirements.txt)
In Python 3.5:
git clone https://github.com/robotlearn/pyrobolearn
cd pyrobolearn
pip install numpy cython
pip install gpytorch # this is for Python 3.5
pip install -e . # this will install pyrobolearn as well as the required packages (so no need for: pip install -r requirements.txt)
Depending on your computer configuration and the python version you use, you might need to install also the following packages through apt-get
:
sudo apt install python-tk # if python 2.7
sudo apt install python3-tk # if python 3.5
At the moment the docker is a self contained Ubuntu image with all the libraries installed. When launched we have access to a Python3.6 interpreter and we can import pyrobolearn directly. In the future, ROS may be splitted in another container and linked to this one.
sudo apt-get update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable # you should replace bionic by your version
sudo apt update
sudo apt install docker-ce
sudo systemctl status docker # check that docker is active
docker build -t pyrobolearn .
You can now start the python interpreter with every library already installed
docker run -p 11311:11311 -v $PWD/dev:/pyrobolearn/dev/:rw -ti pyrobolearn python3
To open an interactive terminal in the docker image use:
docker run -p 11311:11311 -v $PWD/dev:/pyrobolearn/dev/:rw -ti pyrobolearn /bin/bash
4. nvidia-docker if the GPU is not recognized in the interpreter, you can install nvidia-docker
curl -sL https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -sL https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install nvidia-docker2
sudo pkill -SIGHUP dockerd
And use:
nvidia-docker run -p 11311:11311 -v $PWD/dev:/pyrobolearn/dev/:rw -ti pyrobolearn
Note that some interfaces (like game controllers, depth camera, etc) might not be available on other OS, however the main robotic framework should work.
For nlopt, install first conda
, then type:
conda install -c conda-forge nlopt
If Pybullet doesn't install on Windows (using visual studio), you might have to copy rc.exe
and rc.dll
from
C:\Program Files (x86)\Windows Kits\10\bin\<xx.x.xxxx.x>\x64
to
C:\Program Files (x86)\Windows Kits\10\bin\x86
And add the last folder to the Windows environment path (Go to System Properties
> Advanced
> Environment Variables
> Path
> Edit
).
Finally, remove the nlopt package from the requirements.txt
. The rest of the installation should be straightforward.
2. Mac OSX: We managed to install the PyRoboLearn framework on MacOSX (Mojave) by following the procedures explained in the section
"Virtualenv & Pip". You can replace the sudo apt install
by brew install
(after installing Homebrew).
Check the README.rst
file in the examples
folder.
PyRoboLearn is currently released under the GNU GPLv3 license.
For how to cite this repository, please refer to the CITATION.rst
file.
If you use a specific learning model, algorithm, robot, controller, and so on, please cite the corresponding paper. The reference(s) can usually be found in the class documentation (at the end), and sometimes in the README file in the corresponding folder.
Currently, we mainly use the PyBullet simulator.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。