#gym-gazebo This work presents an extension of the initial OpenAI gym for robotics using ROS and Gazebo. A whitepaper about this work is available at https:///abs/1608.05742(论文地址). Please use the following BibTex entry to cite our work: @misc{1608.05742,
Author = {Iker Zamora and Nestor Gonzalez Lopez and Victor Mayoral Vilches and Alejandro Hernandez Cordero},
Title = {Extending the OpenAI Gym for robotics: a toolkit for reinforcement learning using ROS and Gazebo},
Year = {2016},
Eprint = {arXiv:1608.05742},
} Visit erlerobotics/gym (主页)for more information and videos. The following are some of the available gazebo environments for the [Turtlebot]([Soccer environment]), one of the currently supported robots: GazeboCircuit2TurtlebotLidar-v0A simple circuit with straight tracks and 90 degree turns. Highly discretized LIDAR readings are used to train the Turtlebot. Scripts implementing Q-learning and Sarsa can be found in the examples folder. GazeboCircuit2TurtlebotLidarNn-v0A simple circuit with straight tracks and 90 degree turns. A LIDAR is used to train the Turtlebot. Scripts implementing DQN can be found in the examples folder. GazeboCircuit2cTurtlebotCameraNnEnv-v0A simple circuit with straight tracks and 90 degree turns with high contrast colors between the floor and the walls. A camera is used to train the Turtlebot. Scripts implementing DQN using CNN can be found in the examples folder. InstallationTable of Contents
DockerBuild/fetch the container: docker pull erlerobotics/gym-gazebo:latest # to fetch the container# docker build -t gym-gazebo . Enter the container docker run -it erlerobotics/gym-gazebo If you wish to run examples that require plugins like cameras, create a fake screen with: xvfb-run -s '-screen 0 1400x900x24' bash If you have an equivalent release of Gazebo installed locally, you can connect to the gzserver inside the container using gzclient GUI by setting the address of the master URI to the containers public address. export GAZEBO_MASTER_IP=$(sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}' 'id of running container')
export GAZEBO_MASTER_URI=$GAZEBO_MASTER_IP:11345
gzclient UbuntuRequirements
ROS IndigoInstall the Robot Operating System via: ros-indigo-desktop-full is the only recommended installation.
Gazebo
sudo sh -c 'echo 'deb http://packages./gazebo/ubuntu-stable `lsb_release -cs` main' > /etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages./gazebo.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get remove .*gazebo.* && sudo apt-get update && sudo apt-get install gazebo7 libgazebo7-dev Gym Gazebo Pipgit clone https://github.com/erlerobot/gym-gazebocd gym-gazebo
sudo pip install -e . DependenciesThere are two options to install dependencies: automatic installation or step-by-step installation Automatic installationInstall dependencies running setup.bash. If you are going to use DQN with Keras, also install Keras and Theano. cd gym_gazebo/envs/installation
bash setup.bash Before running a environment, load the corresponding setup script. For example, to load the Turtlebot execute:
cd gym_gazebo/envs/installation
bash turtlebot_setup.bash Step-by-step installationNeeds to be updated, use automatic installation. Keras and Theano installationThis part of the installation is required only for the environments using DQN. # install dependenciessudo pip install h5py
sudo apt-get install gfortran# install sript specific dependencies (temporal)sudo apt-get install python-skimage# install Theanogit clone git://github.com/Theano/Theano.gitcd Theano/
sudo python setup.py develop#isntall Kerassudo pip install keras dot_parser error fix: sudo pip install --upgrade pydot
sudo pip install --upgrade pyparsing Enablig GPU for TheanoFollow the instructions here and change $PATH instead of $CUDA_ROOT. Working on a clean installation of Ubuntu 14.04 using CUDA 7.5. The following flags are needed in order to execute in GPU mode, using an alias is recommended. THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32 UsageBuild and install gym-gazeboIn the root directory of the repository: sudo pip install -e . Running an environment
cd gym_gazebo/envs/installation
bash turtlebot_setup.bash Note: all the setup scripts are available in
cd examples/scripts_turtlebot
python circuit2_turtlebot_lidar_qlearn.py Display the simulationTo see what's going on in Gazebo during a simulation, simply run gazebo client: gzclient Display reward plotDisplay a graph showing the current reward history by running the following script: cd examples/utilities
python display_plot.py HINT: use Killing background processesSometimes, after ending or killing the simulation We recommend creating an alias to kill those processes. echo 'alias k='killall -9 gzserver gzclient roslaunch rosmaster'' >> ~/.bashrc |
|
来自: 爱因思念l5j0t8 > 《资料》