Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,10 @@ libzenohcxx:
- 1.4.0
libcap:
- 2.71

lbr_fri_client_sdk:
- '1.11'
- '1.14'
- '1.15'
- '1.16'
- '1.17'
9 changes: 9 additions & 0 deletions patch/dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -280,3 +280,12 @@ franka_example_controllers:
franka_ign_ros2_control:
add_host: ["ros-humble-urdf", "ros-humble-kdl-parser", "ros-humble-tf2-geometry-msgs", "ros-humble-tf2-eigen", "${{ 'libgl-devel' if linux }}"]
add_run: ["ros-humble-urdf", "ros-humble-kdl-parser", "ros-humble-tf2-geometry-msgs", "ros-humble-tf2-eigen"]
gz_ros2_control:
remove_host: ["libignition-gazebo6"]
add_host: ["${{ 'libignition-gazebo6' if not win }}", "${{ 'libgz-sim7' if win }}"]
ign_ros2_control:
remove_host: ["libignition-gazebo6"]
add_host: ["${{ 'libignition-gazebo6' if not win }}", "${{ 'libgz-sim7' if win }}"]
lbr_ros2_control:
add_host: ["ros-humble-kinematics-interface"]
add_run: ["ros-humble-kinematics-interface"]
67 changes: 65 additions & 2 deletions patch/ros-humble-gz-ros2-control.patch
Original file line number Diff line number Diff line change
@@ -1,11 +1,41 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5e4ce57..b2f3a8d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,23 @@
@@ -1,6 +1,51 @@
cmake_minimum_required(VERSION 3.5)
project(gz_ros2_control)

+# Avoid Windows min/max macros and provide tiny compatibility headers for MSVC.
+if(WIN32)
+ add_compile_definitions(NOMINMAX)
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unistd.h" "#pragma once\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/unistd.h" "#include <io.h>\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/unistd.h" "#ifndef access\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/unistd.h" "#define access _access\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/unistd.h" "#endif\n")
+
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h" "#pragma once\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h" "#ifndef NOMINMAX\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h" "#define NOMINMAX\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h" "#endif\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h" "#include <windows.h>\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h" "#ifdef interface\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h" "#undef interface\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h" "#endif\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h" "#ifdef STRICT\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h" "#undef STRICT\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h" "#endif\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h" "#ifdef min\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h" "#undef min\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h" "#endif\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h" "#ifdef max\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h" "#undef max\n")
+ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h" "#endif\n")
+
+ include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
+ add_compile_options($<$<CXX_COMPILER_ID:MSVC>:/FI${CMAKE_CURRENT_BINARY_DIR}/windows_macro_fix.h>)
+endif()
+
+# Fix for macOS case sensitivity issue with TinyXML2 targets
+# ignition-gui6 from conda-forge expects TINYXML2::TINYXML2 but macOS provides tinyxml2::tinyxml2
+# We need to create the uppercase target before any ignition packages are loaded
Expand All @@ -26,3 +56,36 @@ index 5e4ce57..b2f3a8d 100644
# Default to C++14
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 14)
@@ -57,14 +102,25 @@ if("$ENV{GZ_VERSION}" STREQUAL "harmonic")
set(GZ_PLUGIN gz-plugin${GZ_PLUGIN_VER}::register)
set(GZ_SIM gz-sim${GZ_SIM_VER}::core)
add_definitions(-DGZ_HEADERS)
else()
- find_package(ignition-gazebo6 REQUIRED)
- set(GZ_SIM_VER ${ignition-gazebo6_VERSION_MAJOR})
- message(STATUS "Compiling against Gazebo fortress")
- find_package(ignition-plugin1 REQUIRED)
- set(GZ_PLUGIN_VER ${ignition-plugin1_VERSION_MAJOR})
- set(GZ_PLUGIN ignition-plugin${GZ_PLUGIN_VER}::register)
- set(GZ_SIM ignition-gazebo${GZ_SIM_VER}::core)
+ if(WIN32)
+ find_package(gz-sim7 REQUIRED)
+ set(GZ_SIM_VER ${gz-sim7_VERSION_MAJOR})
+ message(STATUS "Compiling against Gazebo fortress (gz)")
+ find_package(gz-plugin2 REQUIRED)
+ set(GZ_PLUGIN_VER ${gz-plugin2_VERSION_MAJOR})
+ set(GZ_PLUGIN gz-plugin${GZ_PLUGIN_VER}::register)
+ set(GZ_SIM gz-sim${GZ_SIM_VER}::core)
+ add_definitions(-DGZ_HEADERS)
+ else()
+ find_package(ignition-gazebo6 REQUIRED)
+ set(GZ_SIM_VER ${ignition-gazebo6_VERSION_MAJOR})
+ message(STATUS "Compiling against Gazebo fortress")
+ find_package(ignition-plugin1 REQUIRED)
+ set(GZ_PLUGIN_VER ${ignition-plugin1_VERSION_MAJOR})
+ set(GZ_PLUGIN ignition-plugin${GZ_PLUGIN_VER}::register)
+ set(GZ_SIM ignition-gazebo${GZ_SIM_VER}::core)
+ endif()
endif()

include_directories(
6 changes: 3 additions & 3 deletions patch/ros-humble-kinematics-interface-kdl.win.patch
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
diff --git a/kinematics_interface_kdl/CMakeLists.txt b/kinematics_interface_kdl/CMakeLists.txt
index afeadae..c1cc640 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
--- a/kinematics_interface_kdl/CMakeLists.txt
+++ b/kinematics_interface_kdl/CMakeLists.txt
@@ -5,6 +5,10 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
Expand Down
10 changes: 5 additions & 5 deletions patch/ros-humble-kinematics-interface.patch
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
diff --git a/kinematics_interface/CMakeLists.txt b/kinematics_interface/CMakeLists.txt
index 27a6269..06549d9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
--- a/kinematics_interface/CMakeLists.txt
+++ b/kinematics_interface/CMakeLists.txt
@@ -45,5 +45,5 @@ install(
)

ament_export_targets(export_kinematics_interface HAS_LIBRARY_TARGET)
-ament_export_dependencies(${THIS_PACKAGE_INCLUDE_DEPENDS})
+ament_export_dependencies(${THIS_PACKAGE_INCLUDE_DEPENDS} Eigen3)
ament_package()
ament_package()
8 changes: 4 additions & 4 deletions patch/ros-humble-kinematics-interface.win.patch
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 88eaf9e..f0dbffd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
diff --git a/kinematics_interface/CMakeLists.txt b/kinematics_interface/CMakeLists.txt
index 27a6269..2a1a3ef 100644
--- a/kinematics_interface/CMakeLists.txt
+++ b/kinematics_interface/CMakeLists.txt
@@ -5,6 +5,10 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
Expand Down
4 changes: 4 additions & 0 deletions pkg_additional_info.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -166,3 +166,7 @@ mavros_msgs:
build_number: 14
mavros_extras:
build_number: 14
kinematics_interface:
build_number: 14
kinematics_interface_kdl:
build_number: 14
2 changes: 2 additions & 0 deletions robostack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@ flex:
robostack: [flex]
fmt:
robostack: [fmt]
fri_client_sdk:
robostack: [lbr-fri-client-sdk]
g++-static:
robostack: []
gawk:
Expand Down
89 changes: 89 additions & 0 deletions rosdistro_additional_recipes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,92 @@ wasm_cpp:
url: https://github.com/ros2wasm/rmw_wasm.git
version: 1.0.0
additional_folder: wasm_cpp
lbr_demos_advanced_cpp:
url: https://github.com/lbr-stack/lbr_fri_ros2_stack.git
rev: 2e932d4e062966afe216710a7cc2fe50a8099365
version: 2.4.3
additional_folder: lbr_demos/lbr_demos_advanced_cpp
lbr_demos_advanced_py:
url: https://github.com/lbr-stack/lbr_fri_ros2_stack.git
rev: 2e932d4e062966afe216710a7cc2fe50a8099365
version: 2.4.3
additional_folder: lbr_demos/lbr_demos_advanced_py
lbr_demos_cpp:
url: https://github.com/lbr-stack/lbr_fri_ros2_stack.git
rev: 2e932d4e062966afe216710a7cc2fe50a8099365
version: 2.4.3
additional_folder: lbr_demos/lbr_demos_cpp
lbr_demos_py:
url: https://github.com/lbr-stack/lbr_fri_ros2_stack.git
rev: 2e932d4e062966afe216710a7cc2fe50a8099365
version: 2.4.3
additional_folder: lbr_demos/lbr_demos_py
lbr_moveit:
url: https://github.com/lbr-stack/lbr_fri_ros2_stack.git
rev: 2e932d4e062966afe216710a7cc2fe50a8099365
version: 2.4.3
additional_folder: lbr_demos/lbr_moveit
lbr_moveit_cpp:
url: https://github.com/lbr-stack/lbr_fri_ros2_stack.git
rev: 2e932d4e062966afe216710a7cc2fe50a8099365
version: 2.4.3
additional_folder: lbr_demos/lbr_moveit_cpp
lbr_bringup:
url: https://github.com/lbr-stack/lbr_fri_ros2_stack.git
rev: 2e932d4e062966afe216710a7cc2fe50a8099365
version: 2.2.2
additional_folder: lbr_bringup
lbr_description:
url: https://github.com/lbr-stack/lbr_fri_ros2_stack.git
rev: 2e932d4e062966afe216710a7cc2fe50a8099365
version: 2.2.2
additional_folder: lbr_description
lbr_fri_ros2:
url: https://github.com/lbr-stack/lbr_fri_ros2_stack.git
rev: 2e932d4e062966afe216710a7cc2fe50a8099365
version: 2.2.2
additional_folder: lbr_fri_ros2
lbr_fri_ros2_stack:
url: https://github.com/lbr-stack/lbr_fri_ros2_stack.git
rev: 2e932d4e062966afe216710a7cc2fe50a8099365
version: 2.2.2
additional_folder: lbr_fri_ros2_stack
lbr_ros2_control:
url: https://github.com/lbr-stack/lbr_fri_ros2_stack.git
rev: 2e932d4e062966afe216710a7cc2fe50a8099365
version: 2.2.2
additional_folder: lbr_ros2_control
iiwa14_moveit_config:
url: https://github.com/lbr-stack/lbr_fri_ros2_stack.git
rev: 2e932d4e062966afe216710a7cc2fe50a8099365
version: 0.3.0
additional_folder: lbr_moveit_config/iiwa14_moveit_config
iiwa7_moveit_config:
url: https://github.com/lbr-stack/lbr_fri_ros2_stack.git
rev: 2e932d4e062966afe216710a7cc2fe50a8099365
version: 0.3.0
additional_folder: lbr_moveit_config/iiwa7_moveit_config
med14_moveit_config:
url: https://github.com/lbr-stack/lbr_fri_ros2_stack.git
rev: 2e932d4e062966afe216710a7cc2fe50a8099365
version: 0.3.0
additional_folder: lbr_moveit_config/med14_moveit_config
med7_moveit_config:
url: https://github.com/lbr-stack/lbr_fri_ros2_stack.git
rev: 2e932d4e062966afe216710a7cc2fe50a8099365
version: 0.3.0
additional_folder: lbr_moveit_config/med7_moveit_config
lbr_fri_idl:
url: https://github.com/lbr-stack/lbr_fri_idl.git
rev: e422bff2b3d70ec47853145b35645980df623a60
version: 1.5.0
kinematics_interface:
url: https://github.com/ros-controls/kinematics_interface.git
rev: 7285c88693ae612cfdb1952e5344f9b9a6998ba2
version: 0.4.0
additional_folder: kinematics_interface
kinematics_interface_kdl:
url: https://github.com/ros-controls/kinematics_interface.git
rev: 7285c88693ae612cfdb1952e5344f9b9a6998ba2
version: 0.4.0
additional_folder: kinematics_interface_kdl
19 changes: 19 additions & 0 deletions vinca.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,25 @@ packages_select_by_deps:
- topic_based_ros2_control
# IntelRealSense
- librealsense2
# requested in https://github.com/RoboStack/ros-humble/issues/352
- lbr_bringup
- lbr_demos_advanced_cpp
- lbr_demos_advanced_py
- lbr_demos_cpp
- lbr_demos_py
- lbr_moveit
- lbr_moveit_cpp
- lbr_description
- lbr_fri_ros2
- lbr_fri_ros2_stack
- iiwa14_moveit_config
- iiwa7_moveit_config
- med14_moveit_config
- med7_moveit_config
- lbr_ros2_control
- lbr_fri_idl
- kinematics_interface
- kinematics_interface_kdl

# These packages are only built on Linux as they depend on Linux-specific API
- if: linux
Expand Down
Loading