Skip to content

Add Kinova Kortex and the Gen3 MoveIt configs (linux-64) - #113

Merged
ruben-arts merged 9 commits into
mainfrom
ports/kortex
Oct 25, 2026
Merged

ruben-arts merged 9 commits into
mainfrom
ports/kortex

Conversation

@Tobias-Fischer

@Tobias-Fischer Tobias-Fischer commented Oct 18, 2026 •

Copy link
Copy Markdown
Collaborator

Ports the Kinova part of RoboStack/ros-jazzy#221 by @ruben-arts: adds kortex_bringup (with kortex_driver, kortex_description, kortex_api) and the kinova_gen3_6dof_robotiq_2f_85_moveit_config, kinova_gen3_7dof_robotiq_2f_85_moveit_config and kinova_gen3_lite_moveit_config (the rosdistro's names) to the linux-64-only block: kortex_api downloads a linux-x86_64-only binary. The picknik and robotiq packages from that PR are already built.

Built locally

CI (run): humble, jazzy, lyrical and rolling build kortex_api, kortex_description, kortex_driver, kortex_bringup and the three kinova_gen3_*_moveit_config packages on linux-64 (the other platforms build nothing: kortex_api is a linux-x86_64 binary). Merged with main.

🤖 Generated with Claude Code

Ports the Kinova part of RoboStack/ros-jazzy#221 (the picknik and robotiq
packages from it are already built). kortex_api downloads a
linux-x86_64-only binary, hence linux-64 only.

Co-authored-by: Ruben Arts <12893423+ruben-arts@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Tobias-Fischer
Tobias-Fischer marked this pull request as ready for review October 19, 2026 01:42
Tobias-Fischer and others added 3 commits October 19, 2026 22:44
ament_cmake 2.9 (rolling) no longer provides ament_target_dependencies(),
so kortex_driver 0.2.5 fails to configure ("Unknown CMake command").
Take the CMake part of upstream's fix, Kinovarobotics/ros2_kortex#415
(9dd1bbb): link the namespaced targets and add kortex_api's headers as
SYSTEM includes. The rest of that commit goes with its kortex_api update,
which rolling's 0.2.5 release doesn't have. lyrical's ament_cmake (2.8.8)
still has the function.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
lyrical's ament_cmake doesn't provide ament_target_dependencies() either
("Unknown CMake command" in a linux-64 build), so lyrical gets the same
patch as rolling (the CMake part of Kinovarobotics/ros2_kortex#415).
lyrical's hardware_interface (6.10) still has the pointer-based
interfaces kortex_driver uses.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
….12 [skip ci]

kortex_driver 0.2.5 still uses the pointer-based StateInterface and
CommandInterface constructors that ros2_control 6.12 (rolling) removed,
and upstream main hasn't migrated (Kinovarobotics/ros2_kortex#430).
Exclude it on rolling, with kortex_bringup and the three Gen3 MoveIt
configs that need it; kortex_api and kortex_description, which only
these pull in, aren't generated either. Checked with vinca: no kortex or
kinova recipe is generated for rolling, and nothing else refers to them.
The rolling CMake patch for kortex_driver goes again (nothing to apply
it to); lyrical keeps its copy.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Tobias-Fischer

Copy link
Copy Markdown
Collaborator Author

Human Tobi: looks good to go once the sync PRs are in

Tobias-Fischer and others added 2 commits October 20, 2026 09:21
…gain [skip ci]

Instead of excluding Kortex on rolling, patch kortex_driver 0.2.5: the CMake
part of Kinovarobotics/ros2_kortex#415 (no ament_target_dependencies in
ament_cmake 2.9) and the handle-based interface export, the same C++ change
as Kinovarobotics/ros2_kortex#431 (sent upstream for #430): unlisted
interfaces for everything the URDF doesn't declare, same names and types,
with the members mirrored around read()/write() and the driver's own
command resets written to the handles.

Built against hardware_interface 6.12.0 on linux-64 with kortex_bringup and
the 7-DoF Gen3 MoveIt config on top; an offline check of the exported
interface names matches 0.2.5's. Not tested on hardware.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Tobias-Fischer Tobias-Fischer added build:humble PR build: build only humble (with other build:<distro> labels: only those) build:jazzy PR build: build only jazzy (with other build:<distro> labels: only those) build:lyrical PR build: build only lyrical (with other build:<distro> labels: only those) labels Oct 24, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Tobias-Fischer Tobias-Fischer added the build:linux PR build: only the linux platforms (remove for a full build before merging) label Oct 24, 2026
@Tobias-Fischer Tobias-Fischer added build:rolling PR build: build only rolling (with other build:<distro> labels: only those) and removed build:linux PR build: only the linux platforms (remove for a full build before merging) labels Oct 25, 2026
@Tobias-Fischer

Copy link
Copy Markdown
Collaborator Author

@ruben-arts - could you please have a quick look at this PR?

@ruben-arts
ruben-arts merged commit 2d944ae into main Oct 25, 2026
30 checks passed
@ruben-arts
ruben-arts deleted the ports/kortex branch October 25, 2026 22:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build:humble PR build: build only humble (with other build:<distro> labels: only those) build:jazzy PR build: build only jazzy (with other build:<distro> labels: only those) build:lyrical PR build: build only lyrical (with other build:<distro> labels: only those) build:rolling PR build: build only rolling (with other build:<distro> labels: only those)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants