From 441ba5a9b4bb20b47b343a56d18ce406b98bb4fc Mon Sep 17 00:00:00 2001
From: Rick-v-E <78429257+Rick-v-E@users.noreply.github.com>
Date: Tue, 30 Jan 2024 18:07:15 +0100
Subject: [PATCH 1/4] Add Ignition Gazebo branch for ROS Humble (#57)
Port to Ignition Gazebo
---
.github/workflows/ros-humble-ign-test.yaml | 23 +
CHANGELOG.md | 3 +-
CMakeLists.txt | 39 +
Media/models/.gitkeep | 0
README.md | 2 +-
hooks/resource_paths.dsv.in | 3 +
hooks/resource_paths.sh | 3 +
launch/simulation.launch.py | 119 ++-
misc/screenshot_v5.0_ign.png | Bin 841893 -> 1858392 bytes
models/ale/model.sdf | 1 -
models/beer/materials/scripts/beer.material | 15 -
models/beer/meshes/beer.dae | 192 +++++
models/beer/model-1_4.sdf | 44 -
models/beer/model.config | 1 -
models/beer/model.sdf | 15 +-
.../scripts/location_marker_a.material | 33 -
.../meshes/location_marker_a.dae | 816 ++++++++++++++++++
models/location_marker_a/model.sdf | 59 +-
.../scripts/location_marker_b.material | 33 -
.../meshes/location_marker_b.dae | 816 ++++++++++++++++++
models/location_marker_b/model.sdf | 55 +-
.../textures/dirt_diffusespecular.png | Bin
.../materials/textures/flat_normal.png | Bin
.../textures/fungus_diffusespecular.png | Bin
.../materials/textures/grass_color.jpg | Bin
.../materials/textures/grass_displacement.jpg | Bin
.../materials/textures/grass_normal.jpg | Bin
.../materials/textures/grass_roughness.jpg | Bin
.../nettle/materials/scripts/nettle.material | 16 -
models/nettle/meshes/nettle.dae | 73 +-
models/nettle/model.sdf | 7 -
.../materials/textures/blinn2SG_baseColor.png | Bin 59421 -> 0 bytes
...n1SG_baseColor.png => retro_pepsi_can.png} | Bin
.../meshes/retro_pepsi_can.dae | 182 +---
models/retro_pepsi_can/model.sdf | 4 +-
models/start/materials/scripts/start.material | 18 -
models/start/model.sdf | 9 +-
models/stone_01/model.config | 2 +-
models/stone_01/model.sdf | 13 -
models/stone_02/model.config | 2 +-
models/stone_02/model.sdf | 12 -
.../materials/scripts/unknown_weed.material | 16 -
models/unknown_weed/meshes/unknown_weed.dae | 105 +--
models/unknown_weed/model.sdf | 11 +-
package.xml | 11 +-
resource/virtual_maize_field | 0
setup.cfg | 4 -
setup.py | 62 --
virtual_maize_field/generate_world.py | 2 +-
.../world_generator/field.world.template | 215 +++--
.../robot_spawner.launch.py.template | 6 +-
51 files changed, 2215 insertions(+), 827 deletions(-)
create mode 100644 .github/workflows/ros-humble-ign-test.yaml
create mode 100644 CMakeLists.txt
delete mode 100644 Media/models/.gitkeep
create mode 100644 hooks/resource_paths.dsv.in
create mode 100644 hooks/resource_paths.sh
delete mode 100755 models/beer/materials/scripts/beer.material
create mode 100644 models/beer/meshes/beer.dae
delete mode 100755 models/beer/model-1_4.sdf
delete mode 100755 models/location_marker_a/materials/scripts/location_marker_a.material
create mode 100644 models/location_marker_a/meshes/location_marker_a.dae
delete mode 100755 models/location_marker_b/materials/scripts/location_marker_b.material
create mode 100644 models/location_marker_b/meshes/location_marker_b.dae
rename {Media/models => models}/materials/textures/dirt_diffusespecular.png (100%)
rename {Media/models => models}/materials/textures/flat_normal.png (100%)
rename {Media/models => models}/materials/textures/fungus_diffusespecular.png (100%)
rename {Media/models => models}/materials/textures/grass_color.jpg (100%)
rename {Media/models => models}/materials/textures/grass_displacement.jpg (100%)
rename {Media/models => models}/materials/textures/grass_normal.jpg (100%)
rename {Media/models => models}/materials/textures/grass_roughness.jpg (100%)
delete mode 100644 models/nettle/materials/scripts/nettle.material
delete mode 100644 models/retro_pepsi_can/materials/textures/blinn2SG_baseColor.png
rename models/retro_pepsi_can/materials/textures/{blinn1SG_baseColor.png => retro_pepsi_can.png} (100%)
delete mode 100755 models/start/materials/scripts/start.material
delete mode 100644 models/unknown_weed/materials/scripts/unknown_weed.material
delete mode 100644 resource/virtual_maize_field
delete mode 100644 setup.cfg
delete mode 100644 setup.py
diff --git a/.github/workflows/ros-humble-ign-test.yaml b/.github/workflows/ros-humble-ign-test.yaml
new file mode 100644
index 0000000..5c81963
--- /dev/null
+++ b/.github/workflows/ros-humble-ign-test.yaml
@@ -0,0 +1,23 @@
+# Humble Hawksbill (May 2022 - May 2027)
+name: ros-humble-ign
+
+on:
+ workflow_dispatch:
+ pull_request:
+ branches:
+ - ros2-ign
+ push:
+ branches:
+ - ros2-ign
+
+jobs:
+ build:
+ runs-on: ubuntu-22.04
+ steps:
+ - uses: ros-tooling/setup-ros@v0.7
+ with:
+ required-ros-distributions: humble
+ - uses: ros-tooling/action-ros-ci@v0.3
+ with:
+ package-name: virtual_maize_field
+ target-ros2-distro: humble
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d73e2f0..e5a6b82 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,7 @@
-## Virtual Maize Field (ROS 2)
+## Virtual Maize Field (ROS 2 Ignition Gazebo)
### Version 5.0.0 (2024-01-20)
+* Refactor to Ignition Gazebo ([#57](https://github.com/FieldRobotEvent/virtual_maize_field/pull/57))
* Change location of generated files ([#56](https://github.com/FieldRobotEvent/virtual_maize_field/pull/56))
* Remove outdated script that checks for updates ([#56](https://github.com/FieldRobotEvent/virtual_maize_field/pull/56))
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..6dfd265
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,39 @@
+cmake_minimum_required(VERSION 3.5)
+project(virtual_maize_field)
+
+# Default to C++14
+if(NOT CMAKE_CXX_STANDARD)
+ set(CMAKE_CXX_STANDARD 14)
+endif()
+if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ add_compile_options(-Wall -Wextra -Wpedantic)
+endif()
+
+find_package(ament_cmake REQUIRED)
+find_package(ament_cmake_python REQUIRED)
+
+ament_environment_hooks("${CMAKE_CURRENT_SOURCE_DIR}/hooks/resource_paths.dsv.in")
+ament_environment_hooks("${CMAKE_CURRENT_SOURCE_DIR}/hooks/resource_paths.sh")
+
+ament_python_install_package(${PROJECT_NAME})
+
+#============================================================================
+# Nodes
+
+install(
+ PROGRAMS virtual_maize_field/generate_world.py
+ DESTINATION lib/${PROJECT_NAME}
+ RENAME generate_world
+)
+
+#============================================================================
+# Resources
+install(
+ DIRECTORY
+ config
+ models
+ launch
+ DESTINATION share/${PROJECT_NAME}
+)
+
+ament_package()
diff --git a/Media/models/.gitkeep b/Media/models/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/README.md b/README.md
index c861f31..3cf1a5a 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@
This is a package to procedurally generate randomized fields with rows of plants for Gazebo.
-
+
ROS Distro | Gazebo version | Branch | Build status
:---------: | :----: | :----: | :----------:
diff --git a/hooks/resource_paths.dsv.in b/hooks/resource_paths.dsv.in
new file mode 100644
index 0000000..766ed35
--- /dev/null
+++ b/hooks/resource_paths.dsv.in
@@ -0,0 +1,3 @@
+prepend-non-duplicate;IGN_GAZEBO_RESOURCE_PATH;@CMAKE_INSTALL_PREFIX@/share/@PROJECT_NAME@/models
+
+prepend-non-duplicate;LD_LIBRARY_PATH;@CMAKE_INSTALL_PREFIX@/lib
\ No newline at end of file
diff --git a/hooks/resource_paths.sh b/hooks/resource_paths.sh
new file mode 100644
index 0000000..0c14066
--- /dev/null
+++ b/hooks/resource_paths.sh
@@ -0,0 +1,3 @@
+ament_prepend_unique_value IGN_GAZEBO_RESOURCE_PATH "$AMENT_CURRENT_PREFIX/share/virtual_maize_field/models"
+
+ament_prepend_unique_value LD_LIBRARY_PATH "$AMENT_CURRENT_PREFIX/lib"
\ No newline at end of file
diff --git a/launch/simulation.launch.py b/launch/simulation.launch.py
index 03a3a78..e9129a4 100644
--- a/launch/simulation.launch.py
+++ b/launch/simulation.launch.py
@@ -3,57 +3,106 @@
from os import environ, path
from ament_index_python.packages import get_package_share_directory
-
-from launch import LaunchDescription
-from launch.actions import DeclareLaunchArgument, IncludeLaunchDescription
+from launch import LaunchDescription, SomeSubstitutionsType
+from launch.actions import DeclareLaunchArgument, IncludeLaunchDescription, LogInfo
from launch.conditions import IfCondition
from launch.launch_description_sources import PythonLaunchDescriptionSource
-from launch.substitutions import LaunchConfiguration, PythonExpression
+from launch.substitutions import (
+ LaunchConfiguration,
+ PathJoinSubstitution,
+ PythonExpression,
+)
+
+from launch_ros.actions import Node
+
+
+def construct_gz_args(
+ world_file: SomeSubstitutionsType,
+ paused: SomeSubstitutionsType,
+ headless: SomeSubstitutionsType,
+) -> SomeSubstitutionsType:
+ paused_arg = PythonExpression(['"" if "', paused, '".lower() == "true" else "-r "'])
+ headless_arg = PythonExpression(
+ ['"-s " if "', headless, '".lower() == "true" else ""']
+ )
+
+ return PythonExpression(["'", headless_arg, paused_arg, world_file, "'"])
def generate_launch_description() -> LaunchDescription:
_ros_home_path = environ.get("ROS_HOME", path.join(path.expanduser("~"), ".ros"))
cache_dir = path.join(_ros_home_path, "virtual_maize_field/")
- use_sim_time = LaunchConfiguration("use_sim_time", default=True)
- gui = LaunchConfiguration("gui", default=True)
- paused = LaunchConfiguration("paused", default=False)
- headless = LaunchConfiguration("headless", default=False)
- world_path = LaunchConfiguration("world_path", default=cache_dir)
- world_name = LaunchConfiguration("world_name", default="generated.world")
+ use_sim_time = LaunchConfiguration("use_sim_time")
+ paused = LaunchConfiguration("paused")
+ headless = LaunchConfiguration("headless")
+ world_path = LaunchConfiguration("world_path")
+ world_name = LaunchConfiguration("world_name")
- gz_server_launch_file = path.join(
- get_package_share_directory("gazebo_ros"), "launch", "gzserver.launch.py"
+ # Create launch arguments
+ declare_use_sim_time_cmd = DeclareLaunchArgument(
+ name="use_sim_time", default_value="True"
+ )
+ declare_paused_cmd = DeclareLaunchArgument(
+ name="paused", default_value="False", description="Start simulation paused."
+ )
+ declare_headless_cmd = DeclareLaunchArgument(
+ name="headless",
+ default_value="False",
+ description="Start headless simulation (without rendering).",
)
- gz_client_launch_file = path.join(
- get_package_share_directory("gazebo_ros"), "launch", "gzclient.launch.py"
+ declare_world_path_cmd = DeclareLaunchArgument(
+ name="world_path",
+ default_value=cache_dir,
+ description="Path to the directory containing the world SDF files.",
)
+ declare_world_name_cmd = DeclareLaunchArgument(
+ name="world_name",
+ default_value="generated.world",
+ description="Name of the world file.",
+ )
+
+ gz_args = construct_gz_args(
+ PathJoinSubstitution([world_path, world_name]),
+ paused,
+ headless,
+ )
+
+ log_gz_args = LogInfo(msg=["Start Ignition Gazebo with gz_args: '", gz_args, "'"])
- gz_server_launch = IncludeLaunchDescription(
- PythonLaunchDescriptionSource([gz_server_launch_file]),
+ # Create nodes
+ gz = IncludeLaunchDescription(
+ PythonLaunchDescriptionSource(
+ path.join(
+ get_package_share_directory("ros_gz_sim"), "launch", "gz_sim.launch.py"
+ ),
+ ),
launch_arguments={
- "world": [world_path, world_name],
- "pause": paused,
- "verbose": "true",
+ "gz_args": gz_args,
"use_sim_time": use_sim_time,
}.items(),
)
- gz_client_launch = IncludeLaunchDescription(
- PythonLaunchDescriptionSource([gz_client_launch_file]),
- condition=IfCondition(PythonExpression([gui, " and not ", headless])),
- launch_arguments={"use_sim_time": use_sim_time}.items(),
+ sim_time_bridge = Node(
+ package="ros_gz_bridge",
+ executable="parameter_bridge",
+ name="clock_bridge",
+ condition=IfCondition(use_sim_time),
+ arguments=["/clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock"],
)
- return LaunchDescription(
- [
- DeclareLaunchArgument(name="use_sim_time", default_value=use_sim_time),
- DeclareLaunchArgument(name="gui", default_value=gui),
- DeclareLaunchArgument(name="paused", default_value=paused),
- DeclareLaunchArgument(name="headless", default_value=headless),
- DeclareLaunchArgument(name="world_path", default_value=world_path),
- DeclareLaunchArgument(name="world_name", default_value=world_name),
- gz_server_launch,
- gz_client_launch,
- ]
- )
+ ld = LaunchDescription()
+
+ # Declare the launch options
+ ld.add_action(declare_use_sim_time_cmd)
+ ld.add_action(declare_paused_cmd)
+ ld.add_action(declare_headless_cmd)
+ ld.add_action(declare_world_path_cmd)
+ ld.add_action(declare_world_name_cmd)
+
+ # Add nodes
+ ld.add_action(log_gz_args)
+ ld.add_action(gz)
+ ld.add_action(sim_time_bridge)
+
+ return ld
diff --git a/misc/screenshot_v5.0_ign.png b/misc/screenshot_v5.0_ign.png
index 4c9d1f9e7f2bb89569c76d4219c5582be8a3cf58..bf2ef4cb3b431c6ca21b6f348a5a1758ad40ebf4 100644
GIT binary patch
literal 1858392
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%0AxDQmrF?x&*Avx
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