From b3a46661cee338aecd4046685d2396c3aa559814 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20Fr=C3=B6hlich?= Date: Thu, 4 Apr 2024 20:01:22 +0200 Subject: [PATCH] [example_9] Switch to gz_ros2_control (#482) * Switch from gazebo classic to gazebo * update docs * Use gz_ros2_control in semi-binary builds * rm dependency conditional Co-authored-by: Dr. Denis --- README.md | 2 +- doc/index.rst | 2 +- ...assic.launch.py => rrbot_gazebo.launch.py} | 30 +++++++---- .../description/gazebo/rrbot.gazebo.xacro | 2 +- .../ros2_control/rrbot.ros2_control.xacro | 8 +-- example_9/description/urdf/rrbot.urdf.xacro | 6 +-- example_9/doc/rrbot_gazebo.png | Bin 0 -> 81021 bytes example_9/doc/rrbot_gazebo_classic.png | Bin 22688 -> 0 bytes example_9/doc/userdoc.rst | 48 ++++-------------- example_9/package.xml | 4 +- ros2_control_demos.rolling.repos | 4 +- 11 files changed, 43 insertions(+), 63 deletions(-) rename example_9/bringup/launch/{rrbot_gazebo_classic.launch.py => rrbot_gazebo.launch.py} (86%) create mode 100644 example_9/doc/rrbot_gazebo.png delete mode 100644 example_9/doc/rrbot_gazebo_classic.png diff --git a/README.md b/README.md index 572bf282..62ce88a8 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ The following examples are part of this demo repository: *RRBot* with an exposed transmission interface. -* Example 9: ["Gazebo classic simulation"](example_9) +* Example 9: ["Gazebo simulation"](example_9) Demonstrates how to switch between simulation and hardware. diff --git a/doc/index.rst b/doc/index.rst index 0837344a..be15df81 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -269,7 +269,7 @@ Examples Example 6: Modular robots with separate communication to each actuator <../example_6/doc/userdoc.rst> Example 7: Full tutorial with a 6DOF robot <../example_7/doc/userdoc.rst> Example 8: Using transmissions <../example_8/doc/userdoc.rst> - Example 9: Gazebo classic <../example_9/doc/userdoc.rst> + Example 9: Gazebo <../example_9/doc/userdoc.rst> Example 10: Industrial robot with GPIO interfaces <../example_10/doc/userdoc.rst> Example 11: CarlikeBot <../example_11/doc/userdoc.rst> Example 12: Controller chaining <../example_12/doc/userdoc.rst> diff --git a/example_9/bringup/launch/rrbot_gazebo_classic.launch.py b/example_9/bringup/launch/rrbot_gazebo.launch.py similarity index 86% rename from example_9/bringup/launch/rrbot_gazebo_classic.launch.py rename to example_9/bringup/launch/rrbot_gazebo.launch.py index 1fd754f7..0f7c185a 100644 --- a/example_9/bringup/launch/rrbot_gazebo_classic.launch.py +++ b/example_9/bringup/launch/rrbot_gazebo.launch.py @@ -36,11 +36,26 @@ def generate_launch_description(): # Initialize Arguments gui = LaunchConfiguration("gui") + # gazebo gazebo = IncludeLaunchDescription( PythonLaunchDescriptionSource( - [PathJoinSubstitution([FindPackageShare("gazebo_ros"), "launch", "gazebo.launch.py"])] + [FindPackageShare("ros_gz_sim"), "/launch/gz_sim.launch.py"] ), - launch_arguments={"verbose": "false"}.items(), + launch_arguments={"gz_args": " -r -v 3 empty.sdf"}.items(), + ) + + gz_spawn_entity = Node( + package="ros_gz_sim", + executable="create", + output="screen", + arguments=[ + "-topic", + "/robot_description", + "-name", + "rrbot_system_position", + "-allow_renaming", + "true", + ], ) # Get URDF via xacro @@ -52,7 +67,7 @@ def generate_launch_description(): [FindPackageShare("ros2_control_demo_example_9"), "urdf", "rrbot.urdf.xacro"] ), " ", - "use_gazebo_classic:=true", + "use_gazebo:=true", ] ) robot_description = {"robot_description": robot_description_content} @@ -67,13 +82,6 @@ def generate_launch_description(): parameters=[robot_description], ) - spawn_entity = Node( - package="gazebo_ros", - executable="spawn_entity.py", - arguments=["-topic", "robot_description", "-entity", "rrbot_system_position"], - output="screen", - ) - joint_state_broadcaster_spawner = Node( package="controller_manager", executable="spawner", @@ -97,7 +105,7 @@ def generate_launch_description(): nodes = [ gazebo, node_robot_state_publisher, - spawn_entity, + gz_spawn_entity, joint_state_broadcaster_spawner, robot_controller_spawner, rviz_node, diff --git a/example_9/description/gazebo/rrbot.gazebo.xacro b/example_9/description/gazebo/rrbot.gazebo.xacro index 1de74bcc..92a6727c 100644 --- a/example_9/description/gazebo/rrbot.gazebo.xacro +++ b/example_9/description/gazebo/rrbot.gazebo.xacro @@ -9,7 +9,7 @@ https://github.com/ros-simulation/gazebo_ros_demos/blob/kinetic-devel/rrbot_desc - + $(find ros2_control_demo_example_9)/config/rrbot_controllers.yaml diff --git a/example_9/description/ros2_control/rrbot.ros2_control.xacro b/example_9/description/ros2_control/rrbot.ros2_control.xacro index 0d57bf03..dbca1f63 100644 --- a/example_9/description/ros2_control/rrbot.ros2_control.xacro +++ b/example_9/description/ros2_control/rrbot.ros2_control.xacro @@ -1,14 +1,14 @@ - + - - gazebo_ros2_control/GazeboSystem + + gz_ros2_control/GazeboSimSystem - + ros2_control_demo_example_9/RRBotSystemPositionOnlyHardware 0 3.0 diff --git a/example_9/description/urdf/rrbot.urdf.xacro b/example_9/description/urdf/rrbot.urdf.xacro index a77033ce..3dbb012b 100644 --- a/example_9/description/urdf/rrbot.urdf.xacro +++ b/example_9/description/urdf/rrbot.urdf.xacro @@ -6,7 +6,7 @@ https://github.com/ros-simulation/gazebo_ros_demos/blob/kinetic-devel/rrbot_desc --> - + @@ -25,9 +25,9 @@ https://github.com/ros-simulation/gazebo_ros_demos/blob/kinetic-devel/rrbot_desc + name="RRBot" prefix="$(arg prefix)" use_gazebo="$(arg use_gazebo)"/> - + diff --git a/example_9/doc/rrbot_gazebo.png b/example_9/doc/rrbot_gazebo.png new file mode 100644 index 0000000000000000000000000000000000000000..3952e0bd041ee6f847fa3b3d5d658565837dad05 GIT binary patch literal 81021 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 K%_~T5SN;d`bF&oy literal 0 HcmV?d00001 diff --git a/example_9/doc/rrbot_gazebo_classic.png b/example_9/doc/rrbot_gazebo_classic.png deleted file mode 100644 index 783c934c6684471726ad99feb929f1a0b2dcaabc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22688 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 diff --git a/example_9/doc/userdoc.rst b/example_9/doc/userdoc.rst index 3e612d1e..363e950d 100644 --- a/example_9/doc/userdoc.rst +++ b/example_9/doc/userdoc.rst @@ -6,34 +6,12 @@ Example 9: Simulation with RRBot ================================= With *example_9*, we demonstrate the interaction of simulators with ros2_control. More specifically, -Gazebo Classic is used for this purpose. +gazebo is used for this purpose. .. note:: Follow the installation instructions on :ref:`ros2_control_demos_install` how to install all dependencies, - Gazebo Classic should be automatically installed. - - * If you have installed and compiled this repository locally, you can directly use the commands below. - * If you have installed it via the provided docker image: To run the first two steps of this example (without Gazebo Classic), use the commands as described with :ref:`ros2_control_demos_install`. To run the later steps using Gazebo Classic, execute - - .. code:: - - docker run -it --rm --name ros2_control_demos --net host ros2_control_demos ros2 launch ros2_control_demo_example_9 rrbot_gazebo_classic.launch.py gui:=false - - first. Then on your local machine you can run the Gazebo Classic client with - - .. code-block:: shell - - gzclient - - and/or ``rviz2`` with - - .. code-block:: shell - - rviz2 -d src/ros2_control_demos/example_9/description/rviz/rrbot.rviz - - - For details on the ``gazebo_ros2_control`` plugin, see :ref:`gazebo_ros2_control`. + gazebo should be automatically installed. For details on the ``gz_ros2_control`` plugin, see :ref:`gz_ros2_control`. Tutorial steps -------------------------- @@ -55,24 +33,18 @@ Tutorial steps It uses an identical hardware interface as already discussed with *example_1*, see its docs on details on the hardware interface. -3. To start *RRBot* in the simulators, open a terminal, source your ROS2-workspace and Gazebo Classic installation first, i.e., by - - .. code-block:: shell - - source /usr/share/gazebo/setup.sh - - Then, execute the launch file with +3. To start *RRBot* in the simulators, open a terminal, source your ROS2-workspace first. Then, execute the launch file with .. code-block:: shell - ros2 launch ros2_control_demo_example_9 rrbot_gazebo_classic.launch.py gui:=true + ros2 launch ros2_control_demo_example_9 rrbot_gazebo.launch.py gui:=true - The launch file loads the robot description, starts Gazebo Classic, *Joint State Broadcaster* and *Forward Command Controller*. - If you can see two orange and one yellow "box" in Gazebo Classic everything has started properly. + The launch file loads the robot description, starts gazebo, *Joint State Broadcaster* and *Forward Command Controller*. + If you can see two orange and one yellow "box" in gazebo everything has started properly. - .. image:: rrbot_gazebo_classic.png + .. image:: rrbot_gazebo.png :width: 400 - :alt: Revolute-Revolute Manipulator Robot in Gazebo Classic + :alt: Revolute-Revolute Manipulator Robot in gazebo 4. Check if the hardware interface loaded properly, by opening another terminal and executing @@ -118,7 +90,7 @@ Tutorial steps ros2 launch ros2_control_demo_example_9 test_forward_position_controller.launch.py - You should now see the robot moving in Gazebo Classic. + You should now see the robot moving in gazebo. If you echo the ``/joint_states`` or ``/dynamic_joint_states`` topics you should see the changing values, namely the simulated states of the robot @@ -135,7 +107,7 @@ Files used for this demos - Launch files: + Hardware: `rrbot.launch.py `__ - + Gazebo Classic: `rrbot_gazebo_classic.launch.py `__ + + gazebo: `rrbot_gazebo.launch.py `__ - Controllers yaml: `rrbot_controllers.yaml `__ - URDF file: `rrbot.urdf.xacro `__ diff --git a/example_9/package.xml b/example_9/package.xml index 580b3174..5d289b25 100644 --- a/example_9/package.xml +++ b/example_9/package.xml @@ -23,8 +23,8 @@ controller_manager forward_command_controller - gazebo_ros - gazebo_ros2_control + ros_gz_sim + gz_ros2_control joint_state_broadcaster joint_state_publisher_gui joint_trajectory_controller diff --git a/ros2_control_demos.rolling.repos b/ros2_control_demos.rolling.repos index 4b077103..e2024e5e 100644 --- a/ros2_control_demos.rolling.repos +++ b/ros2_control_demos.rolling.repos @@ -15,7 +15,7 @@ repositories: type: git url: https://github.com/ros-controls/ros2_controllers.git version: master - gazebo_ros2_control: + gz_ros2_control: type: git - url: https://github.com/ros-controls/gazebo_ros2_control.git + url: https://github.com/ros-controls/gz_ros2_control.git version: master