From fe2613c0cee7f2ca6c574c0988d129b1279dc921 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Fri, 5 Dec 2025 13:44:30 -0600 Subject: [PATCH 1/2] Add Gazebo Kura Roadmap Signed-off-by: Addisu Z. Taddese --- roadmap.md | 142 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 139 insertions(+), 3 deletions(-) diff --git a/roadmap.md b/roadmap.md index 45d104438..560e6537f 100644 --- a/roadmap.md +++ b/roadmap.md @@ -8,10 +8,146 @@ info@openrobotics.org. ## Gazebo Kura Roadmap -Coming soon... +Starting in Gazebo Kura, we are introducing the idea of a secondary roadmap +which is a list of items the Gazebo PMC is looking to implement with the help +of the community. Committers on the Gazebo project will focus on the primary +roadmap, but will provide guidance and review to anyone in the community +willing to work on any of the items. Each item will have one or more point of +contacts (POCs) who are Gazebo committers and who will be responsible for +coordinating with a community member to get roadmap item implemented. The +POC(s) will provide a description of the roadmap item on a Github issue as well +some suggestions on how the feature should be implemented. - - +:::{note} +Note that the roadmap may be adjusted during the development cycle and some +items might move from the secondary to the primary roadmap depending on the +progress of primary tasks and availability of committers. +::: + +### Primary Roadmap + +:::{card} + +#### Migrate Gazebo-classic tutorials + +* Copy/adapt tutorials from +* {bdg-primary}`POC:` https://github.com/azeey + +#### Zenoh Refinement + +* Continue refining the recent Zenoh integration work in gz-transport to make +it production ready +* [Add support for loading Zenoh configuration from +file](https://github.com/gazebosim/gz-transport/pull/733) +* Consider supporting shared memory transport over Zenoh +* {bdg-primary}`POC:` https://github.com/caguero + +#### Deep dive into Gazebo performance issues + +* Investigate and improve performance issues in core parts of Gazebo such as +the Entity Component Manager(ECM), libsdformat (world loading as well as +synchronization of models via the ECM), Physics system and associated plugins, +and performance of rendering for moderately complex worlds. +* {bdg-primary}`POC:` https://github.com/azeey + +#### Improve rendering quality + +* Explore how Gazebo can leverage modern rendering engines that provide higher +rendering fidelity. +* Potentially create a new way of integrating external rendering engines +running in a separate process. +* Curate models and worlds with high rendering fidelity for reference +* {bdg-primary}`POC:` https://github.com/iche033 + +#### Third-party plugin repository + +* This is part of larger plan to support CI and binary releases for third-party +plugins, but initial task here will focus on creating a list of third-party +plugins similar to an awesome list. +* {bdg-primary}`POC:` https://github.com/azeey + +#### Add MuJoCo as a new physics engine + +* MuJoCo is known for its speed and superior handling of contact dynamics. In +addition it is actively maintained and has a thriving community of users. +Integrating MuJoCo as Gazebo's fourth physics engine will ensure that Gazebo +can offer a more efficient physics engine while also ensuring the long term +health of the project. +* {bdg-primary}`POC:` https://github.com/azeey +::: + +### Secondary Roadmap + +:::{card} +#### Expose an API similar to SimulationRunner + +* Allow getting the ECM from either sim::Server or the new interface. +* Improve C++ API provided by convenience classes (e.g. `gz::sim::Model`, +`gz::sim::Link`) so that they are more complete for basic use cases. Users will +still need to access the ECM directly for more advanced user cases. +* {bdg-primary}`POCs:` https://github.com/arjo129, https://github.com/caguero + +#### Low fidelity, faster-than-realtime simulation + +* Full support for kinematic objects in dartsim and bullet +* Support a mode where we sim runs kinematics mode without having to change the +SDF. +* {bdg-primary}`POC:` https://github.com/scpeters + +#### Dynamically create ros_gz bridges + +* Improve the quality of life for ros_gz_bridge users by automatically creating +bridges of all known Gazebo topics with no or minimal configuration. +* {bdg-primary}`POC:` https://github.com/azeey + +#### A list of polished examples using Gazebo + +* Robot arms properly set up with ros2_control/moveit! +* Working examples of one or two robots of each robot category: arm, mobile, +humanoid, etc. +* {bdg-primary}`POC:` https://github.com/azeey + +#### Improve multi-robot simulation with ROS + +* Gazebo-classic ROS plugins (from gazebo_ros_pkgs) had a way to set namespaces +for each plugin, which could be used to simulate multiple robots easily. ros_gz +doesn’t have this kind of capability. Current solution is to use xacro to add +namespaces to Gazebo topic names. +* {bdg-primary}`POC:` https://github.com/azeey + +#### Refactor initial start up sequence code + +* Reduce chance of "gazebo is not working" issues stemming from +misconfiguration: +* https://github.com/gazebosim/gz-sim/issues/2962 +* https://github.com/gazebosim/gz-sim/issues/2967 +* {bdg-primary}`POC:` https://github.com/arjo129 + +#### Replace homebrew with Pixi in our macOS CI + +* Due to the rolling nature of homebrew, the maintenance burden of building +bottles and the associated CI disruptions have become too much. Pixi on the +other hand can provide version locked binaries. +* {bdg-primary}`POC:` https://github.com/j-rivero + +#### Build python docs and ensure that they are complete + +* Host a sphinx autogenerated Python documentation for all of Gazebo's python +bindings +* {bdg-primary}`POC:` https://github.com/j-rivero + +#### Provide an integration with ros2’s resource_retriever + +* This would allow Gazebo can find assets from ROS packages and ROS tools such +as RViz can find assets known to Gazebo + +* {bdg-primary}`POC:` https://github.com/mjcarroll +::: + +:::{note} +Note that some of these roadmap items may be backported to older versions of +Gazebo on a best-effort basis if they do not break API and ABI. +::: ### Gazebo Kura Release Timeline (2026) From 0e94070fa381034eff93014c91214db2c054f8c6 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Mon, 15 Dec 2025 10:30:56 -0600 Subject: [PATCH 2/2] Fix grammar Co-authored-by: Ian Chen Signed-off-by: Addisu Z. Taddese --- roadmap.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roadmap.md b/roadmap.md index 560e6537f..99e60285b 100644 --- a/roadmap.md +++ b/roadmap.md @@ -16,7 +16,7 @@ willing to work on any of the items. Each item will have one or more point of contacts (POCs) who are Gazebo committers and who will be responsible for coordinating with a community member to get roadmap item implemented. The POC(s) will provide a description of the roadmap item on a Github issue as well -some suggestions on how the feature should be implemented. +as some suggestions on how the feature should be implemented. :::{note} Note that the roadmap may be adjusted during the development cycle and some @@ -90,7 +90,7 @@ still need to access the ECM directly for more advanced user cases. #### Low fidelity, faster-than-realtime simulation * Full support for kinematic objects in dartsim and bullet -* Support a mode where we sim runs kinematics mode without having to change the +* Support a mode where sim runs kinematics mode without having to change the SDF. * {bdg-primary}`POC:` https://github.com/scpeters