From 64e98bc5d315f3304f72fce9b6480a0bc834ad14 Mon Sep 17 00:00:00 2001 From: Andrea Ostuni Date: Sat, 3 Feb 2024 10:35:31 +0100 Subject: [PATCH] documentation refactor to gz --- .docker/cicd-master.Dockerfile | 2 +- .github/ISSUE_TEMPLATE/bug_report.md | 12 ++-- .github/ISSUE_TEMPLATE/feature_request.md | 2 +- README.md | 28 +++++----- .../gym_gz_environments.models.rst} | 10 ++-- .../gym_gz_environments.randomizers.rst} | 6 +- .../gym_gz_environments.rst} | 2 +- .../gym_gz_environments.tasks.rst} | 10 ++-- .../gym_gz.base.rst} | 6 +- .../gym_gz.context.gazebo.rst} | 6 +- .../gym_gz.context.rst} | 2 +- .../gym_gz.randomizers.model.rst} | 4 +- .../gym_gz.randomizers.physics.rst} | 4 +- .../gym_gz.randomizers.rst} | 6 +- .../gym_gz.rbd.idyntree.rst} | 10 ++-- .../gym_gz.rbd.rst} | 6 +- .../gym_ignition.rst => gym-gz/gym_gz.rst} | 2 +- .../gym_gz.runtimes.rst} | 6 +- .../gym_gz.scenario.rst} | 6 +- .../gym_gz.utils.rst} | 14 ++--- docs/sphinx/conf.py | 8 +-- docs/sphinx/getting_started/gym-gz.rst | 55 +++++++++++++++++++ docs/sphinx/getting_started/gym-ignition.rst | 55 ------------------- docs/sphinx/getting_started/manipulation.rst | 40 +++++++------- docs/sphinx/getting_started/scenario.rst | 12 ++-- docs/sphinx/index.html | 2 +- docs/sphinx/info/faq.rst | 20 +++---- docs/sphinx/info/limitations.rst | 8 +-- docs/sphinx/installation/developer.rst | 6 +- docs/sphinx/installation/nightly.rst | 10 ++-- docs/sphinx/installation/stable.rst | 10 ++-- docs/sphinx/installation/support_policy.rst | 8 +-- .../installation/system_configuration.rst | 8 +-- docs/sphinx/what/what_is_gym_gz.rst | 22 ++++++++ docs/sphinx/what/what_is_gym_ignition.rst | 22 -------- docs/sphinx/what/what_is_scenario.rst | 6 +- .../{why_gym_ignition.rst => why_gym_gz.rst} | 26 ++++----- ..._ignition_gazebo.rst => why_gz_gazebo.rst} | 44 +++++++-------- scenario/README.md | 4 +- scenario/bindings/__init__.py | 2 +- scenario/cmake/ImportTargetsCitadel.cmake | 2 +- scenario/cmake/ImportTargetsDome.cmake | 2 +- scenario/cmake/ImportTargetsEdifice.cmake | 2 +- scenario/cmake/ImportTargetsFortress.cmake | 2 +- scenario/cmake/ImportTargetsGarden.cmake | 2 +- scenario/setup.cfg | 10 ++-- scenario/src/gazebo/src/GazeboSimulator.cpp | 2 +- setup.cfg | 10 ++-- tests/test_scenario/test_link_velocities.py | 4 +- 49 files changed, 274 insertions(+), 274 deletions(-) rename docs/sphinx/apidoc/{gym-ignition-environments/gym_ignition_environments.models.rst => gym-gz-environments/gym_gz_environments.models.rst} (77%) rename docs/sphinx/apidoc/{gym-ignition-environments/gym_ignition_environments.randomizers.rst => gym-gz-environments/gym_gz_environments.randomizers.rst} (75%) rename docs/sphinx/apidoc/{gym-ignition-environments/gym_ignition_environments.rst => gym-gz-environments/gym_gz_environments.rst} (89%) rename docs/sphinx/apidoc/{gym-ignition-environments/gym_ignition_environments.tasks.rst => gym-gz-environments/gym_gz_environments.tasks.rst} (75%) rename docs/sphinx/apidoc/{gym-ignition/gym_ignition.base.rst => gym-gz/gym_gz.base.rst} (81%) rename docs/sphinx/apidoc/{gym-ignition/gym_ignition.context.gazebo.rst => gym-gz/gym_gz.context.gazebo.rst} (78%) rename docs/sphinx/apidoc/{gym-ignition/gym_ignition.context.rst => gym-gz/gym_gz.context.rst} (87%) rename docs/sphinx/apidoc/{gym-ignition/gym_ignition.randomizers.model.rst => gym-gz/gym_gz.randomizers.model.rst} (78%) rename docs/sphinx/apidoc/{gym-ignition/gym_ignition.randomizers.physics.rst => gym-gz/gym_gz.randomizers.physics.rst} (78%) rename docs/sphinx/apidoc/{gym-ignition/gym_ignition.randomizers.rst => gym-gz/gym_gz.randomizers.rst} (81%) rename docs/sphinx/apidoc/{gym-ignition/gym_ignition.rbd.idyntree.rst => gym-gz/gym_gz.rbd.idyntree.rst} (83%) rename docs/sphinx/apidoc/{gym-ignition/gym_ignition.rbd.rst => gym-gz/gym_gz.rbd.rst} (89%) rename docs/sphinx/apidoc/{gym-ignition/gym_ignition.rst => gym-gz/gym_gz.rst} (94%) rename docs/sphinx/apidoc/{gym-ignition/gym_ignition.runtimes.rst => gym-gz/gym_gz.runtimes.rst} (78%) rename docs/sphinx/apidoc/{gym-ignition/gym_ignition.scenario.rst => gym-gz/gym_gz.scenario.rst} (78%) rename docs/sphinx/apidoc/{gym-ignition/gym_ignition.utils.rst => gym-gz/gym_gz.utils.rst} (80%) create mode 100644 docs/sphinx/getting_started/gym-gz.rst delete mode 100644 docs/sphinx/getting_started/gym-ignition.rst create mode 100644 docs/sphinx/what/what_is_gym_gz.rst delete mode 100644 docs/sphinx/what/what_is_gym_ignition.rst rename docs/sphinx/why/{why_gym_ignition.rst => why_gym_gz.rst} (61%) rename docs/sphinx/why/{why_ignition_gazebo.rst => why_gz_gazebo.rst} (63%) diff --git a/.docker/cicd-master.Dockerfile b/.docker/cicd-master.Dockerfile index bab17dcef..608387f5f 100644 --- a/.docker/cicd-master.Dockerfile +++ b/.docker/cicd-master.Dockerfile @@ -1,7 +1,7 @@ ARG from=diegoferigo/gym-gz:base FROM ${from} -# Install ignition gazebo +# Install gz sim ARG gazebo_codename="garden" RUN echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" \ > /etc/apt/sources.list.d/gazebo-stable.list &&\ diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index e4f0a8914..ec8df88c7 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -15,11 +15,11 @@ labels: issue::type::bug - [ ] I've already searched similar [issues][Issues] and [discussions][Discussions] - [ ] I've already updated to the most recent supported [release][Releases] (either Stable or Nightly) -[Issues]: https://github.com/robotology/gym-ignition/issues -[Releases]: https://github.com/robotology/gym-ignition/releases -[FAQ]: https://robotology.github.io/gym-ignition/master/info/faq.html -[Discussions]: https://github.com/robotology/gym-ignition/discussions -[Support Policy]: https://robotology.github.io/gym-ignition/master/installation/support_policy.html +[Issues]: https://github.com/andreaostuni/gym-gz/issues +[Releases]: https://github.com/andreaostuni/gym-gz/releases +[FAQ]: https://andreaostuni.github.io/gym-gz/master/info/faq.html +[Discussions]: https://github.com/andreaostuni/gym-gz/discussions +[Support Policy]: https://andreaostuni.github.io/gym-gz/master/installation/support_policy.html ## Description: @@ -53,7 +53,7 @@ Content - OS: - GPU: - Python: -- Version: +- Version: - Channel: - [ ] Stable - [ ] Nightly diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 36f273f8a..8621fc50b 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -8,7 +8,7 @@ labels: issue::type::enhancement ⚠️ If you're not sure on the specifics of the feature or would like a broader discussion, please consider posting a proposal to [Discussions][Discussions] instead. -[Discussions]: https://github.com/robotology/gym-ignition/discussions +[Discussions]: https://github.com/andreaostuni/gym-gz/discussions ## Summary diff --git a/README.md b/README.md index 9fdb2ce1c..dd2ad9598 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

-

gym-ignition

+

gym-gz

@@ -56,40 +56,40 @@ ## Description -**gym-ignition** is a framework to create **reproducible robotics environments** for reinforcement learning research. +**gym-gz** is a framework to create **reproducible robotics environments** for reinforcement learning research. -It is based on the [ScenarIO](scenario/) project which provides the low-level APIs to interface with the Ignition Gazebo simulator. +It is based on the [ScenarIO](scenario/) project which provides the low-level APIs to interface with the Gz sim simulator. By default, RL environments share a lot of boilerplate code, e.g. for initializing the simulator or structuring the classes to expose the `gym.Env` interface. -Gym-ignition provides the [`Task`](python/gym_ignition/base/task.py) and [`Runtime`](python/gym_ignition/base/runtime.py) +Gym-gz provides the [`Task`](python/gym_gz/base/task.py) and [`Runtime`](python/gym_gz/base/runtime.py) abstractions that help you focusing on the development of the decision-making logic rather than engineering. -It includes [randomizers](python/gym_ignition/randomizers) to simplify the implementation of domain randomization +It includes [randomizers](python/gym_gz/randomizers) to simplify the implementation of domain randomization of models, physics, and tasks. -Gym-ignition also provides powerful dynamics algorithms compatible with both fixed-base and floating-based robots by +Gym-gz also provides powerful dynamics algorithms compatible with both fixed-base and floating-based robots by exploiting [robotology/idyntree](https://github.com/robotology/idyntree/) and exposing -[high-level functionalities](python/gym_ignition/rbd/idyntree). +[high-level functionalities](python/gym_gz/rbd/idyntree). -Gym-ignition does not provide out-of-the-box environments ready to be used. +Gym-gz does not provide out-of-the-box environments ready to be used. Rather, its aim is simplifying and streamlining their development. Nonetheless, for illustrative purpose, it includes canonical examples in the -[`gym_ignition_environments`](python/gym_ignition_environments) package. +[`gym_gz_environments`](python/gym_gz_environments) package. Visit the [website][website] for more information about the project. -[website]: https://robotology.github.io/gym-ignition +[website]: https://robotology.github.io/gym-gz ## Installation 1. First, follow the installation instructions of [ScenarIO](scenario/). -2. `pip install gym-ignition`, preferably in a [virtual environment](https://docs.python.org/3.8/tutorial/venv.html). +2. `pip install gym-gz`, preferably in a [virtual environment](https://docs.python.org/3.8/tutorial/venv.html). ## Contributing You can visit our community forum hosted in [GitHub Discussions](https://github.com/robotology/gym-ignition/discussions). Even without coding skills, replying user's questions is a great way of contributing. -If you use gym-ignition in your application and want to show it off, visit the +If you use gym-gz in your application and want to show it off, visit the [Show and tell](https://github.com/robotology/gym-ignition/discussions/categories/show-and-tell) section! -You can advertise there your environments created with gym-ignition. +You can advertise there your environments created with gym-gz. Pull requests are welcome. @@ -115,4 +115,4 @@ first to propose what you would like to change. --- -**Disclaimer:** Gym-ignition is an independent project and is not related by any means to OpenAI and Open Robotics. +**Disclaimer:** Gym-gz is an independent project and is not related by any means to OpenAI and Open Robotics. diff --git a/docs/sphinx/apidoc/gym-ignition-environments/gym_ignition_environments.models.rst b/docs/sphinx/apidoc/gym-gz-environments/gym_gz_environments.models.rst similarity index 77% rename from docs/sphinx/apidoc/gym-ignition-environments/gym_ignition_environments.models.rst rename to docs/sphinx/apidoc/gym-gz-environments/gym_gz_environments.models.rst index 24df9c0e6..2f73ac88e 100644 --- a/docs/sphinx/apidoc/gym-ignition-environments/gym_ignition_environments.models.rst +++ b/docs/sphinx/apidoc/gym-gz-environments/gym_gz_environments.models.rst @@ -1,5 +1,5 @@ gym\_gz\_environments.models -================================== +============================ .. automodule:: gym_gz_environments.models :members: @@ -8,7 +8,7 @@ gym\_gz\_environments.models gym\_gz\_environments.models.cartpole -------------------------------------------- +------------------------------------- .. automodule:: gym_gz_environments.models.cartpole :members: @@ -16,7 +16,7 @@ gym\_gz\_environments.models.cartpole :show-inheritance: gym\_gz\_environments.models.icub ---------------------------------------- +--------------------------------- .. automodule:: gym_gz_environments.models.icub :members: @@ -24,7 +24,7 @@ gym\_gz\_environments.models.icub :show-inheritance: gym\_gz\_environments.models.panda ----------------------------------------- +---------------------------------- .. automodule:: gym_gz_environments.models.panda :members: @@ -32,7 +32,7 @@ gym\_gz\_environments.models.panda :show-inheritance: gym\_gz\_environments.models.pendulum -------------------------------------------- +------------------------------------- .. automodule:: gym_gz_environments.models.pendulum :members: diff --git a/docs/sphinx/apidoc/gym-ignition-environments/gym_ignition_environments.randomizers.rst b/docs/sphinx/apidoc/gym-gz-environments/gym_gz_environments.randomizers.rst similarity index 75% rename from docs/sphinx/apidoc/gym-ignition-environments/gym_ignition_environments.randomizers.rst rename to docs/sphinx/apidoc/gym-gz-environments/gym_gz_environments.randomizers.rst index dcb12b423..027e9fd76 100644 --- a/docs/sphinx/apidoc/gym-ignition-environments/gym_ignition_environments.randomizers.rst +++ b/docs/sphinx/apidoc/gym-gz-environments/gym_gz_environments.randomizers.rst @@ -1,5 +1,5 @@ gym\_gz\_environments.randomizers -======================================= +================================= .. automodule:: gym_gz_environments.randomizers :members: @@ -8,7 +8,7 @@ gym\_gz\_environments.randomizers gym\_gz\_environments.randomizers.cartpole ------------------------------------------------- +------------------------------------------ .. automodule:: gym_gz_environments.randomizers.cartpole :members: @@ -16,7 +16,7 @@ gym\_gz\_environments.randomizers.cartpole :show-inheritance: gym\_gz\_environments.randomizers.cartpole\_no\_rand ----------------------------------------------------------- +---------------------------------------------------- .. automodule:: gym_gz_environments.randomizers.cartpole_no_rand :members: diff --git a/docs/sphinx/apidoc/gym-ignition-environments/gym_ignition_environments.rst b/docs/sphinx/apidoc/gym-gz-environments/gym_gz_environments.rst similarity index 89% rename from docs/sphinx/apidoc/gym-ignition-environments/gym_ignition_environments.rst rename to docs/sphinx/apidoc/gym-gz-environments/gym_gz_environments.rst index 358406a65..fe617da77 100644 --- a/docs/sphinx/apidoc/gym-ignition-environments/gym_ignition_environments.rst +++ b/docs/sphinx/apidoc/gym-gz-environments/gym_gz_environments.rst @@ -1,5 +1,5 @@ gym\_gz\_environments -=========================== +===================== .. automodule:: gym_gz_environments :members: diff --git a/docs/sphinx/apidoc/gym-ignition-environments/gym_ignition_environments.tasks.rst b/docs/sphinx/apidoc/gym-gz-environments/gym_gz_environments.tasks.rst similarity index 75% rename from docs/sphinx/apidoc/gym-ignition-environments/gym_ignition_environments.tasks.rst rename to docs/sphinx/apidoc/gym-gz-environments/gym_gz_environments.tasks.rst index e59913404..f49d2df01 100644 --- a/docs/sphinx/apidoc/gym-ignition-environments/gym_ignition_environments.tasks.rst +++ b/docs/sphinx/apidoc/gym-gz-environments/gym_gz_environments.tasks.rst @@ -1,5 +1,5 @@ gym\_gz\_environments.tasks -================================= +=========================== .. automodule:: gym_gz_environments.tasks :members: @@ -8,7 +8,7 @@ gym\_gz\_environments.tasks gym\_gz\_environments.tasks.cartpole\_continuous\_balancing ------------------------------------------------------------------ +----------------------------------------------------------- .. automodule:: gym_gz_environments.tasks.cartpole_continuous_balancing :members: @@ -16,7 +16,7 @@ gym\_gz\_environments.tasks.cartpole\_continuous\_balancing :show-inheritance: gym\_gz\_environments.tasks.cartpole\_continuous\_swingup ---------------------------------------------------------------- +--------------------------------------------------------- .. automodule:: gym_gz_environments.tasks.cartpole_continuous_swingup :members: @@ -24,7 +24,7 @@ gym\_gz\_environments.tasks.cartpole\_continuous\_swingup :show-inheritance: gym\_gz\_environments.tasks.cartpole\_discrete\_balancing ---------------------------------------------------------------- +--------------------------------------------------------- .. automodule:: gym_gz_environments.tasks.cartpole_discrete_balancing :members: @@ -32,7 +32,7 @@ gym\_gz\_environments.tasks.cartpole\_discrete\_balancing :show-inheritance: gym\_gz\_environments.tasks.pendulum\_swingup ---------------------------------------------------- +--------------------------------------------- .. automodule:: gym_gz_environments.tasks.pendulum_swingup :members: diff --git a/docs/sphinx/apidoc/gym-ignition/gym_ignition.base.rst b/docs/sphinx/apidoc/gym-gz/gym_gz.base.rst similarity index 81% rename from docs/sphinx/apidoc/gym-ignition/gym_ignition.base.rst rename to docs/sphinx/apidoc/gym-gz/gym_gz.base.rst index 927be5dc7..9507f9f5d 100644 --- a/docs/sphinx/apidoc/gym-ignition/gym_ignition.base.rst +++ b/docs/sphinx/apidoc/gym-gz/gym_gz.base.rst @@ -1,5 +1,5 @@ gym\_gz.base -================== +============ .. automodule:: gym_gz.base :members: @@ -8,7 +8,7 @@ gym\_gz.base gym\_gz.base.runtime --------------------------- +-------------------- .. automodule:: gym_gz.base.runtime :members: @@ -16,7 +16,7 @@ gym\_gz.base.runtime :show-inheritance: gym\_gz.base.task ------------------------ +----------------- .. automodule:: gym_gz.base.task :members: diff --git a/docs/sphinx/apidoc/gym-ignition/gym_ignition.context.gazebo.rst b/docs/sphinx/apidoc/gym-gz/gym_gz.context.gazebo.rst similarity index 78% rename from docs/sphinx/apidoc/gym-ignition/gym_ignition.context.gazebo.rst rename to docs/sphinx/apidoc/gym-gz/gym_gz.context.gazebo.rst index 377e12f70..f99cba328 100644 --- a/docs/sphinx/apidoc/gym-ignition/gym_ignition.context.gazebo.rst +++ b/docs/sphinx/apidoc/gym-gz/gym_gz.context.gazebo.rst @@ -1,5 +1,5 @@ gym\_gz.context.gazebo -============================ +====================== .. automodule:: gym_gz.context.gazebo :members: @@ -8,7 +8,7 @@ gym\_gz.context.gazebo gym\_gz.context.gazebo.controllers ----------------------------------------- +---------------------------------- .. automodule:: gym_gz.context.gazebo.controllers :members: @@ -16,7 +16,7 @@ gym\_gz.context.gazebo.controllers :show-inheritance: gym\_gz.context.gazebo.plugin ------------------------------------ +----------------------------- .. automodule:: gym_gz.context.gazebo.plugin :members: diff --git a/docs/sphinx/apidoc/gym-ignition/gym_ignition.context.rst b/docs/sphinx/apidoc/gym-gz/gym_gz.context.rst similarity index 87% rename from docs/sphinx/apidoc/gym-ignition/gym_ignition.context.rst rename to docs/sphinx/apidoc/gym-gz/gym_gz.context.rst index 997601db5..6a7e5922c 100644 --- a/docs/sphinx/apidoc/gym-ignition/gym_ignition.context.rst +++ b/docs/sphinx/apidoc/gym-gz/gym_gz.context.rst @@ -1,5 +1,5 @@ gym\_gz.context -===================== +=============== .. automodule:: gym_gz.context :members: diff --git a/docs/sphinx/apidoc/gym-ignition/gym_ignition.randomizers.model.rst b/docs/sphinx/apidoc/gym-gz/gym_gz.randomizers.model.rst similarity index 78% rename from docs/sphinx/apidoc/gym-ignition/gym_ignition.randomizers.model.rst rename to docs/sphinx/apidoc/gym-gz/gym_gz.randomizers.model.rst index ece3d7b36..4b1371ff2 100644 --- a/docs/sphinx/apidoc/gym-ignition/gym_ignition.randomizers.model.rst +++ b/docs/sphinx/apidoc/gym-gz/gym_gz.randomizers.model.rst @@ -1,5 +1,5 @@ gym\_gz.randomizers.model -=============================== +========================= .. automodule:: gym_gz.randomizers.model :members: @@ -8,7 +8,7 @@ gym\_gz.randomizers.model gym\_gz.randomizers.model.sdf ------------------------------------ +----------------------------- .. automodule:: gym_gz.randomizers.model.sdf :members: diff --git a/docs/sphinx/apidoc/gym-ignition/gym_ignition.randomizers.physics.rst b/docs/sphinx/apidoc/gym-gz/gym_gz.randomizers.physics.rst similarity index 78% rename from docs/sphinx/apidoc/gym-ignition/gym_ignition.randomizers.physics.rst rename to docs/sphinx/apidoc/gym-gz/gym_gz.randomizers.physics.rst index b6f240bb0..265cb6fb8 100644 --- a/docs/sphinx/apidoc/gym-ignition/gym_ignition.randomizers.physics.rst +++ b/docs/sphinx/apidoc/gym-gz/gym_gz.randomizers.physics.rst @@ -1,5 +1,5 @@ gym\_gz.randomizers.physics -================================= +=========================== .. automodule:: gym_gz.randomizers.physics :members: @@ -8,7 +8,7 @@ gym\_gz.randomizers.physics gym\_gz.randomizers.physics.dart --------------------------------------- +-------------------------------- .. automodule:: gym_gz.randomizers.physics.dart :members: diff --git a/docs/sphinx/apidoc/gym-ignition/gym_ignition.randomizers.rst b/docs/sphinx/apidoc/gym-gz/gym_gz.randomizers.rst similarity index 81% rename from docs/sphinx/apidoc/gym-ignition/gym_ignition.randomizers.rst rename to docs/sphinx/apidoc/gym-gz/gym_gz.randomizers.rst index 6ba046d56..53776955d 100644 --- a/docs/sphinx/apidoc/gym-ignition/gym_ignition.randomizers.rst +++ b/docs/sphinx/apidoc/gym-gz/gym_gz.randomizers.rst @@ -1,5 +1,5 @@ gym\_gz.randomizers -========================= +=================== .. automodule:: gym_gz.randomizers :members: @@ -15,7 +15,7 @@ gym\_gz.randomizers gym\_gz.randomizers.abc ------------------------------ +----------------------- .. automodule:: gym_gz.randomizers.abc :members: @@ -23,7 +23,7 @@ gym\_gz.randomizers.abc :show-inheritance: gym\_gz.randomizers.gazebo\_env\_randomizer -------------------------------------------------- +------------------------------------------- .. automodule:: gym_gz.randomizers.gazebo_env_randomizer :members: diff --git a/docs/sphinx/apidoc/gym-ignition/gym_ignition.rbd.idyntree.rst b/docs/sphinx/apidoc/gym-gz/gym_gz.rbd.idyntree.rst similarity index 83% rename from docs/sphinx/apidoc/gym-ignition/gym_ignition.rbd.idyntree.rst rename to docs/sphinx/apidoc/gym-gz/gym_gz.rbd.idyntree.rst index bb3223cf3..5cb1e89ca 100644 --- a/docs/sphinx/apidoc/gym-ignition/gym_ignition.rbd.idyntree.rst +++ b/docs/sphinx/apidoc/gym-gz/gym_gz.rbd.idyntree.rst @@ -1,5 +1,5 @@ gym\_gz.rbd.idyntree -========================== +==================== .. automodule:: gym_gz.rbd.idyntree :members: @@ -8,7 +8,7 @@ gym\_gz.rbd.idyntree gym\_gz.rbd.idyntree.helpers ----------------------------------- +---------------------------- .. automodule:: gym_gz.rbd.idyntree.helpers :members: @@ -16,7 +16,7 @@ gym\_gz.rbd.idyntree.helpers :show-inheritance: gym\_gz.rbd.idyntree.inverse\_kinematics\_nlp ---------------------------------------------------- +--------------------------------------------- .. automodule:: gym_gz.rbd.idyntree.inverse_kinematics_nlp :members: @@ -24,7 +24,7 @@ gym\_gz.rbd.idyntree.inverse\_kinematics\_nlp :show-inheritance: gym\_gz.rbd.idyntree.kindyncomputations ---------------------------------------------- +--------------------------------------- .. automodule:: gym_gz.rbd.idyntree.kindyncomputations :members: @@ -32,7 +32,7 @@ gym\_gz.rbd.idyntree.kindyncomputations :show-inheritance: gym\_gz.rbd.idyntree.numpy --------------------------------- +-------------------------- .. automodule:: gym_gz.rbd.idyntree.numpy :members: diff --git a/docs/sphinx/apidoc/gym-ignition/gym_ignition.rbd.rst b/docs/sphinx/apidoc/gym-gz/gym_gz.rbd.rst similarity index 89% rename from docs/sphinx/apidoc/gym-ignition/gym_ignition.rbd.rst rename to docs/sphinx/apidoc/gym-gz/gym_gz.rbd.rst index 54a998b15..a3e5ac112 100644 --- a/docs/sphinx/apidoc/gym-ignition/gym_ignition.rbd.rst +++ b/docs/sphinx/apidoc/gym-gz/gym_gz.rbd.rst @@ -1,5 +1,5 @@ gym\_gz.rbd -================= +=========== .. automodule:: gym_gz.rbd :members: @@ -14,7 +14,7 @@ gym\_gz.rbd gym\_gz.rbd.conversions ------------------------------ +----------------------- .. automodule:: gym_gz.rbd.conversions :members: @@ -22,7 +22,7 @@ gym\_gz.rbd.conversions :show-inheritance: gym\_gz.rbd.utils ------------------------ +----------------- .. automodule:: gym_gz.rbd.utils :members: diff --git a/docs/sphinx/apidoc/gym-ignition/gym_ignition.rst b/docs/sphinx/apidoc/gym-gz/gym_gz.rst similarity index 94% rename from docs/sphinx/apidoc/gym-ignition/gym_ignition.rst rename to docs/sphinx/apidoc/gym-gz/gym_gz.rst index 285a3ad21..8ee4bc049 100644 --- a/docs/sphinx/apidoc/gym-ignition/gym_ignition.rst +++ b/docs/sphinx/apidoc/gym-gz/gym_gz.rst @@ -1,5 +1,5 @@ gym\_gz -============= +======= .. automodule:: gym_gz :members: diff --git a/docs/sphinx/apidoc/gym-ignition/gym_ignition.runtimes.rst b/docs/sphinx/apidoc/gym-gz/gym_gz.runtimes.rst similarity index 78% rename from docs/sphinx/apidoc/gym-ignition/gym_ignition.runtimes.rst rename to docs/sphinx/apidoc/gym-gz/gym_gz.runtimes.rst index 5060bd38e..2ee6501a0 100644 --- a/docs/sphinx/apidoc/gym-ignition/gym_ignition.runtimes.rst +++ b/docs/sphinx/apidoc/gym-gz/gym_gz.runtimes.rst @@ -1,5 +1,5 @@ gym\_gz.runtimes -====================== +================ .. automodule:: gym_gz.runtimes :members: @@ -8,7 +8,7 @@ gym\_gz.runtimes gym\_gz.runtimes.gazebo\_runtime --------------------------------------- +-------------------------------- .. automodule:: gym_gz.runtimes.gazebo_runtime :members: @@ -16,7 +16,7 @@ gym\_gz.runtimes.gazebo\_runtime :show-inheritance: gym\_gz.runtimes.realtime\_runtime ----------------------------------------- +---------------------------------- .. automodule:: gym_gz.runtimes.realtime_runtime :members: diff --git a/docs/sphinx/apidoc/gym-ignition/gym_ignition.scenario.rst b/docs/sphinx/apidoc/gym-gz/gym_gz.scenario.rst similarity index 78% rename from docs/sphinx/apidoc/gym-ignition/gym_ignition.scenario.rst rename to docs/sphinx/apidoc/gym-gz/gym_gz.scenario.rst index 873ddc34f..89a997f3a 100644 --- a/docs/sphinx/apidoc/gym-ignition/gym_ignition.scenario.rst +++ b/docs/sphinx/apidoc/gym-gz/gym_gz.scenario.rst @@ -1,5 +1,5 @@ gym\_gz.scenario -====================== +================ .. automodule:: gym_gz.scenario :members: @@ -8,7 +8,7 @@ gym\_gz.scenario gym\_gz.scenario.model\_with\_file ----------------------------------------- +---------------------------------- .. automodule:: gym_gz.scenario.model_with_file :members: @@ -16,7 +16,7 @@ gym\_gz.scenario.model\_with\_file :show-inheritance: gym\_gz.scenario.model\_wrapper -------------------------------------- +------------------------------- .. automodule:: gym_gz.scenario.model_wrapper :members: diff --git a/docs/sphinx/apidoc/gym-ignition/gym_ignition.utils.rst b/docs/sphinx/apidoc/gym-gz/gym_gz.utils.rst similarity index 80% rename from docs/sphinx/apidoc/gym-ignition/gym_ignition.utils.rst rename to docs/sphinx/apidoc/gym-gz/gym_gz.utils.rst index 2d7f1d25c..0411924d8 100644 --- a/docs/sphinx/apidoc/gym-ignition/gym_ignition.utils.rst +++ b/docs/sphinx/apidoc/gym-gz/gym_gz.utils.rst @@ -1,5 +1,5 @@ gym\_gz.utils -=================== +============= .. automodule:: gym_gz.utils :members: @@ -8,7 +8,7 @@ gym\_gz.utils gym\_gz.utils.logger --------------------------- +-------------------- .. automodule:: gym_gz.utils.logger :members: @@ -16,7 +16,7 @@ gym\_gz.utils.logger :show-inheritance: gym\_gz.utils.math ------------------------- +------------------ .. automodule:: gym_gz.utils.math :members: @@ -24,7 +24,7 @@ gym\_gz.utils.math :show-inheritance: gym\_gz.utils.misc ------------------------- +------------------ .. automodule:: gym_gz.utils.misc :members: @@ -32,7 +32,7 @@ gym\_gz.utils.misc :show-inheritance: gym\_gz.utils.resource\_finder ------------------------------------- +------------------------------ .. automodule:: gym_gz.utils.resource_finder :members: @@ -40,7 +40,7 @@ gym\_gz.utils.resource\_finder :show-inheritance: gym\_gz.utils.scenario ----------------------------- +---------------------- .. automodule:: gym_gz.utils.scenario :members: @@ -48,7 +48,7 @@ gym\_gz.utils.scenario :show-inheritance: gym\_gz.utils.typing --------------------------- +-------------------- .. automodule:: gym_gz.utils.typing :members: diff --git a/docs/sphinx/conf.py b/docs/sphinx/conf.py index 5874bf254..7443730e8 100644 --- a/docs/sphinx/conf.py +++ b/docs/sphinx/conf.py @@ -67,7 +67,7 @@ # further. For a list of options available for each theme, see the # documentation. html_theme_options = { - "repository_url": "https://github.com/robotology/gym-ignition", + "repository_url": "https://github.com/andreaostuni/gym-gz", "use_repository_button": True, "use_issues_button": True, "use_edit_page_button": True, @@ -75,7 +75,7 @@ "home_page_in_toc": True, "use_download_button": False, "use_fullscreen_button": True, - "single_page": False, + } # Add any paths that contain custom static files (such as style sheets) here, @@ -119,6 +119,6 @@ # -- Options for extlinks extension ---------------------------------- extlinks = { - "issue": ("https://github.com/robotology/gym-ignition/issues/%s", "#"), - "pr": ("https://github.com/robotology/gym-ignition/pull/%s", "#"), + "issue": ("https://github.com/andreaostuni/gym-gz/issues/%s", "#"), + "pr": ("https://github.com/andreaostuni/gym-gz/pull/%s", "#"), } diff --git a/docs/sphinx/getting_started/gym-gz.rst b/docs/sphinx/getting_started/gym-gz.rst new file mode 100644 index 000000000..83e76ba8a --- /dev/null +++ b/docs/sphinx/getting_started/gym-gz.rst @@ -0,0 +1,55 @@ +.. _getting_started_gym_gz: + +gym-gz +************ + +The previous sections reported the usage of ScenarIO to perform rigid-body simulations of any kind. +The :py:mod:`gym_gz` Python package provides boilerplate code that use ScenarIO to create environments +for reinforcement learning research compatible with OpenAI Gym. + +Beyond the abstractions provided by ScenarIO, gym-gz introduces the following: + +- :py:class:`~gym_gz.base.runtime.Runtime`: Base class to abstract the runtime of an environment. + It provides the code that steps the simulator for simulated environments or deals with real-time execution for + environments running on real robots. + The implementation for Gz sim is :py:class:`~gym_gz.runtimes.gazebo_runtime.GazeboRuntime`. + +- :py:class:`~gym_gz.base.task.Task`: Base class providing the structure of the decision-making logic. + The code of the task must be independent from the runtime, and only the ScenarIO APIs should be used. + The active runtime will then execute the task on either simulated or real worlds. + +- :py:mod:`gym_gz.randomizers`: Utilities to develop ``gym.Wrapper`` classes that randomize the environment + every rollout. + The implementation for Gz sim is :py:class:`~gym_gz.randomizers.gazebo_env_randomizer.GazeboEnvRandomizer`. + +- :py:mod:`gym_gz.rbd`: Utilities commonly used in robotic environments, like inverse kinematics and rigid-body + dynamics algorithms. + Refer to :py:class:`~gym_gz.rbd.idyntree.inverse_kinematics_nlp.InverseKinematicsNLP` and + :py:class:`~gym_gz.rbd.idyntree.kindyncomputations.KinDynComputations` for more details. + +.. tip:: + + If you want to learn more about ``iDynTree``, the two classes we mainly use are ``iDynTree::KinDynComputations`` (`docs `__) and ``iDynTree::InverseKinematics`` (`docs `__). + + The theory and notation is summarized in `Multibody dynamics notation `_. + +You can find demo environments created with ``gym-gz`` in the +`gym_gz_environments `_ folder. +These examples show how to structure a new standalone Python package containing the environment with your robots. + +For example, taking the cartpole balancing problem with discrete actions, +the components you need to implement are the following: + +- A model :py:class:`~gym_gz_environments.models.cartpole.CartPole` + (`model/cartpole.py `_) + +- A task :py:class:`~gym_gz_environments.tasks.cartpole_discrete_balancing.CartPoleDiscreteBalancing` + (`cartpole_discrete_balancing.py `_) + +- A randomizer :py:class:`~gym_gz_environments.randomizers.cartpole.CartpoleEnvRandomizer` + (`randomizers/cartpole.py `_) + +- Environment registration as done in `__init__.py `_ + +With all these resources in place, you can run a random policy of the environment as shown in +`launch_cartpole.py `_. diff --git a/docs/sphinx/getting_started/gym-ignition.rst b/docs/sphinx/getting_started/gym-ignition.rst deleted file mode 100644 index 16be71795..000000000 --- a/docs/sphinx/getting_started/gym-ignition.rst +++ /dev/null @@ -1,55 +0,0 @@ -.. _getting_started_gym_ignition: - -gym-ignition -************ - -The previous sections reported the usage of ScenarIO to perform rigid-body simulations of any kind. -The :py:mod:`gym_ignition` Python package provides boilerplate code that use ScenarIO to create environments -for reinforcement learning research compatible with OpenAI Gym. - -Beyond the abstractions provided by ScenarIO, gym-ignition introduces the following: - -- :py:class:`~gym_ignition.base.runtime.Runtime`: Base class to abstract the runtime of an environment. - It provides the code that steps the simulator for simulated environments or deals with real-time execution for - environments running on real robots. - The implementation for Ignition Gazebo is :py:class:`~gym_ignition.runtimes.gazebo_runtime.GazeboRuntime`. - -- :py:class:`~gym_ignition.base.task.Task`: Base class providing the structure of the decision-making logic. - The code of the task must be independent from the runtime, and only the ScenarIO APIs should be used. - The active runtime will then execute the task on either simulated or real worlds. - -- :py:mod:`gym_ignition.randomizers`: Utilities to develop ``gym.Wrapper`` classes that randomize the environment - every rollout. - The implementation for Ignition Gazebo is :py:class:`~gym_ignition.randomizers.gazebo_env_randomizer.GazeboEnvRandomizer`. - -- :py:mod:`gym_ignition.rbd`: Utilities commonly used in robotic environments, like inverse kinematics and rigid-body - dynamics algorithms. - Refer to :py:class:`~gym_ignition.rbd.idyntree.inverse_kinematics_nlp.InverseKinematicsNLP` and - :py:class:`~gym_ignition.rbd.idyntree.kindyncomputations.KinDynComputations` for more details. - -.. tip:: - - If you want to learn more about ``iDynTree``, the two classes we mainly use are ``iDynTree::KinDynComputations`` (`docs `__) and ``iDynTree::InverseKinematics`` (`docs `__). - - The theory and notation is summarized in `Multibody dynamics notation `_. - -You can find demo environments created with ``gym-ignition`` in the -`gym_ignition_environments `_ folder. -These examples show how to structure a new standalone Python package containing the environment with your robots. - -For example, taking the cartpole balancing problem with discrete actions, -the components you need to implement are the following: - -- A model :py:class:`~gym_ignition_environments.models.cartpole.CartPole` - (`model/cartpole.py `_) - -- A task :py:class:`~gym_ignition_environments.tasks.cartpole_discrete_balancing.CartPoleDiscreteBalancing` - (`cartpole_discrete_balancing.py `_) - -- A randomizer :py:class:`~gym_ignition_environments.randomizers.cartpole.CartpoleEnvRandomizer` - (`randomizers/cartpole.py `_) - -- Environment registration as done in `__init__.py `_ - -With all these resources in place, you can run a random policy of the environment as shown in -`launch_cartpole.py `_. diff --git a/docs/sphinx/getting_started/manipulation.rst b/docs/sphinx/getting_started/manipulation.rst index d4c0623a7..374731196 100644 --- a/docs/sphinx/getting_started/manipulation.rst +++ b/docs/sphinx/getting_started/manipulation.rst @@ -3,18 +3,18 @@ Manipulation example ******************** -This example provides a wider overview of the functionalities currently implemented in gym-ignition. +This example provides a wider overview of the functionalities currently implemented in gym-gz. The code reported below is taken from the example -`panda_pick_and_place.py `_. +`panda_pick_and_place.py `_. It shows the following functionalities: -- Download models from `Ignition Fuel `_. +- Download models from `Gz Fuel `_. - Insert and remove models during runtime. -- Exploit the high-level :py:class:`~gym_ignition_environments.models.panda.Panda` helper class to insert the manipulator. +- Exploit the high-level :py:class:`~gym_gz_environments.models.panda.Panda` helper class to insert the manipulator. - Enable custom C++ controllers (:cpp:class:`scenario::controllers::ComputedTorqueFixedBase`). - Detect contacts and read contact wrenches. -- Exploit :py:class:`~gym_ignition.rbd.idyntree.inverse_kinematics_nlp.InverseKinematicsNLP`. +- Exploit :py:class:`~gym_gz.rbd.idyntree.inverse_kinematics_nlp.InverseKinematicsNLP`. .. figure:: https://user-images.githubusercontent.com/469199/99905096-f29a0f80-2cce-11eb-9f1c-002f6c887bc6.png :align: center @@ -22,7 +22,7 @@ It shows the following functionalities: .. tip:: This example can be the starting point to develop manipulation environments for robot learning. - Visit the :ref:`getting_started_gym_ignition` page for more information about how to wrap this code in the resources provided by ``gym_ignition``. + Visit the :ref:`getting_started_gym_gz` page for more information about how to wrap this code in the resources provided by ``gym_gz``. .. note:: @@ -38,12 +38,12 @@ It shows the following functionalities: from functools import partial from typing import List - import gym_ignition - import gym_ignition_environments + import gym_gz + import gym_gz_environments import numpy as np - from gym_ignition.context.gazebo import controllers - from gym_ignition.rbd import conversions - from gym_ignition.rbd.idyntree import inverse_kinematics_nlp + from gym_gz.context.gazebo import controllers + from gym_gz.rbd import conversions + from gym_gz.rbd.idyntree import inverse_kinematics_nlp from scipy.spatial.transform import Rotation as R from scenario import core as scenario_core @@ -57,7 +57,7 @@ It shows the following functionalities: def add_panda_controller( - panda: gym_ignition_environments.models.panda.Panda, controller_period: float + panda: gym_gz_environments.models.panda.Panda, controller_period: float ) -> None: # Set the controller period @@ -89,7 +89,7 @@ It shows the following functionalities: def get_panda_ik( - panda: gym_ignition_environments.models.panda.Panda, optimized_joints: List[str] + panda: gym_gz_environments.models.panda.Panda, optimized_joints: List[str] ) -> inverse_kinematics_nlp.InverseKinematicsNLP: # Create IK @@ -129,7 +129,7 @@ It shows the following functionalities: def insert_bucket(world: scenario_gazebo.World) -> scenario_gazebo.Model: # Insert objects from Fuel - uri = lambda org, name: f"https://fuel.ignitionrobotics.org/{org}/models/{name}" + uri = lambda org, name: f"https://fuel.gazebosim.org/{org}/models/{name}" # Download the cube SDF file bucket_sdf = scenario_gazebo.get_model_file_from_fuel( @@ -155,7 +155,7 @@ It shows the following functionalities: def insert_table(world: scenario_gazebo.World) -> scenario_gazebo.Model: # Insert objects from Fuel - uri = lambda org, name: f"https://fuel.ignitionrobotics.org/{org}/models/{name}" + uri = lambda org, name: f"https://fuel.gazebosim.org/{org}/models/{name}" # Download the cube SDF file bucket_sdf = scenario_gazebo.get_model_file_from_fuel( @@ -177,7 +177,7 @@ It shows the following functionalities: ) -> scenario_gazebo.Model: # Insert objects from Fuel - uri = lambda org, name: f"https://fuel.ignitionrobotics.org/{org}/models/{name}" + uri = lambda org, name: f"https://fuel.gazebosim.org/{org}/models/{name}" # Download the cube SDF file cube_sdf = scenario_gazebo.get_model_file_from_fuel( @@ -188,7 +188,7 @@ It shows the following functionalities: random_position = np.random.uniform(low=[0.2, -0.3, 1.01], high=[0.4, 0.3, 1.01]) # Get a unique name - model_name = gym_ignition.utils.scenario.get_unique_model_name( + model_name = gym_gz.utils.scenario.get_unique_model_name( world=world, model_name="cube" ) @@ -250,7 +250,7 @@ It shows the following functionalities: def move_fingers( - panda: gym_ignition_environments.models.panda.Panda, action: FingersAction + panda: gym_gz_environments.models.panda.Panda, action: FingersAction ) -> None: # Get the joints of the fingers @@ -271,7 +271,7 @@ It shows the following functionalities: # ==================== # Get the simulator and the world - gazebo, world = gym_ignition.utils.scenario.init_gazebo_sim( + gazebo, world = gym_gz.utils.scenario.init_gazebo_sim( step_size=0.001, real_time_factor=2.0, steps_per_run=1 ) @@ -281,7 +281,7 @@ It shows the following functionalities: gazebo.run(paused=True) # Insert the Panda manipulator - panda = gym_ignition_environments.models.panda.Panda( + panda = gym_gz_environments.models.panda.Panda( world=world, position=[-0.1, 0, 1.0] ) diff --git a/docs/sphinx/getting_started/scenario.rst b/docs/sphinx/getting_started/scenario.rst index e709081ad..8e5b56466 100644 --- a/docs/sphinx/getting_started/scenario.rst +++ b/docs/sphinx/getting_started/scenario.rst @@ -5,7 +5,7 @@ ScenarIO In this getting started section we show how to use the Gazebo ScenarIO library to simulate a pendulum system. We will use the models of the ground plane and the pendulum stored in the repository -`gym_ignition_models `_. +`gym_gz_models `_. The final outcome of this section is shown in the following GIF: @@ -13,7 +13,7 @@ The final outcome of this section is shown in the following GIF: :align: center .. tip:: - We fully support `Ignition Fuel `_, a constantly enlarging database of SDF models. + We fully support `Gz Fuel `_, a constantly enlarging database of SDF models. You can use :py:meth:`~scenario.bindings.gazebo.get_model_file_from_fuel` to download any model of the database: .. code-block:: python @@ -23,7 +23,7 @@ The final outcome of this section is shown in the following GIF: model_name = "Electrical Box" model_file = scenario_gazebo.get_model_file_from_fuel( - uri=f"https://fuel.ignitionrobotics.org/openrobotics/models/{model_name}") + uri=f"https://fuel.gazebosim.org/openrobotics/models/{model_name}") .. _getting_started_scenario_python: @@ -36,7 +36,7 @@ Python .. code-block:: python import time - import gym_ignition_models + import gym_gz_models from scenario import gazebo as scenario_gazebo # Create the simulator @@ -49,7 +49,7 @@ Python # Get the default world and insert the ground plane world = gazebo.get_world() - world.insert_model(gym_ignition_models.get_model_file("ground_plane")) + world.insert_model(gym_gz_models.get_model_file("ground_plane")) # Select the physics engine world.set_physics_engine(scenario_gazebo.PhysicsEngine_dart) @@ -60,7 +60,7 @@ Python gazebo.run(paused=True) # Insert a pendulum - world.insert_model(gym_ignition_models.get_model_file("pendulum")) + world.insert_model(gym_gz_models.get_model_file("pendulum")) gazebo.run(paused=True) time.sleep(3) diff --git a/docs/sphinx/index.html b/docs/sphinx/index.html index 42fcf661c..c15f49865 100644 --- a/docs/sphinx/index.html +++ b/docs/sphinx/index.html @@ -4,6 +4,6 @@ Redirecting to master branch - + diff --git a/docs/sphinx/info/faq.rst b/docs/sphinx/info/faq.rst index 202d62a68..ec7e62345 100644 --- a/docs/sphinx/info/faq.rst +++ b/docs/sphinx/info/faq.rst @@ -6,7 +6,7 @@ FAQ How to give credit? ------------------- -If you use **ScenarIO** or **gym-ignition** for your research, +If you use **ScenarIO** or **gym-gz** for your research, please cite the following reference: .. code-block:: bibtex @@ -27,7 +27,7 @@ Interaction with Tensorflow If your Python application imports both ``scenario`` and ``tensorflow``, you might experience segfaults with no error messages. Likely the problem is the `protobuf `_ library. -In fact, both Tensorflow and Ignition Gazebo link agains protobuf, but while Gazebo uses the +In fact, both Tensorflow and Gz sim link agains protobuf, but while Gazebo uses the default version of your OS, Tensorflow vendors a more recent version. If you import ``scenario`` before ``tensorflow``, the system protobuf is loaded, and Tensorflow will segfault. @@ -42,20 +42,20 @@ Ogre2 and OpenGL On GNU/Linux distributions that ship an old OpenGL version, the GUI could fail to open printing error like *Unable to create the rendering window*. -The reason is that Ignition Gazebo has `ogre-next `_ +The reason is that Gz sim has `ogre-next `_ (also known as ogre2) as default rendering engine, and it requires OpenGL greater than 3.3. -You can find more details `here `_. +You can find more details `here `_. -The workaround we recommend is modifying the file ``~/.ignition/gazebo/gui.config`` as follows: +The workaround we recommend is modifying the file ``~/.gz/sim/gui.config`` as follows: .. code-block:: diff - --- .ignition/gazebo/gui.config 2020-06-04 14:41:33.471804733 +0200 - +++ .ignition/gazebo/gui.config 2020-06-04 14:42:47.826475035 +0200 + --- .gz/sim/gui.config 2020-06-04 14:41:33.471804733 +0200 + +++ .gz/sim/gui.config 2020-06-04 14:42:47.826475035 +0200 @@ -30,7 +30,7 @@ false docked - + - ogre2 + ogre scene @@ -99,9 +99,9 @@ extracting it from the simulator with :cpp:func:`~scenario::gazebo::GazeboSimula .. note:: - If you don't specify any GUI configuration, the default ``~/.ignition/gazebo/gui.config`` is used. + If you don't specify any GUI configuration, the default ``~/.gz/sim/gui.config`` is used. This is the preferred approach since it's easier to maintain and keep world files updated. - You can find more information in the upstream `default.sdf `_. + You can find more information in the upstream `default.sdf `_. .. tip:: diff --git a/docs/sphinx/info/limitations.rst b/docs/sphinx/info/limitations.rst index b9d847644..c5c4e2ab0 100644 --- a/docs/sphinx/info/limitations.rst +++ b/docs/sphinx/info/limitations.rst @@ -4,9 +4,9 @@ Limitations Sensors support --------------- -Ignition Gazebo supports a wide variety of `sensors `_, +Gz sim supports a wide variety of `sensors `_, like cameras, lidars, ... -However, ScenarI/O and consequently gym-ignition are not yet able to extract data from sensors. +However, ScenarI/O and consequently gym-gz are not yet able to extract data from sensors. Follow :issue:`199` if you're interested in sensors support. Performance @@ -20,7 +20,7 @@ If your aim is performing simulations for robot learning, we recommend running m each of them operating on a world containing a single robot. If your aim is simulating a big world where the controlled model can move inside the scene, exploiting a new feature -of Ignition Gazebo called `levels `_ +of Gz sim called `levels `_ could be the proper solution. This feature is exploited by the big worlds of `subt `_. Instead, if your world has many models and the usage of levels does not apply to your use-case, you can try to switch @@ -31,4 +31,4 @@ the physics backend to an engine that handles better your simulation. At the time of writing only DART is officially supported. There is some recent activity to implement the bullet physics engine, but this back-and is not yet ready. As last resort, you can implement a new physics backend following the - `instructions `_. + `instructions `_. diff --git a/docs/sphinx/installation/developer.rst b/docs/sphinx/installation/developer.rst index a54709848..8d51db6ba 100644 --- a/docs/sphinx/installation/developer.rst +++ b/docs/sphinx/installation/developer.rst @@ -9,7 +9,7 @@ this installation type provides a simplified setup for development, VCS integrat Depending on whether you want to target the ``Stable`` or ``Nightly`` channels, you have to clone respectively the ``master`` or ``devel`` branch. -Check our :ref:`support policy ` to select the right distribution of Ignition to install. +Check our :ref:`support policy ` to select the right distribution of Gz to install. Dependencies ************ @@ -17,7 +17,7 @@ Dependencies The developer installation requires finding in the system other dependencies not required by the other installation types. In those cases, we rely on setuptools to download, install, and find all the necessary third-party dependencies. -1. **iDynTree**: ``gym_ignition`` provides helper classes to manipulate the kinematics and the dynamics of rigid-bodies. +1. **iDynTree**: ``gym_gz`` provides helper classes to manipulate the kinematics and the dynamics of rigid-bodies. Among the many existing solutions, we selected the algorithms implemented in `iDynTree `_. Follow the `official installation instructions `__ and make sure @@ -71,7 +71,7 @@ to install it again. .. note:: The ``scenario`` editable installation is just a placeholder. - It is necessary to prevent the editable installation of ``gym-ignition`` to override the resources installed by + It is necessary to prevent the editable installation of ``gym-gz`` to override the resources installed by the manual CMake execution. Otherwise, the ``scenario`` package from PyPI would be pulled, resulting with a wrong version. diff --git a/docs/sphinx/installation/nightly.rst b/docs/sphinx/installation/nightly.rst index ae089e398..c2f7bc564 100644 --- a/docs/sphinx/installation/nightly.rst +++ b/docs/sphinx/installation/nightly.rst @@ -4,7 +4,7 @@ Nightly ======= The nightly channel contains the most recent updates of the project. -As described in the :ref:`support policy `, this channel requires building Ignition from sources. +As described in the :ref:`support policy `, this channel requires building Gz from sources. We publish updated nightly packages after any pull request merged in the ``devel`` branch. @@ -13,7 +13,7 @@ We publish updated nightly packages after any pull request merged in the ``devel PyPI Package ************ -We provide two different packages for ScenarIO and gym-ignition. +We provide two different packages for ScenarIO and gym-gz. If you are interested in the ScenarIO package, install the `scenario `_ package from PyPI: @@ -22,12 +22,12 @@ install the `scenario `_ package from PyPI: pip install --pre scenario -Instead, if you are interested in gym-ignition, -install the `gym-ignition `_ package from PyPI: +Instead, if you are interested in gym-gz, +install the `gym-gz `_ package from PyPI: .. code-block:: bash - pip install --pre scenario gym-ignition + pip install --pre scenario gym-gz Note that in this case, specifying also the ``scenario`` dependency is necessary, otherwise ``pip`` will pull the stable package from PyPI. diff --git a/docs/sphinx/installation/stable.rst b/docs/sphinx/installation/stable.rst index a07904b7f..bc2b36147 100644 --- a/docs/sphinx/installation/stable.rst +++ b/docs/sphinx/installation/stable.rst @@ -4,7 +4,7 @@ Stable ====== The stable channel is the easiest way to setup your system. -As described in the :ref:`support policy `, this channel allows installing Ignition from binary packages. +As described in the :ref:`support policy `, this channel allows installing Gz from binary packages. We publish updated stable packages after any tagged release of the ``master`` branch. @@ -13,7 +13,7 @@ We publish updated stable packages after any tagged release of the ``master`` br PyPI Package ************ -We provide two different packages for ScenarIO and gym-ignition. +We provide two different packages for ScenarIO and gym-gz. If you are interested in the ScenarIO package, install the `scenario `_ package from PyPI: @@ -22,11 +22,11 @@ install the `scenario `_ package from PyPI: pip install scenario -Instead, if you are interested in gym-ignition, -install the `gym-ignition `_ package from PyPI: +Instead, if you are interested in gym-gz, +install the `gym-gz `_ package from PyPI: .. code-block:: bash - pip install gym-ignition + pip install gym-gz It will download and install also ``scenario`` since it depends on it. diff --git a/docs/sphinx/installation/support_policy.rst b/docs/sphinx/installation/support_policy.rst index 8651f19d1..ef635eb7d 100644 --- a/docs/sphinx/installation/support_policy.rst +++ b/docs/sphinx/installation/support_policy.rst @@ -3,7 +3,7 @@ Support policy ============== -**gym-ignition** is an hybrid C++ and Python project and it requires finding in the system updated compile and runtime +**gym-gz** is an hybrid C++ and Python project and it requires finding in the system updated compile and runtime dependencies, depending on the installation type you select. The project mostly supports all the major operating systems. @@ -13,16 +13,16 @@ We do not yet provide official support to other operating systems. The table below recaps the project requirements of the :ref:`Stable ` and :ref:`Nightly ` channels: +-------------+-----------------+--------+----------------------+----------+------------+---------+ -| Channel | C++ | Python | Ignition | Ubuntu | macOS [*]_ | Windows | +| Channel | C++ | Python | Gz | Ubuntu | macOS [*]_ | Windows | +=============+=================+========+======================+==========+============+=========+ | **Stable** | >= gcc8, clang6 | >= 3.8 | `Fortress`_ (binary) | >= 20.04 | No | No | +-------------+-----------------+--------+----------------------+----------+------------+---------+ | **Nightly** | >= gcc8, clang6 | >= 3.8 | `Fortress`_ (source) | >= 20.04 | No | No | +-------------+-----------------+--------+----------------------+----------+------------+---------+ -.. _`Fortress`: https://ignitionrobotics.org/docs/fortress/install +.. _`Fortress`: https://gazebosim.org/docs/fortress/install -.. [*] Ignition officially supports macOS and also ``gym-ignition`` could be installed on this platform. +.. [*] Gz officially supports macOS and also ``gym-gz`` could be installed on this platform. However, we do not currently test this configuration and we cannot guarantee support. .. important:: diff --git a/docs/sphinx/installation/system_configuration.rst b/docs/sphinx/installation/system_configuration.rst index 18b022fb2..fd1ff68c9 100644 --- a/docs/sphinx/installation/system_configuration.rst +++ b/docs/sphinx/installation/system_configuration.rst @@ -1,11 +1,11 @@ System Configuration ******************** -This section applies only to the installations that require building Ignition from sources. +This section applies only to the installations that require building Gz from sources. -If you installed Ignition from sources, you likely used ``colcon`` and therefore the entire suite was installed in a custom folder called workspace. -The workspace contains all the shared libraries and executables of Ignition, including the plugins loaded during runtime. -Since we cannot know in advance where you created the workspace, ``gym-ignition`` is not able to find the physics plugins. +If you installed Gz from sources, you likely used ``colcon`` and therefore the entire suite was installed in a custom folder called workspace. +The workspace contains all the shared libraries and executables of Gz, including the plugins loaded during runtime. +Since we cannot know in advance where you created the workspace, ``gym-gz`` is not able to find the physics plugins. After you enabled the workspace by sourcing its bash script, you may need to also export the following variable: diff --git a/docs/sphinx/what/what_is_gym_gz.rst b/docs/sphinx/what/what_is_gym_gz.rst new file mode 100644 index 000000000..260a99485 --- /dev/null +++ b/docs/sphinx/what/what_is_gym_gz.rst @@ -0,0 +1,22 @@ +.. _what_is_gym_gz: + +What is gym-gz? +===================== + +**gym-gz** is a framework to create **reproducible robotics environments** for reinforcement learning research. + +It is based on the :ref:`ScenarIO ` project which provides the low-level APIs to interface with the Gz sim simulator. +By default, RL environments share a lot of boilerplate code, e.g. for initializing the simulator or structuring the classes +to expose the ``gym.Env`` interface. +Gym-gz provides the :py:class:`~gym_gz.base.task.Task` and :py:class:`~gym_gz.base.runtime.Runtime` +abstractions that help you focusing on the development of the decision-making logic rather than engineering. +It includes :py:mod:`~gym_gz.randomizers` to simplify the implementation of domain randomization +of models, physics, and tasks. +Gym-gz also provides powerful dynamics algorithms compatible with both fixed-base and floating-based robots by +exploiting `iDynTree `_ and exposing +high-level functionalities (:py:mod:`~gym_gz.rbd.idyntree`). + +Gym-gz does not provide out-of-the-box environments ready to be used. +Rather, its aim is simplifying and streamlining their development. +Nonetheless, for illustrative purpose, it includes canonical examples in the +:py:mod:`gym_gz_environments` package. diff --git a/docs/sphinx/what/what_is_gym_ignition.rst b/docs/sphinx/what/what_is_gym_ignition.rst deleted file mode 100644 index a487cbbd3..000000000 --- a/docs/sphinx/what/what_is_gym_ignition.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. _what_is_gym_ignition: - -What is gym-ignition? -===================== - -**gym-ignition** is a framework to create **reproducible robotics environments** for reinforcement learning research. - -It is based on the :ref:`ScenarIO ` project which provides the low-level APIs to interface with the Ignition Gazebo simulator. -By default, RL environments share a lot of boilerplate code, e.g. for initializing the simulator or structuring the classes -to expose the ``gym.Env`` interface. -Gym-ignition provides the :py:class:`~gym_ignition.base.task.Task` and :py:class:`~gym_ignition.base.runtime.Runtime` -abstractions that help you focusing on the development of the decision-making logic rather than engineering. -It includes :py:mod:`~gym_ignition.randomizers` to simplify the implementation of domain randomization -of models, physics, and tasks. -Gym-ignition also provides powerful dynamics algorithms compatible with both fixed-base and floating-based robots by -exploiting `iDynTree `_ and exposing -high-level functionalities (:py:mod:`~gym_ignition.rbd.idyntree`). - -Gym-ignition does not provide out-of-the-box environments ready to be used. -Rather, its aim is simplifying and streamlining their development. -Nonetheless, for illustrative purpose, it includes canonical examples in the -:py:mod:`gym_ignition_environments` package. diff --git a/docs/sphinx/what/what_is_scenario.rst b/docs/sphinx/what/what_is_scenario.rst index 060a581d5..99a5620a6 100644 --- a/docs/sphinx/what/what_is_scenario.rst +++ b/docs/sphinx/what/what_is_scenario.rst @@ -6,7 +6,7 @@ What is ScenarIO **ScenarIO** is a C++ abstraction layer to interact with simulated and real robots. It mainly provides the following -`C++ interfaces `_: +`C++ interfaces `_: - :cpp:class:`scenario::core::World` - :cpp:class:`scenario::core::Model` @@ -17,7 +17,7 @@ These interfaces can be implemented to operate on different scenarios, including robots operating on either simulated worlds or in real-time. ScenarIO currently fully implements **Gazebo ScenarIO** (APIs), -a simulated back-end that interacts with `Ignition Gazebo `_. +a simulated back-end that interacts with `Gz sim `_. The result allows stepping the simulator programmatically, ensuring a fully reproducible behaviour. It relates closely to other projects like `pybullet `_ and `mujoco-py `_. @@ -27,5 +27,5 @@ A real-time backend that interacts with the `YARP `, :ref:`Gazebo APIs `) or from Python (:py:mod:`~scenario.bindings.core`, :py:mod:`~scenario.bindings.gazebo`). -If you're interested to know the reasons why we started developing ScenarIO and why we selected Ignition Gazebo +If you're interested to know the reasons why we started developing ScenarIO and why we selected Gz sim for our simulations, visit the :ref:`Motivations ` section. diff --git a/docs/sphinx/why/why_gym_ignition.rst b/docs/sphinx/why/why_gym_gz.rst similarity index 61% rename from docs/sphinx/why/why_gym_ignition.rst rename to docs/sphinx/why/why_gym_gz.rst index bcb6fb175..fd51fc1f1 100644 --- a/docs/sphinx/why/why_gym_ignition.rst +++ b/docs/sphinx/why/why_gym_gz.rst @@ -1,9 +1,9 @@ -.. _why_gym_ignition: +.. _why_gym_gz: -Why gym-ignition +Why gym-gz ================ -In the previous sections we described why we developed ScenarIO and why we used Ignition Gazebo to implement its simulation back-end. +In the previous sections we described why we developed ScenarIO and why we used Gz sim to implement its simulation back-end. While we mentioned few advantages for the robot learning domain, ScenarIO remains a general C++ library that can be used for generic robotic applications. The reinforcement learning community, in the past years, converged towards Python for the development of the environments @@ -12,22 +12,22 @@ containing the decision-making logic. A widespread interface is powerful because if you implement an environment that exposes the ``gym.Env`` interface, you can then use all the countless frameworks provided by the community to train a policy selecting your favourite algorithm. -The Python package ``gym_ignition`` enables you to create robotic environments compatible with OpenAI Gym. +The Python package ``gym_gz`` enables you to create robotic environments compatible with OpenAI Gym. Being based on ScenarIO, it enables to develop environments that can run not only on different physics engines, but also on real robots. -You can think of ``gym_ignition`` as a way to help you structuring your environment. +You can think of ``gym_gz`` as a way to help you structuring your environment. If you know how `pytorch-lightning `_ relates to PyTorch, -the same applies to the interaction between gym-ignition and ScenarIO. -Thanks to the :py:class:`~gym_ignition.base.task.Task` and :py:class:`~gym_ignition.base.runtime.Runtime` interfaces, -``gym_ignition`` abstracts away all the unnecessary boilerplate that otherwise you have to copy and paste between environments. +the same applies to the interaction between gym-gz and ScenarIO. +Thanks to the :py:class:`~gym_gz.base.task.Task` and :py:class:`~gym_gz.base.runtime.Runtime` interfaces, +``gym_gz`` abstracts away all the unnecessary boilerplate that otherwise you have to copy and paste between environments. -For example, :py:class:`~gym_ignition.runtimes.gazebo_runtime.GazeboRuntime` provides all boilerplate code to take -your implementation of a :py:class:`~gym_ignition.base.task.Task` and simulate it with Ignition Gazebo. +For example, :py:class:`~gym_gz.runtimes.gazebo_runtime.GazeboRuntime` provides all boilerplate code to take +your implementation of a :py:class:`~gym_gz.base.task.Task` and simulate it with Gz sim. Furthermore, we provide useful classes with functionalities that are commonly required by robotic environments, like -Inverse Kinematic (:py:class:`~gym_ignition.rbd.idyntree.inverse_kinematics_nlp.InverseKinematicsNLP`) -and multibody dynamics algorithms (:py:class:`~gym_ignition.rbd.idyntree.kindyncomputations.KinDynComputations`) +Inverse Kinematic (:py:class:`~gym_gz.rbd.idyntree.inverse_kinematics_nlp.InverseKinematicsNLP`) +and multibody dynamics algorithms (:py:class:`~gym_gz.rbd.idyntree.kindyncomputations.KinDynComputations`) with full support of floating-base systems. .. note:: @@ -41,4 +41,4 @@ with full support of floating-base systems. To the best of our knowledge, the first package that implemented a structure that abstracts the task, the robot, and the simulator is `openai_ros `_. We have been inspired by its structure in the early stage of development, and the current interfaces implemented in - gym-ignition are an evolution of the original architecture. + gym-gz are an evolution of the original architecture. diff --git a/docs/sphinx/why/why_ignition_gazebo.rst b/docs/sphinx/why/why_gz_gazebo.rst similarity index 63% rename from docs/sphinx/why/why_ignition_gazebo.rst rename to docs/sphinx/why/why_gz_gazebo.rst index 28827c469..761f473dd 100644 --- a/docs/sphinx/why/why_ignition_gazebo.rst +++ b/docs/sphinx/why/why_gz_gazebo.rst @@ -1,38 +1,38 @@ -.. _why_ignition_gazebo: +.. _why_gz_gazebo: -Why Ignition Gazebo +Why Gz sim =================== -In this section we want to go a bit deeper in the motivations that led us to select Ignition Gazebo as target solution for the simulation back-end of ScenarIO. +In this section we want to go a bit deeper in the motivations that led us to select Gz sim as target solution for the simulation back-end of ScenarIO. To begin, a bit of history. The `Gazebo `_ simulator that the entire robotic community has used for -over a decade is different than Ignition Gazebo. +over a decade is different than Gz sim. We will refer to the old simulator as Gazebo Classic. -Ignition Gazebo is the new generation of the simulator. +Gz sim is the new generation of the simulator. It takes all the lesson learned by the development of Gazebo Classic and provides a more modular and extensible framework for robotic simulations. -The monolithic structure of Gazebo Classic has been broken in standalone libraries, obtaining a *suite* called `Ignition `_. -Ignition Gazebo is just one of the libraries [*]_ that compose the suite. -When we started the development of gym-ignition, Ignition Gazebo was "stable" enough to start using it. -The clear advantage is support: Gazebo Classic will just receive bug fixing, all the development effort now shifted towards the new Ignition Gazebo. -The price to pay, instead, is that Ignition Gazebo has not yet reached feature parity with Gazebo Classic, even though +The monolithic structure of Gazebo Classic has been broken in standalone libraries, obtaining a *suite* called `Gz `_. +Gz sim is just one of the libraries [*]_ that compose the suite. +When we started the development of gym-gz, Gz sim was "stable" enough to start using it. +The clear advantage is support: Gazebo Classic will just receive bug fixing, all the development effort now shifted towards the new Gz sim. +The price to pay, instead, is that Gz sim has not yet reached feature parity with Gazebo Classic, even though the gap is getting filled quickly. -.. [*] Yes, you read correctly: *library*. Ignition Gazebo is a library. - A ``ignition::gazebo::Server`` object can be instantiated and it can be stepped programmatically from your code. +.. [*] Yes, you read correctly: *library*. Gz sim is a library. + A ``gz::sim::Server`` object can be instantiated and it can be stepped programmatically from your code. This type of architecture became quite popular recently because it gives you full control of the simulation. - Ignition Gazebo, therefore, became a solution similar to the well known alternatives like ``pybullet`` and ``mujoco-py``. + Gz sim, therefore, became a solution similar to the well known alternatives like ``pybullet`` and ``mujoco-py``. We have been and currently are Gazebo Classic users, as many other robotics research labs. Over time, we became familiar with the tools and methods of Gazebo Classic and built a lot of code and applications that depend on it. Unfortunately, despite someone has shown attempts, Gazebo Classic is not suitable for the large-scale simulations that are typical in modern reinforcement learning architectures. -Ignition Gazebo offered us a viable solution for this use case that allows us to exploit the know-how we gained with Gazebo Classic. +Gz sim offered us a viable solution for this use case that allows us to exploit the know-how we gained with Gazebo Classic. -The two main features that drove us towards the adoption of Ignition Gazebo are the following: +The two main features that drove us towards the adoption of Gz sim are the following: -1. **Physics engines are loaded as plugin libraries and Ignition Gazebo operates on an API-stable interface.** +1. **Physics engines are loaded as plugin libraries and Gz sim operates on an API-stable interface.** This architecture allows everyone to implement a new physics engine backend and run simulations exploiting all the other - components of the Ignition suite (rendering, systems, ...). + components of the Gz suite (rendering, systems, ...). While today only `DART `_ is officially supported, we believe this is one of the best attempts to obtain in the long run a framework that allows to switch physics engines with minimal effort. For reinforcement learning research, it could bring domain randomization to the next level. @@ -42,13 +42,13 @@ The two main features that drove us towards the adoption of Ignition Gazebo are Most of the client-server architectures cannot guarantee reproducibility since asynchronous network transports could provide different results depending on the load of your system. An effective solution is using the simulator as a library and stepping it programmatically from your code. - Gazebo ScenarIO provides APIs to perform these kind of simulations with Ignition Gazebo. + Gazebo ScenarIO provides APIs to perform these kind of simulations with Gz sim. There are a bunch of other nice features we didn't cover in this section. Not all of them are currently exposed to ScenarIO Gazebo, please open a feature request if you have any suggestion or, even better, fire up a pull request! -To summarize, these are the features that motivated us to choose Ignition Gazebo: +To summarize, these are the features that motivated us to choose Gz sim: - Simulator developed for robotics - Simulator-as-a-library structure @@ -56,10 +56,10 @@ To summarize, these are the features that motivated us to choose Ignition Gazebo - Modular software architecture - Powerful and constantly improving SDF model description - Well maintained, packaged, and widely tested -- Large big database of objects to create worlds: `Ignition Fuel `_ +- Large big database of objects to create worlds: `Gz Fuel `_ - Long term vision and support .. note:: - Ignition Gazebo is the target simulator of the new `DARPA Subterranean Challenge `_. - Have a look to their simulation results to understand what you can expect from using Ignition Gazebo. + Gz sim is the target simulator of the new `DARPA Subterranean Challenge `_. + Have a look to their simulation results to understand what you can expect from using Gz sim. diff --git a/scenario/README.md b/scenario/README.md index 7eff2c944..233089469 100644 --- a/scenario/README.md +++ b/scenario/README.md @@ -41,7 +41,7 @@ These interfaces can be implemented to operate on different scenarios, including robots operating on either simulated worlds or in real-time. ScenarIO currently fully implements **Gazebo ScenarIO**, -a simulated back-end that interacts with [Gz Sim](https://ignitionrobotics.org). +a simulated back-end that interacts with [Gz Sim](https://gazebosim.org). The result allows stepping the simulator programmatically, ensuring a fully reproducible behaviour. It relates closely to other projects like [pybullet](https://github.com/bulletphysics/bullet3) and [mujoco-py](https://github.com/openai/mujoco-py). @@ -62,7 +62,7 @@ Visit our [Support Policy](https://robotology.github.io/gym-ignition/master/inst to check the distribution currently supported. Then, install the supported Ignition suite following the -[official instructions](https://ignitionrobotics.org/docs/fortress). +[official instructions](https://gazebosim.org/docs/fortress). ### Python diff --git a/scenario/bindings/__init__.py b/scenario/bindings/__init__.py index f8b187373..26ed9c3e0 100644 --- a/scenario/bindings/__init__.py +++ b/scenario/bindings/__init__.py @@ -203,7 +203,7 @@ def import_gazebo() -> None: def create_home_dot_folder() -> None: # Make sure that the dot folder in the user's home exists - Path("~/.gz/gazebo").expanduser().mkdir(mode=0o755, parents=True, exist_ok=True) + Path("~/.gz/sim").expanduser().mkdir(mode=0o755, parents=True, exist_ok=True) # =================== diff --git a/scenario/cmake/ImportTargetsCitadel.cmake b/scenario/cmake/ImportTargetsCitadel.cmake index 9c1dc7d45..342e53a4f 100644 --- a/scenario/cmake/ImportTargetsCitadel.cmake +++ b/scenario/cmake/ImportTargetsCitadel.cmake @@ -1,6 +1,6 @@ include(AliasImportedTarget) -# https://ignitionrobotics.org/docs/citadel/install#citadel-libraries +# https://gazebosim.org/docs/citadel/install#citadel-libraries alias_imported_target( PACKAGE_ORIG sdformat9 diff --git a/scenario/cmake/ImportTargetsDome.cmake b/scenario/cmake/ImportTargetsDome.cmake index b3ad40945..42a90a989 100644 --- a/scenario/cmake/ImportTargetsDome.cmake +++ b/scenario/cmake/ImportTargetsDome.cmake @@ -1,6 +1,6 @@ include(AliasImportedTarget) -# https://ignitionrobotics.org/docs/dome/install#dome-libraries +# https://gazebosim.org/docs/dome/install#dome-libraries alias_imported_target( PACKAGE_ORIG sdformat10 diff --git a/scenario/cmake/ImportTargetsEdifice.cmake b/scenario/cmake/ImportTargetsEdifice.cmake index f256a386c..66002a70e 100644 --- a/scenario/cmake/ImportTargetsEdifice.cmake +++ b/scenario/cmake/ImportTargetsEdifice.cmake @@ -1,6 +1,6 @@ include(AliasImportedTarget) -# https://ignitionrobotics.org/docs/edifice/install#edifice-libraries +# https://gazebosim.org/docs/edifice/install#edifice-libraries alias_imported_target( PACKAGE_ORIG sdformat11 diff --git a/scenario/cmake/ImportTargetsFortress.cmake b/scenario/cmake/ImportTargetsFortress.cmake index e69fb4e12..09385b294 100644 --- a/scenario/cmake/ImportTargetsFortress.cmake +++ b/scenario/cmake/ImportTargetsFortress.cmake @@ -1,6 +1,6 @@ include(AliasImportedTarget) -# https://ignitionrobotics.org/docs/fortress/install#fortress-libraries +# https://gazebosim.org/docs/fortress/install#fortress-libraries alias_imported_target( PACKAGE_ORIG sdformat12 diff --git a/scenario/cmake/ImportTargetsGarden.cmake b/scenario/cmake/ImportTargetsGarden.cmake index 27e85db8f..93ef223ad 100644 --- a/scenario/cmake/ImportTargetsGarden.cmake +++ b/scenario/cmake/ImportTargetsGarden.cmake @@ -1,6 +1,6 @@ include(AliasImportedTarget) -# https://ignitionrobotics.org/docs/fortress/install#fortress-libraries +# https://gazebosim.org/docs/fortress/install#fortress-libraries alias_imported_target( PACKAGE_ORIG sdformat13 diff --git a/scenario/setup.cfg b/scenario/setup.cfg index 7b30512c5..16a10eaed 100644 --- a/scenario/setup.cfg +++ b/scenario/setup.cfg @@ -11,13 +11,13 @@ author = Diego Ferigo author_email = dgferigo@gmail.com license = LGPL platforms = any -url = https://github.com/robotology/gym-ignition/tree/master/scenario +url = https://github.com/andreaostuni/gym-gz/tree/master/scenario project_urls = - Changelog = https://github.com/robotology/gym-ignition/releases - Tracker = https://github.com/robotology/gym-ignition/issues - Documentation = https://robotology.github.io/gym-ignition - Source = https://github.com/robotology/gym-ignition/tree/master/scenario + Changelog = https://github.com/andreaostuni/gym-gz/releases + Tracker = https://github.com/andreaostuni/gym-gz/issues + Documentation = https://andreaostuni.github.io/gym-gz + Source = https://github.com/andreaostuni/gym-gz/tree/master/scenario keywords = robotics diff --git a/scenario/src/gazebo/src/GazeboSimulator.cpp b/scenario/src/gazebo/src/GazeboSimulator.cpp index e3d157f2f..fad2fb70f 100644 --- a/scenario/src/gazebo/src/GazeboSimulator.cpp +++ b/scenario/src/gazebo/src/GazeboSimulator.cpp @@ -695,7 +695,7 @@ std::shared_ptr GazeboSimulator::Impl::getServer() // Set the following environment variable to disable loading the default // server plugins, which include upstream's Physics that is not compatible. - // https://github.com/ignitionrobotics/ign-gazebo/pull/281 + // https://github.com/gazebosim/gz-sim/pull/281 // TODO: this will not likely work in Windows. std::string value; if (!gz::common::env( diff --git a/setup.cfg b/setup.cfg index d5683cbbe..9a6864975 100644 --- a/setup.cfg +++ b/setup.cfg @@ -12,13 +12,13 @@ author_email = dgferigo@gmail.com license = LGPL license_file = LICENSE platforms = any -url = https://github.com/robotology/gym-ignition +url = https://github.com/andreaostuni/gym-gz project_urls = - Changelog = https://github.com/robotology/gym-ignition/releases - Tracker = https://github.com/robotology/gym-ignition/issues - Documentation = https://robotology.github.io/gym-ignition - Source = https://github.com/robotology/gym-ignition + Changelog = https://github.com/andreaostuni/gym-gz/releases + Tracker = https://github.com/andreaostuni/gym-gz/issues + Documentation = https://andreaostuni.github.io/gym-gz + Source = https://github.com/andreaostuni/gym-gz keywords = openai diff --git a/tests/test_scenario/test_link_velocities.py b/tests/test_scenario/test_link_velocities.py index ec8502d85..4c8b255c5 100644 --- a/tests/test_scenario/test_link_velocities.py +++ b/tests/test_scenario/test_link_velocities.py @@ -251,7 +251,7 @@ def test_linear_acceleration( assert world_linear_acceleration() == pytest.approx(world_acceleration, abs=0.5) # Test the BODY acceleration - # Note: https://github.com/ignitionrobotics/ign-gazebo/issues/87 + # Note: https://github.com/gazebosim/gz-sim/issues/87 W_R_L = to_matrix(orientation()) body_acceleration = W_R_L.transpose() @ np.array(world_linear_acceleration()) assert body_acceleration == pytest.approx(body_linear_acceleration()) @@ -314,7 +314,7 @@ def test_angular_acceleration( world_angular_acceleration(), abs=0.2 ) - # Note: https://github.com/ignitionrobotics/ign-gazebo/issues/87 + # Note: https://github.com/gazebosim/gz-sim/issues/87 W_R_L = to_matrix(orientation()) body_acceleration = W_R_L.transpose() @ np.array(world_angular_acceleration()) assert body_acceleration == pytest.approx(body_angular_acceleration())