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)