Skip to content

Commit

Permalink
Imported upstream version '1.0.5' of 'upstream'
Browse files Browse the repository at this point in the history
  • Loading branch information
ahcorde committed Oct 14, 2024
1 parent a811e61 commit 1e39b70
Show file tree
Hide file tree
Showing 25 changed files with 110 additions and 277 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ros2-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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:
Expand All @@ -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).
Expand Down
11 changes: 4 additions & 7 deletions ros_gz/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion ros_gz/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -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="[email protected]">Aditya Pande</maintainer>
<maintainer email="[email protected]">Alejandro Hernandez</maintainer>
Expand Down
81 changes: 33 additions & 48 deletions ros_gz_bridge/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Merge jazzy into ros2
(cherry picked from commit a781b78852112246245c05481db6335388d4f736)
Co-authored-by: Carlos Agüero <[email protected]>
* 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 <[email protected]>
* 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
Expand All @@ -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 <[email protected]>
* Prepare for 1.0.0 Release (`#495 <https://github.com/gazebosim/ros_gz//issues/495>`_)
Expand Down Expand Up @@ -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)
------------------
Expand Down
4 changes: 1 addition & 3 deletions ros_gz_bridge/launch/ros_gz_bridge.launch
Original file line number Diff line number Diff line change
Expand Up @@ -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)"
Expand Down
43 changes: 5 additions & 38 deletions ros_gz_bridge/launch/ros_gz_bridge.launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand All @@ -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')
Expand All @@ -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(
Expand Down Expand Up @@ -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(
Expand All @@ -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
2 changes: 1 addition & 1 deletion ros_gz_bridge/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -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="[email protected]">Aditya Pande</maintainer>
<maintainer email="[email protected]">Alejandro Hernandez</maintainer>
Expand Down
15 changes: 1 addition & 14 deletions ros_gz_bridge/ros_gz_bridge/actions/ros_gz_bridge.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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).
Expand All @@ -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
Expand All @@ -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)
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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),
Expand Down
14 changes: 4 additions & 10 deletions ros_gz_image/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading

0 comments on commit 1e39b70

Please sign in to comment.