|
| 1 | +{#release-notes} |
| 2 | + |
| 3 | +# Release Notes |
| 4 | + |
| 5 | +## Zenoh in gz-transport |
| 6 | + |
| 7 | +Gazebo now supports Zenoh as an alternative transport implementation, offering |
| 8 | +improved discovery, interoperability, and performance. To enable Zenoh, set the |
| 9 | +environment variable `export GZ_TRANSPORT_IMPLEMENTATION=zenoh`. This allows |
| 10 | +Gazebo to leverage Zenoh's features and potentially integrate more seamlessly |
| 11 | +with ROS 2 and other systems utilizing Zenoh. |
| 12 | + |
| 13 | +See the [tracking issue](https://github.com/gazebosim/gz-transport/issues/559) |
| 14 | +and the implementation pull request |
| 15 | +<https://github.com/gazebosim/gz-transport/pull/665> for more details. |
| 16 | + |
| 17 | +## Improve Gazebo APIs for Reinforcement Learning |
| 18 | + |
| 19 | +Several APIs have been improved to streamline reinforcement learning pipelines. |
| 20 | +We have also added an [example integration with the StableBaselines3 Python package](https://github.com/gazebosim/gz-sim/tree/gz-sim10/examples/scripts/reinforcement_learning/simple_cart_pole) |
| 21 | +for reinforcement learning, enabling users to experiment with RL algorithms within |
| 22 | +Gazebo. The example provides a starting point for developing and testing robotic |
| 23 | +control policies. |
| 24 | + |
| 25 | +```{figure} https://github.com/user-attachments/assets/f30160a3-e04f-4ec1-aab4-111739b0d349 |
| 26 | +:width: 400 |
| 27 | +:alt: RL_with_gazebo_simple_example |
| 28 | +
|
| 29 | +Example of doing Reinforcement Learning in Gazebo |
| 30 | +``` |
| 31 | + |
| 32 | +See the [tracking issue](https://github.com/gazebosim/gz-sim/issues/2662) and |
| 33 | +the implementation pull requests <https://github.com/gazebosim/gz-sim/pull/2667> |
| 34 | +and <https://github.com/gazebosim/gz-sim/pull/2647> for more details |
| 35 | + |
| 36 | +## Implement ROS standard simulation interfaces |
| 37 | + |
| 38 | +Gazebo now supports the standard ROS 2 |
| 39 | +[simulation interfaces](https://github.com/ros-simulation/simulation_interfaces), |
| 40 | +enabling seamless integration with ROS 2 ecosystems and providing access to |
| 41 | +features for controlling and querying the simulation state. Documentation has |
| 42 | +also been added to guide users on utilizing these new interfaces. |
| 43 | + |
| 44 | +See the [tracking issue](https://github.com/gazebosim/ros_gz/issues/732) and the |
| 45 | +implementation pull requests <https://github.com/gazebosim/ros_gz/pull/790> and |
| 46 | +<https://github.com/gazebosim/docs/pull/601> for more details |
| 47 | + |
| 48 | +## Remove major version from package names |
| 49 | + |
| 50 | +We have refactored package naming to remove major version numbers, simplifying |
| 51 | +dependency management and reducing maintenance overhead. This change impacts how |
| 52 | +Gazebo packages are identified in CMake builds, package installations, and |
| 53 | +import statements. |
| 54 | + |
| 55 | +See the |
| 56 | +[announcement](https://discourse.openrobotics.org/t/version-numbers-removed-from-package-names-in-gazebo-jetty/48391) |
| 57 | +for more details. |
| 58 | + |
| 59 | +## Migrate from Qt5 to Qt6 |
| 60 | + |
| 61 | +With Qt5 reaching |
| 62 | +[end of life](https://www.qt.io/blog/extended-security-maintenance-for-qt-5.15-begins-may-2025), |
| 63 | +Gazebo has been migrated to Qt6. While there are no major changes to end-users |
| 64 | +of the Gazebo GUI, `gz-gui` plugin authors will need to make changes to ensure |
| 65 | +compatibility with Qt6. Gazebo plugin maintainers should use our [migration guide](https://gazebosim.org/api/gui/10/migration_qt6.html) |
| 66 | +to update their plugin to QT6. |
| 67 | + |
| 68 | +See the [tracking issue](https://github.com/gazebosim/gz-gui/issues/586) and the |
| 69 | +implementation pull requests <https://github.com/gazebosim/gz-gui/pull/666> and |
| 70 | +<https://github.com/gazebosim/gz-sim/pull/2832> for more details |
| 71 | + |
| 72 | +## Resolve auto inertia based on input mass |
| 73 | + |
| 74 | +Inertia parameters can now be automatically set based on an object's mass specified in an SDF file. This |
| 75 | +eliminates the need to manually compute and set the density of collision objects. When both mass |
| 76 | +and density are set, Gazebo now correctly scales the auto-computed inertia based |
| 77 | +on the specified mass, respecting the density ratios between collisions. |
| 78 | + |
| 79 | +See the [tracking issue](https://github.com/gazebosim/sdformat/issues/1482) and |
| 80 | +the implementation pull request |
| 81 | +<https://github.com/gazebosim/sdformat/pull/1513> for more details |
| 82 | + |
| 83 | +## Standalone executables for the `gz` tool |
| 84 | + |
| 85 | +Previously, the `gz` tool, a Ruby-based CLI interface, offered subcommands by |
| 86 | +loading shared libraries provided by each of the Gazebo libraries. This approach |
| 87 | +had several downsides including difficulty with debugging with `gdb`, |
| 88 | +portability issues when running on Windows or macOS. With the new approach each |
| 89 | +of the libraries provide standalone executables that are spawn by the `gz` tool. |
| 90 | +The standalone executables can be executed directly if desired, making it |
| 91 | +significantly easier to run under `gdb`. Unlike loading shared libraries, |
| 92 | +running executables is much more straightforward and does not have any of the |
| 93 | +portability issues of the previous approach. |
| 94 | + |
| 95 | +See the [tracking issue](https://github.com/gazebosim/gz-tools/issues/7) and one |
| 96 | +of the implementation pull requests |
| 97 | +<https://github.com/gazebosim/gz-sim/pull/2849> for more details |
| 98 | + |
| 99 | +## Parallel asset download |
| 100 | + |
| 101 | +This enhancement significantly improves Gazebo's startup time and responsiveness |
| 102 | +when loading worlds with many assets. Assets are now downloaded in parallel, |
| 103 | +allowing the GUI to remain interactive during the loading process and enabling |
| 104 | +users to close the window if needed. |
| 105 | + |
| 106 | +See the [tracking issue](https://github.com/gazebosim/gz-sim/issues/1260) and |
| 107 | +one of the implementation pull requests |
| 108 | +<https://github.com/gazebosim/gz-sim/pull/2992> for more details |
| 109 | + |
| 110 | +## Occupancy Grid Export |
| 111 | + |
| 112 | +This enhancement adds a plugin that enables end users to directly export occupancy |
| 113 | +grids for use with Nav2 or other mobile robotics software. |
| 114 | + |
| 115 | +See the pull request <https://github.com/gazebosim/gz-sim/pull/2958> for more details. |
| 116 | + |
| 117 | +## Lookup Wheel Slip system |
| 118 | + |
| 119 | +Introduced a new system that works in conjunction with the existing `WheelSlip` |
| 120 | +system to dynamically adjust wheel slip and friction parameters. Using an 8-bit |
| 121 | +slip- and friction-encoded lookup map representing the terrain the wheeled |
| 122 | +vehicle is on, the `LookupWheelSlip` system modifies lateral slip, longitudinal |
| 123 | +slip, and friction parameters in real time based on the wheel's position in the |
| 124 | +world, enabling more realistic vehicle behavior on variable surfaces. |
| 125 | + |
| 126 | +See the pull request <https://github.com/gazebosim/gz-sim/pull/3003> for more details. |
| 127 | + |
| 128 | +## Bazel Module Migration |
| 129 | + |
| 130 | +Migrated `gz` packages from the legacy Bazel workspace-based setup to the new |
| 131 | +Bazel module system (Bzlmod). As part of this effort, key third-party |
| 132 | +dependencies including DARTSim, Bullet, FreeImage, Assimp and more were |
| 133 | +packaged and published to the Bazel Central Registry (BCR). All Jetty and Ionic |
| 134 | +versions of the libraries have been uploaded to BCR. |
| 135 | +Note that `gz-launch` has been excluded due to deprecation, `gz-gui` is not yet |
| 136 | +supported, and migration of `gz-rendering` in currently in progress. |
| 137 | + |
0 commit comments