PyRoboLearn:用于机器人学习的Python框架

网友投稿 785 2022-10-24

PyRoboLearn:用于机器人学习的python框架

PyRoboLearn:用于机器人学习的Python框架

PyRoboLearn

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.

Requirements

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.

Installation

There are two ways to install the framework:

using a virtual environment and pipusing a Docker

Virtualenv & Pip

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:

In Python 2.7:

sudo apt install python-pipsudo pip install virtualenv

In Python 3.5:

sudo apt install python3-pipsudo pip install virtualenv

You can then create the virtual environment by typing:

virtualenv -p /usr/bin/python # activate the virtual environmentsource /bin/activate

where is the python version you want to use (select between 2.7 or 3.5), and 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

clone this repository and install the requirements by executing the setup.py

In Python 2.7:

git clone https://github.com/robotlearn/pyrobolearncd pyrobolearnpip install numpy cythonpip install http://github.com/cornellius-gp/gpytorch/archive/alpha.zip # this is for Python 2.7pip 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/pyrobolearncd pyrobolearnpip install numpy cythonpip install gpytorch # this is for Python 3.5pip 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.7sudo apt install python3-tk # if python 3.5

Docker

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.

Install Docker and nvidia-docker

sudo apt-get updatesudo apt install apt-transport-https ca-certificates curl software-properties-commoncurl -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 versionsudo apt updatesudo apt install docker-cesudo systemctl status docker # check that docker is active

Build the image

docker build -t pyrobolearn .

Launch

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.listsudo apt-get updatesudo apt-get install nvidia-docker2sudo pkill -SIGHUP dockerd

And use:

nvidia-docker run -p 11311:11311 -v $PWD/dev:/pyrobolearn/dev/:rw -ti pyrobolearn

Other Operating Systems

Note that some interfaces (like game controllers, depth camera, etc) might not be available on other OS, however the main robotic framework should work.

Windows: You will have to install first PyBullet and NLopt beforehand.

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\\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).

How to use it?

Check the README.rst file in the examples folder.

License

PyRoboLearn is currently released under the GNU GPLv3 license.

Citation

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.

Acknowledgements

Currently, we mainly use the PyBullet simulator.

PyBullet, a Python module for physics simulation for games, robotics and machine learning, Erwin Coumans and Yunfei Bai, 2016-2019References for each robot, model, and others can be found in the corresponding class documentationLocomotion controllers were provided by Songyan XinWe thanks Daniele Bonatto for providing the Docker file, and test the installation on Windows.

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:2018年中学五大学科国际竞赛统计
下一篇:(转)【iOS】 iOS 使用View 为屏幕增加一个全屏的蒙层
相关文章

 发表评论

暂时没有评论,来抢沙发吧~