From 54c75ffef879ebb659bb82d5bc690bdb299c60c4 Mon Sep 17 00:00:00 2001 From: ruffsl Date: Tue, 30 Jun 2015 18:55:01 -0700 Subject: [PATCH 1/8] Adding Gazebo Docs --- gazebo/README-short.txt | 1 + gazebo/README.md | 15 +++++++++++++++ gazebo/content.md | 30 ++++++++++++++++++++++++++++++ gazebo/license.md | 1 + gazebo/logo.png | Bin 0 -> 8884 bytes update.sh | 1 + 6 files changed, 48 insertions(+) create mode 100644 gazebo/README-short.txt create mode 100644 gazebo/README.md create mode 100644 gazebo/content.md create mode 100644 gazebo/license.md create mode 100644 gazebo/logo.png diff --git a/gazebo/README-short.txt b/gazebo/README-short.txt new file mode 100644 index 00000000..8f5509b5 --- /dev/null +++ b/gazebo/README-short.txt @@ -0,0 +1 @@ +Gazebo is an open source project for simulating robots, offering robust physics and rendering. diff --git a/gazebo/README.md b/gazebo/README.md new file mode 100644 index 00000000..41186503 --- /dev/null +++ b/gazebo/README.md @@ -0,0 +1,15 @@ +# Supported tags and respective `Dockerfile` links + +%%TAGS%% + +For more information about this image and its history, please see the [relevant manifest file (`library/%%REPO%%`)](https://github.com/docker-library/official-images/blob/master/library/%%REPO%%) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images). + +%%CONTENT%%%%VARIANT%%%%LICENSE%% + +# Supported Docker versions + +%%DOCKER-VERSIONS%% + +# User Feedback + +%%USER-FEEDBACK%% diff --git a/gazebo/content.md b/gazebo/content.md new file mode 100644 index 00000000..8faa1386 --- /dev/null +++ b/gazebo/content.md @@ -0,0 +1,30 @@ +# What is [Gazebo](http://www.gazebosim.org/)? + +Robot simulation is an essential tool in every roboticist's toolbox. A well-designed simulator makes it possible to rapidly test algorithms, design robots, and perform regression testing using realistic scenarios. Gazebo offers the ability to accurately and efficiently simulate populations of robots in complex indoor and outdoor environments. At your fingertips is a robust physics engine, high-quality graphics, and convenient programmatic interfaces. Best of all, Gazebo is free with a vibrant community. + +> [wikipedia.org/wiki/Gazebo_simulator ](https://en.wikipedia.org/wiki/Gazebo_simulator) + +[%%LOGO%%](http://www.gazebosim.org/) + +# How to use this image + +## Create a `Dockerfile` in your Gazebo project + + FROM gazebo:gzserver5 + # place here your application's setup specifics + CMD [ "gzserver", "my-gazebo-app-args" ] + +You can then build and run the Docker image: + + docker build -t my-gazebo-app . + docker run -it --rm --name my-running-app my-gazebo-app + +# More Resources + +[Gazebosim.org](http://www.gazebosim.org/): Main Gazebo website +[Answers](http://answers.gazebosim.org/): Find answers and ask questions +[Wiki](https://bitbucket.org/osrf/gazebo/wiki): General information and tutorials +[Mailing List](https://groups.google.com/a/osrfoundation.org/d/forum/gazebo): Join for news and announcements +[Simulation Models](https://bitbucket.org/osrf/gazebo_models/src): Robots, objects, and other simulation models +[Blog](http://wiki.gazebosim.org/blog.html): Stay up-to-date +[OSRF](http://www.osrfoundation.org/): Open Source Robotics Foundation diff --git a/gazebo/license.md b/gazebo/license.md new file mode 100644 index 00000000..620846f3 --- /dev/null +++ b/gazebo/license.md @@ -0,0 +1 @@ +Gazebo is open-source licensed under [Apache 2.0](http://opensource.org/licenses/Apache-2.0). diff --git a/gazebo/logo.png b/gazebo/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a641b1a681009f7544ddc8c8e4567d8421f1c3c6 GIT binary patch literal 8884 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 TvDyf@VFFT=SCy-lF$?}5Pw@c2 literal 0 HcmV?d00001 diff --git a/update.sh b/update.sh index 8cc47533..d672cf47 100755 --- a/update.sh +++ b/update.sh @@ -32,6 +32,7 @@ declare -A otherRepos=( [debian]='https://github.com/tianon/docker-brew-debian' [docker-dev]='https://github.com/docker/docker' [fedora]='https://github.com/lsm5/docker-brew-fedora' + [gazebo]='https://github.com/osrf/docker_images' [glassfish]='https://github.com/aws/aws-eb-glassfish' [haskell]='https://github.com/freebroccolo/docker-haskell' [hipache]='https://github.com/dotcloud/hipache' From edba487e7034f32672f5f1c4d17c33f6fa8fb9ff Mon Sep 17 00:00:00 2001 From: ruffsl Date: Mon, 13 Jul 2015 13:36:30 -0700 Subject: [PATCH 2/8] Adding notes on uses cases, ports and volumes --- gazebo/content.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gazebo/content.md b/gazebo/content.md index 8faa1386..2ec56c7f 100644 --- a/gazebo/content.md +++ b/gazebo/content.md @@ -19,6 +19,24 @@ You can then build and run the Docker image: docker build -t my-gazebo-app . docker run -it --rm --name my-running-app my-gazebo-app +## Specific use cases + +This dockerized image of Gazebo is intended to provide a simplified and consistent platform to build and deploy cloud based robotic simulations. Built from the [official Ubuntu image](https://registry.hub.docker.com/_/ubuntu/) and installed from Gazebo's official Debian packages, included are recent supported releases for quick access and download. This provides roboticist in research and industry an easy way to developed continious intergration & testing on training for autonomous actions and task planning, control dynamics and regions of stability, kinematic modeling and prototype characterization, localization and mapping algorithms, swarm behavior and networking, as well as general system integration and validation. + +Conducting such complex simulations with high validity remains computationally demanding, and often times outside the capacity of the modest local workstation. With the added complexity of the algorithm being benchmarked, we soon can exceed the capacity of even the most formidable servers. That is why a more distributed approach remains attractive for those who begin to encounter limitations of a centralized computing host. However, the added complication of building and maintaining a distributed testbed over a set of clusters has for while required more time and effort than many smaller labs and businesses would have deemed appropriate to implement. + +Now with the advancements and standardization of software containers, roboticist are primed to acquire a host of improved developer tooling for building and shipping software. To help alleviate the growing pains and technical challenges of adopting new practices, we have focused on providing an official resource for using Gazebo with these new technologies. + +## Deployment suggestions + +### Ports + +The `gzserver` tags are built for small a footprint and simple configuration, as they only include the requared Gazebo dependencies. Using the command `docker run gazebo` will launch the latests release of `gzserver` inside a new container using via the `gzserver_entrypoint.sh` script. In addition, the standard messaging port `11345` is also exposed for client connections and messages API. + +### Volumes + +Gazebo uses the `~/.gazebo/` directory for storing logs, models and scene info, and is simply created if such does not already exist. These files you may wish to remain persistent through life cycles of containers, so that log records can be saved and archived, and large custom models imported and reused. To do this, the absolute directory of the `.gazebo` folder can be mounted to an external volume on the host, by default the container entry point uses the `root` user, so `/root/.gazebo/` would be the default path. + # More Resources [Gazebosim.org](http://www.gazebosim.org/): Main Gazebo website From 9d7f12db661228ec45ad42865e79c20ddb86f5de Mon Sep 17 00:00:00 2001 From: ruffsl Date: Mon, 13 Jul 2015 15:00:43 -0700 Subject: [PATCH 3/8] Adding notes on devices and volumes --- gazebo/content.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gazebo/content.md b/gazebo/content.md index 2ec56c7f..1eaf5260 100644 --- a/gazebo/content.md +++ b/gazebo/content.md @@ -37,6 +37,18 @@ The `gzserver` tags are built for small a footprint and simple configuration, as Gazebo uses the `~/.gazebo/` directory for storing logs, models and scene info, and is simply created if such does not already exist. These files you may wish to remain persistent through life cycles of containers, so that log records can be saved and archived, and large custom models imported and reused. To do this, the absolute directory of the `.gazebo` folder can be mounted to an external volume on the host, by default the container entry point uses the `root` user, so `/root/.gazebo/` would be the default path. +For example, if one whishes to use there own `.gazebo` folder that already resisdes in there local home dirtory, with a username of `ubuntu`, we can simple launch the conainer with a few addintal volume arguments: + + docker run -v "/home/ubuntu/.gazebo/:/root/.gazebo/" gazebo + +One thing to becareful about is that gzserver logs to a file named `gzserver-`, where `` is the port number that server is listening too. If you run and mount multiple containers using the same defult port and same host side directory, then they may colide when attemtimg to write to the same file. If you want to run multiple gzservers on the same docker host, then a bit more clever mounting, with shared volume of the model folder, but diffrent volumes for log folders, could be done instead. + +### Devices + +As of Gazebo verssion 5.0, physics simulation under a headless instances of gzserver works fine. Howerver some application may requare image rendering camera views and ray traces for other sensors types. For Gazebo, this still requares a running X server for rendering and capturing purposes. In addion, graphical hardware acceleration is also needed for any resonable realtime framerates. To this extent, mounting additinal graphic devices into container and linking a X server connection is quite feasable. But in the intrest of maintianing a genale and minimalistic image, as well as avoiding any unnesary X server vonerabilaties or driver specifics, we do not include such tags here the offical repo. You can however use this repo to build and cosomize your own images to fit your custome hardware configuration. + +Please view OSRF's Docker Hub orginisation profile for the onbuild Gazebo repo at [osrf/gazebo](https://registry.hub.docker.com/u/osrf/gazebo/) that includes helpful examples and demos using GPUs to enable server side rendering. + # More Resources [Gazebosim.org](http://www.gazebosim.org/): Main Gazebo website From a8490506f559c4775c4470a3deef753b0c8e521c Mon Sep 17 00:00:00 2001 From: ruffsl Date: Tue, 14 Jul 2015 10:25:13 -0700 Subject: [PATCH 4/8] Spellchecking --- gazebo/content.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gazebo/content.md b/gazebo/content.md index 1eaf5260..deeeb7f7 100644 --- a/gazebo/content.md +++ b/gazebo/content.md @@ -1,6 +1,6 @@ # What is [Gazebo](http://www.gazebosim.org/)? -Robot simulation is an essential tool in every roboticist's toolbox. A well-designed simulator makes it possible to rapidly test algorithms, design robots, and perform regression testing using realistic scenarios. Gazebo offers the ability to accurately and efficiently simulate populations of robots in complex indoor and outdoor environments. At your fingertips is a robust physics engine, high-quality graphics, and convenient programmatic interfaces. Best of all, Gazebo is free with a vibrant community. +Robot simulation is an essential tool in every roboticists’ toolbox. A well-designed simulator makes it possible to rapidly test algorithms, design robots, and perform regression testing using realistic scenarios. Gazebo offers the ability to accurately and efficiently simulate populations of robots in complex indoor and outdoor environments. At your fingertips is a robust physics engine, high-quality graphics, and convenient programmatic interfaces. Best of all, Gazebo is free with a vibrant community. > [wikipedia.org/wiki/Gazebo_simulator ](https://en.wikipedia.org/wiki/Gazebo_simulator) @@ -21,7 +21,7 @@ You can then build and run the Docker image: ## Specific use cases -This dockerized image of Gazebo is intended to provide a simplified and consistent platform to build and deploy cloud based robotic simulations. Built from the [official Ubuntu image](https://registry.hub.docker.com/_/ubuntu/) and installed from Gazebo's official Debian packages, included are recent supported releases for quick access and download. This provides roboticist in research and industry an easy way to developed continious intergration & testing on training for autonomous actions and task planning, control dynamics and regions of stability, kinematic modeling and prototype characterization, localization and mapping algorithms, swarm behavior and networking, as well as general system integration and validation. +This dockerized image of Gazebo is intended to provide a simplified and consistent platform to build and deploy cloud based robotic simulations. Built from the [official Ubuntu image](https://registry.hub.docker.com/_/ubuntu/) and installed from Gazebo's official Debian packages, included are recent supported releases for quick access and download. This provides roboticist in research and industry an easy way to developed continuous integration & testing on training for autonomous actions and task planning, control dynamics and regions of stability, kinematic modeling and prototype characterization, localization and mapping algorithms, swarm behavior and networking, as well as general system integration and validation. Conducting such complex simulations with high validity remains computationally demanding, and often times outside the capacity of the modest local workstation. With the added complexity of the algorithm being benchmarked, we soon can exceed the capacity of even the most formidable servers. That is why a more distributed approach remains attractive for those who begin to encounter limitations of a centralized computing host. However, the added complication of building and maintaining a distributed testbed over a set of clusters has for while required more time and effort than many smaller labs and businesses would have deemed appropriate to implement. @@ -31,21 +31,21 @@ Now with the advancements and standardization of software containers, roboticist ### Ports -The `gzserver` tags are built for small a footprint and simple configuration, as they only include the requared Gazebo dependencies. Using the command `docker run gazebo` will launch the latests release of `gzserver` inside a new container using via the `gzserver_entrypoint.sh` script. In addition, the standard messaging port `11345` is also exposed for client connections and messages API. +The `gzserver` tags are built for small a footprint and simple configuration, as they only include the required Gazebo dependencies. Using the command `docker run gazebo` will launch the latests release of `gzserver` inside a new container using via the `gzserver_entrypoint.sh` script. In addition, the standard messaging port `11345` is also exposed for client connections and messages API. ### Volumes Gazebo uses the `~/.gazebo/` directory for storing logs, models and scene info, and is simply created if such does not already exist. These files you may wish to remain persistent through life cycles of containers, so that log records can be saved and archived, and large custom models imported and reused. To do this, the absolute directory of the `.gazebo` folder can be mounted to an external volume on the host, by default the container entry point uses the `root` user, so `/root/.gazebo/` would be the default path. -For example, if one whishes to use there own `.gazebo` folder that already resisdes in there local home dirtory, with a username of `ubuntu`, we can simple launch the conainer with a few addintal volume arguments: +For example, if one wishes to use their own `.gazebo` folder that already resides in their local home directory, with a username of `ubuntu`, we can simple launch the container with a few additional volume arguments: docker run -v "/home/ubuntu/.gazebo/:/root/.gazebo/" gazebo -One thing to becareful about is that gzserver logs to a file named `gzserver-`, where `` is the port number that server is listening too. If you run and mount multiple containers using the same defult port and same host side directory, then they may colide when attemtimg to write to the same file. If you want to run multiple gzservers on the same docker host, then a bit more clever mounting, with shared volume of the model folder, but diffrent volumes for log folders, could be done instead. +One thing to be careful about is that gzserver logs to a file named `gzserver-`, where `` is the port number that server is listening too. If you run and mount multiple containers using the same default port and same host side directory, then they may collide when attempting to write to the same file. If you want to run multiple gzservers on the same docker host, then a bit more clever mounting, with shared volume of the model folder, but different volumes for log folders, could be done instead. ### Devices -As of Gazebo verssion 5.0, physics simulation under a headless instances of gzserver works fine. Howerver some application may requare image rendering camera views and ray traces for other sensors types. For Gazebo, this still requares a running X server for rendering and capturing purposes. In addion, graphical hardware acceleration is also needed for any resonable realtime framerates. To this extent, mounting additinal graphic devices into container and linking a X server connection is quite feasable. But in the intrest of maintianing a genale and minimalistic image, as well as avoiding any unnesary X server vonerabilaties or driver specifics, we do not include such tags here the offical repo. You can however use this repo to build and cosomize your own images to fit your custome hardware configuration. +As of Gazebo version 5.0, physics simulation under a headless instances of gzserver works fine. However some application may require image rendering camera views and ray traces for other sensors types. For Gazebo, this still requires a running X server for rendering and capturing purposes. In addition, graphical hardware acceleration is also needed for any reasonable realtime framerates. To this extent, mounting additional graphic devices into container and linking a X server connection is quite feasible. But in the interest of maintaining a gentle and minimalistic image, as well as avoiding any unnecessary X server vulnerabilities or driver specifics, we do not include such tags here the official repo. You can however use this repo to build and customize your own images to fit your hardware configuration. Please view OSRF's Docker Hub orginisation profile for the onbuild Gazebo repo at [osrf/gazebo](https://registry.hub.docker.com/u/osrf/gazebo/) that includes helpful examples and demos using GPUs to enable server side rendering. @@ -57,4 +57,4 @@ Please view OSRF's Docker Hub orginisation profile for the onbuild Gazebo repo a [Mailing List](https://groups.google.com/a/osrfoundation.org/d/forum/gazebo): Join for news and announcements [Simulation Models](https://bitbucket.org/osrf/gazebo_models/src): Robots, objects, and other simulation models [Blog](http://wiki.gazebosim.org/blog.html): Stay up-to-date -[OSRF](http://www.osrfoundation.org/): Open Source Robotics Foundation +[OSRF](http://www.osrfoundation.org/): Open Source Robotics Foundation From 6c683cfddf1e9d8a7ea949d45fd273e2ef25acba Mon Sep 17 00:00:00 2001 From: ruffsl Date: Tue, 14 Jul 2015 16:10:15 -0700 Subject: [PATCH 5/8] Adding deployment example --- gazebo/README-short.txt | 2 +- gazebo/content.md | 60 +++++++++++++++++++++++++++++++++++++---- 2 files changed, 56 insertions(+), 6 deletions(-) diff --git a/gazebo/README-short.txt b/gazebo/README-short.txt index 8f5509b5..2cc1e697 100644 --- a/gazebo/README-short.txt +++ b/gazebo/README-short.txt @@ -1 +1 @@ -Gazebo is an open source project for simulating robots, offering robust physics and rendering. +Gazebo is an open source project for simulating robots, offering robust physics and rendering. \ No newline at end of file diff --git a/gazebo/content.md b/gazebo/content.md index deeeb7f7..f8f11ae6 100644 --- a/gazebo/content.md +++ b/gazebo/content.md @@ -17,13 +17,13 @@ Robot simulation is an essential tool in every roboticists’ toolbox. A well-de You can then build and run the Docker image: docker build -t my-gazebo-app . - docker run -it --rm --name my-running-app my-gazebo-app + docker run -it -v="/tmp/.gazebo/:/root/.gazebo/" --name my-running-app my-gazebo-app -## Specific use cases +## Deployment use cases This dockerized image of Gazebo is intended to provide a simplified and consistent platform to build and deploy cloud based robotic simulations. Built from the [official Ubuntu image](https://registry.hub.docker.com/_/ubuntu/) and installed from Gazebo's official Debian packages, included are recent supported releases for quick access and download. This provides roboticist in research and industry an easy way to developed continuous integration & testing on training for autonomous actions and task planning, control dynamics and regions of stability, kinematic modeling and prototype characterization, localization and mapping algorithms, swarm behavior and networking, as well as general system integration and validation. -Conducting such complex simulations with high validity remains computationally demanding, and often times outside the capacity of the modest local workstation. With the added complexity of the algorithm being benchmarked, we soon can exceed the capacity of even the most formidable servers. That is why a more distributed approach remains attractive for those who begin to encounter limitations of a centralized computing host. However, the added complication of building and maintaining a distributed testbed over a set of clusters has for while required more time and effort than many smaller labs and businesses would have deemed appropriate to implement. +Conducting such complex simulations with high validity remains computationally demanding, and often times outside the capacity of a modest local workstation. With the added complexity of the algorithm being benchmarked, we soon can exceed the capacity of even the most formidable servers. This is why a more distributed approach remains attractive for those who begin to encounter limitations of a centralized computing host. However, the added complication of building and maintaining a distributed testbed over a set of clusters has for while required more time and effort than many smaller labs and businesses would have deemed appropriate to implement. Now with the advancements and standardization of software containers, roboticist are primed to acquire a host of improved developer tooling for building and shipping software. To help alleviate the growing pains and technical challenges of adopting new practices, we have focused on providing an official resource for using Gazebo with these new technologies. @@ -31,7 +31,7 @@ Now with the advancements and standardization of software containers, roboticist ### Ports -The `gzserver` tags are built for small a footprint and simple configuration, as they only include the required Gazebo dependencies. Using the command `docker run gazebo` will launch the latests release of `gzserver` inside a new container using via the `gzserver_entrypoint.sh` script. In addition, the standard messaging port `11345` is also exposed for client connections and messages API. +The `gzserver` tags are built for small footprints and simple configuration, thus only include the required Gazebo dependencies. Using the command `docker run gazebo` will launch the latests release of `gzserver` inside a new container using via the `gzserver_entrypoint.sh` script. In addition, the standard messaging port `11345` is also exposed for client connections and messages API. ### Volumes @@ -45,10 +45,60 @@ One thing to be careful about is that gzserver logs to a file named `gzserver-

First launch a gazebo server with a mounted volume for logging and name the container gazebo: + + docker run -d -v="/tmp/.gazebo/:/root/.gazebo/" --name=gazebo gazebo + +> Now open a new bash session in the container using the same entrypoint to configure the environment. Then download the double_pendulum model and load it into the simulation. + + docker exec -it gazebo bash + curl -o double_pendulum.sdf http://models.gazebosim.org/double_pendulum_with_base/model-1_4.sdf + gz model --model-name double_pendulum --spawn-file double_pendulum.sdf + +> To start recording the running simulation, simply use [`gz log`](http://www.gazebosim.org/tutorials?tut=log_filtering&cat=tools_utilities) to do so. + + gz log --record 1 + +> After a few seconds, go ahead and stop recording by disabling the same flag. + + gz log --record 0 + +> To introspect our logged recording, we can navigate to log directory and use `gz log` to open and examine the motion and joint state of the pendulum. This will allow you to step through the poses of the pendulum links. + + cd ~/.gazebo/log/*/gzserver/ + gz log --step --hz 10 --filter *.pose/*.pose --file state.log + +> 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=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' gazebo) + export GAZEBO_MASTER_URI=$GAZEBO_MASTER_IP:11345 + gzclient --verbose + +> In the rendered OpenGL view with gzclient you should see the moving double pendulum created prior still oscillating. From here you can control or monitor state of the simulation using the graphical interface, add more pendulums, reset the world, make more logs, etc. To quit the simulation, close the gzclient window and stop the container. + + docker stop gazebo + docker rm gazebo + +> Even though our old gazebo container has been removed, we can still see that our record log has been preserved in the host volume directory. + + cd /tmp/.gazebo/log/ + ls + +> Again, if you have an equivalent release of Gazebo installed on your locally, you can play back the simulation with gazebo by using the recorded log file. + + export GAZEBO_MASTER_IP=127.0.0.1 + export GAZEBO_MASTER_URI=$GAZEBO_MASTER_IP:11345 + cd /tmp/.gazebo/log/*/gzserver/ + gazebo --verbose --play state.log + # More Resources [Gazebosim.org](http://www.gazebosim.org/): Main Gazebo website From 15148d8a45847e0b2cf13212ec411b2e9a5aaca3 Mon Sep 17 00:00:00 2001 From: Peter Salvatore Date: Wed, 15 Jul 2015 11:41:30 -0400 Subject: [PATCH 6/8] tweak wording --- gazebo/content.md | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/gazebo/content.md b/gazebo/content.md index f8f11ae6..d81c85dd 100644 --- a/gazebo/content.md +++ b/gazebo/content.md @@ -1,8 +1,8 @@ # What is [Gazebo](http://www.gazebosim.org/)? -Robot simulation is an essential tool in every roboticists’ toolbox. A well-designed simulator makes it possible to rapidly test algorithms, design robots, and perform regression testing using realistic scenarios. Gazebo offers the ability to accurately and efficiently simulate populations of robots in complex indoor and outdoor environments. At your fingertips is a robust physics engine, high-quality graphics, and convenient programmatic interfaces. Best of all, Gazebo is free with a vibrant community. +Robot simulation is an essential tool in every roboticist's toolbox. A well-designed simulator makes it possible to rapidly test algorithms, design robots, and perform regression testing using realistic scenarios. Gazebo offers the ability to accurately and efficiently simulate populations of robots in complex indoor and outdoor environments. At your fingertips is a robust physics engine, high-quality graphics, and convenient programmatic interfaces. Best of all, Gazebo is free with a vibrant community. -> [wikipedia.org/wiki/Gazebo_simulator ](https://en.wikipedia.org/wiki/Gazebo_simulator) +> [wikipedia.org/wiki/Gazebo_simulator](https://en.wikipedia.org/wiki/Gazebo_simulator) [%%LOGO%%](http://www.gazebosim.org/) @@ -21,33 +21,29 @@ You can then build and run the Docker image: ## Deployment use cases -This dockerized image of Gazebo is intended to provide a simplified and consistent platform to build and deploy cloud based robotic simulations. Built from the [official Ubuntu image](https://registry.hub.docker.com/_/ubuntu/) and installed from Gazebo's official Debian packages, included are recent supported releases for quick access and download. This provides roboticist in research and industry an easy way to developed continuous integration & testing on training for autonomous actions and task planning, control dynamics and regions of stability, kinematic modeling and prototype characterization, localization and mapping algorithms, swarm behavior and networking, as well as general system integration and validation. +This dockerized image of Gazebo is intended to provide a simplified and consistent platform to build and deploy cloud based robotic simulations. Built from the [official Ubuntu image](https://registry.hub.docker.com/_/ubuntu/) and Gazebo's official Debian packages, it includes recent supported releases for quick access and download. This provides roboticists in research and industry with an easy way to develop continuous integration and testing on training for autonomous actions and task planning, control dynamics and regions of stability, kinematic modeling and prototype characterization, localization and mapping algorithms, swarm behavior and networking, as well as general system integration and validation. -Conducting such complex simulations with high validity remains computationally demanding, and often times outside the capacity of a modest local workstation. With the added complexity of the algorithm being benchmarked, we soon can exceed the capacity of even the most formidable servers. This is why a more distributed approach remains attractive for those who begin to encounter limitations of a centralized computing host. However, the added complication of building and maintaining a distributed testbed over a set of clusters has for while required more time and effort than many smaller labs and businesses would have deemed appropriate to implement. +Conducting such complex simulations with high validity remains computationally demanding, and often times outside the capacity of a modest local workstation. With the added complexity of the algorithms being benchmarked, we can soon exceed the capacity of even the most formidable servers. This is why a more distributed approach remains attractive for those who begin to encounter limitations of a centralized computing host. However, the added complication of building and maintaining a distributed testbed over a set of clusters has for a while required more time and effort than many smaller labs and businesses would have deemed appropriate to implement. -Now with the advancements and standardization of software containers, roboticist are primed to acquire a host of improved developer tooling for building and shipping software. To help alleviate the growing pains and technical challenges of adopting new practices, we have focused on providing an official resource for using Gazebo with these new technologies. +With the advancements and standardization of software containers, roboticists are primed to acquire a host of improved developer tooling for building and shipping software. To help alleviate the growing pains and technical challenges of adopting new practices, we have focused on providing an official resource for using Gazebo with these new technologies. ## Deployment suggestions -### Ports - -The `gzserver` tags are built for small footprints and simple configuration, thus only include the required Gazebo dependencies. Using the command `docker run gazebo` will launch the latests release of `gzserver` inside a new container using via the `gzserver_entrypoint.sh` script. In addition, the standard messaging port `11345` is also exposed for client connections and messages API. +The `gzserver` tags are designed to have a small footprint and simple configuration, thus only include the required Gazebo dependencies are included. The standard messaging port `11345` is exposed to allow for client connections and messages API. ### Volumes -Gazebo uses the `~/.gazebo/` directory for storing logs, models and scene info, and is simply created if such does not already exist. These files you may wish to remain persistent through life cycles of containers, so that log records can be saved and archived, and large custom models imported and reused. To do this, the absolute directory of the `.gazebo` folder can be mounted to an external volume on the host, by default the container entry point uses the `root` user, so `/root/.gazebo/` would be the default path. +Gazebo uses the `~/.gazebo/` directory for storing logs, models and scene info. If you wish to persist these files beyond the lifecycle of the containers which produced them, the `~/.gazebo/` folder can be mounted to an external volume on the host, or a derived image can specify volumes to be managed by the Docker engine. By default, the container runs as the `root` user, so `/root/.gazebo/` would be the full path to these files. -For example, if one wishes to use their own `.gazebo` folder that already resides in their local home directory, with a username of `ubuntu`, we can simple launch the container with a few additional volume arguments: +For example, if one wishes to use their own `.gazebo` folder that already resides in their local home directory, with a username of `ubuntu`, we can simple launch the container with an additional volume argument: docker run -v "/home/ubuntu/.gazebo/:/root/.gazebo/" gazebo -One thing to be careful about is that gzserver logs to a file named `gzserver-`, where `` is the port number that server is listening too. If you run and mount multiple containers using the same default port and same host side directory, then they may collide when attempting to write to the same file. If you want to run multiple gzservers on the same docker host, then a bit more clever mounting, with shared volume of the model folder, but different volumes for log folders, could be done instead. +One thing to be careful about is that gzserver logs to files named `/root/.gazebo/server-/*.log`, where `` is the port number that server is listening on (11345 by default). If you run and mount multiple containers using the same default port and same host side directory, then they will collide and attempt writing to the same file. If you want to run multiple gzservers on the same docker host, then a bit more clever volume mounting of `~/.gazebo/` subfolders would be required. ### Devices -As of Gazebo version 5.0, physics simulation under a headless instances of gzserver works fine. However some application may require image rendering camera views and ray traces for other sensor modalities. For Gazebo, this requires a running X server for rendering and capturing scenes. In addition, graphical hardware acceleration is also needed for reasonable realtime framerates. To this extent, mounting additional graphic devices into container and linking a running X server is quite feasible. But in the interest of maintaining a general and minimalistic image, as well as avoiding any unnecessary X server vulnerabilities or driver specifics, we do not include such tags here the official repo. You can however use this repo to build and customize your own images to fit your hardware configuration. - -Please view OSRF's Docker Hub orginisation profile for the onbuild Gazebo repo at [osrf/gazebo](https://registry.hub.docker.com/u/osrf/gazebo/) that includes helpful examples and demos using GPUs to enable server side rendering. +As of Gazebo version 5.0, physics simulation under a headless instances of gzserver works fine. However some application may require image rendering camera views and ray traces for other sensor modalities. For Gazebo, this requires a running X server for rendering and capturing scenes. In addition, graphical hardware acceleration is also needed for reasonable realtime framerates. To this extent, mounting additional graphic devices into the container and linking to a running X server is required. In the interest of maintaining a general purpose and minimalistic image which is not tightly coupled to host system software and hardware, we do not include tags here with these additional requirements and instructions. You can however use this repo to build and customize your own images to fit your software/hardware configuration. The OSRF's Docker Hub organisation profile contains a Gazebo repo at [osrf/gazebo](https://registry.hub.docker.com/u/osrf/gazebo/) which is based on this repo but includes additional tags for these advanced use cases. ## Deployment example @@ -92,7 +88,7 @@ In this short example, we'll spin up a new container running gazebo server, conn cd /tmp/.gazebo/log/ ls -> Again, if you have an equivalent release of Gazebo installed on your locally, you can play back the simulation with gazebo by using the recorded log file. +> Again, if you have an equivalent release of Gazebo installed on your host system, you can play back the simulation with gazebo by using the recorded log file. export GAZEBO_MASTER_IP=127.0.0.1 export GAZEBO_MASTER_URI=$GAZEBO_MASTER_IP:11345 @@ -101,10 +97,16 @@ In this short example, we'll spin up a new container running gazebo server, conn # More Resources -[Gazebosim.org](http://www.gazebosim.org/): Main Gazebo website -[Answers](http://answers.gazebosim.org/): Find answers and ask questions -[Wiki](https://bitbucket.org/osrf/gazebo/wiki): General information and tutorials -[Mailing List](https://groups.google.com/a/osrfoundation.org/d/forum/gazebo): Join for news and announcements -[Simulation Models](https://bitbucket.org/osrf/gazebo_models/src): Robots, objects, and other simulation models -[Blog](http://wiki.gazebosim.org/blog.html): Stay up-to-date +[Gazebosim.org](http://www.gazebosim.org/): Main Gazebo website + +[Answers](http://answers.gazebosim.org/): Find answers and ask questions + +[Wiki](https://bitbucket.org/osrf/gazebo/wiki): General information and tutorials + +[Mailing List](https://groups.google.com/a/osrfoundation.org/d/forum/gazebo): Join for news and announcements + +[Simulation Models](https://bitbucket.org/osrf/gazebo_models/src): Robots, objects, and other simulation models + +[Blog](http://wiki.gazebosim.org/blog.html): Stay up-to-date + [OSRF](http://www.osrfoundation.org/): Open Source Robotics Foundation From 2d16d0ae8af342c8da2358ff7bce65be842f81f8 Mon Sep 17 00:00:00 2001 From: ruffsl Date: Fri, 24 Jul 2015 18:44:03 -0700 Subject: [PATCH 7/8] minor tweaks as per @yosifkit suggestions --- gazebo/content.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gazebo/content.md b/gazebo/content.md index d81c85dd..09fae919 100644 --- a/gazebo/content.md +++ b/gazebo/content.md @@ -23,13 +23,13 @@ You can then build and run the Docker image: This dockerized image of Gazebo is intended to provide a simplified and consistent platform to build and deploy cloud based robotic simulations. Built from the [official Ubuntu image](https://registry.hub.docker.com/_/ubuntu/) and Gazebo's official Debian packages, it includes recent supported releases for quick access and download. This provides roboticists in research and industry with an easy way to develop continuous integration and testing on training for autonomous actions and task planning, control dynamics and regions of stability, kinematic modeling and prototype characterization, localization and mapping algorithms, swarm behavior and networking, as well as general system integration and validation. -Conducting such complex simulations with high validity remains computationally demanding, and often times outside the capacity of a modest local workstation. With the added complexity of the algorithms being benchmarked, we can soon exceed the capacity of even the most formidable servers. This is why a more distributed approach remains attractive for those who begin to encounter limitations of a centralized computing host. However, the added complication of building and maintaining a distributed testbed over a set of clusters has for a while required more time and effort than many smaller labs and businesses would have deemed appropriate to implement. +Conducting such complex simulations with high validity remains computationally demanding, and oftentimes outside the capacity of a modest local workstation. With the added complexity of the algorithms being benchmarked, we can soon exceed the capacity of even the most formidable servers. This is why a more distributed approach remains attractive for those who begin to encounter limitations of a centralized computing host. However, the added complication of building and maintaining a distributed testbed over a set of clusters has for a while required more time and effort than many smaller labs and businesses would have deemed appropriate to implement. With the advancements and standardization of software containers, roboticists are primed to acquire a host of improved developer tooling for building and shipping software. To help alleviate the growing pains and technical challenges of adopting new practices, we have focused on providing an official resource for using Gazebo with these new technologies. ## Deployment suggestions -The `gzserver` tags are designed to have a small footprint and simple configuration, thus only include the required Gazebo dependencies are included. The standard messaging port `11345` is exposed to allow for client connections and messages API. +The `gzserver` tags are designed to have a small footprint and simple configuration, thus only include required Gazebo dependencies. The standard messaging port `11345` is exposed to allow for client connections and messages API. ### Volumes From 985aa81733d87bee7d0bf0275e8d28b12f59b84e Mon Sep 17 00:00:00 2001 From: ruffsl Date: Mon, 27 Jul 2015 16:46:15 -0700 Subject: [PATCH 8/8] Adding notes on libgazebo-dev --- gazebo/content.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gazebo/content.md b/gazebo/content.md index 09fae919..be2b0583 100644 --- a/gazebo/content.md +++ b/gazebo/content.md @@ -43,7 +43,11 @@ One thing to be careful about is that gzserver logs to files named `/root/.gazeb ### Devices -As of Gazebo version 5.0, physics simulation under a headless instances of gzserver works fine. However some application may require image rendering camera views and ray traces for other sensor modalities. For Gazebo, this requires a running X server for rendering and capturing scenes. In addition, graphical hardware acceleration is also needed for reasonable realtime framerates. To this extent, mounting additional graphic devices into the container and linking to a running X server is required. In the interest of maintaining a general purpose and minimalistic image which is not tightly coupled to host system software and hardware, we do not include tags here with these additional requirements and instructions. You can however use this repo to build and customize your own images to fit your software/hardware configuration. The OSRF's Docker Hub organisation profile contains a Gazebo repo at [osrf/gazebo](https://registry.hub.docker.com/u/osrf/gazebo/) which is based on this repo but includes additional tags for these advanced use cases. +As of Gazebo version 5.0, physics simulation under a headless instances of gzserver works fine. However some application may require image rendering camera views and ray traces for other sensor modalities. For Gazebo, this requires a running X server for rendering and capturing scenes. In addition, graphical hardware acceleration is also needed for reasonable realtime framerates. To this extent, mounting additional graphic devices into the container and linking to a running X server is required. In the interest of maintaining a general purpose and minimalistic image which is not tightly coupled to host system software and hardware, we do not include tags here with these additional requirements and instructions. You can however use this repo to build and customize your own images to fit your software/hardware configuration. The OSRF's Docker Hub organization profile contains a Gazebo repo at [osrf/gazebo](https://registry.hub.docker.com/u/osrf/gazebo/) which is based on this repo but includes additional tags for these advanced use cases. + +### Development + +If you not only wish to run Gazebo, but develop for it too, i.e. compile custom plug-ins or build upon messaging interfaces for ROS, this will require the development package included in the `libgazebo` tag. If you simply need to run Gazebo as a headless server, then the `gzserver` tag consist of a smaller image size. ## Deployment example