From 0336d30540cd8b86216824feab0ee0dc5cb59385 Mon Sep 17 00:00:00 2001
From: David Yackzan
Date: Tue, 15 Apr 2025 10:38:11 -0600
Subject: [PATCH 1/4] Align robotiq_gripper xacro arg
---
.../grippers/robotiq_2f_85/urdf/robotiq_2f_85_macro.xacro | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kortex_description/grippers/robotiq_2f_85/urdf/robotiq_2f_85_macro.xacro b/kortex_description/grippers/robotiq_2f_85/urdf/robotiq_2f_85_macro.xacro
index 9ff28785..68bde96a 100644
--- a/kortex_description/grippers/robotiq_2f_85/urdf/robotiq_2f_85_macro.xacro
+++ b/kortex_description/grippers/robotiq_2f_85/urdf/robotiq_2f_85_macro.xacro
@@ -28,7 +28,7 @@
com_port="${com_port}"
use_fake_hardware="${use_fake_hardware}"
mock_sensor_commands="${fake_sensor_commands}"
- sim_gazebo="${sim_gazebo}"
+ sim_ignition="${sim_gazebo}"
sim_isaac="${sim_isaac}"
isaac_joint_commands="${isaac_joint_commands}"
isaac_joint_states="${isaac_joint_states}">
From f151617683a90cc203b90da1b888560f4b110ed8 Mon Sep 17 00:00:00 2001
From: David Yackzan
Date: Tue, 15 Apr 2025 10:44:30 -0600
Subject: [PATCH 2/4] Add gz_ros2_control dep condition for humble
---
kortex_description/package.xml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kortex_description/package.xml b/kortex_description/package.xml
index 36fcf612..b53b6b2d 100644
--- a/kortex_description/package.xml
+++ b/kortex_description/package.xml
@@ -15,7 +15,8 @@ for Kortex arms and supported grippers
ament_cmake
- gz_ros2_control
+ ign_ros2_control
+ gz_ros2_control
joint_state_publisher_gui
joint_state_publisher
joint_trajectory_controller
From 666a41d445ed0223b2b5733ed3dd881104647d40 Mon Sep 17 00:00:00 2001
From: Mario Prats
Date: Tue, 24 Sep 2024 12:10:49 +0200
Subject: [PATCH 3/4] update to 2.6.0 API and add support for aarch64
---
kortex_api/CMakeLists.txt | 33 +++++++++++++++------------------
kortex_driver/CMakeLists.txt | 26 ++++++++++++++++----------
2 files changed, 31 insertions(+), 28 deletions(-)
diff --git a/kortex_api/CMakeLists.txt b/kortex_api/CMakeLists.txt
index ddf42b71..6a249eef 100644
--- a/kortex_api/CMakeLists.txt
+++ b/kortex_api/CMakeLists.txt
@@ -1,13 +1,5 @@
cmake_minimum_required(VERSION 3.14)
include(FetchContent)
-#include(ExternalProject)
-FetchContent_Declare(
- kinova_binary_api
- URL https://artifactory.kinovaapps.com:443/artifactory/generic-public/kortex/API/2.5.0/linux_x86-64_x86_gcc.zip
- URL_HASH MD5=64bd86e7ab8bda90ef1fc7d6a356e080
-)
-
-FetchContent_MakeAvailable(kinova_binary_api)
project(kortex_api)
@@ -18,20 +10,25 @@ project(kortex_api)
# string(REPLACE "_" "-" URL_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR}) # x86_64 -> x86-64
# string(TOLOWER ${CMAKE_SYSTEM_NAME} URL_OS) # Linux -> linux
-#Current: only support Linux x86_64
-if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
- set(API_URL https://artifactory.kinovaapps.com:443/artifactory/generic-public/kortex/API/2.5.0/linux_x86-64_x86_gcc.zip)
+#Current: only support Linux x86_64 and aarch64
+if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
+ FetchContent_Declare(
+ kinova_binary_api
+ URL https://artifactory.kinovaapps.com:443/artifactory/generic-public/kortex/API/2.6.0/linux_aarch64_gcc_7.4.zip
+ URL_HASH MD5=d7771a7c106888717ace359164d40235
+ )
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+ FetchContent_Declare(
+ kinova_binary_api
+ URL https://artifactory.kinovaapps.com:443/artifactory/generic-public/kortex/API/2.6.0/linux_x86_64_gcc_5.4.zip
+ URL_HASH MD5=a990f7941ecd9e3d1d986b1aa461cc81
+ )
else()
set(API_URL "")
- message(FATAL_ERROR "Unsupported System: currently support is for Linux x68_64. Detected ${CMAKE_SYSTEM_NAME} and ${CMAKE_SYSTEM_PROCESSOR}")
+ message(FATAL_ERROR "Unsupported System: currently support is for Linux x68_64 or aarch64. Detected ${CMAKE_SYSTEM_NAME} and ${CMAKE_SYSTEM_PROCESSOR}")
endif()
-#ExternalProject_Add(kinova_binary_api
-# URL ${API_URL}
-# CONFIGURE_COMMAND ""
-# BUILD_COMMAND ""
-# INSTALL_COMMAND ""
-#)
+FetchContent_MakeAvailable(kinova_binary_api)
find_package(ament_cmake REQUIRED)
diff --git a/kortex_driver/CMakeLists.txt b/kortex_driver/CMakeLists.txt
index 6e47d729..ef6e3208 100644
--- a/kortex_driver/CMakeLists.txt
+++ b/kortex_driver/CMakeLists.txt
@@ -1,11 +1,5 @@
cmake_minimum_required(VERSION 3.14)
include(FetchContent)
-FetchContent_Declare(
- kinova_binary_api
- URL https://artifactory.kinovaapps.com:443/artifactory/generic-public/kortex/API/2.5.0/linux_x86-64_x86_gcc.zip
- URL_HASH MD5=64bd86e7ab8bda90ef1fc7d6a356e080
-)
-FetchContent_MakeAvailable(kinova_binary_api)
project(kortex_driver)
@@ -28,16 +22,28 @@ find_package(pluginlib REQUIRED)
find_package(rclcpp REQUIRED)
find_package(kortex_api REQUIRED)
-#Current: only support Linux x86_64
-if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
- set(API_URL https://artifactory.kinovaapps.com:443/artifactory/generic-public/kortex/API/2.5.0/linux_x86-64_x86_gcc.zip)
+#Current: only support Linux x86_64 and aarch64
+if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
+ FetchContent_Declare(
+ kinova_binary_api
+ URL https://artifactory.kinovaapps.com:443/artifactory/generic-public/kortex/API/2.6.0/linux_aarch64_gcc_7.4.zip
+ URL_HASH MD5=d7771a7c106888717ace359164d40235
+ )
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+ FetchContent_Declare(
+ kinova_binary_api
+ URL https://artifactory.kinovaapps.com:443/artifactory/generic-public/kortex/API/2.6.0/linux_x86_64_gcc_5.4.zip
+ URL_HASH MD5=a990f7941ecd9e3d1d986b1aa461cc81
+ )
else()
# TODO(future) to support ARM or other builds logic could go here to fetch the precompiled libKortexApiCpp.a
# see notes in kortex_api CMakeList.txt
message(WARNING "Detected ${CMAKE_SYSTEM_NAME} and ${CMAKE_SYSTEM_PROCESSOR}")
- message(FATAL_ERROR "Unsupported System: currently support is for Linux x68_64.")
+ message(FATAL_ERROR "Unsupported System: currently support is for Linux x68_64 or aarch64.")
endif()
+FetchContent_MakeAvailable(kinova_binary_api)
+
# CMake does not allow IMPORTED libraries to be installed
# The package kortex_api will download and setup the include directories
add_library(KortexApiCpp STATIC IMPORTED)
From 122daf599a009a348eb8d3fa1a145ee73b6a33cd Mon Sep 17 00:00:00 2001
From: Mario Prats
Date: Fri, 20 Mar 2026 09:23:13 +0100
Subject: [PATCH 4/4] run pre-commit
---
kortex_driver/src/hardware_interface.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kortex_driver/src/hardware_interface.cpp b/kortex_driver/src/hardware_interface.cpp
index 11dcb50a..1806a056 100644
--- a/kortex_driver/src/hardware_interface.cpp
+++ b/kortex_driver/src/hardware_interface.cpp
@@ -85,7 +85,8 @@ KortexMultiInterfaceHardware::KortexMultiInterfaceHardware()
}
#ifdef ROS_DISTRO_JAZZY
-CallbackReturn KortexMultiInterfaceHardware::on_init(const hardware_interface::HardwareComponentInterfaceParams & params)
+CallbackReturn KortexMultiInterfaceHardware::on_init(
+ const hardware_interface::HardwareComponentInterfaceParams & params)
{
RCLCPP_INFO(LOGGER, "Configuring Hardware Interface");
if (hardware_interface::SystemInterface::on_init(params) != CallbackReturn::SUCCESS)