From 1e39b70cbec5d056b07530db2827e1326f9ff97c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez=20Cordero?= <ahcorde@gmail.com> Date: Mon, 14 Oct 2024 16:11:35 +0200 Subject: [PATCH] Imported upstream version '1.0.5' of 'upstream' --- .github/workflows/ros2-ci.yml | 2 +- README.md | 12 +-- ros_gz/CHANGELOG.rst | 11 +-- ros_gz/package.xml | 2 +- ros_gz_bridge/CHANGELOG.rst | 81 ++++++++----------- ros_gz_bridge/launch/ros_gz_bridge.launch | 4 +- ros_gz_bridge/launch/ros_gz_bridge.launch.py | 43 ++-------- ros_gz_bridge/package.xml | 2 +- .../ros_gz_bridge/actions/ros_gz_bridge.py | 15 +--- ros_gz_image/CHANGELOG.rst | 14 +--- ros_gz_image/package.xml | 2 +- ros_gz_interfaces/CHANGELOG.rst | 23 +++--- ros_gz_interfaces/package.xml | 2 +- ros_gz_sim/CHANGELOG.rst | 74 +++++------------ ros_gz_sim/launch/gz_server.launch | 4 +- ros_gz_sim/launch/gz_server.launch.py | 34 ++------ ros_gz_sim/launch/gz_sim.launch.py.in | 2 +- ros_gz_sim/launch/ros_gz_sim.launch | 5 +- ros_gz_sim/launch/ros_gz_sim.launch.py | 12 +-- ros_gz_sim/package.xml | 2 +- ros_gz_sim/ros_gz_sim/actions/gzserver.py | 15 +--- ros_gz_sim_demos/CHANGELOG.rst | 11 +-- ros_gz_sim_demos/package.xml | 2 +- test_ros_gz_bridge/CHANGELOG.rst | 11 +-- test_ros_gz_bridge/package.xml | 2 +- 25 files changed, 110 insertions(+), 277 deletions(-) diff --git a/.github/workflows/ros2-ci.yml b/.github/workflows/ros2-ci.yml index bf1cbd4e3..448194704 100644 --- a/.github/workflows/ros2-ci.yml +++ b/.github/workflows/ros2-ci.yml @@ -12,7 +12,7 @@ jobs: include: - docker-image: "ubuntu:24.04" gz-version: "harmonic" - ros-distro: "rolling" + ros-distro: "jazzy" container: image: ${{ matrix.docker-image }} steps: diff --git a/README.md b/README.md index a2cf24e24..48fb930a7 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ This repository holds packages that provide integration between ## Install -This branch supports ROS Rolling. See above for other ROS versions. +This branch supports ROS Jazzy. See above for other ROS versions. ### Binaries @@ -74,19 +74,19 @@ They are hosted at https://packages.ros.org. 1. Install `ros_gz` - sudo apt install ros-rolling-ros-gz + sudo apt install ros-jazzy-ros-gz ### From source #### ROS Be sure you've installed -[ROS Rolling](https://docs.ros.org/en/rolling/index.html) +[ROS Jazzy](https://docs.ros.org/en/jazzy/Installation.html) (at least ROS-Base). More ROS dependencies will be installed below. #### Gazebo -Install either [Fortress, Garden, or Harmonic](https://gazebosim.org/docs). +Install either [Garden or Harmonic](https://gazebosim.org/docs). Set the `GZ_VERSION` environment variable to the Gazebo version you'd like to compile against. For example: @@ -107,14 +107,14 @@ The following steps are for Linux and OSX. cd ~/ws/src # Download needed software - git clone https://github.com/gazebosim/ros_gz.git -b ros2 + git clone https://github.com/gazebosim/ros_gz.git -b jazzy ``` 1. Install dependencies (this may also install Gazebo): ``` cd ~/ws - rosdep install -r --from-paths src -i -y --rosdistro rolling + rosdep install -r --from-paths src -i -y --rosdistro jazzy ``` > If `rosdep` fails to install Gazebo libraries and you have not installed them before, please follow [Gazebo installation instructions](https://gazebosim.org/docs/latest/install). diff --git a/ros_gz/CHANGELOG.rst b/ros_gz/CHANGELOG.rst index d2bd485c7..d34e87c69 100644 --- a/ros_gz/CHANGELOG.rst +++ b/ros_gz/CHANGELOG.rst @@ -2,19 +2,16 @@ Changelog for package ros_gz ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -2.1.1 (2024-10-14) +1.0.5 (2024-10-14) ------------------ -2.1.0 (2024-09-12) +1.0.4 (2024-08-29) ------------------ -2.0.1 (2024-08-29) +1.0.3 (2024-07-22) ------------------ -2.0.0 (2024-07-22) ------------------- - -1.0.1 (2024-07-03) +1.0.2 (2024-07-03) ------------------ * Prepare for 1.0.0 Release (`#495 <https://github.com/gazebosim/ros_gz//issues/495>`_) * 0.244.14 diff --git a/ros_gz/package.xml b/ros_gz/package.xml index d96e88950..d1507d728 100644 --- a/ros_gz/package.xml +++ b/ros_gz/package.xml @@ -4,7 +4,7 @@ <!-- TODO: Make this a metapackage, see https://github.com/ros2/ros2/issues/408 --> <name>ros_gz</name> - <version>2.1.1</version> + <version>1.0.5</version> <description>Meta-package containing interfaces for using ROS 2 with <a href="https://gazebosim.org">Gazebo</a> simulation.</description> <maintainer email="adityapande@intrinsic.ai">Aditya Pande</maintainer> <maintainer email="ahcorde@openrobotics.org">Alejandro Hernandez</maintainer> diff --git a/ros_gz_bridge/CHANGELOG.rst b/ros_gz_bridge/CHANGELOG.rst index ab9c16276..e9476e2f2 100644 --- a/ros_gz_bridge/CHANGELOG.rst +++ b/ros_gz_bridge/CHANGELOG.rst @@ -2,43 +2,44 @@ Changelog for package ros_gz_bridge ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -2.1.1 (2024-10-14) ------------------- -* Extra parameter to start a container (`#616 <https://github.com/gazebosim/ros_gz/issues/616>`_) -* adds deadline and liveliness QoSPolicyKinds to qos_overriding_options (`#609 <https://github.com/gazebosim/ros_gz/issues/609>`_) - Co-authored-by: nora <nko@bogaertsgl.com> -* Contributors: Carlos Agüero, norakon - -2.1.0 (2024-09-12) ------------------- -* Remove default_value for required arguments (`#602 <https://github.com/gazebosim/ros_gz//issues/602>`_) - * Remove default_value for config_file -* Fix errors with name of bridge not being given (`#600 <https://github.com/gazebosim/ros_gz//issues/600>`_) - * Add argument bridge_name to fix errors -* Use optional parameters in actions (`#601 <https://github.com/gazebosim/ros_gz//issues/601>`_) -* Contributors: Amronos, Carlos Agüero - -2.0.1 (2024-08-29) ------------------- -* Stamp all outgoing headers with the wall time if parameter override_timestamps_with_wall_time is set to true (`#562 <https://github.com/gazebosim/ros_gz/issues/562>`_) -* Contributors: Rein Appeldoorn - -2.0.0 (2024-07-22) +1.0.5 (2024-10-14) ------------------ +* Merge pull request `#607 <https://github.com/gazebosim/ros_gz/issues/607>`_ from Amronos/ros2-jazzy-backport +* Fix changelogs and versions +* adds deadline and liveliness QoSPolicyKinds to qos_overriding_options (`#609 <https://github.com/gazebosim/ros_gz/issues/609>`_) (`#613 <https://github.com/gazebosim/ros_gz/issues/613>`_) +* Remove default_value for required arguments (`#602 <https://github.com/gazebosim/ros_gz/issues/602>`_) +* Fix errors with name of bridge not being given (`#600 <https://github.com/gazebosim/ros_gz/issues/600>`_) +* Use optional parameters in actions (`#601 <https://github.com/gazebosim/ros_gz/issues/601>`_) * Making use_composition true by default (`#578 <https://github.com/gazebosim/ros_gz/issues/578>`_) -* Contributors: Addisu Z. Taddese - -1.0.1 (2024-07-03) +* Use `ignoreLocalMessages` in the bridge (`#559 <https://github.com/gazebosim/ros_gz/issues/559>`_) +* Update launch files with name parameter (`#556 <https://github.com/gazebosim/ros_gz/issues/556>`_) +* Ensure the same container is used for the bridge and gz_server (`#553 <https://github.com/gazebosim/ros_gz/issues/553>`_) +* Launch ros_gz_bridge from xml (`#550 <https://github.com/gazebosim/ros_gz/issues/550>`_) +* Launch gzserver and the bridge as composable nodes (`#528 <https://github.com/gazebosim/ros_gz/issues/528>`_) +* adds deadline and liveliness QoSPolicyKinds to qos_overriding_options (`#609 <https://github.com/gazebosim/ros_gz/issues/609>`_) (`#613 <https://github.com/gazebosim/ros_gz/issues/613>`_) +* Contributors: Aarav Gupta, Addisu Z. Taddese, Alejandro Hernández Cordero, Amronos, Carlos Agüero, mergify[bot] + +1.0.4 (2024-08-29) ------------------ -* Add support for gz.msgs.EntityWrench (base branch: ros2) (`#573 <https://github.com/gazebosim/ros_gz//issues/573>`_) -* Merge pull request `#571 <https://github.com/gazebosim/ros_gz//issues/571>`_ from azeey/jazzy_to_ros2 - Merge jazzy ➡️ ros2 -* Merge branch 'ros2' into jazzy_to_ros2 -* Use memcpy instead of std::copy when bridging images (`#565 <https://github.com/gazebosim/ros_gz//issues/565>`_) +* feat: `override_timestamps_with_wall_time` parameter (backport `#562 <https://github.com/gazebosim/ros_gz/issues/562>`_) (`#584 <https://github.com/gazebosim/ros_gz/issues/584>`_) + Co-authored-by: Rein Appeldoorn <rein.appeldoorn@nobleo.nl> +* Use memcpy instead of std::copy when bridging images (`#565 <https://github.com/gazebosim/ros_gz/issues/565>`_) (`#585 <https://github.com/gazebosim/ros_gz/issues/585>`_) While testing ros <-> gz communication using the bridge I noticed that the bridge was talking quite a bit of time copying images from Gazebo to ROS. I found that the std::copy operation that we're doing is substantially slower than the memcpy alternative. I think that in principle this shouldn't happen but the numbers are quite clear. Perhaps std::copy is doing something that doesn't use cache effectively --------- Co-authored-by: Jose Luis Rivero <jrivero@osrfoundation.org> -* Merge jazzy into ros2 + (cherry picked from commit a781b78852112246245c05481db6335388d4f736) + Co-authored-by: Carlos Agüero <caguero@openrobotics.org> +* Contributors: mergify[bot] + +1.0.3 (2024-07-22) +------------------ +* Add support for gz.msgs.EntityWrench (base branch: ros2) (`#573 <https://github.com/gazebosim/ros_gz/issues/573>`_) (`#574 <https://github.com/gazebosim/ros_gz/issues/574>`_) + (cherry picked from commit f9afb69d1163633dd978024bb7271a28cf7b551a) + Co-authored-by: Victor T. Noppeney <Vtn21@users.noreply.github.com> +* Contributors: mergify[bot] + +1.0.2 (2024-07-03) +------------------ * Merge pull request `#569 <https://github.com/gazebosim/ros_gz//issues/569>`_ from azeey/iron_to_jazzy Merge iron ➡️ jazzy * Merge iron into jazzy @@ -51,22 +52,6 @@ Changelog for package ros_gz_bridge * Merge pull request `#564 <https://github.com/gazebosim/ros_gz//issues/564>`_ from azeey/humble_to_iron Humble ➡️ Iron * Merge humble -> iron -* Use `ignoreLocalMessages` in the bridge (`#559 <https://github.com/gazebosim/ros_gz//issues/559>`_) - * Ignore local messages -* Update launch files with name parameter (`#556 <https://github.com/gazebosim/ros_gz//issues/556>`_) - * Name is required. -* Ensure the same container is used for the bridge and gz_server (`#553 <https://github.com/gazebosim/ros_gz//issues/553>`_) - This also adds a required `name` parameter for the bridge so that - multiple different bridges can be created without name collision -* Launch ros_gz_bridge from xml (`#550 <https://github.com/gazebosim/ros_gz//issues/550>`_) - * Add gzserver with ability to load an SDF file or string -* Launch gzserver and the bridge as composable nodes (`#528 <https://github.com/gazebosim/ros_gz//issues/528>`_) - * Add gzserver with ability to load an SDF file or string -* Add option to change material color from ROS. (`#521 <https://github.com/gazebosim/ros_gz//issues/521>`_) - Forward port of `#486 <https://github.com/gazebosim/ros_gz//issues/486>`_. - * Message and bridge for MaterialColor. - This allows bridging MaterialColor from ROS to GZ and is - important for allowing simulation users to create status lights. * populate imu covariances when converting (`#375 <https://github.com/gazebosim/ros_gz//issues/375>`_) (`#540 <https://github.com/gazebosim/ros_gz//issues/540>`_) Co-authored-by: El Jawad Alaa <ejalaa12@gmail.com> * Prepare for 1.0.0 Release (`#495 <https://github.com/gazebosim/ros_gz//issues/495>`_) @@ -156,7 +141,7 @@ Changelog for package ros_gz_bridge * Update CMakeLists and package.xml for garden * Complete garden gz renaming * Drop fortress CI -* Contributors: Addisu Z. Taddese, Aditya Pande, Alejandro Hernández Cordero, Arjun K Haridas, Benjamin Perseghetti, Carlos Agüero, El Jawad Alaa, Jose Luis Rivero, Krzysztof Wojciechowski, Michael Carroll, Rousseau Vincent, Victor T. Noppeney, Yadu, ahcorde, wittenator, ymd-stella +* Contributors: Addisu Z. Taddese, Aditya Pande, Alejandro Hernández Cordero, Arjun K Haridas, Benjamin Perseghetti, El Jawad Alaa, Jose Luis Rivero, Krzysztof Wojciechowski, Michael Carroll, Rousseau Vincent, Yadu, ahcorde, wittenator, ymd-stella 1.0.0 (2024-04-24) ------------------ diff --git a/ros_gz_bridge/launch/ros_gz_bridge.launch b/ros_gz_bridge/launch/ros_gz_bridge.launch index fa76221e8..f4db1e4f5 100644 --- a/ros_gz_bridge/launch/ros_gz_bridge.launch +++ b/ros_gz_bridge/launch/ros_gz_bridge.launch @@ -2,16 +2,14 @@ <arg name="bridge_name" /> <arg name="config_file" /> <arg name="container_name" default="ros_gz_container" /> - <arg name="create_own_container" default="False" /> <arg name="namespace" default="" /> - <arg name="use_composition" default="False" /> + <arg name="use_composition" default="True" /> <arg name="use_respawn" default="False" /> <arg name="log_level" default="info" /> <ros_gz_bridge bridge_name="$(var bridge_name)" config_file="$(var config_file)" container_name="$(var container_name)" - create_own_container="$(var create_own_container)" namespace="$(var namespace)" use_composition="$(var use_composition)" use_respawn="$(var use_respawn)" diff --git a/ros_gz_bridge/launch/ros_gz_bridge.launch.py b/ros_gz_bridge/launch/ros_gz_bridge.launch.py index 3e52dee67..efaa99255 100644 --- a/ros_gz_bridge/launch/ros_gz_bridge.launch.py +++ b/ros_gz_bridge/launch/ros_gz_bridge.launch.py @@ -18,7 +18,7 @@ from launch.actions import DeclareLaunchArgument, GroupAction from launch.conditions import IfCondition from launch.substitutions import LaunchConfiguration, PythonExpression -from launch_ros.actions import ComposableNodeContainer, LoadComposableNodes, Node +from launch_ros.actions import LoadComposableNodes, Node from launch_ros.descriptions import ComposableNode @@ -27,7 +27,6 @@ def generate_launch_description(): bridge_name = LaunchConfiguration('bridge_name') config_file = LaunchConfiguration('config_file') container_name = LaunchConfiguration('container_name') - create_own_container = LaunchConfiguration('create_own_container') namespace = LaunchConfiguration('namespace') use_composition = LaunchConfiguration('use_composition') use_respawn = LaunchConfiguration('use_respawn') @@ -47,21 +46,12 @@ def generate_launch_description(): description='Name of container that nodes will load in if use composition', ) - declare_create_own_container_cmd = DeclareLaunchArgument( - 'create_own_container', - default_value='False', - description='Whether the bridge should start its own ROS container when using composition \ - (not recommended). This option should only be set to true if you plan to put your ROS \ - node in the container created by the bridge. This is not needed if you want Gazebo and \ - the bridge to be in the same ROS container.', - ) - declare_namespace_cmd = DeclareLaunchArgument( 'namespace', default_value='', description='Top-level namespace' ) declare_use_composition_cmd = DeclareLaunchArgument( - 'use_composition', default_value='False', description='Use composed bringup if True' + 'use_composition', default_value='True', description='Use composed bringup if True' ) declare_use_respawn_cmd = DeclareLaunchArgument( @@ -91,29 +81,8 @@ def generate_launch_description(): ], ) - load_composable_nodes_with_container = ComposableNodeContainer( - condition=IfCondition( - PythonExpression([use_composition, ' and ', create_own_container])), - name=LaunchConfiguration('container_name'), - namespace='', - package='rclcpp_components', - executable='component_container', - composable_node_descriptions=[ - ComposableNode( - package='ros_gz_bridge', - plugin='ros_gz_bridge::RosGzBridge', - name=bridge_name, - namespace=namespace, - parameters=[{'config_file': config_file}], - extra_arguments=[{'use_intra_process_comms': True}], - ), - ], - output='screen', - ) - - load_composable_nodes_without_container = LoadComposableNodes( - condition=IfCondition( - PythonExpression([use_composition, ' and not ', create_own_container])), + load_composable_nodes = LoadComposableNodes( + condition=IfCondition(use_composition), target_container=container_name, composable_node_descriptions=[ ComposableNode( @@ -134,14 +103,12 @@ def generate_launch_description(): ld.add_action(declare_bridge_name_cmd) ld.add_action(declare_config_file_cmd) ld.add_action(declare_container_name_cmd) - ld.add_action(declare_create_own_container_cmd) ld.add_action(declare_namespace_cmd) ld.add_action(declare_use_composition_cmd) ld.add_action(declare_use_respawn_cmd) ld.add_action(declare_log_level_cmd) # Add the actions to launch all of the bridge nodes ld.add_action(load_nodes) - ld.add_action(load_composable_nodes_with_container) - ld.add_action(load_composable_nodes_without_container) + ld.add_action(load_composable_nodes) return ld diff --git a/ros_gz_bridge/package.xml b/ros_gz_bridge/package.xml index f95cfa22f..5029d7989 100644 --- a/ros_gz_bridge/package.xml +++ b/ros_gz_bridge/package.xml @@ -2,7 +2,7 @@ <?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?> <package format="3"> <name>ros_gz_bridge</name> - <version>2.1.1</version> + <version>1.0.5</version> <description>Bridge communication between ROS and Gazebo Transport</description> <maintainer email="adityapande@intrinsic.ai">Aditya Pande</maintainer> <maintainer email="ahcorde@openrobotics.org">Alejandro Hernandez</maintainer> diff --git a/ros_gz_bridge/ros_gz_bridge/actions/ros_gz_bridge.py b/ros_gz_bridge/ros_gz_bridge/actions/ros_gz_bridge.py index 8459de4f9..9d8758931 100644 --- a/ros_gz_bridge/ros_gz_bridge/actions/ros_gz_bridge.py +++ b/ros_gz_bridge/ros_gz_bridge/actions/ros_gz_bridge.py @@ -37,9 +37,8 @@ def __init__( bridge_name: SomeSubstitutionsType, config_file: SomeSubstitutionsType, container_name: Optional[SomeSubstitutionsType] = 'ros_gz_container', - create_own_container: Optional[SomeSubstitutionsType] = 'False', namespace: Optional[SomeSubstitutionsType] = '', - use_composition: Optional[SomeSubstitutionsType] = 'False', + use_composition: Optional[SomeSubstitutionsType] = 'True', use_respawn: Optional[SomeSubstitutionsType] = 'False', log_level: Optional[SomeSubstitutionsType] = 'info', **kwargs @@ -53,7 +52,6 @@ def __init__( :param: bridge_name Name of ros_gz_bridge node :param: config_file YAML config file. :param: container_name Name of container that nodes will load in if use composition. - :param: create_own_container Whether to start a ROS container when using composition. :param: namespace Top-level namespace. :param: use_composition Use composed bringup if True. :param: use_respawn Whether to respawn if a node crashes (when composition is disabled). @@ -63,7 +61,6 @@ def __init__( self.__bridge_name = bridge_name self.__config_file = config_file self.__container_name = container_name - self.__create_own_container = create_own_container self.__namespace = namespace self.__use_composition = use_composition self.__use_respawn = use_respawn @@ -86,10 +83,6 @@ def parse(cls, entity: Entity, parser: Parser): 'container_name', data_type=str, optional=True) - create_own_container = entity.get_attr( - 'create_own_container', data_type=str, - optional=True) - namespace = entity.get_attr( 'namespace', data_type=str, optional=True) @@ -118,11 +111,6 @@ def parse(cls, entity: Entity, parser: Parser): container_name = parser.parse_substitution(container_name) kwargs['container_name'] = container_name - if isinstance(create_own_container, str): - create_own_container = \ - parser.parse_substitution(create_own_container) - kwargs['create_own_container'] = create_own_container - if isinstance(namespace, str): namespace = parser.parse_substitution(namespace) kwargs['namespace'] = namespace @@ -151,7 +139,6 @@ def execute(self, context: LaunchContext) -> Optional[List[Action]]: launch_arguments=[('bridge_name', self.__bridge_name), ('config_file', self.__config_file), ('container_name', self.__container_name), - ('create_own_container', self.__create_own_container), ('namespace', self.__namespace), ('use_composition', self.__use_composition), ('use_respawn', self.__use_respawn), diff --git a/ros_gz_image/CHANGELOG.rst b/ros_gz_image/CHANGELOG.rst index fdefc5608..908654193 100644 --- a/ros_gz_image/CHANGELOG.rst +++ b/ros_gz_image/CHANGELOG.rst @@ -2,23 +2,17 @@ Changelog for package ros1_ign_image ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -2.1.1 (2024-10-14) +1.0.5 (2024-10-14) ------------------ -2.1.0 (2024-09-12) +1.0.4 (2024-08-29) ------------------ -2.0.1 (2024-08-29) +1.0.3 (2024-07-22) ------------------ -2.0.0 (2024-07-22) +1.0.2 (2024-07-03) ------------------ - -1.0.1 (2024-07-03) ------------------- -* Merge pull request `#571 <https://github.com/gazebosim/ros_gz//issues/571>`_ from azeey/jazzy_to_ros2 - Merge jazzy ➡️ ros2 -* Merge jazzy into ros2 * Merge pull request `#569 <https://github.com/gazebosim/ros_gz//issues/569>`_ from azeey/iron_to_jazzy Merge iron ➡️ jazzy * Merge iron into jazzy diff --git a/ros_gz_image/package.xml b/ros_gz_image/package.xml index 36d33fae8..917a4176e 100644 --- a/ros_gz_image/package.xml +++ b/ros_gz_image/package.xml @@ -1,6 +1,6 @@ <package format="3"> <name>ros_gz_image</name> - <version>2.1.1</version> + <version>1.0.5</version> <description>Image utilities for Gazebo simulation with ROS.</description> <license>Apache 2.0</license> <maintainer email="adityapande@intrinsic.ai">Aditya Pande</maintainer> diff --git a/ros_gz_interfaces/CHANGELOG.rst b/ros_gz_interfaces/CHANGELOG.rst index 7d1921346..065cf2380 100644 --- a/ros_gz_interfaces/CHANGELOG.rst +++ b/ros_gz_interfaces/CHANGELOG.rst @@ -2,32 +2,27 @@ Changelog for package ros_gz_interfaces ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -2.1.1 (2024-10-14) +1.0.5 (2024-10-14) ------------------ -2.1.0 (2024-09-12) +1.0.4 (2024-08-29) ------------------ -2.0.1 (2024-08-29) +1.0.3 (2024-07-22) ------------------ +* Add support for gz.msgs.EntityWrench (base branch: ros2) (`#573 <https://github.com/gazebosim/ros_gz/issues/573>`_) (`#574 <https://github.com/gazebosim/ros_gz/issues/574>`_) + (cherry picked from commit f9afb69d1163633dd978024bb7271a28cf7b551a) + Co-authored-by: Victor T. Noppeney <Vtn21@users.noreply.github.com> +* Contributors: mergify[bot] -2.0.0 (2024-07-22) +1.0.2 (2024-07-03) ------------------ - -1.0.1 (2024-07-03) ------------------- -* Add support for gz.msgs.EntityWrench (base branch: ros2) (`#573 <https://github.com/gazebosim/ros_gz//issues/573>`_) * Add option to change material color from ROS. (`#521 <https://github.com/gazebosim/ros_gz//issues/521>`_) Forward port of `#486 <https://github.com/gazebosim/ros_gz//issues/486>`_. * Message and bridge for MaterialColor. This allows bridging MaterialColor from ROS to GZ and is important for allowing simulation users to create status lights. (cherry picked from commit 78dc4823121f085594e6028a93f1e571eb04f58b) -* Add option to change material color from ROS. (`#521 <https://github.com/gazebosim/ros_gz//issues/521>`_) - Forward port of `#486 <https://github.com/gazebosim/ros_gz//issues/486>`_. - * Message and bridge for MaterialColor. - This allows bridging MaterialColor from ROS to GZ and is - important for allowing simulation users to create status lights. * Prepare for 1.0.0 Release (`#495 <https://github.com/gazebosim/ros_gz//issues/495>`_) * 0.244.14 * Changelog @@ -59,7 +54,7 @@ Changelog for package ros_gz_interfaces * humble to ros2 (`#311 <https://github.com/gazebosim/ros_gz//issues/311>`_) Co-authored-by: Michael Carroll <michael@openrobotics.org> * Merge remote-tracking branch 'origin/humble' into ahcorde/humble_to_ros2 -* Contributors: Addisu Z. Taddese, Aditya Pande, Alejandro Hernández Cordero, Benjamin Perseghetti, Jose Luis Rivero, Michael Carroll, Victor T. Noppeney, ahcorde +* Contributors: Addisu Z. Taddese, Aditya Pande, Alejandro Hernández Cordero, Benjamin Perseghetti, Jose Luis Rivero, Michael Carroll, ahcorde 1.0.0 (2024-04-24) ------------------ diff --git a/ros_gz_interfaces/package.xml b/ros_gz_interfaces/package.xml index d9ab3282b..4c4db9c09 100644 --- a/ros_gz_interfaces/package.xml +++ b/ros_gz_interfaces/package.xml @@ -1,6 +1,6 @@ <package format="3"> <name>ros_gz_interfaces</name> - <version>2.1.1</version> + <version>1.0.5</version> <description>Message and service data structures for interacting with Gazebo from ROS2.</description> <license>Apache 2.0</license> <author>Louise Poubel</author> diff --git a/ros_gz_sim/CHANGELOG.rst b/ros_gz_sim/CHANGELOG.rst index 05a7e81b4..221c97cb5 100644 --- a/ros_gz_sim/CHANGELOG.rst +++ b/ros_gz_sim/CHANGELOG.rst @@ -2,53 +2,33 @@ Changelog for package ros_gz_sim ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -2.1.1 (2024-10-14) +1.0.5 (2024-10-14) ------------------ -* Extra parameter to start a container (`#616 <https://github.com/gazebosim/ros_gz/issues/616>`_) -* Bugfix: `if "false"` is always `True` (`#617 <https://github.com/gazebosim/ros_gz/issues/617>`_) - There is an issue in this launch file when passing the string 'false' as - an argument. In Python, non-empty strings are always evaluated as True, - regardless of their content. This means that even if you pass 'false', - the system will still evaluate it as True. - This bug results in the launch system incorrectly calling the OnShutdown - method twice. When any ROS launch action invokes a RosAdapter, it - triggers the following exception: "Cannot shutdown a ROS adapter that is - not running." - To temporarily work around this issue, you can launch gz_sim_launch.py - with the on_exit_shutdown argument set to an empty string. This prevents - the erroneous shutdown sequence and avoids the associated exception. -* Name gazebo sim node (`#611 <https://github.com/gazebosim/ros_gz/issues/611>`_) -* Contributors: Carlos Agüero, Ignacio Vizzo, Nabeel Sherazi +* Merge pull request `#607 <https://github.com/gazebosim/ros_gz/issues/607>`_ from Amronos/ros2-jazzy-backport +* Fix changelogs and versions +* Name gazebo sim node (`#611 <https://github.com/gazebosim/ros_gz/issues/611>`_) (`#612 <https://github.com/gazebosim/ros_gz/issues/612>`_) +* Change world_string to model_string in gz_spawn_model files (`#606 <https://github.com/gazebosim/ros_gz/issues/606>`_) +* Use model string in ros_gz_spawn_model.launch.py (`#605 <https://github.com/gazebosim/ros_gz/issues/605>`_) +* Remove default_value for required arguments (`#602 <https://github.com/gazebosim/ros_gz/issues/602>`_) +* Fix errors with name of bridge not being given (`#600 <https://github.com/gazebosim/ros_gz/issues/600>`_) +* Restore launch file (`#603 <https://github.com/gazebosim/ros_gz/issues/603>`_) +* Use optional parameters in actions (`#601 <https://github.com/gazebosim/ros_gz/issues/601>`_) +* Wait for create service to be available. (`#588 <https://github.com/gazebosim/ros_gz/issues/588>`_) +* Update launch files with name parameter (`#556 <https://github.com/gazebosim/ros_gz/issues/556>`_) +* Launch gz_spawn_model from xml (`#551 <https://github.com/gazebosim/ros_gz/issues/551>`_) +* Launch ros_gz_bridge from xml (`#550 <https://github.com/gazebosim/ros_gz/issues/550>`_) +* Launch gzserver and the bridge as composable nodes (`#528 <https://github.com/gazebosim/ros_gz/issues/528>`_) +* Name gazebo sim node (`#611 <https://github.com/gazebosim/ros_gz/issues/611>`_) (`#612 <https://github.com/gazebosim/ros_gz/issues/612>`_) +* Contributors: Aarav Gupta, Addisu Z. Taddese, Alejandro Hernández Cordero, Amronos, Carlos Agüero, Sebastian Kasperski, mergify[bot] -2.1.0 (2024-09-12) +1.0.4 (2024-08-29) ------------------ -* Change world_string to model_string in gz_spawn_model files (`#606 <https://github.com/gazebosim/ros_gz//issues/606>`_) - * Change world_string to model_string - Also changed description from XML string to XML(SDF) string -* Use model string in ros_gz_spawn_model.launch.py (`#605 <https://github.com/gazebosim/ros_gz//issues/605>`_) -* Remove default_value for required arguments (`#602 <https://github.com/gazebosim/ros_gz//issues/602>`_) - * Remove default_value for config_file -* Fix errors with name of bridge not being given (`#600 <https://github.com/gazebosim/ros_gz//issues/600>`_) - * Add argument bridge_name to fix errors -* Restore launch file (`#603 <https://github.com/gazebosim/ros_gz//issues/603>`_) -* Use optional parameters in actions (`#601 <https://github.com/gazebosim/ros_gz//issues/601>`_) -* Contributors: Amronos, Carlos Agüero -2.0.1 (2024-08-29) +1.0.3 (2024-07-22) ------------------ -* Wait for create service to be available. (`#588 <https://github.com/gazebosim/ros_gz/issues/588>`_) -* Contributors: Sebastian Kasperski -2.0.0 (2024-07-22) +1.0.2 (2024-07-03) ------------------ -* Making use_composition true by default (`#578 <https://github.com/gazebosim/ros_gz/issues/578>`_) -* Contributors: Addisu Z. Taddese - -1.0.1 (2024-07-03) ------------------- -* Merge pull request `#571 <https://github.com/gazebosim/ros_gz//issues/571>`_ from azeey/jazzy_to_ros2 - Merge jazzy ➡️ ros2 -* Merge jazzy into ros2 * Merge pull request `#569 <https://github.com/gazebosim/ros_gz//issues/569>`_ from azeey/iron_to_jazzy Merge iron ➡️ jazzy * Merge remote-tracking branch 'origin/jazzy' into iron_to_jazzy @@ -61,18 +41,6 @@ Changelog for package ros_gz_sim * Merge pull request `#564 <https://github.com/gazebosim/ros_gz//issues/564>`_ from azeey/humble_to_iron Humble ➡️ Iron * Merge humble -> iron -* Update launch files with name parameter (`#556 <https://github.com/gazebosim/ros_gz//issues/556>`_) - * Name is required. -* Launch gz_spawn_model from xml (`#551 <https://github.com/gazebosim/ros_gz//issues/551>`_) - Spawn models from XML. - Co-authored-by: Addisu Z. Taddese <addisu@openrobotics.org> -* Launch ros_gz_bridge from xml (`#550 <https://github.com/gazebosim/ros_gz//issues/550>`_) - * Add gzserver with ability to load an SDF file or string -* Launch gzserver and the bridge as composable nodes (`#528 <https://github.com/gazebosim/ros_gz//issues/528>`_) - * Add gzserver with ability to load an SDF file or string -* Add a ROS node that runs Gazebo (`#500 <https://github.com/gazebosim/ros_gz//issues/500>`_) - * Add gzserver with ability to load an SDF file or string - --------- * Prepare for 1.0.0 Release (`#495 <https://github.com/gazebosim/ros_gz//issues/495>`_) * Use gz_vendor packages (`#531 <https://github.com/gazebosim/ros_gz//issues/531>`_) * 0.244.14 @@ -126,7 +94,7 @@ Changelog for package ros_gz_sim * Update CMakeLists and package.xml for garden * Complete garden gz renaming * Drop fortress CI -* Contributors: Addisu Z. Taddese, Aditya Pande, Alejandro Hernández Cordero, Ayush Singh, Carlos Agüero, Jose Luis Rivero, Michael Carroll, ahcorde, andermi, jmackay2, mergify[bot] +* Contributors: Addisu Z. Taddese, Aditya Pande, Alejandro Hernández Cordero, Ayush Singh, Jose Luis Rivero, Michael Carroll, ahcorde, andermi, jmackay2, mergify[bot] 1.0.0 (2024-04-24) ------------------ diff --git a/ros_gz_sim/launch/gz_server.launch b/ros_gz_sim/launch/gz_server.launch index 6f29648cd..4d667434f 100644 --- a/ros_gz_sim/launch/gz_server.launch +++ b/ros_gz_sim/launch/gz_server.launch @@ -2,13 +2,11 @@ <arg name="world_sdf_file" default="empty.sdf" /> <arg name="world_sdf_string" default="" /> <arg name="container_name" default="ros_gz_container" /> - <arg name="create_own_container" default="False" /> - <arg name="use_composition" default="False" /> + <arg name="use_composition" default="True" /> <gz_server world_sdf_file="$(var world_sdf_file)" world_sdf_string="$(var world_sdf_string)" container_name="$(var container_name)" - create_own_container="$(var create_own_container)" use_composition="$(var use_composition)"> </gz_server> </launch> diff --git a/ros_gz_sim/launch/gz_server.launch.py b/ros_gz_sim/launch/gz_server.launch.py index 70de5d24d..0dc33d9c5 100644 --- a/ros_gz_sim/launch/gz_server.launch.py +++ b/ros_gz_sim/launch/gz_server.launch.py @@ -18,7 +18,7 @@ from launch.actions import DeclareLaunchArgument from launch.conditions import IfCondition from launch.substitutions import LaunchConfiguration, PythonExpression, TextSubstitution -from launch_ros.actions import ComposableNodeContainer, LoadComposableNodes, Node +from launch_ros.actions import ComposableNodeContainer, Node from launch_ros.descriptions import ComposableNode @@ -33,11 +33,8 @@ def generate_launch_description(): declare_container_name_cmd = DeclareLaunchArgument( 'container_name', default_value='ros_gz_container', description='Name of container that nodes will load in if use composition',) - declare_create_own_container_cmd = DeclareLaunchArgument( - 'create_own_container', default_value='False', - description='Whether we should start our own ROS container when using composition.',) declare_use_composition_cmd = DeclareLaunchArgument( - 'use_composition', default_value='False', + 'use_composition', default_value='True', description='Use composed bringup if True') load_nodes = Node( @@ -49,10 +46,8 @@ def generate_launch_description(): 'world_sdf_string': LaunchConfiguration('world_sdf_string')}], ) - load_composable_nodes_with_container = ComposableNodeContainer( - condition=IfCondition( - PythonExpression([LaunchConfiguration('use_composition'), ' and ', - LaunchConfiguration('create_own_container')])), + load_composable_nodes = ComposableNodeContainer( + condition=IfCondition(LaunchConfiguration('use_composition')), name=LaunchConfiguration('container_name'), namespace='', package='rclcpp_components', @@ -70,23 +65,6 @@ def generate_launch_description(): output='screen', ) - load_composable_nodes_without_container = LoadComposableNodes( - condition=IfCondition( - PythonExpression([LaunchConfiguration('use_composition'), ' and not ', - LaunchConfiguration('create_own_container')])), - target_container=LaunchConfiguration('container_name'), - composable_node_descriptions=[ - ComposableNode( - package='ros_gz_sim', - plugin='ros_gz_sim::GzServer', - name='gz_server', - parameters=[{'world_sdf_file': LaunchConfiguration('world_sdf_file'), - 'world_sdf_string': LaunchConfiguration('world_sdf_string')}], - extra_arguments=[{'use_intra_process_comms': True}], - ), - ], - ) - # Create the launch description and populate ld = LaunchDescription() @@ -94,11 +72,9 @@ def generate_launch_description(): ld.add_action(declare_world_sdf_file_cmd) ld.add_action(declare_world_sdf_string_cmd) ld.add_action(declare_container_name_cmd) - ld.add_action(declare_create_own_container_cmd) ld.add_action(declare_use_composition_cmd) # Add the actions to launch all of the gz_server nodes ld.add_action(load_nodes) - ld.add_action(load_composable_nodes_with_container) - ld.add_action(load_composable_nodes_without_container) + ld.add_action(load_composable_nodes) return ld diff --git a/ros_gz_sim/launch/gz_sim.launch.py.in b/ros_gz_sim/launch/gz_sim.launch.py.in index 8859d1324..ba8244a9c 100644 --- a/ros_gz_sim/launch/gz_sim.launch.py.in +++ b/ros_gz_sim/launch/gz_sim.launch.py.in @@ -121,7 +121,7 @@ def launch_gz(context, *args, **kwargs): else: debug_prefix = None - if on_exit_shutdown != 'false': + if on_exit_shutdown: on_exit = Shutdown() else: on_exit = None diff --git a/ros_gz_sim/launch/ros_gz_sim.launch b/ros_gz_sim/launch/ros_gz_sim.launch index 6130ce0db..7a024066e 100644 --- a/ros_gz_sim/launch/ros_gz_sim.launch +++ b/ros_gz_sim/launch/ros_gz_sim.launch @@ -2,9 +2,8 @@ <arg name="bridge_name" /> <arg name="config_file" /> <arg name="container_name" default="ros_gz_container" /> - <arg name="create_own_container" default="False" /> <arg name="namespace" default="" /> - <arg name="use_composition" default="False" /> + <arg name="use_composition" default="True" /> <arg name="use_respawn" default="False" /> <arg name="log_level" default="info" /> <arg name="world_sdf_file" default="empty.sdf" /> @@ -13,14 +12,12 @@ world_sdf_file="$(var world_sdf_file)" world_sdf_string="$(var world_sdf_string)" container_name="$(var container_name)" - create_own_container="$(var create_own_container)" use_composition="$(var use_composition)"> </gz_server> <ros_gz_bridge bridge_name="$(var bridge_name)" config_file="$(var config_file)" container_name="$(var container_name)" - create_own_container="False" namespace="$(var namespace)" use_composition="$(var use_composition)" use_respawn="$(var use_respawn)" diff --git a/ros_gz_sim/launch/ros_gz_sim.launch.py b/ros_gz_sim/launch/ros_gz_sim.launch.py index ad32e801d..4f5f7e806 100644 --- a/ros_gz_sim/launch/ros_gz_sim.launch.py +++ b/ros_gz_sim/launch/ros_gz_sim.launch.py @@ -26,7 +26,6 @@ def generate_launch_description(): bridge_name = LaunchConfiguration('bridge_name') config_file = LaunchConfiguration('config_file') container_name = LaunchConfiguration('container_name') - create_own_container = LaunchConfiguration('create_own_container') namespace = LaunchConfiguration('namespace') use_composition = LaunchConfiguration('use_composition') use_respawn = LaunchConfiguration('use_respawn') @@ -49,18 +48,12 @@ def generate_launch_description(): description='Name of container that nodes will load in if use composition', ) - declare_create_own_container_cmd = DeclareLaunchArgument( - 'create_own_container', - default_value='False', - description='Whether we should start a ROS container when using composition.', - ) - declare_namespace_cmd = DeclareLaunchArgument( 'namespace', default_value='', description='Top-level namespace' ) declare_use_composition_cmd = DeclareLaunchArgument( - 'use_composition', default_value='False', description='Use composed bringup if True' + 'use_composition', default_value='True', description='Use composed bringup if True' ) declare_use_respawn_cmd = DeclareLaunchArgument( @@ -103,8 +96,6 @@ def generate_launch_description(): 'gz_server.launch.py'])]), launch_arguments=[('world_sdf_file', world_sdf_file), ('world_sdf_string', world_sdf_string), - ('container_name', container_name), - ('create_own_container', create_own_container), ('use_composition', use_composition), ]) # Create the launch description and populate @@ -114,7 +105,6 @@ def generate_launch_description(): ld.add_action(declare_bridge_name_cmd) ld.add_action(declare_config_file_cmd) ld.add_action(declare_container_name_cmd) - ld.add_action(declare_create_own_container_cmd) ld.add_action(declare_namespace_cmd) ld.add_action(declare_use_composition_cmd) ld.add_action(declare_use_respawn_cmd) diff --git a/ros_gz_sim/package.xml b/ros_gz_sim/package.xml index ac3660efa..dc2045f86 100644 --- a/ros_gz_sim/package.xml +++ b/ros_gz_sim/package.xml @@ -2,7 +2,7 @@ <?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?> <package format="3"> <name>ros_gz_sim</name> - <version>2.1.1</version> + <version>1.0.5</version> <description>Tools for using Gazebo Sim simulation with ROS.</description> <maintainer email="ahcorde@openrobotics.org">Alejandro Hernandez</maintainer> <maintainer email="adityapande@intrinsic.ai">Aditya Pande</maintainer> diff --git a/ros_gz_sim/ros_gz_sim/actions/gzserver.py b/ros_gz_sim/ros_gz_sim/actions/gzserver.py index 64461baf4..21d043844 100644 --- a/ros_gz_sim/ros_gz_sim/actions/gzserver.py +++ b/ros_gz_sim/ros_gz_sim/actions/gzserver.py @@ -37,8 +37,7 @@ def __init__( world_sdf_file: Optional[SomeSubstitutionsType] = '', world_sdf_string: Optional[SomeSubstitutionsType] = '', container_name: Optional[SomeSubstitutionsType] = 'ros_gz_container', - create_own_container: Optional[SomeSubstitutionsType] = 'False', - use_composition: Optional[SomeSubstitutionsType] = 'False', + use_composition: Optional[SomeSubstitutionsType] = 'True', **kwargs ) -> None: """ @@ -50,14 +49,12 @@ def __init__( :param: world_sdf_file Path to the SDF world file. :param: world_sdf_string SDF world string. :param: container_name Name of container that nodes will load in if use composition. - :param: create_own_container Whether to start a ROS container when using composition. :param: use_composition Use composed bringup if True. """ super().__init__(**kwargs) self.__world_sdf_file = world_sdf_file self.__world_sdf_string = world_sdf_string self.__container_name = container_name - self.__create_own_container = create_own_container self.__use_composition = use_composition @classmethod @@ -77,10 +74,6 @@ def parse(cls, entity: Entity, parser: Parser): 'container_name', data_type=str, optional=True) - create_own_container = entity.get_attr( - 'create_own_container', data_type=str, - optional=True) - use_composition = entity.get_attr( 'use_composition', data_type=str, optional=True) @@ -97,11 +90,6 @@ def parse(cls, entity: Entity, parser: Parser): container_name = parser.parse_substitution(container_name) kwargs['container_name'] = container_name - if isinstance(create_own_container, str): - create_own_container = \ - parser.parse_substitution(create_own_container) - kwargs['create_own_container'] = create_own_container - if isinstance(use_composition, str): use_composition = parser.parse_substitution(use_composition) kwargs['use_composition'] = use_composition @@ -118,7 +106,6 @@ def execute(self, context: LaunchContext) -> Optional[List[Action]]: launch_arguments=[('world_sdf_file', self.__world_sdf_file), ('world_sdf_string', self.__world_sdf_string), ('container_name', self.__container_name), - ('create_own_container', self.__create_own_container), ('use_composition', self.__use_composition), ]) return [gz_server_description] diff --git a/ros_gz_sim_demos/CHANGELOG.rst b/ros_gz_sim_demos/CHANGELOG.rst index 7ee59f616..a40cff384 100644 --- a/ros_gz_sim_demos/CHANGELOG.rst +++ b/ros_gz_sim_demos/CHANGELOG.rst @@ -2,19 +2,16 @@ Changelog for package ros1_gz_sim_demos ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -2.1.1 (2024-10-14) +1.0.5 (2024-10-14) ------------------ -2.1.0 (2024-09-12) +1.0.4 (2024-08-29) ------------------ -2.0.1 (2024-08-29) +1.0.3 (2024-07-22) ------------------ -2.0.0 (2024-07-22) ------------------- - -1.0.1 (2024-07-03) +1.0.2 (2024-07-03) ------------------ * Prepare for 1.0.0 Release (`#495 <https://github.com/gazebosim/ros_gz//issues/495>`_) * Use gz_vendor packages (`#531 <https://github.com/gazebosim/ros_gz//issues/531>`_) diff --git a/ros_gz_sim_demos/package.xml b/ros_gz_sim_demos/package.xml index 13242084a..fbae3936c 100644 --- a/ros_gz_sim_demos/package.xml +++ b/ros_gz_sim_demos/package.xml @@ -1,6 +1,6 @@ <package format="3"> <name>ros_gz_sim_demos</name> - <version>2.1.1</version> + <version>1.0.5</version> <description>Demos using Gazebo Sim simulation with ROS.</description> <license>Apache 2.0</license> <maintainer email="adityapande@intrinsic.ai">Aditya Pande</maintainer> diff --git a/test_ros_gz_bridge/CHANGELOG.rst b/test_ros_gz_bridge/CHANGELOG.rst index bebf4abc4..05817e813 100644 --- a/test_ros_gz_bridge/CHANGELOG.rst +++ b/test_ros_gz_bridge/CHANGELOG.rst @@ -2,19 +2,16 @@ Changelog for package test_ros_gz_bridge ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -2.1.1 (2024-10-14) +1.0.5 (2024-10-14) ------------------ -2.1.0 (2024-09-12) +1.0.4 (2024-08-29) ------------------ -2.0.1 (2024-08-29) +1.0.3 (2024-07-22) ------------------ -2.0.0 (2024-07-22) ------------------- - -1.0.1 (2024-07-03) +1.0.2 (2024-07-03) ------------------ * Prepare for 1.0.0 Release (`#495 <https://github.com/gazebosim/ros_gz//issues/495>`_) * 0.244.14 diff --git a/test_ros_gz_bridge/package.xml b/test_ros_gz_bridge/package.xml index 4f200091f..e81604839 100644 --- a/test_ros_gz_bridge/package.xml +++ b/test_ros_gz_bridge/package.xml @@ -2,7 +2,7 @@ <?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?> <package format="3"> <name>test_ros_gz_bridge</name> - <version>2.1.1</version> + <version>1.0.5</version> <description>Bridge communication between ROS and Gazebo Transport</description> <maintainer email="adityapande@intrinsic.ai">Aditya Pande</maintainer> <maintainer email="ahcorde@openrobotics.org">Alejandro Hernandez</maintainer>