From c2b4ce2a97e588643c07af85b9f0e90daa52ad4a Mon Sep 17 00:00:00 2001
From: Sebastian Castro <4603398+sea-bass@users.noreply.github.com>
Date: Mon, 13 Jan 2025 16:34:27 -0500
Subject: [PATCH 01/42] Remove Gazebo Classic support and Update for MoveIt
Jazzy/Rolling (#228)
* Remove Gazebo Classic support
* Move the repos
* Add to not released repos list as well
* Fix the Robotiq params
* Fix request adapters in ompl_planning.yaml
* Fix the 6DOF too
* Actually fix the configs now
* Switch fake to mock
* Remove one more unnecessary dependency
* Add gz_ros2_control to rolling repos
* Other renames
* Fix .repos files
* Skip the gz_ros2_control rosdep key in Humble CI
* More fixes to get CI working
* Use main branch of ros2_robotiq_gripper and fix gazebo paths
* Additional needed modifications
* Final Modifications
* Formatting Modifications
---------
Co-authored-by: Abed Al Rahman Al Mrad
---
.github/workflows/humble-binary-build.yml | 1 +
README.md | 29 +++---
kortex_bringup/launch/gen3_lite.launch.py | 2 +-
.../launch/kortex_sim_control.launch.py | 90 ++++++-------------
kortex_bringup/package.xml | 3 +-
.../arms/gen3/6dof/urdf/gen3_macro.xacro | 2 -
.../gen3/6dof/urdf/kortex.ros2_control.xacro | 8 +-
.../arms/gen3/7dof/urdf/gen3_macro.xacro | 6 +-
.../gen3/7dof/urdf/kortex.ros2_control.xacro | 10 +--
.../6dof/config/ros2_controllers.yaml | 4 +-
.../gen3_lite/6dof/urdf/gen3_lite_macro.xacro | 8 +-
.../6dof/urdf/kortex.ros2_control.xacro | 12 +--
.../urdf/gen3_lite_2f.ros2_control.xacro | 18 ++--
.../urdf/gen3_lite_2f_macro.xacro | 14 +--
.../urdf/robotiq_2f_140_macro.xacro | 8 +-
.../urdf/robotiq_2f_85_macro.xacro | 8 +-
kortex_description/package.xml | 1 +
kortex_description/readme.md | 4 +-
kortex_description/robots/gen3.xacro | 4 +-
.../robots/gen3_lite_gen3_lite_2f.xacro | 2 -
kortex_description/robots/kinova.urdf.xacro | 23 ++---
kortex_description/robots/kortex_robot.xacro | 4 +-
.../config/ompl_planning.yaml | 41 +++------
.../launch/sim.launch.py | 8 +-
.../package.xml | 5 +-
.../config/ompl_planning.yaml | 41 +++------
.../launch/sim.launch.py | 8 +-
.../package.xml | 5 +-
.../launch/sim.launch.py | 8 +-
...os => ros2_kortex-not-released.jazzy.repos | 6 +-
ros2_kortex-not-released.rolling.repos | 8 --
...ex.humble.repos => ros2_kortex.jazzy.repos | 12 ++-
ros2_kortex.repos | 2 +-
...ion.humble.repos => simulation.jazzy.repos | 15 +---
simulation.repos | 22 ++---
35 files changed, 153 insertions(+), 289 deletions(-)
rename ros2_kortex-not-released.humble.repos => ros2_kortex-not-released.jazzy.repos (71%)
rename ros2_kortex.humble.repos => ros2_kortex.jazzy.repos (67%)
rename simulation.humble.repos => simulation.jazzy.repos (52%)
diff --git a/.github/workflows/humble-binary-build.yml b/.github/workflows/humble-binary-build.yml
index 4e0c2276..a7984242 100644
--- a/.github/workflows/humble-binary-build.yml
+++ b/.github/workflows/humble-binary-build.yml
@@ -24,6 +24,7 @@ jobs:
- {ROS_DISTRO: humble, ROS_REPO: testing}
env:
UPSTREAM_WORKSPACE: ros2_kortex-not-released.${{ matrix.env.ROS_DISTRO }}.repos
+ ROSDEP_SKIP_KEYS: gz_ros2_control
CCACHE_DIR: ${{ github.workspace }}/.ccache
BASEDIR: ${{ github.workspace }}/.work
CACHE_PREFIX: ${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}
diff --git a/README.md b/README.md
index bda52628..83a0d9b7 100644
--- a/README.md
+++ b/README.md
@@ -113,9 +113,10 @@ If the bug fix you need isn't in a released version or If you want to build this
vcs import src --skip-existing --input src/ros2_kortex/ros2_kortex-not-released.$ROS_DISTRO.repos
```
- If you plan on simulating the robot with ignition or gazebo, make sure to pull the additional simulation packages. If you're on ROS2 Humble, run
+ If you plan on simulating the robot with Gazebo, make sure to pull the additional simulation packages.
+ If you're on ROS 2 Humble, run
```
- vcs import src --skip-existing --input src/ros2_kortex/simulation.humble.repos
+ vcs import src --skip-existing --input src/ros2_kortex/simulation.jazzy.repos
```
otherwise
@@ -125,12 +126,10 @@ If the bug fix you need isn't in a released version or If you want to build this
If you plan on using MoveIt, you must make sure that you have it already [installed](https://moveit.ros.org/install-moveit2/binary/) either from binaries or by building it from source.
- If you plan on simulating the Gen3 7Dof robot mounted on the Husky mobile robot from clearpath, make sure to pull the additional related packages. On ROS2 Humble, run
- ```
- vcs import src --skip-existing --input src/ros2_kortex/clearpath.repos
- ```
-4. Install dependencies, compile, and source the workspace:
+4. Follow the instructions to install [Gazebo Harmonic](https://gazebosim.org/docs/harmonic/getstarted/)
+
+5. Install dependencies, compile, and source the workspace:
```
rosdep install --ignore-src --from-paths src -y -r
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
@@ -140,7 +139,7 @@ If the bug fix you need isn't in a released version or If you want to build this
```
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --parallel-workers 3
```
-5. Source the previously built workspace using the following command:
+6. Source the previously built workspace using the following command:
```
echo 'source ~/workspace/ros2_kortex_ws/install/setup.bash' >> ~/.bashrc
```
@@ -215,7 +214,7 @@ You can specify the following arguments if you wish to change your arm configura
* `robot_type`: Your robot model. Default value (and only one) is `gen3`.
-* `gripper` : Gripper to use. Possible values for the Gen3 are either `robotiq_2f_85`, `robotiq_2f_140` or `""`. Default is `robotiq_2f_85`. An empty string will not initialise any gripper.
+* `gripper` : Gripper to use. Possible values for the Gen3 are either `robotiq_2f_85`, `robotiq_2f_140` or `""`. Default is `""`. An empty string will not initialise any gripper.
* `gripper_joint_name` : Name of the controlled joint of the gripper attached to the arm. Default value is `robotiq_85_left_knuckle_joint`.
@@ -308,11 +307,11 @@ The `kortex_sim_control.launch.py` launch file is designed to simulate all of ou
```bash
ros2 launch kortex_bringup kortex_sim_control.launch.py \
use_sim_time:=true \
- launch_rviz:=false
+ launch_rviz:=false \
+ robot_controller:=joint_trajectory_controller
```
-* `sim_ignition` : Use Ignition for simulation. Default value is `true`.
-* `sim_gazebo` : Use Gazebo Classic for simulation. Default value is `false`.
+* `sim_gazebo` : Use Gazebo for simulation. Default value is `false`.
* `robot_type` : Your robot model. Possible values are either `gen3` or `gen3_lite`.Default is `gen3`.
* `robot_name` : Name you would like your robot to have. Default value is `gen3`.
* `dof` : Degrees of freedom of the arm. Possible values are either `6` or `7`.Default value is `7`.
@@ -325,9 +324,9 @@ ros2 launch kortex_bringup kortex_sim_control.launch.py \
* `description_file` : URDF/XACRO description file with the robot. Default value is `kinova.urdf.xacro`.
* `prefix` : Prefix of the joint names, useful for multi-robot setup. If changed, then also joint names in the controllers' configuration have to be updated. Default value is `""` (none).
* `use_sim_time` : Use simulated clock. Default value is `true`.
-* `gripper` : Gripper to use. Possible values for the Gen3 are either `robotiq_2f_85`, `robotiq_2f_140` or `""`. Default is `robotiq_2f_85`. An empty string will not initialise any gripper.
+* `gripper` : Gripper to use. Possible values for the Gen3 are: `robotiq_2f_85`, `robotiq_2f_140`, `""` and `gen3_lite_2f`. Default is `robotiq_2f_85`. An empty string will not initialise any gripper.
-#### MoveIt2
+#### MoveIt 2
To generate motion plans and execute them with a simulated 7 DoF Kinova Gen3 arm with mock hardware:
@@ -345,7 +344,7 @@ ros2 launch kinova_gen3_6dof_robotiq_2f_85_moveit_config robot.launch.py \
use_fake_hardware:=true
```
-To generate motion plans and execute them with an ignition simulated 7 DoF Kinova Gen3 arm (previously launched with the command at the [simulation](#simulation) section):
+To generate motion plans and execute them with a Gazebo simulated 7 DoF Kinova Gen3 arm (previously launched with the command at the [simulation](#simulation) section):
```bash
ros2 launch kinova_gen3_7dof_robotiq_2f_85_moveit_config sim.launch.py \
diff --git a/kortex_bringup/launch/gen3_lite.launch.py b/kortex_bringup/launch/gen3_lite.launch.py
index 5eb1d3d4..844114db 100644
--- a/kortex_bringup/launch/gen3_lite.launch.py
+++ b/kortex_bringup/launch/gen3_lite.launch.py
@@ -61,7 +61,7 @@ def generate_launch_description():
declared_arguments.append(
DeclareLaunchArgument(
"robot_controller",
- default_value="gen3_lite_joint_trajectory_controller",
+ default_value="joint_trajectory_controller",
description="Robot controller to start.",
)
)
diff --git a/kortex_bringup/launch/kortex_sim_control.launch.py b/kortex_bringup/launch/kortex_sim_control.launch.py
index e33034f6..5d50503a 100644
--- a/kortex_bringup/launch/kortex_sim_control.launch.py
+++ b/kortex_bringup/launch/kortex_sim_control.launch.py
@@ -14,10 +14,12 @@
#
# Author: Marq Rasmussen
+import os
+from ament_index_python.packages import get_package_prefix
from launch import LaunchDescription
from launch.actions import (
+ AppendEnvironmentVariable,
DeclareLaunchArgument,
- ExecuteProcess,
IncludeLaunchDescription,
OpaqueFunction,
RegisterEventHandler,
@@ -38,7 +40,6 @@
def launch_setup(context, *args, **kwargs):
# Initialize Arguments
sim_gazebo = LaunchConfiguration("sim_gazebo")
- sim_ignition = LaunchConfiguration("sim_ignition")
robot_type = LaunchConfiguration("robot_type")
dof = LaunchConfiguration("dof")
vision = LaunchConfiguration("vision")
@@ -97,9 +98,6 @@ def launch_setup(context, *args, **kwargs):
"sim_gazebo:=",
sim_gazebo,
" ",
- "sim_ignition:=",
- sim_ignition,
- " ",
"simulation_controllers:=",
robot_controllers,
" ",
@@ -171,7 +169,7 @@ def launch_setup(context, *args, **kwargs):
condition=UnlessCondition(is_gen3_lite),
)
- robot_hand_controller_spawner = Node(
+ robot_hand_lite_controller_spawner = Node(
package="controller_manager",
executable="spawner",
arguments=[robot_lite_hand_controller, "-c", "/controller_manager"],
@@ -182,42 +180,16 @@ def launch_setup(context, *args, **kwargs):
bridge = Node(
package="ros_gz_bridge",
executable="parameter_bridge",
- arguments=["/clock@rosgraph_msgs/msg/Clock[ignition.msgs.Clock"],
- output="screen",
- )
-
- # Gazebo nodes
- gzserver = ExecuteProcess(
- cmd=["gzserver", "-s", "libgazebo_ros_init.so", "-s", "libgazebo_ros_factory.so", ""],
+ arguments=["/clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock"],
output="screen",
- condition=IfCondition(sim_gazebo),
)
- # Gazebo client
- gzclient = ExecuteProcess(
- cmd=["gzclient"],
- output="screen",
- condition=IfCondition(sim_gazebo),
- )
-
- # gazebo = IncludeLaunchDescription(
- # PythonLaunchDescriptionSource(
- # [PathJoinSubstitution([FindPackageShare("gazebo_ros"), "launch", "gazebo.launch.py"])]
- # ),
- # launch_arguments={"verbose": "false"}.items(),
- # )
-
- # Spawn robot
- gazebo_spawn_robot = Node(
- package="gazebo_ros",
- executable="spawn_entity.py",
- name="spawn_robot",
- arguments=["-entity", robot_name, "-topic", "robot_description"],
- output="screen",
- condition=IfCondition(sim_gazebo),
+ robotiq_description_prefix = get_package_prefix("robotiq_description")
+ gz_robotiq_env_var_resource_path = AppendEnvironmentVariable(
+ "GZ_SIM_RESOURCE_PATH", os.path.join(robotiq_description_prefix, "share")
)
- ignition_spawn_entity = Node(
+ gz_spawn_entity = Node(
package="ros_gz_sim",
executable="create",
output="screen",
@@ -241,15 +213,17 @@ def launch_setup(context, *args, **kwargs):
"-Y",
"0.0",
],
- condition=IfCondition(sim_ignition),
+ condition=IfCondition(sim_gazebo),
)
- ignition_launch_description = IncludeLaunchDescription(
+ gz_launch_description = IncludeLaunchDescription(
PythonLaunchDescriptionSource(
[FindPackageShare("ros_gz_sim"), "/launch/gz_sim.launch.py"]
),
- launch_arguments={"ign_args": " -r -v 3 empty.sdf"}.items(),
- condition=IfCondition(sim_ignition),
+ launch_arguments={
+ "gz_args": " -r -v 3 empty.sdf --physics-engine gz-physics-bullet-featherstone-plugin"
+ }.items(),
+ condition=IfCondition(sim_gazebo),
)
# Bridge
@@ -258,10 +232,10 @@ def launch_setup(context, *args, **kwargs):
executable="parameter_bridge",
parameters=[{"use_sim_time": use_sim_time}],
arguments=[
- "/wrist_mounted_camera/image@sensor_msgs/msg/Image[ignition.msgs.Image",
- "/wrist_mounted_camera/depth_image@sensor_msgs/msg/Image[ignition.msgs.Image",
- "/wrist_mounted_camera/points@sensor_msgs/msg/PointCloud2[ignition.msgs.PointCloudPacked",
- "/wrist_mounted_camera/camera_info@sensor_msgs/msg/CameraInfo[ignition.msgs.CameraInfo",
+ "/wrist_mounted_camera/image@sensor_msgs/msg/Image[gz.msgs.Image",
+ "/wrist_mounted_camera/depth_image@sensor_msgs/msg/Image[gz.msgs.Image",
+ "/wrist_mounted_camera/points@sensor_msgs/msg/PointCloud2[gz.msgs.PointCloudPacked",
+ "/wrist_mounted_camera/camera_info@sensor_msgs/msg/CameraInfo[gz.msgs.CameraInfo",
],
output="screen",
)
@@ -274,11 +248,10 @@ def launch_setup(context, *args, **kwargs):
robot_traj_controller_spawner,
robot_pos_controller_spawner,
robot_hand_controller_spawner,
- gzserver,
- gzclient,
- gazebo_spawn_robot,
- ignition_launch_description,
- ignition_spawn_entity,
+ robot_hand_lite_controller_spawner,
+ gz_robotiq_env_var_resource_path,
+ gz_launch_description,
+ gz_spawn_entity,
gazebo_bridge,
]
@@ -288,18 +261,11 @@ def launch_setup(context, *args, **kwargs):
def generate_launch_description():
declared_arguments = []
# Simulation specific arguments
- declared_arguments.append(
- DeclareLaunchArgument(
- "sim_ignition",
- default_value="true",
- description="Use Ignition for simulation",
- )
- )
declared_arguments.append(
DeclareLaunchArgument(
"sim_gazebo",
- default_value="false",
- description="Use Gazebo Classic for simulation",
+ default_value="true",
+ description="Use Gazebo for simulation",
)
)
# Robot specific arguments
@@ -369,7 +335,7 @@ def generate_launch_description():
declared_arguments.append(
DeclareLaunchArgument(
"robot_controller",
- default_value="gen3_lite_joint_trajectory_controller",
+ default_value="joint_trajectory_controller",
description="Robot controller to start.",
)
)
@@ -404,8 +370,8 @@ def generate_launch_description():
declared_arguments.append(
DeclareLaunchArgument(
"gripper",
- default_value="robotiq_2f_85",
- choices=["robotiq_2f_85", "robotiq_2f_140", "gen3_lite_2f"],
+ default_value="",
+ choices=["robotiq_2f_85", "robotiq_2f_140", "gen3_lite_2f", ""],
description="Gripper to use",
)
)
diff --git a/kortex_bringup/package.xml b/kortex_bringup/package.xml
index 2742ebd1..f8648b02 100644
--- a/kortex_bringup/package.xml
+++ b/kortex_bringup/package.xml
@@ -22,13 +22,14 @@
rviz2urdfxacro
- gazebo_ros2_controlgripper_controllersjoint_trajectory_controllerjoint_state_broadcasterrobotiq_descriptionkortex_descriptionkortex_driver
+ ros_gz_bridge
+ ros_gz_simament_cmake
diff --git a/kortex_description/arms/gen3/6dof/urdf/gen3_macro.xacro b/kortex_description/arms/gen3/6dof/urdf/gen3_macro.xacro
index d3387924..8a568ff9 100644
--- a/kortex_description/arms/gen3/6dof/urdf/gen3_macro.xacro
+++ b/kortex_description/arms/gen3/6dof/urdf/gen3_macro.xacro
@@ -26,7 +26,6 @@
use_fake_hardware:=false
fake_sensor_commands:=false
sim_gazebo:=false
- sim_ignition:=false
sim_isaac:=false
isaac_joint_commands:=/isaac_joint_commands
isaac_joint_states:=/isaac_joint_states
@@ -41,7 +40,6 @@
use_fake_hardware="${use_fake_hardware}"
fake_sensor_commands="${fake_sensor_commands}"
sim_gazebo="${sim_gazebo}"
- sim_ignition="${sim_ignition}"
sim_isaac="${sim_isaac}"
isaac_joint_commands="${isaac_joint_commands}"
isaac_joint_states="${isaac_joint_states}"
diff --git a/kortex_description/arms/gen3/6dof/urdf/kortex.ros2_control.xacro b/kortex_description/arms/gen3/6dof/urdf/kortex.ros2_control.xacro
index e2b631f8..24503529 100644
--- a/kortex_description/arms/gen3/6dof/urdf/kortex.ros2_control.xacro
+++ b/kortex_description/arms/gen3/6dof/urdf/kortex.ros2_control.xacro
@@ -7,7 +7,6 @@
use_fake_hardware:=false
fake_sensor_commands:=false
sim_gazebo:=false
- sim_ignition:=false
sim_isaac:=false
isaac_joint_commands:=/isaac_joint_commands
isaac_joint_states:=/isaac_joint_states
@@ -29,10 +28,7 @@
- gazebo_ros2_control/GazeboSystem
-
-
- ign_ros2_control/IgnitionSystem
+ gz_ros2_control/GazeboSimSystemtopic_based_ros2_control/TopicBasedSystem
@@ -44,7 +40,7 @@
${fake_sensor_commands}
0.0
-
+ kortex_driver/KortexMultiInterfaceHardware
${robot_ip}
${username}
diff --git a/kortex_description/arms/gen3/7dof/urdf/gen3_macro.xacro b/kortex_description/arms/gen3/7dof/urdf/gen3_macro.xacro
index 90a05f38..c647a04c 100644
--- a/kortex_description/arms/gen3/7dof/urdf/gen3_macro.xacro
+++ b/kortex_description/arms/gen3/7dof/urdf/gen3_macro.xacro
@@ -26,7 +26,6 @@
use_fake_hardware:=false
fake_sensor_commands:=false
sim_gazebo:=false
- sim_ignition:=false
sim_isaac:=false
isaac_joint_commands:=/isaac_joint_commands
isaac_joint_states:=/isaac_joint_states
@@ -41,7 +40,6 @@
use_fake_hardware="${use_fake_hardware}"
fake_sensor_commands="${fake_sensor_commands}"
sim_gazebo="${sim_gazebo}"
- sim_ignition="${sim_ignition}"
sim_isaac="${sim_isaac}"
isaac_joint_commands="${isaac_joint_commands}"
isaac_joint_states="${isaac_joint_states}"
@@ -452,7 +450,7 @@
-
+
@@ -472,7 +470,7 @@
-
+
diff --git a/kortex_description/arms/gen3/7dof/urdf/kortex.ros2_control.xacro b/kortex_description/arms/gen3/7dof/urdf/kortex.ros2_control.xacro
index e85bbdfb..0524907b 100644
--- a/kortex_description/arms/gen3/7dof/urdf/kortex.ros2_control.xacro
+++ b/kortex_description/arms/gen3/7dof/urdf/kortex.ros2_control.xacro
@@ -7,7 +7,6 @@
use_fake_hardware:=false
fake_sensor_commands:=false
sim_gazebo:=false
- sim_ignition:=false
sim_isaac:=false
isaac_joint_commands:=/isaac_joint_commands
isaac_joint_states:=/isaac_joint_states
@@ -29,10 +28,7 @@
- gazebo_ros2_control/GazeboSystem
-
-
- ign_ros2_control/IgnitionSystem
+ gz_ros2_control/GazeboSimSystemtopic_based_ros2_control/TopicBasedSystem
@@ -44,7 +40,7 @@
${fake_sensor_commands}
0.0
-
+ kortex_driver/KortexMultiInterfaceHardware
${robot_ip}
${username}
@@ -137,7 +133,7 @@
-
+
diff --git a/kortex_description/arms/gen3_lite/6dof/config/ros2_controllers.yaml b/kortex_description/arms/gen3_lite/6dof/config/ros2_controllers.yaml
index b1dbf1e6..665c9c3c 100644
--- a/kortex_description/arms/gen3_lite/6dof/config/ros2_controllers.yaml
+++ b/kortex_description/arms/gen3_lite/6dof/config/ros2_controllers.yaml
@@ -5,7 +5,7 @@ controller_manager:
joint_state_broadcaster:
type: joint_state_broadcaster/JointStateBroadcaster
- gen3_lite_joint_trajectory_controller:
+ joint_trajectory_controller:
type: joint_trajectory_controller/JointTrajectoryController
twist_controller:
@@ -17,7 +17,7 @@ controller_manager:
gen3_lite_2f_gripper_controller:
type: position_controllers/GripperActionController
-gen3_lite_joint_trajectory_controller:
+joint_trajectory_controller:
ros__parameters:
joints:
- joint_1
diff --git a/kortex_description/arms/gen3_lite/6dof/urdf/gen3_lite_macro.xacro b/kortex_description/arms/gen3_lite/6dof/urdf/gen3_lite_macro.xacro
index 998e1bce..47616e3f 100644
--- a/kortex_description/arms/gen3_lite/6dof/urdf/gen3_lite_macro.xacro
+++ b/kortex_description/arms/gen3_lite/6dof/urdf/gen3_lite_macro.xacro
@@ -25,7 +25,6 @@
use_fake_hardware:=false
fake_sensor_commands:=false
sim_gazebo:=false
- sim_ignition:=false
sim_isaac:=false
isaac_joint_commands:=/isaac_joint_commands
isaac_joint_states:=/isaac_joint_states
@@ -35,9 +34,9 @@
-
+
-
+
@@ -45,7 +44,7 @@
-
+
@@ -58,7 +57,6 @@
use_fake_hardware="${use_fake_hardware}"
fake_sensor_commands="${fake_sensor_commands}"
sim_gazebo="${sim_gazebo}"
- sim_ignition="${sim_ignition}"
sim_isaac="${sim_isaac}"
isaac_joint_commands="${isaac_joint_commands}"
isaac_joint_states="${isaac_joint_states}"
diff --git a/kortex_description/arms/gen3_lite/6dof/urdf/kortex.ros2_control.xacro b/kortex_description/arms/gen3_lite/6dof/urdf/kortex.ros2_control.xacro
index f7a3f19b..5b909bb6 100644
--- a/kortex_description/arms/gen3_lite/6dof/urdf/kortex.ros2_control.xacro
+++ b/kortex_description/arms/gen3_lite/6dof/urdf/kortex.ros2_control.xacro
@@ -7,7 +7,6 @@
use_fake_hardware:=false
fake_sensor_commands:=false
sim_gazebo:=false
- sim_ignition:=false
sim_isaac:=false
isaac_joint_commands:=/isaac_joint_commands
isaac_joint_states:=/isaac_joint_states
@@ -30,12 +29,7 @@
- gazebo_ros2_control/GazeboSystem
-
-
-
-
- ign_ros2_control/IgnitionSystem
+ gz_ros2_control/GazeboSimSystem
@@ -52,7 +46,7 @@
0.0
-
+ kortex_driver/KortexMultiInterfaceHardware
${robot_ip}
@@ -151,7 +145,7 @@
-
+
diff --git a/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f.ros2_control.xacro b/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f.ros2_control.xacro
index d671ce3a..1712fde0 100644
--- a/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f.ros2_control.xacro
+++ b/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f.ros2_control.xacro
@@ -5,7 +5,7 @@
prefix
use_fake_hardware:=false
fake_sensor_commands:=false
- sim_ignition:=false
+ sim_gazebo:=false
sim_isaac:=false
isaac_joint_commands:=/isaac_joint_commands
isaac_joint_states:=/isaac_joint_states
@@ -30,15 +30,15 @@
${isaac_joint_states}
0.02
-
- ign_ros2_control/IgnitionSystem
+
+ gz_ros2_control/GzSimSystemmock_components/GenericSystem
${fake_sensor_commands}
0.0
-
+ kortex_driver/KortexMultiInterfaceHardware
${robot_ip}
${username}
@@ -56,7 +56,7 @@
-
+
@@ -67,11 +67,11 @@
-
+
${prefix}right_finger_bottom_joint
-1
-
+
@@ -80,7 +80,7 @@
${prefix}right_finger_bottom_joint
-1
-
+
@@ -89,7 +89,7 @@
${prefix}right_finger_bottom_joint
-1
-
+
diff --git a/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f_macro.xacro b/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f_macro.xacro
index 55f03507..3bf45914 100644
--- a/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f_macro.xacro
+++ b/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f_macro.xacro
@@ -7,24 +7,24 @@
com_port
use_fake_hardware:=false
fake_sensor_commands:=false
- sim_ignition:=false
+ sim_gazebo:=false
sim_isaac:=false
isaac_joint_commands:=/isaac_joint_commands
isaac_joint_states:=/isaac_joint_states
use_internal_bus_gripper_comm:=true
moveit_active:=false">
-
+
-
-
+
+
-
+
@@ -32,7 +32,7 @@
prefix="${prefix}"
use_fake_hardware="${use_fake_hardware}"
fake_sensor_commands="${fake_sensor_commands}"
- sim_ignition="${sim_ignition}"
+ sim_gazebo="${sim_gazebo}"
sim_isaac="${sim_isaac}"
isaac_joint_commands="${isaac_joint_commands}"
isaac_joint_states="${isaac_joint_states}"
@@ -215,7 +215,7 @@
-
+
diff --git a/kortex_description/grippers/robotiq_2f_140/urdf/robotiq_2f_140_macro.xacro b/kortex_description/grippers/robotiq_2f_140/urdf/robotiq_2f_140_macro.xacro
index bb54731b..16d0241d 100644
--- a/kortex_description/grippers/robotiq_2f_140/urdf/robotiq_2f_140_macro.xacro
+++ b/kortex_description/grippers/robotiq_2f_140/urdf/robotiq_2f_140_macro.xacro
@@ -5,7 +5,7 @@
prefix
use_fake_hardware:=false
fake_sensor_commands:=false
- sim_ignition:=false
+ sim_gazebo:=false
sim_isaac:=false
isaac_joint_commands:=/isaac_joint_commands
isaac_joint_states:=/isaac_joint_states
@@ -16,7 +16,7 @@
-
+
@@ -27,8 +27,8 @@
include_ros2_control="${include_ros2_control}"
com_port="${com_port}"
use_fake_hardware="${use_fake_hardware}"
- fake_sensor_commands="${fake_sensor_commands}"
- sim_ignition="${sim_ignition}"
+ mock_sensor_commands="${fake_sensor_commands}"
+ sim_gazebo="${sim_gazebo}"
sim_isaac="${sim_isaac}"
isaac_joint_commands="${isaac_joint_commands}"
isaac_joint_states="${isaac_joint_states}">
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 cbf7f42f..9ff28785 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
@@ -5,7 +5,7 @@
prefix
use_fake_hardware:=false
fake_sensor_commands:=false
- sim_ignition:=false
+ sim_gazebo:=false
sim_isaac:=false
isaac_joint_commands:=/isaac_joint_commands
isaac_joint_states:=/isaac_joint_states
@@ -16,7 +16,7 @@
-
+
@@ -27,8 +27,8 @@
include_ros2_control="${include_ros2_control}"
com_port="${com_port}"
use_fake_hardware="${use_fake_hardware}"
- fake_sensor_commands="${fake_sensor_commands}"
- sim_ignition="${sim_ignition}"
+ mock_sensor_commands="${fake_sensor_commands}"
+ sim_gazebo="${sim_gazebo}"
sim_isaac="${sim_isaac}"
isaac_joint_commands="${isaac_joint_commands}"
isaac_joint_states="${isaac_joint_states}">
diff --git a/kortex_description/package.xml b/kortex_description/package.xml
index 1fbbd82a..0d363214 100644
--- a/kortex_description/package.xml
+++ b/kortex_description/package.xml
@@ -15,6 +15,7 @@ for Kortex arms and supported grippers
ament_cmake
+ gz_ros2_controljoint_state_publisher_guijoint_state_publisherjoint_trajectory_controller
diff --git a/kortex_description/readme.md b/kortex_description/readme.md
index 56e57d78..74241404 100644
--- a/kortex_description/readme.md
+++ b/kortex_description/readme.md
@@ -55,8 +55,7 @@ Param | Description | Default |
`use_internal_bus_gripper_comm` | Boolean value to indicate if your gripper will be communicated with through the internal Kinova communication interface. Set to true if the gripper is directly plugged into the kinova arm. Set to false if running in simulation or if gripper is connected to PC via USB. Setting to false will create a ros2_control instance for the gripper. | false |
`use_fake_hardware` | Boolean value to indicate whether or not the hardware components will be mocked. If true the hardware params will be ignored and the hardware components will be mocked. | false |
`fake_sensor_commands` | Boolean value. If set to true will create fake command interfaces for faking sensor measurements with an external command. | false |
-`sim_gazebo` | Boolean value to indicate whether or not the gazebo_ros2_control/GazeboSystem plugin will be loaded. | false |
-`sim_ignition` | Boolean value to indicate whether or not the ign_ros2_control/IgnitionSystem plugin will be loaded. | false |
+`sim_gazebo` | Boolean value to indicate whether or not the gz_ros2_control/GazeboSimSystem plugin will be loaded. | false |
`sim_isaac` | Boolean value to indicate whether or not the topic_based_ros2_control/TopicBasedSystem plugin will be loaded and the "joint_commands_topic" and "joint_states_topic" parameters will be set to the `isaac_joint_commands` and `isaac_joint_states` values respectively. | false |
`isaac_joint_commands` | Name of the joint commands topic to be used by Isaac Sim. | /isaac_joint_commands |
`isaac_joint_states` | Name of the joint states topic to be used by Isaac Sim. | /isaac_joint_states |
@@ -88,7 +87,6 @@ Param | Description | Default |
connection_inactivity_timeout_ms="2000"
use_internal_bus_gripper_comm="true"
sim_gazebo="false"
- sim_ignition="false"
sim_isaac="false"
prefix=""
use_fake_hardware="false"
diff --git a/kortex_description/robots/gen3.xacro b/kortex_description/robots/gen3.xacro
index 9527825c..8b0b586a 100644
--- a/kortex_description/robots/gen3.xacro
+++ b/kortex_description/robots/gen3.xacro
@@ -18,7 +18,6 @@
-
@@ -27,7 +26,7 @@
-
+
@@ -53,7 +52,6 @@
use_fake_hardware="$(arg use_fake_hardware)"
fake_sensor_commands="$(arg fake_sensor_commands)"
sim_gazebo="$(arg sim_gazebo)"
- sim_ignition="$(arg sim_ignition)"
sim_isaac="$(arg sim_isaac)"
use_external_cable="$(arg use_external_cable)"
initial_positions="${xacro.load_yaml(initial_positions_file)}" >
diff --git a/kortex_description/robots/gen3_lite_gen3_lite_2f.xacro b/kortex_description/robots/gen3_lite_gen3_lite_2f.xacro
index 39eaf908..cbbcd839 100644
--- a/kortex_description/robots/gen3_lite_gen3_lite_2f.xacro
+++ b/kortex_description/robots/gen3_lite_gen3_lite_2f.xacro
@@ -18,7 +18,6 @@
-
@@ -51,7 +50,6 @@
use_fake_hardware="$(arg use_fake_hardware)"
fake_sensor_commands="$(arg fake_sensor_commands)"
sim_gazebo="$(arg sim_gazebo)"
- sim_ignition="$(arg sim_ignition)"
sim_isaac="$(arg sim_isaac)"
use_external_cable="$(arg use_external_cable)"
moveit_active = "$(arg moveit_active)" >
diff --git a/kortex_description/robots/kinova.urdf.xacro b/kortex_description/robots/kinova.urdf.xacro
index eacc4e15..61f52148 100644
--- a/kortex_description/robots/kinova.urdf.xacro
+++ b/kortex_description/robots/kinova.urdf.xacro
@@ -24,7 +24,6 @@
-
@@ -36,7 +35,7 @@
-
+
@@ -66,7 +65,6 @@
use_fake_hardware="$(arg use_fake_hardware)"
fake_sensor_commands="$(arg fake_sensor_commands)"
sim_gazebo="$(arg sim_gazebo)"
- sim_ignition="$(arg sim_ignition)"
sim_isaac="$(arg sim_isaac)"
initial_positions="${xacro.load_yaml(initial_positions_file)}"
moveit_active="$(arg moveit_active)">
@@ -78,22 +76,11 @@
-
- $(arg simulation_controllers)
-
-
-
-
-
-
-
-
-
-
+ $(arg simulation_controllers)$(arg prefix)controller_manager
-
+ $(arg gazebo_renderer)
@@ -127,7 +114,7 @@
0
+ Gazebo will default to different default values -->
554.25469554.25469
@@ -150,7 +137,7 @@
color_optical_frame
- camera_color_frame
+ camera_color_frame1$(arg camera_fps)true
diff --git a/kortex_description/robots/kortex_robot.xacro b/kortex_description/robots/kortex_robot.xacro
index f89c6f57..b9ac9adf 100644
--- a/kortex_description/robots/kortex_robot.xacro
+++ b/kortex_description/robots/kortex_robot.xacro
@@ -22,7 +22,6 @@
use_fake_hardware:=false
fake_sensor_commands:=false
sim_gazebo:=false
- sim_ignition:=false
sim_isaac:=false
isaac_joint_commands:=/isaac_joint_commands
isaac_joint_states:=/isaac_joint_states
@@ -53,7 +52,6 @@
use_fake_hardware="${use_fake_hardware}"
fake_sensor_commands="${fake_sensor_commands}"
sim_gazebo="${sim_gazebo}"
- sim_ignition="${sim_ignition}"
sim_isaac="${sim_isaac}"
isaac_joint_commands="${isaac_joint_commands}"
isaac_joint_states="${isaac_joint_states}"
@@ -86,7 +84,7 @@
prefix="${prefix}"
use_fake_hardware="${use_fake_hardware}"
fake_sensor_commands="${fake_sensor_commands}"
- sim_ignition="${sim_ignition}"
+ sim_gazebo="${sim_gazebo}"
sim_isaac="${sim_isaac}"
isaac_joint_commands="${isaac_joint_commands}"
isaac_joint_states="${isaac_joint_states}"
diff --git a/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/config/ompl_planning.yaml b/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/config/ompl_planning.yaml
index 44372b03..0effe503 100644
--- a/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/config/ompl_planning.yaml
+++ b/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/config/ompl_planning.yaml
@@ -1,33 +1,14 @@
-###################################### NOTE #############################################
-#
-# This is the Humble version of this file. On other ROS2 distributions (such as Rolling),
-# you might encounter errors with MoveIt regarding the syntax of the request_adpters
-# section, such as:
-#
-# what(): parameter 'ompl.request_adapters' has invalid type: expected [string] got [string_array]
-#
-# This is because on Humble, MoveIt is expecting a simple string for the request adapters,
-# while some distributions expect it as an array of strings instead. If it's the case for you,
-# You just need to remove the folded style block (>-) and replace it by a list of strings :
-#
-# request_adapters:
-# - default_planner_request_adapters/AddTimeOptimalParameterization
-# - default_planner_request_adapters/ResolveConstraintFrames
-# - default_planner_request_adapters/FixWorkspaceBounds
-# - default_planner_request_adapters/FixStartStateBounds
-# - default_planner_request_adapters/FixStartStateCollision
-# - default_planner_request_adapters/FixStartStatePathConstraints
-#
-###################################### NOTE #############################################
-
-planning_plugin: ompl_interface/OMPLPlanner
-request_adapters: >-
- default_planner_request_adapters/AddTimeOptimalParameterization
- default_planner_request_adapters/ResolveConstraintFrames
- default_planner_request_adapters/FixWorkspaceBounds
- default_planner_request_adapters/FixStartStateBounds
- default_planner_request_adapters/FixStartStateCollision
- default_planner_request_adapters/FixStartStatePathConstraints
+planning_plugins:
+ - ompl_interface/OMPLPlanner
+request_adapters:
+ - default_planning_request_adapters/ResolveConstraintFrames
+ - default_planning_request_adapters/ValidateWorkspaceBounds
+ - default_planning_request_adapters/CheckStartStateBounds
+ - default_planning_request_adapters/CheckStartStateCollision
+response_adapters:
+ - default_planning_response_adapters/AddTimeOptimalParameterization
+ - default_planning_response_adapters/ValidateSolution
+ - default_planning_response_adapters/DisplayMotionPath
start_state_max_bounds_error: 0.1
planner_configs:
SBLkConfigDefault:
diff --git a/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/launch/sim.launch.py b/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/launch/sim.launch.py
index 8f52efe5..e3109475 100644
--- a/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/launch/sim.launch.py
+++ b/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/launch/sim.launch.py
@@ -32,9 +32,9 @@ def generate_launch_description():
# Simulation specific arguments
declared_arguments.append(
DeclareLaunchArgument(
- "sim_ignition",
+ "sim_gazebo",
default_value="true",
- description="Use Ignition for simulation",
+ description="Use Gazebo for simulation",
)
)
declared_arguments.append(
@@ -51,14 +51,14 @@ def generate_launch_description():
# Initialize Arguments
launch_rviz = LaunchConfiguration("launch_rviz")
use_sim_time = LaunchConfiguration("use_sim_time")
- sim_ignition = LaunchConfiguration("sim_ignition")
+ sim_gazebo = LaunchConfiguration("sim_gazebo")
description_arguments = {
"robot_ip": "xxx.yyy.zzz.www",
"use_fake_hardware": "false",
"gripper": "robotiq_2f_85",
"dof": "6",
- "sim_ignition": sim_ignition,
+ "sim_gazebo": sim_gazebo,
}
moveit_config = (
diff --git a/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml b/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml
index 464c5e00..0d722c69 100644
--- a/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml
+++ b/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml
@@ -26,10 +26,7 @@
joint_state_publisher_guitf2_rosxacro
-
-
-
+ joint_trajectory_controllercontroller_managerkortex_descriptionmoveit_configs_utils
diff --git a/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/config/ompl_planning.yaml b/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/config/ompl_planning.yaml
index 44372b03..0effe503 100644
--- a/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/config/ompl_planning.yaml
+++ b/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/config/ompl_planning.yaml
@@ -1,33 +1,14 @@
-###################################### NOTE #############################################
-#
-# This is the Humble version of this file. On other ROS2 distributions (such as Rolling),
-# you might encounter errors with MoveIt regarding the syntax of the request_adpters
-# section, such as:
-#
-# what(): parameter 'ompl.request_adapters' has invalid type: expected [string] got [string_array]
-#
-# This is because on Humble, MoveIt is expecting a simple string for the request adapters,
-# while some distributions expect it as an array of strings instead. If it's the case for you,
-# You just need to remove the folded style block (>-) and replace it by a list of strings :
-#
-# request_adapters:
-# - default_planner_request_adapters/AddTimeOptimalParameterization
-# - default_planner_request_adapters/ResolveConstraintFrames
-# - default_planner_request_adapters/FixWorkspaceBounds
-# - default_planner_request_adapters/FixStartStateBounds
-# - default_planner_request_adapters/FixStartStateCollision
-# - default_planner_request_adapters/FixStartStatePathConstraints
-#
-###################################### NOTE #############################################
-
-planning_plugin: ompl_interface/OMPLPlanner
-request_adapters: >-
- default_planner_request_adapters/AddTimeOptimalParameterization
- default_planner_request_adapters/ResolveConstraintFrames
- default_planner_request_adapters/FixWorkspaceBounds
- default_planner_request_adapters/FixStartStateBounds
- default_planner_request_adapters/FixStartStateCollision
- default_planner_request_adapters/FixStartStatePathConstraints
+planning_plugins:
+ - ompl_interface/OMPLPlanner
+request_adapters:
+ - default_planning_request_adapters/ResolveConstraintFrames
+ - default_planning_request_adapters/ValidateWorkspaceBounds
+ - default_planning_request_adapters/CheckStartStateBounds
+ - default_planning_request_adapters/CheckStartStateCollision
+response_adapters:
+ - default_planning_response_adapters/AddTimeOptimalParameterization
+ - default_planning_response_adapters/ValidateSolution
+ - default_planning_response_adapters/DisplayMotionPath
start_state_max_bounds_error: 0.1
planner_configs:
SBLkConfigDefault:
diff --git a/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/launch/sim.launch.py b/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/launch/sim.launch.py
index 8a080130..79d0528a 100644
--- a/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/launch/sim.launch.py
+++ b/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/launch/sim.launch.py
@@ -32,9 +32,9 @@ def generate_launch_description():
# Simulation specific arguments
declared_arguments.append(
DeclareLaunchArgument(
- "sim_ignition",
+ "sim_gazebo",
default_value="true",
- description="Use Ignition for simulation",
+ description="Use Gazebo for simulation",
)
)
declared_arguments.append(
@@ -58,7 +58,7 @@ def generate_launch_description():
# Initialize Arguments
launch_rviz = LaunchConfiguration("launch_rviz")
use_sim_time = LaunchConfiguration("use_sim_time")
- sim_ignition = LaunchConfiguration("sim_ignition")
+ sim_gazebo = LaunchConfiguration("sim_gazebo")
vision = LaunchConfiguration("vision")
description_arguments = {
@@ -66,7 +66,7 @@ def generate_launch_description():
"use_fake_hardware": "false",
"gripper": "robotiq_2f_85",
"dof": "7",
- "sim_ignition": sim_ignition,
+ "sim_gazebo": sim_gazebo,
"vision": vision,
}
diff --git a/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml b/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml
index f34b3a8c..c3c1ea85 100644
--- a/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml
+++ b/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml
@@ -26,10 +26,7 @@
joint_state_publisher_guitf2_rosxacro
-
-
-
+ joint_trajectory_controllercontroller_managerkortex_descriptionmoveit_configs_utils
diff --git a/kortex_moveit_config/kinova_gen3_lite_moveit_config/launch/sim.launch.py b/kortex_moveit_config/kinova_gen3_lite_moveit_config/launch/sim.launch.py
index f0db94de..d7ba869c 100644
--- a/kortex_moveit_config/kinova_gen3_lite_moveit_config/launch/sim.launch.py
+++ b/kortex_moveit_config/kinova_gen3_lite_moveit_config/launch/sim.launch.py
@@ -39,9 +39,9 @@ def generate_launch_description():
)
declared_arguments.append(
DeclareLaunchArgument(
- "sim_ignition",
+ "sim_gazebo",
default_value="true",
- description="Use Ignition for simulation",
+ description="Use Gazebo for simulation",
)
)
declared_arguments.append(
@@ -58,7 +58,7 @@ def generate_launch_description():
# Initialize Arguments
launch_rviz = LaunchConfiguration("launch_rviz")
use_sim_time = LaunchConfiguration("use_sim_time")
- sim_ignition = LaunchConfiguration("sim_ignition")
+ sim_gazebo = LaunchConfiguration("sim_gazebo")
moveit_active = LaunchConfiguration("moveit_active")
description_arguments = {
@@ -66,7 +66,7 @@ def generate_launch_description():
"use_fake_hardware": "false",
"gripper": "gen3_lite_2f",
"dof": "6",
- "sim_ignition": sim_ignition,
+ "sim_gazebo": sim_gazebo,
"moveit_active": moveit_active,
}
diff --git a/ros2_kortex-not-released.humble.repos b/ros2_kortex-not-released.jazzy.repos
similarity index 71%
rename from ros2_kortex-not-released.humble.repos
rename to ros2_kortex-not-released.jazzy.repos
index 6a2cbfaf..eed1f540 100644
--- a/ros2_kortex-not-released.humble.repos
+++ b/ros2_kortex-not-released.jazzy.repos
@@ -6,8 +6,12 @@ repositories:
ros2_robotiq_gripper:
type: git
url: https://github.com/picknikrobotics/ros2_robotiq_gripper.git
- version: b6136bdc866a929bfb096890ca61dde1335ffd30
+ version: main
serial:
type: git
url: https://github.com/tylerjw/serial.git
version: ros2
+ gz_ros2_control:
+ type: git
+ url: https://github.com/ros-controls/gz_ros2_control.git
+ version: jazzy
diff --git a/ros2_kortex-not-released.rolling.repos b/ros2_kortex-not-released.rolling.repos
index ffbb0db0..76a9cfea 100644
--- a/ros2_kortex-not-released.rolling.repos
+++ b/ros2_kortex-not-released.rolling.repos
@@ -1,12 +1,4 @@
repositories:
- ros2_control:
- type: git
- url: https://github.com/ros-controls/ros2_control.git
- version: master
- ros2_controllers:
- type: git
- url: https://github.com/ros-controls/ros2_controllers.git
- version: master
picknik_controllers:
type: git
url: https://github.com/picknikrobotics/picknik_controllers.git
diff --git a/ros2_kortex.humble.repos b/ros2_kortex.jazzy.repos
similarity index 67%
rename from ros2_kortex.humble.repos
rename to ros2_kortex.jazzy.repos
index da520577..90660188 100644
--- a/ros2_kortex.humble.repos
+++ b/ros2_kortex.jazzy.repos
@@ -2,16 +2,20 @@ repositories:
control_msgs:
type: git
url: https://github.com/ros-controls/control_msgs.git
- version: humble
+ version: master
ros2_control:
type: git
url: https://github.com/ros-controls/ros2_control.git
- version: humble
+ version: master
ros2_controllers:
type: git
url: https://github.com/ros-controls/ros2_controllers.git
- version: humble
+ version: master
ros2_robotiq_gripper:
type: git
url: https://github.com/picknikrobotics/ros2_robotiq_gripper.git
- version: b6136bdc866a929bfb096890ca61dde1335ffd30
+ version: main
+ gz_ros2_control:
+ type: git
+ url: https://github.com/ros-controls/gz_ros2_control.git
+ version: jazzy
diff --git a/ros2_kortex.repos b/ros2_kortex.repos
index 5da7477e..fd089dd8 100644
--- a/ros2_kortex.repos
+++ b/ros2_kortex.repos
@@ -14,4 +14,4 @@ repositories:
ros2_robotiq_gripper:
type: git
url: https://github.com/picknikrobotics/ros2_robotiq_gripper.git
- version: b6136bdc866a929bfb096890ca61dde1335ffd30
+ version: main
diff --git a/simulation.humble.repos b/simulation.jazzy.repos
similarity index 52%
rename from simulation.humble.repos
rename to simulation.jazzy.repos
index 0f9cc1bc..53e9d85e 100644
--- a/simulation.humble.repos
+++ b/simulation.jazzy.repos
@@ -1,16 +1,9 @@
repositories:
-
- gazebo_ros2_control:
+ ros_gz:
type: git
- url: https://github.com/ros-simulation/gazebo_ros2_control.git
- version: humble
-
+ url: https://github.com/gazebosim/ros_gz.git
+ version: jazzy
gz_ros2_control:
type: git
url: https://github.com/ros-controls/gz_ros2_control.git
- version: humble
-
- ros_gz:
- type: git
- url: https://github.com/gazebosim/ros_gz.git
- version: humble
+ version: jazzy
diff --git a/simulation.repos b/simulation.repos
index 16dc2a35..4c54e918 100644
--- a/simulation.repos
+++ b/simulation.repos
@@ -1,21 +1,9 @@
repositories:
-
- gazebo_ros2_control:
+ ros_gz:
type: git
- url: https://github.com/ros-simulation/gazebo_ros2_control.git
- version: master
-
- ign_ros2_control:
- type: git
- url: https://github.com/ignitionrobotics/ign_ros2_control.git
- version: master
-
- ros_ign:
- type: git
- url: https://github.com/ignitionrobotics/ros_ign.git
+ url: https://github.com/gazebosim/ros_gz.git
version: ros2
-
- ros_ign:
+ gz_ros2_control:
type: git
- url: https://github.com/ignitionrobotics/ros_ign.git
- version: ros2
+ url: https://github.com/ros-controls/gz_ros2_control.git
+ version: rolling
From 8ac64df8cb250b5c21707b5b93ec01cb71741a82 Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Wed, 15 Jan 2025 12:41:51 -0500
Subject: [PATCH 02/42] README ROS2 Jazzy addition
---
README.md | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 83a0d9b7..f14d60b8 100644
--- a/README.md
+++ b/README.md
@@ -58,11 +58,13 @@ ROS2 Kortex is the official ROS2 package to interact with Kortex and its related
If you're a developer, we recommend using Rolling to get the latest features and fixes.
Rolling Release: [Install ROS2 Rolling](https://docs.ros.org/en/rolling/Installation/Ubuntu-Install-Debians.html)
- Latest Release: [Install ROS2 Iron](https://docs.ros.org/en/iron/Installation/Ubuntu-Install-Debians.html)
- Stable LTS Release: [Install ROS2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html)
+ Latest LTS Release: [Install ROS2 Jazzy](https://docs.ros.org/en/jazzy/Installation/Ubuntu-Install-Debs.html)
+ Previous Stable LTS Release: [Install ROS2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html)
After installing a version of ROS, source the setup.bash, which will set the `$ROS_DISTRO` environment variable.
+**NOTE** Please use the `Humble_Gazebo_Classic_Support` branch for ROS2 Humble and the `main` branch for ROS2 Jazzy
+
2. Install this package from binary
```
sudo apt install ros-$ROS_DISTRO-kortex-bringup
From c11b6e8b2a210be8f5a936fb1e973c2811060363 Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Thu, 16 Jan 2025 11:54:59 -0500
Subject: [PATCH 03/42] binary packages versions update
---
kortex_bringup/package.xml | 2 +-
.../kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml | 2 +-
.../kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/kortex_bringup/package.xml b/kortex_bringup/package.xml
index f8648b02..c1460ba7 100644
--- a/kortex_bringup/package.xml
+++ b/kortex_bringup/package.xml
@@ -2,7 +2,7 @@
kortex_bringup
- 0.2.2
+ 0.2.3Launch file and run-time configurations, e.g. controllers.Marq Rasmussen
diff --git a/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml b/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml
index 0d722c69..dfecd8c8 100644
--- a/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml
+++ b/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml
@@ -2,7 +2,7 @@
kinova_gen3_6dof_robotiq_2f_85_moveit_config
- 0.2.2
+ 0.2.3
An automatically generated package with all the configuration and launch files for using the gen3 with the MoveIt Motion Planning Framework
diff --git a/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml b/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml
index c3c1ea85..7550cc68 100644
--- a/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml
+++ b/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml
@@ -2,7 +2,7 @@
kinova_gen3_7dof_robotiq_2f_85_moveit_config
- 0.2.2
+ 0.2.3
An automatically generated package with all the configuration and launch files for using the gen3 with the MoveIt Motion Planning Framework
From 337471f5e5710a9eeeebf5ad44a6bf443f419964 Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Thu, 16 Jan 2025 16:16:39 -0500
Subject: [PATCH 04/42] More Binary packages version modification
---
kortex_moveit_config/kinova_gen3_lite_moveit_config/package.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kortex_moveit_config/kinova_gen3_lite_moveit_config/package.xml b/kortex_moveit_config/kinova_gen3_lite_moveit_config/package.xml
index 124c1805..4a806840 100644
--- a/kortex_moveit_config/kinova_gen3_lite_moveit_config/package.xml
+++ b/kortex_moveit_config/kinova_gen3_lite_moveit_config/package.xml
@@ -2,7 +2,7 @@
kinova_gen3_lite_moveit_config
- 0.3.0
+ 0.2.3
An automatically generated package with all the configuration and launch files for using the gen3_lite with the MoveIt Motion Planning Framework
From 0a7eb3bd3ed0fcd7c5fff2b0a641a9d1ab4c8083 Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Thu, 16 Jan 2025 16:34:04 -0500
Subject: [PATCH 05/42] More packages versions modification
---
kortex_api/package.xml | 2 +-
kortex_description/package.xml | 2 +-
kortex_driver/package.xml | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/kortex_api/package.xml b/kortex_api/package.xml
index 0ce96ee5..3f6c5b93 100644
--- a/kortex_api/package.xml
+++ b/kortex_api/package.xml
@@ -1,7 +1,7 @@
kortex_api
- 0.2.2
+ 0.2.3kortex_apiMarq Rasmussen
diff --git a/kortex_description/package.xml b/kortex_description/package.xml
index 0d363214..1d5ab4c4 100644
--- a/kortex_description/package.xml
+++ b/kortex_description/package.xml
@@ -2,7 +2,7 @@
kortex_description
- 0.2.2
+ 0.2.3
URDF and xacro description package for Kortex robots
This package contains configuration data, 3D models and launch files
diff --git a/kortex_driver/package.xml b/kortex_driver/package.xml
index 04774659..eaf6722a 100644
--- a/kortex_driver/package.xml
+++ b/kortex_driver/package.xml
@@ -2,7 +2,7 @@
kortex_driver
- 0.2.2
+ 0.2.3ROS2 driver package for the Kinova Robot Hardware.Alex MoriartyFelix Maisonneuve
From 566c345e7d689612b171940bbe2b446822ffd595 Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Fri, 24 Jan 2025 09:44:44 -0500
Subject: [PATCH 06/42] Changing the list of packages maintainers
---
kortex_driver/package.xml | 1 -
.../kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml | 2 +-
.../kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml | 2 +-
3 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/kortex_driver/package.xml b/kortex_driver/package.xml
index eaf6722a..c77fb935 100644
--- a/kortex_driver/package.xml
+++ b/kortex_driver/package.xml
@@ -5,7 +5,6 @@
0.2.3ROS2 driver package for the Kinova Robot Hardware.Alex Moriarty
- Felix MaisonneuveMartin LerouxMarq RasmussenBSD
diff --git a/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml b/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml
index dfecd8c8..89978b4f 100644
--- a/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml
+++ b/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml
@@ -6,7 +6,7 @@
An automatically generated package with all the configuration and launch files for using the gen3 with the MoveIt Motion Planning Framework
- Anthony Baker
+Abed Al Rahman Al MradBSD-3-Clause
diff --git a/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml b/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml
index 7550cc68..630457b1 100644
--- a/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml
+++ b/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml
@@ -6,7 +6,7 @@
An automatically generated package with all the configuration and launch files for using the gen3 with the MoveIt Motion Planning Framework
- Anthony Baker
+Abed Al Rahman Al MradBSD-3-Clause
From 9c07a2666215574848b711486b3614f853378e16 Mon Sep 17 00:00:00 2001
From: aalmrad
Date: Tue, 11 Feb 2025 19:09:53 -0500
Subject: [PATCH 07/42] Ubuntu version bump up in the ros-lint action workspace
(#269)
* Ubuntu version bump up in the ros-lint action workspace
* fixed the format
---
.github/workflows/ci-ros-lint.yml | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/ci-ros-lint.yml b/.github/workflows/ci-ros-lint.yml
index c6079968..ea071bb7 100644
--- a/.github/workflows/ci-ros-lint.yml
+++ b/.github/workflows/ci-ros-lint.yml
@@ -5,7 +5,7 @@ on:
jobs:
ament_lint:
name: ament_${{ matrix.linter }}
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04 # Updated to match your Ubuntu version bump
strategy:
fail-fast: false
matrix:
@@ -13,6 +13,8 @@ jobs:
steps:
- uses: actions/checkout@v3
- uses: ros-tooling/setup-ros@v0.6
+ - name: Set environment variable for cppcheck 2.7
+ run: echo "AMENT_CPPCHECK_ALLOW_SLOW_VERSIONS=1" >> $GITHUB_ENV
- uses: ros-tooling/action-ros-lint@v0.1
with:
distribution: rolling
@@ -41,7 +43,7 @@ jobs:
ament_lint_100:
name: ament_${{ matrix.linter }}
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
From fb633aacf9c1c85d61a96c1099b5afa3d533e5a3 Mon Sep 17 00:00:00 2001
From: aalmrad
Date: Wed, 2 Apr 2025 17:03:42 -0400
Subject: [PATCH 08/42] Replaced file:// with package:// + Added temporary
repositories as dependencies (#275)
* Replaced file:// with package:// + Added temporary repositories as dependencies
* format rectification
---
.../arms/gen3/6dof/urdf/gen3_macro.xacro | 32 ++++++++---------
.../arms/gen3/7dof/urdf/gen3_macro.xacro | 36 +++++++++----------
.../gen3_lite/6dof/urdf/gen3_lite_macro.xacro | 24 ++++++-------
kortex_description/package.xml | 1 +
ros2_kortex.jazzy.repos | 15 ++++++++
5 files changed, 62 insertions(+), 46 deletions(-)
diff --git a/kortex_description/arms/gen3/6dof/urdf/gen3_macro.xacro b/kortex_description/arms/gen3/6dof/urdf/gen3_macro.xacro
index 8a568ff9..fdf05bed 100644
--- a/kortex_description/arms/gen3/6dof/urdf/gen3_macro.xacro
+++ b/kortex_description/arms/gen3/6dof/urdf/gen3_macro.xacro
@@ -71,7 +71,7 @@
-
+
@@ -80,7 +80,7 @@
-
+
@@ -93,7 +93,7 @@
-
+
@@ -102,7 +102,7 @@
-
+
@@ -158,7 +158,7 @@
xyz="0 0 0"
rpy="0 0 0" />
-
+
@@ -169,7 +169,7 @@
xyz="0 0 0"
rpy="0 0 0" />
-
+
@@ -189,7 +189,7 @@
-
+
@@ -198,7 +198,7 @@
-
+
@@ -218,7 +218,7 @@
-
+
@@ -227,7 +227,7 @@
-
+
@@ -258,7 +258,7 @@
-
+
@@ -267,7 +267,7 @@
-
+
@@ -288,7 +288,7 @@
-
+
@@ -297,7 +297,7 @@
-
+
@@ -312,7 +312,7 @@
-
+
@@ -321,7 +321,7 @@
-
+
diff --git a/kortex_description/arms/gen3/7dof/urdf/gen3_macro.xacro b/kortex_description/arms/gen3/7dof/urdf/gen3_macro.xacro
index c647a04c..a442395d 100644
--- a/kortex_description/arms/gen3/7dof/urdf/gen3_macro.xacro
+++ b/kortex_description/arms/gen3/7dof/urdf/gen3_macro.xacro
@@ -71,7 +71,7 @@
-
+
@@ -80,7 +80,7 @@
-
+
@@ -93,7 +93,7 @@
-
+
@@ -102,7 +102,7 @@
-
+
@@ -149,7 +149,7 @@
-
+
@@ -158,7 +158,7 @@
-
+
@@ -183,7 +183,7 @@
-
+
@@ -192,7 +192,7 @@
-
+
@@ -239,7 +239,7 @@
-
+
@@ -248,7 +248,7 @@
-
+
@@ -273,7 +273,7 @@
-
+
@@ -282,7 +282,7 @@
-
+
@@ -329,7 +329,7 @@
-
+
@@ -338,7 +338,7 @@
-
+
@@ -364,7 +364,7 @@
-
+
@@ -373,7 +373,7 @@
-
+
@@ -388,7 +388,7 @@
-
+
@@ -397,7 +397,7 @@
-
+
diff --git a/kortex_description/arms/gen3_lite/6dof/urdf/gen3_lite_macro.xacro b/kortex_description/arms/gen3_lite/6dof/urdf/gen3_lite_macro.xacro
index 47616e3f..8450fd70 100644
--- a/kortex_description/arms/gen3_lite/6dof/urdf/gen3_lite_macro.xacro
+++ b/kortex_description/arms/gen3_lite/6dof/urdf/gen3_lite_macro.xacro
@@ -90,7 +90,7 @@
-
+
@@ -99,7 +99,7 @@
-
+
@@ -115,7 +115,7 @@
-
+
@@ -124,7 +124,7 @@
-
+
@@ -147,7 +147,7 @@
-
+
@@ -156,7 +156,7 @@
-
+
@@ -179,7 +179,7 @@
-
+
@@ -188,7 +188,7 @@
-
+
@@ -211,7 +211,7 @@
-
+
@@ -220,7 +220,7 @@
-
+
@@ -243,7 +243,7 @@
-
+
@@ -252,7 +252,7 @@
-
+
diff --git a/kortex_description/package.xml b/kortex_description/package.xml
index 1d5ab4c4..36fcf612 100644
--- a/kortex_description/package.xml
+++ b/kortex_description/package.xml
@@ -27,5 +27,6 @@ for Kortex arms and supported grippers
ament_cmake
+
diff --git a/ros2_kortex.jazzy.repos b/ros2_kortex.jazzy.repos
index 90660188..5a83b3f8 100644
--- a/ros2_kortex.jazzy.repos
+++ b/ros2_kortex.jazzy.repos
@@ -7,6 +7,21 @@ repositories:
type: git
url: https://github.com/ros-controls/ros2_control.git
version: master
+ # Temporarily added this clone waiting for Jazzy sync that allows rosdep to find it
+ ros2_control_cmake:
+ type: git
+ url: https://github.com/ros-controls/ros2_control_cmake.git
+ version: master
+ # Temporarily added this clone waiting for Jazzy sync that allows rosdep to find it
+ generate_parameter_library:
+ type: git
+ url: https://github.com/PickNikRobotics/generate_parameter_library.git
+ version: main
+ # Temporarily added this clone waiting for Jazzy sync that allows rosdep to find it
+ control_toolbox:
+ type: git
+ url: https://github.com/ros-controls/control_toolbox.git
+ version: ros2-master
ros2_controllers:
type: git
url: https://github.com/ros-controls/ros2_controllers.git
From 11292a51d4c8b15ed198ba091017c88804e47eb6 Mon Sep 17 00:00:00 2001
From: aalmrad
Date: Thu, 17 Apr 2025 11:11:48 -0400
Subject: [PATCH 09/42] Update README.md (#278)
Removed the binary packages installation instructions because these binary packages are not released yet
---
README.md | 20 +-------------------
1 file changed, 1 insertion(+), 19 deletions(-)
diff --git a/README.md b/README.md
index f14d60b8..7f913aba 100644
--- a/README.md
+++ b/README.md
@@ -65,29 +65,11 @@ ROS2 Kortex is the official ROS2 package to interact with Kortex and its related
**NOTE** Please use the `Humble_Gazebo_Classic_Support` branch for ROS2 Humble and the `main` branch for ROS2 Jazzy
-2. Install this package from binary
- ```
- sudo apt install ros-$ROS_DISTRO-kortex-bringup
- ```
-
-3. Optional: install MoveIt Configuration and Cyclone DDS
-
- If you have a 7dof arm:
- ```
- sudo apt install ros-$ROS_DISTRO-kinova-gen3-7dof-robotiq-2f-85-moveit-config
- ```
- If you have a 6dof arm:
- ```
- sudo apt install ros-$ROS_DISTRO-kinova-gen3-6dof-robotiq-2f-85-moveit-config
- ```
- If you plan to use MoveIt, it is recommended to install and use Cyclone DDS.
+2. If you plan to use MoveIt, it is recommended to install and use Cyclone DDS.
```
sudo apt install ros-$ROS_DISTRO-rmw-cyclonedds-cpp
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
```
-
-4. Go to Usage section
-
## Contributing to this repository or building from source
Note: It is recommended to use a released binary version of this package and apt install it.
From b7d58a62d0230693a0e820fbf5a1a59aaaf2c3a9 Mon Sep 17 00:00:00 2001
From: aalmrad
Date: Mon, 12 May 2025 14:16:00 -0400
Subject: [PATCH 10/42] Update README.md (#285)
---
README.md | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/README.md b/README.md
index 7f913aba..2e508407 100644
--- a/README.md
+++ b/README.md
@@ -72,11 +72,7 @@ ROS2 Kortex is the official ROS2 package to interact with Kortex and its related
```
## Contributing to this repository or building from source
-Note: It is recommended to use a released binary version of this package and apt install it.
-If you want the latest version of this repository for testing latest fixes
-check out testing with pre-released binaries: https://docs.ros.org/en/rolling/Installation/Testing.html
-
-If the bug fix you need isn't in a released version or If you want to build this repository from source or contribute back to the repository read on.
+To build this repository from source or contribute back to the repository read on.
1. Make sure that `colcon`, its extensions, and `vcs` are installed:
```
From 309f9c9d4a277970e542e5ac1fe260ced0630f65 Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Fri, 23 May 2025 13:17:00 -0400
Subject: [PATCH 11/42] Modified the README.md file to add more clarity to the
branches structure and organization
---
README.md | 31 ++++++++++---------------------
1 file changed, 10 insertions(+), 21 deletions(-)
diff --git a/README.md b/README.md
index 2e508407..0325f8d5 100644
--- a/README.md
+++ b/README.md
@@ -12,58 +12,47 @@ ROS2 Kortex is the official ROS2 package to interact with Kortex and its related
**Note:** There are several CI jobs checking against future upstream changes see [detailed build status](.github/workflows/README.md) for a full list of CI jobs and for more information.
+**Note:** Gazebo classic support was removed from the `main` branch of this repository
## Getting started
1. Install ROS 2.
- If you're a developer, we recommend using Rolling to get the latest features and fixes.
+ For this branch, ROS2 Jazzy has to be installed on Ubuntu 24.04.
- Rolling Release: [Install ROS2 Rolling](https://docs.ros.org/en/rolling/Installation/Ubuntu-Install-Debians.html)
Latest LTS Release: [Install ROS2 Jazzy](https://docs.ros.org/en/jazzy/Installation/Ubuntu-Install-Debs.html)
- Previous Stable LTS Release: [Install ROS2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html)
-
- After installing a version of ROS, source the setup.bash, which will set the `$ROS_DISTRO` environment variable.
-**NOTE** Please use the `Humble_Gazebo_Classic_Support` branch for ROS2 Humble and the `main` branch for ROS2 Jazzy
+ After installing ROS2, source the setup.bash, which will set the `$ROS_DISTRO` environment variable.
2. If you plan to use MoveIt, it is recommended to install and use Cyclone DDS.
```
From d6c92b0824f9405edf5dc2f585d6350c66489df4 Mon Sep 17 00:00:00 2001
From: c-oechsner <74612331+c-oechsner@users.noreply.github.com>
Date: Mon, 15 Sep 2025 23:41:18 +0200
Subject: [PATCH 12/42] Fixed pi issue #295 (#296)
* fixed pi issue #295
* fix pi issue #295 in gen3_2f85.urdf
* fix for 2F 140 gripper
* added moveit_cpp
* Added repos for successful build
* Applied the PI modification only
* Modified the code format
---------
Co-authored-by: Abed Al Rahman Al Mrad
---
.../arms/gen3/6dof/urdf/gen3_macro.xacro | 9 +++---
.../gen3/6dof/urdf/kortex.ros2_control.xacro | 12 ++++----
.../arms/gen3/7dof/urdf/gen3_macro.xacro | 29 +++++++++----------
.../gen3/7dof/urdf/kortex.ros2_control.xacro | 16 +++++-----
kortex_description/robots/gen3_2f85.urdf | 16 +++++-----
kortex_driver/src/hardware_interface.cpp | 2 +-
6 files changed, 41 insertions(+), 43 deletions(-)
diff --git a/kortex_description/arms/gen3/6dof/urdf/gen3_macro.xacro b/kortex_description/arms/gen3/6dof/urdf/gen3_macro.xacro
index fdf05bed..50b32df9 100644
--- a/kortex_description/arms/gen3/6dof/urdf/gen3_macro.xacro
+++ b/kortex_description/arms/gen3/6dof/urdf/gen3_macro.xacro
@@ -4,7 +4,6 @@
-
@@ -237,7 +236,7 @@
-
+
@@ -332,7 +331,7 @@
-
+
diff --git a/kortex_description/arms/gen3/6dof/urdf/kortex.ros2_control.xacro b/kortex_description/arms/gen3/6dof/urdf/kortex.ros2_control.xacro
index 24503529..2d890845 100644
--- a/kortex_description/arms/gen3/6dof/urdf/kortex.ros2_control.xacro
+++ b/kortex_description/arms/gen3/6dof/urdf/kortex.ros2_control.xacro
@@ -58,8 +58,8 @@
- {-2*pi}
- {2*pi}
+ ${-2*pi}
+ ${2*pi}
${initial_positions['joint_1']}
@@ -91,8 +91,8 @@
- {-2*pi}
- {2*pi}
+ ${-2*pi}
+ ${2*pi}
${initial_positions['joint_4']}
@@ -113,8 +113,8 @@
- {-2*pi}
- {2*pi}
+ ${-2*pi}
+ ${2*pi}
${initial_positions['joint_6']}
diff --git a/kortex_description/arms/gen3/7dof/urdf/gen3_macro.xacro b/kortex_description/arms/gen3/7dof/urdf/gen3_macro.xacro
index a442395d..e1d8427b 100644
--- a/kortex_description/arms/gen3/7dof/urdf/gen3_macro.xacro
+++ b/kortex_description/arms/gen3/7dof/urdf/gen3_macro.xacro
@@ -4,7 +4,6 @@
-
@@ -208,8 +207,8 @@
@@ -298,8 +297,8 @@
@@ -414,8 +413,8 @@
@@ -453,19 +452,19 @@
-
+
-
+
-
+
@@ -473,19 +472,19 @@
-
+
-
+
-
+
diff --git a/kortex_description/arms/gen3/7dof/urdf/kortex.ros2_control.xacro b/kortex_description/arms/gen3/7dof/urdf/kortex.ros2_control.xacro
index 0524907b..6dc5f133 100644
--- a/kortex_description/arms/gen3/7dof/urdf/kortex.ros2_control.xacro
+++ b/kortex_description/arms/gen3/7dof/urdf/kortex.ros2_control.xacro
@@ -58,8 +58,8 @@
- {-2*pi}
- {2*pi}
+ ${-2*pi}
+ ${2*pi}
${initial_positions['joint_1']}
@@ -80,8 +80,8 @@
- {-2*pi}
- {2*pi}
+ ${-2*pi}
+ ${2*pi}
${initial_positions['joint_3']}
@@ -102,8 +102,8 @@
- {-2*pi}
- {2*pi}
+ ${-2*pi}
+ ${2*pi}
${initial_positions['joint_5']}
@@ -124,8 +124,8 @@
- {-2*pi}
- {2*pi}
+ ${-2*pi}
+ ${2*pi}
${initial_positions['joint_7']}
diff --git a/kortex_description/robots/gen3_2f85.urdf b/kortex_description/robots/gen3_2f85.urdf
index 7f787bdd..f70298ec 100644
--- a/kortex_description/robots/gen3_2f85.urdf
+++ b/kortex_description/robots/gen3_2f85.urdf
@@ -28,8 +28,8 @@
- {-2*pi}
- {2*pi}
+ ${-2*pi}
+ ${2*pi}
-3.15
@@ -58,8 +58,8 @@
- {-2*pi}
- {2*pi}
+ ${-2*pi}
+ ${2*pi}
-3.15
@@ -88,8 +88,8 @@
- {-2*pi}
- {2*pi}
+ ${-2*pi}
+ ${2*pi}
-3.2
@@ -118,8 +118,8 @@
- {-2*pi}
- {2*pi}
+ ${-2*pi}
+ ${2*pi}
-3.2
diff --git a/kortex_driver/src/hardware_interface.cpp b/kortex_driver/src/hardware_interface.cpp
index 60c766e2..f0e856b1 100644
--- a/kortex_driver/src/hardware_interface.cpp
+++ b/kortex_driver/src/hardware_interface.cpp
@@ -894,7 +894,7 @@ return_type KortexMultiInterfaceHardware::write(
{
// Keep alive mode - no controller active
feedback_ = base_cyclic_.RefreshFeedback();
- RCLCPP_DEBUG(LOGGER, "No controller active in LOW_LEVEL_SERVOING mode !");
+ // RCLCPP_DEBUG(LOGGER, "No controller active in LOW_LEVEL_SERVOING mode !");
}
}
else
From b86f223249da004f6ef863c788ed4fce7157be24 Mon Sep 17 00:00:00 2001
From: aalmrad
Date: Mon, 29 Sep 2025 12:17:35 -0400
Subject: [PATCH 13/42] modified the kortex trademark name (#305)
* modified the kortex trademark name
* rectified the formatting
---
README.md | 6 +++---
kortex_api/package.xml | 2 +-
kortex_description/package.xml | 4 ++--
kortex_description/readme.md | 6 +++---
kortex_driver/README.md | 4 ++--
kortex_moveit_config/readme.md | 6 +++---
6 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/README.md b/README.md
index 0325f8d5..90caed9d 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
-# ROS 2 Kortex
-> Kinova® Kortex™ is the common software platform behind all of the products in the Gen3 family (Gen3 and Gen3 lite). It unifies the inner workings of the various robots and their related external tools, like the API.
+# ROS 2 KINOVA KORTEX™
+> Kinova® KINOVA KORTEX™ is the common software platform behind all of the products in the Gen3 family (Gen3 and Gen3 lite). It unifies the inner workings of the various robots and their related external tools, like the API.
> https://www.kinovarobotics.com/product/gen3-robots
-ROS2 Kortex is the official ROS2 package to interact with Kortex and its related products. It is built upon the Kortex API, documentation for which can be found in the [GitHub Kortex repository](https://github.com/Kinovarobotics/kortex).
+ROS2 Kortex is the official ROS2 package to interact with KINOVA KORTEX™ and its related products. It is built upon the KINOVA KORTEX™ API, documentation for which can be found in the [GitHub Kortex repository](https://github.com/Kinovarobotics/kortex).
## Build status
diff --git a/kortex_api/package.xml b/kortex_api/package.xml
index 3f6c5b93..bca4bd08 100644
--- a/kortex_api/package.xml
+++ b/kortex_api/package.xml
@@ -2,7 +2,7 @@
kortex_api0.2.3
- kortex_api
+ KINOVA KORTEX™ APIMarq Rasmussen
diff --git a/kortex_description/package.xml b/kortex_description/package.xml
index 36fcf612..932879b1 100644
--- a/kortex_description/package.xml
+++ b/kortex_description/package.xml
@@ -4,9 +4,9 @@
kortex_description0.2.3
-
URDF and xacro description package for Kortex robots
+
URDF and xacro description package for KINOVA KORTEX™ robots
This package contains configuration data, 3D models and launch files
-for Kortex arms and supported grippers
+for KINOVA KORTEX™ arms and supported grippers
Alexandre Vannobel
diff --git a/kortex_description/readme.md b/kortex_description/readme.md
index 74241404..88eba348 100644
--- a/kortex_description/readme.md
+++ b/kortex_description/readme.md
@@ -10,8 +10,8 @@
*
* -->
-# Kortex Description
-This package contains the URDF (Unified Robot Description Format), STL and configuration files for the Kortex-compatible robots.
+# KINOVA KORTEX™ Description
+This package contains the URDF (Unified Robot Description Format), STL and configuration files for the KINOVA KORTEX™-compatible robots.
## Usage
@@ -62,7 +62,7 @@ Param | Description | Default |
`use_external_cable` | Boolean value that sets joint limits to avoid wrapping of external cables if true. | false |
`initial_positions` | Dictionary of initial joint positions. | {joint_1: 0.0, joint_2: 0.0, joint_3: 0.0, joint_4: 0.0, joint_5: 0.0, joint_6: 0.0, joint_7: 0.0} |
`gripper_max_velocity` | Desired velocity in percentage (0.0-100.0%) with which the position will be set. | 100.0 |
-`gripper_max_force` | Desired force in percentage (0.0-100.0%) with which the position will be set. NOTE: deprecated according to the [Kortex repo](https://github.com/Kinovarobotics/kortex/blob/master/api_cpp/doc/markdown/messages/GripperCyclic/MotorCommand.md). | 100.0 |
+`gripper_max_force` | Desired force in percentage (0.0-100.0%) with which the position will be set. NOTE: deprecated according to the [KINOVA KORTEX™ repo](https://github.com/Kinovarobotics/kortex/blob/master/api_cpp/doc/markdown/messages/GripperCyclic/MotorCommand.md). | 100.0 |
`gripper_com_port` | Specifies the USB port that the gripper is plugged in on. This will only be used if `use_internal_bus_gripper_comm` is false. | /dev/ttyUSB0 |
### Example Usage
diff --git a/kortex_driver/README.md b/kortex_driver/README.md
index ae4e4b81..ed4a1760 100644
--- a/kortex_driver/README.md
+++ b/kortex_driver/README.md
@@ -1,5 +1,5 @@
-# ROS 2 Kortex Driver
-The ROS 2 Kortex driver implements the `ros2_control` hardware interface for a `SystemInterface`.
+# ROS 2 KINOVA KORTEX™ Driver
+The ROS 2 KINOVA KORTEX™ driver implements the `ros2_control` hardware interface for a `SystemInterface`.
### Command interfaces
This driver exports commands interfaces for position, velocity, and effort interfaces for each joint defined in the URDF.
diff --git a/kortex_moveit_config/readme.md b/kortex_moveit_config/readme.md
index 1ee9ae13..12d09311 100644
--- a/kortex_moveit_config/readme.md
+++ b/kortex_moveit_config/readme.md
@@ -10,12 +10,12 @@
*
* -->
-# Kortex MoveIt 2 Config
+# KINOVA KORTEX™ MoveIt 2 Config
## Naming
The packages that don't use a gripper are named `ARM_move_it_config`, where "ARM" is the name of the arm you are using.
-See the `kortex_description/arms` folder for a list of supported Kinova Kortex robots.
+See the `kortex_description/arms` folder for a list of supported Kinova KINOVA KORTEX™ robots.
The packages that use a gripper are named `ARM_GRIPPER_move_it_config`, where "ARM" is the name of the arm you are using and "GRIPPER" is the name of the gripper you are using.
-See the `kortex_description/grippers` folder for a list of supported Kinova Kortex grippers.
+See the `kortex_description/grippers` folder for a list of supported Kinova KINOVA KORTEX™ grippers.
From cafe348144f223cecbbaeee29f6ad38ade011336 Mon Sep 17 00:00:00 2001
From: aalmrad
Date: Tue, 4 Nov 2025 18:10:35 -0500
Subject: [PATCH 14/42] Update branches for some dependency repos (#314)
* Modifications to account for ROS2 API update & ParallelGripper intergration
* Format rectification
* Reversed some modifications
* rectified format
---
ros2_kortex.jazzy.repos | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/ros2_kortex.jazzy.repos b/ros2_kortex.jazzy.repos
index 5a83b3f8..4e4ab424 100644
--- a/ros2_kortex.jazzy.repos
+++ b/ros2_kortex.jazzy.repos
@@ -2,11 +2,11 @@ repositories:
control_msgs:
type: git
url: https://github.com/ros-controls/control_msgs.git
- version: master
+ version: jazzy
ros2_control:
type: git
url: https://github.com/ros-controls/ros2_control.git
- version: master
+ version: jazzy
# Temporarily added this clone waiting for Jazzy sync that allows rosdep to find it
ros2_control_cmake:
type: git
@@ -21,11 +21,11 @@ repositories:
control_toolbox:
type: git
url: https://github.com/ros-controls/control_toolbox.git
- version: ros2-master
+ version: jazzy
ros2_controllers:
type: git
url: https://github.com/ros-controls/ros2_controllers.git
- version: master
+ version: jazzy
ros2_robotiq_gripper:
type: git
url: https://github.com/picknikrobotics/ros2_robotiq_gripper.git
From cee5f4c40f45d48d45ea890a0afae18640111e30 Mon Sep 17 00:00:00 2001
From: aalmrad
Date: Wed, 12 Nov 2025 16:40:54 -0500
Subject: [PATCH 15/42] Modifications to fix moveit issues while controlling
Gen3_lite (#316)
* Modifications to account for ROS2 API update & ParallelGripper intergration
* Format rectification
* Reversed some modifications
* rectified format
* Modifications to fix moveit issues while controlling Gen3_lite
* README modification
* format rectification
---
README.md | 3 +-
.../6dof/urdf/kortex.ros2_control.xacro | 4 +-
.../urdf/gen3_lite_2f_macro.xacro | 3 ++
.../config/joint_limits.yaml | 41 ++++++++++++-------
.../config/moveit_controllers.yaml | 4 +-
.../config/ompl_planning.yaml | 41 +++++--------------
.../config/ros2_controllers.yaml | 4 +-
.../launch/sim.launch.py | 23 +++++++++--
8 files changed, 66 insertions(+), 57 deletions(-)
diff --git a/README.md b/README.md
index 90caed9d..b8b600f8 100644
--- a/README.md
+++ b/README.md
@@ -276,8 +276,7 @@ The `kortex_sim_control.launch.py` launch file is designed to simulate all of ou
```bash
ros2 launch kortex_bringup kortex_sim_control.launch.py \
use_sim_time:=true \
- launch_rviz:=false \
- robot_controller:=joint_trajectory_controller
+ launch_rviz:=false
```
* `sim_gazebo` : Use Gazebo for simulation. Default value is `false`.
diff --git a/kortex_description/arms/gen3_lite/6dof/urdf/kortex.ros2_control.xacro b/kortex_description/arms/gen3_lite/6dof/urdf/kortex.ros2_control.xacro
index 5b909bb6..be1ecf97 100644
--- a/kortex_description/arms/gen3_lite/6dof/urdf/kortex.ros2_control.xacro
+++ b/kortex_description/arms/gen3_lite/6dof/urdf/kortex.ros2_control.xacro
@@ -154,13 +154,13 @@
-
+
-
+
diff --git a/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f_macro.xacro b/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f_macro.xacro
index 3bf45914..f1b5b029 100644
--- a/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f_macro.xacro
+++ b/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f_macro.xacro
@@ -145,6 +145,7 @@
+
@@ -179,6 +180,7 @@
+
@@ -211,6 +213,7 @@
+
diff --git a/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/joint_limits.yaml b/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/joint_limits.yaml
index f60acab6..48687a88 100644
--- a/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/joint_limits.yaml
+++ b/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/joint_limits.yaml
@@ -11,35 +11,46 @@ joint_limits:
joint_1:
has_velocity_limits: true
max_velocity: 1.6000000000000001
- has_acceleration_limits: false
- max_acceleration: 0
+ has_acceleration_limits: true
+ max_acceleration: 0.86
joint_2:
has_velocity_limits: true
max_velocity: 1.6000000000000001
- has_acceleration_limits: false
- max_acceleration: 0
+ has_acceleration_limits: true
+ max_acceleration: 0.43
joint_3:
has_velocity_limits: true
max_velocity: 1.6000000000000001
- has_acceleration_limits: false
- max_acceleration: 0
+ has_acceleration_limits: true
+ max_acceleration: 0.34
joint_4:
has_velocity_limits: true
max_velocity: 1.6000000000000001
- has_acceleration_limits: false
- max_acceleration: 0
+ has_acceleration_limits: true
+ max_acceleration: 0.86
joint_5:
has_velocity_limits: true
max_velocity: 1.6000000000000001
- has_acceleration_limits: false
- max_acceleration: 0
+ has_acceleration_limits: true
+ max_acceleration: 8.6
joint_6:
has_velocity_limits: true
max_velocity: 3.2000000000000002
- has_acceleration_limits: false
- max_acceleration: 0
+ has_acceleration_limits: true
+ max_acceleration: 8.6
+ left_finger_bottom_joint:
+ has_velocity_limits: true
+ max_velocity: 0.6
+ has_acceleration_limits: true
+ max_acceleration: 1.0
+ has_position_limits: true
+ min_position: -0.96
+ max_position: 0.09
right_finger_bottom_joint:
has_velocity_limits: true
- max_velocity: 0.59999999999999998
- has_acceleration_limits: false
- max_acceleration: 0
+ max_velocity: 0.6
+ has_acceleration_limits: true
+ max_acceleration: 1.0
+ has_position_limits: true
+ min_position: -0.09
+ max_position: 0.96
diff --git a/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/moveit_controllers.yaml b/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/moveit_controllers.yaml
index 1001f9f8..25195297 100644
--- a/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/moveit_controllers.yaml
+++ b/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/moveit_controllers.yaml
@@ -1,9 +1,9 @@
moveit_simple_controller_manager:
controller_names:
- - gen3_lite_joint_trajectory_controller
+ - joint_trajectory_controller
- gen3_lite_2f_gripper_controller
- gen3_lite_joint_trajectory_controller:
+ joint_trajectory_controller:
type: FollowJointTrajectory
joints:
- joint_1
diff --git a/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/ompl_planning.yaml b/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/ompl_planning.yaml
index 363357e8..22048f11 100644
--- a/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/ompl_planning.yaml
+++ b/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/ompl_planning.yaml
@@ -1,33 +1,14 @@
-###################################### NOTE #############################################
-#
-# This is the Humble version of this file. On other ROS2 distributions (such as Rolling),
-# you might encounter errors with MoveIt regarding the syntax of the request_adpters
-# section, such as:
-#
-# what(): parameter 'ompl.request_adapters' has invalid type: expected [string] got [string_array]
-#
-# This is because on Humble, MoveIt is expecting a simple string for the request adapters,
-# while some distributions expect it as an array of strings instead. If it's the case for you,
-# You just need to remove the folded style block (>-) and replace it by a list of strings :
-#
-# request_adapters:
-# - default_planner_request_adapters/AddTimeOptimalParameterization
-# - default_planner_request_adapters/ResolveConstraintFrames
-# - default_planner_request_adapters/FixWorkspaceBounds
-# - default_planner_request_adapters/FixStartStateBounds
-# - default_planner_request_adapters/FixStartStateCollision
-# - default_planner_request_adapters/FixStartStatePathConstraints
-#
-###################################### NOTE #############################################
-
-planning_plugin: ompl_interface/OMPLPlanner
-request_adapters: >-
- default_planner_request_adapters/AddTimeOptimalParameterization
- default_planner_request_adapters/ResolveConstraintFrames
- default_planner_request_adapters/FixWorkspaceBounds
- default_planner_request_adapters/FixStartStateBounds
- default_planner_request_adapters/FixStartStateCollision
- default_planner_request_adapters/FixStartStatePathConstraints
+planning_plugins:
+ - ompl_interface/OMPLPlanner
+request_adapters:
+ - default_planning_request_adapters/ResolveConstraintFrames
+ - default_planning_request_adapters/ValidateWorkspaceBounds
+ - default_planning_request_adapters/CheckStartStateBounds
+ - default_planning_request_adapters/CheckStartStateCollision
+response_adapters:
+ - default_planning_response_adapters/AddTimeOptimalParameterization
+ - default_planning_response_adapters/ValidateSolution
+ - default_planning_response_adapters/DisplayMotionPath
start_state_max_bounds_error: 0.1
planner_configs:
SBLkConfigDefault:
diff --git a/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/ros2_controllers.yaml b/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/ros2_controllers.yaml
index b1dbf1e6..665c9c3c 100644
--- a/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/ros2_controllers.yaml
+++ b/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/ros2_controllers.yaml
@@ -5,7 +5,7 @@ controller_manager:
joint_state_broadcaster:
type: joint_state_broadcaster/JointStateBroadcaster
- gen3_lite_joint_trajectory_controller:
+ joint_trajectory_controller:
type: joint_trajectory_controller/JointTrajectoryController
twist_controller:
@@ -17,7 +17,7 @@ controller_manager:
gen3_lite_2f_gripper_controller:
type: position_controllers/GripperActionController
-gen3_lite_joint_trajectory_controller:
+joint_trajectory_controller:
ros__parameters:
joints:
- joint_1
diff --git a/kortex_moveit_config/kinova_gen3_lite_moveit_config/launch/sim.launch.py b/kortex_moveit_config/kinova_gen3_lite_moveit_config/launch/sim.launch.py
index d7ba869c..517e1bf1 100644
--- a/kortex_moveit_config/kinova_gen3_lite_moveit_config/launch/sim.launch.py
+++ b/kortex_moveit_config/kinova_gen3_lite_moveit_config/launch/sim.launch.py
@@ -77,7 +77,12 @@ def generate_launch_description():
.robot_description(mappings=description_arguments)
.trajectory_execution(file_path="config/moveit_controllers.yaml")
.planning_scene_monitor(
- publish_robot_description=True, publish_robot_description_semantic=True
+ publish_robot_description=True,
+ publish_robot_description_semantic=True,
+ publish_planning_scene=True,
+ publish_geometry_updates=True,
+ publish_state_updates=True,
+ publish_transforms_updates=True,
)
.planning_pipelines(pipelines=["ompl", "pilz_industrial_motion_planner"])
.to_moveit_configs()
@@ -88,12 +93,22 @@ def generate_launch_description():
package="moveit_ros_move_group",
executable="move_group",
output="log",
- parameters=[moveit_config.to_dict(), {"use_sim_time": use_sim_time}],
+ parameters=[
+ moveit_config.to_dict(),
+ {
+ "use_sim_time": use_sim_time,
+ "publish_robot_description_semantic": True,
+ "allow_trajectory_execution": True,
+ "capabilities": "",
+ "disable_capabilities": "",
+ "monitor_dynamics": False,
+ },
+ ],
arguments=[
"--ros-args",
"--log-level",
- "fatal",
- ], # MoveIt is spamming the log because of unknown '*_mimic' joints
+ "info",
+ ],
condition=IfCondition(launch_rviz),
)
From 679560832ea67f646007ab34868f7d4098e53418 Mon Sep 17 00:00:00 2001
From: aalmrad
Date: Thu, 13 Nov 2025 11:45:58 -0500
Subject: [PATCH 16/42] modified README (#317)
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index b8b600f8..7c256275 100644
--- a/README.md
+++ b/README.md
@@ -83,7 +83,7 @@ To build this repository from source or contribute back to the repository read o
```
If you plan on simulating the robot with Gazebo, make sure to pull the additional simulation packages.
- If you're on ROS 2 Humble, run
+ If you're on ROS 2 Jazzy, run
```
vcs import src --skip-existing --input src/ros2_kortex/simulation.jazzy.repos
```
From 57f84ff56b7774674756ca0da8388f4eee757ed6 Mon Sep 17 00:00:00 2001
From: aalmrad
Date: Mon, 17 Nov 2025 11:47:56 -0500
Subject: [PATCH 17/42] fixed gen3_lite moveit issues (#318)
* fixed gen3_lite moveit issues
* rectified format
---
README.md | 25 ++++++++-----
.../6dof/urdf/kortex.ros2_control.xacro | 10 +++--
.../urdf/gen3_lite_2f_macro.xacro | 12 +++---
.../launch/robot.launch.py | 3 +-
.../launch/robot.launch.py | 2 +-
.../config/joint_limits.yaml | 11 ------
.../launch/robot.launch.py | 37 ++++++++++---------
7 files changed, 50 insertions(+), 50 deletions(-)
diff --git a/README.md b/README.md
index 7c256275..183e9ca7 100644
--- a/README.md
+++ b/README.md
@@ -221,6 +221,20 @@ You can test the gripper by calling the Action server with the following command
ros2 action send_goal /robotiq_gripper_controller/gripper_cmd control_msgs/action/GripperCommand "{command:{position: 0.0, max_effort: 100.0}}"
```
+#### Gen3_lite gripper
+
+The Gen3_lite gripper will be available on the Action topic:
+
+```bash
+/gen3_lite_2f_gripper_controller/gripper_cmd
+```
+
+You can test the gripper by calling the Action server with the following command and setting the desired `position` of the gripper (`0.0=open`, `0.8=close`)
+
+```bash
+ros2 action send_goal /gen3_lite_2f_gripper_controller/gripper_cmd control_msgs/action/GripperCommand "{command:{position: 0.0, max_effort: 100.0}}"
+```
+
#### Vision Module
In order to access the Kinova Vision module's depth and color streams for the camera-equipped Gen3 arm models, please refer to the following github repository for detailed instructions: [ros2_kortex_vision](https://github.com/Kinovarobotics/ros2_kortex_vision)
@@ -349,16 +363,7 @@ ros2 topic pub /joint_trajectory_controller/joint_trajectory trajectory_msgs/Joi
}" -1
```
-Depending on your robot type and its DoF, you will need to adapt the `joint_names` and `positions` properties accordingly. For the Gen3 Lite arm, the integrated gripper is considered as a joint, so to command it, it must be included in the `joint_names` array. (`0.0=open`, `1.0=close`):
-
-```bash
-ros2 topic pub /joint_trajectory_controller/joint_trajectory trajectory_msgs/JointTrajectory "{
- joint_names: [joint_1, joint_2, joint_3, joint_4, joint_5, joint_6, right_finger_bottom_joint],
- points: [
- { positions: [0, 0, 0, 0, 0, 0, 1], time_from_start: { sec: 10 } },
- ]
-}" -1
-```
+Depending on your robot type and its DoF, you will need to adapt the `joint_names` and `positions` properties accordingly.
You can also command the arm using Twist messages. Before doing so, you must active the `twist_controller` and deactivate the `joint_trajectory_controller`:
```bash
diff --git a/kortex_description/arms/gen3_lite/6dof/urdf/kortex.ros2_control.xacro b/kortex_description/arms/gen3_lite/6dof/urdf/kortex.ros2_control.xacro
index be1ecf97..f6e12d1a 100644
--- a/kortex_description/arms/gen3_lite/6dof/urdf/kortex.ros2_control.xacro
+++ b/kortex_description/arms/gen3_lite/6dof/urdf/kortex.ros2_control.xacro
@@ -145,15 +145,17 @@
-
-
+
+
+
+
+
diff --git a/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f_macro.xacro b/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f_macro.xacro
index f1b5b029..76cd92d8 100644
--- a/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f_macro.xacro
+++ b/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f_macro.xacro
@@ -107,11 +107,11 @@
Kortex/Gray
-
+
-
-
+
+
@@ -174,13 +174,13 @@
Kortex/Gray
-
+
-
+
-
+
diff --git a/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/launch/robot.launch.py b/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/launch/robot.launch.py
index aa0ac44f..c411cc67 100644
--- a/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/launch/robot.launch.py
+++ b/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/launch/robot.launch.py
@@ -56,7 +56,7 @@ def launch_setup(context, *args, **kwargs):
.planning_scene_monitor(
publish_robot_description=True, publish_robot_description_semantic=True
)
- .planning_pipelines(pipelines=["ompl", "pilz_industrial_motion_planner"])
+ .planning_pipelines(pipelines=["ompl"])
.to_moveit_configs()
)
@@ -68,6 +68,7 @@ def launch_setup(context, *args, **kwargs):
output="screen",
parameters=[
moveit_config.to_dict(),
+ {"default_planning_pipeline": "ompl"},
],
)
diff --git a/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/launch/robot.launch.py b/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/launch/robot.launch.py
index b96f990b..0a175afb 100644
--- a/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/launch/robot.launch.py
+++ b/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/launch/robot.launch.py
@@ -56,7 +56,7 @@ def launch_setup(context, *args, **kwargs):
.planning_scene_monitor(
publish_robot_description=True, publish_robot_description_semantic=True
)
- .planning_pipelines(pipelines=["ompl", "pilz_industrial_motion_planner"])
+ .planning_pipelines(pipelines=["ompl"])
.to_moveit_configs()
)
diff --git a/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/joint_limits.yaml b/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/joint_limits.yaml
index 48687a88..9377cff7 100644
--- a/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/joint_limits.yaml
+++ b/kortex_moveit_config/kinova_gen3_lite_moveit_config/config/joint_limits.yaml
@@ -38,19 +38,8 @@ joint_limits:
max_velocity: 3.2000000000000002
has_acceleration_limits: true
max_acceleration: 8.6
- left_finger_bottom_joint:
- has_velocity_limits: true
- max_velocity: 0.6
- has_acceleration_limits: true
- max_acceleration: 1.0
- has_position_limits: true
- min_position: -0.96
- max_position: 0.09
right_finger_bottom_joint:
has_velocity_limits: true
max_velocity: 0.6
has_acceleration_limits: true
max_acceleration: 1.0
- has_position_limits: true
- min_position: -0.09
- max_position: 0.96
diff --git a/kortex_moveit_config/kinova_gen3_lite_moveit_config/launch/robot.launch.py b/kortex_moveit_config/kinova_gen3_lite_moveit_config/launch/robot.launch.py
index 47fe489d..8b5fdcf2 100644
--- a/kortex_moveit_config/kinova_gen3_lite_moveit_config/launch/robot.launch.py
+++ b/kortex_moveit_config/kinova_gen3_lite_moveit_config/launch/robot.launch.py
@@ -12,13 +12,17 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+import os
+
from launch import LaunchDescription
from launch.substitutions import LaunchConfiguration
from launch.actions import (
DeclareLaunchArgument,
OpaqueFunction,
+ RegisterEventHandler,
)
-from launch.conditions import IfCondition
+from launch.event_handlers import OnProcessExit
+from launch.conditions import IfCondition, UnlessCondition
from launch_ros.actions import Node
from ament_index_python.packages import get_package_share_directory
from moveit_configs_utils import MoveItConfigsBuilder
@@ -52,7 +56,7 @@ def launch_setup(context, *args, **kwargs):
.planning_scene_monitor(
publish_robot_description=True, publish_robot_description_semantic=True
)
- .planning_pipelines(pipelines=["ompl", "pilz_industrial_motion_planner"])
+ .planning_pipelines(pipelines=["ompl"])
.to_moveit_configs()
)
@@ -77,7 +81,6 @@ def launch_setup(context, *args, **kwargs):
)
# Publish TF
- """
robot_state_publisher = Node(
package="robot_state_publisher",
executable="robot_state_publisher",
@@ -87,6 +90,7 @@ def launch_setup(context, *args, **kwargs):
moveit_config.robot_description,
],
)
+
# ros2_control using FakeSystem as hardware
ros2_controllers_path = os.path.join(
get_package_share_directory("kinova_gen3_lite_moveit_config"),
@@ -102,11 +106,13 @@ def launch_setup(context, *args, **kwargs):
],
output="both",
)
+
robot_traj_controller_spawner = Node(
package="controller_manager",
executable="spawner",
arguments=["joint_trajectory_controller", "-c", "/controller_manager"],
)
+
robot_pos_controller_spawner = Node(
package="controller_manager",
executable="spawner",
@@ -125,7 +131,6 @@ def launch_setup(context, *args, **kwargs):
arguments=["fault_controller", "-c", "/controller_manager"],
condition=UnlessCondition(use_fake_hardware),
)
- """
# rviz with moveit configuration
rviz_config_file = (
get_package_share_directory("kinova_gen3_lite_moveit_config") + "/config/moveit.rviz"
@@ -145,7 +150,7 @@ def launch_setup(context, *args, **kwargs):
moveit_config.joint_limits,
],
)
- """
+
joint_state_broadcaster_spawner = Node(
package="controller_manager",
executable="spawner",
@@ -155,9 +160,8 @@ def launch_setup(context, *args, **kwargs):
"/controller_manager",
],
)
- """
+
# Delay rviz start after `joint_state_broadcaster`
- """
delay_rviz_after_joint_state_broadcaster_spawner = RegisterEventHandler(
event_handler=OnProcessExit(
target_action=joint_state_broadcaster_spawner,
@@ -165,17 +169,16 @@ def launch_setup(context, *args, **kwargs):
),
condition=IfCondition(launch_rviz),
)
- """
+
nodes_to_start = [
- # ros2_control_node,
- # robot_state_publisher,
- # joint_state_broadcaster_spawner,
- # delay_rviz_after_joint_state_broadcaster_spawner,
- rviz_node,
- # robot_traj_controller_spawner,
- # robot_pos_controller_spawner,
- # robot_hand_controller_spawner,
- # fault_controller_spawner,
+ ros2_control_node,
+ robot_state_publisher,
+ joint_state_broadcaster_spawner,
+ delay_rviz_after_joint_state_broadcaster_spawner,
+ robot_traj_controller_spawner,
+ robot_pos_controller_spawner,
+ robot_hand_controller_spawner,
+ fault_controller_spawner,
move_group_node,
static_tf,
]
From 3e13951da1942a54b75c1c88e8bcbd6003c04a48 Mon Sep 17 00:00:00 2001
From: aalmrad
Date: Mon, 17 Nov 2025 19:18:24 -0500
Subject: [PATCH 18/42] fixed the gen3_lite fake_hardware issue (#319)
* fixed gen3_lite moveit issues
* rectified format
* fixed the gen3_lite fake_hardware issue
* rectified format
---
.../arms/gen3_lite/6dof/urdf/kortex.ros2_control.xacro | 2 ++
.../grippers/gen3_lite_2f/urdf/gen3_lite_2f.ros2_control.xacro | 3 ---
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/kortex_description/arms/gen3_lite/6dof/urdf/kortex.ros2_control.xacro b/kortex_description/arms/gen3_lite/6dof/urdf/kortex.ros2_control.xacro
index f6e12d1a..ffb723a8 100644
--- a/kortex_description/arms/gen3_lite/6dof/urdf/kortex.ros2_control.xacro
+++ b/kortex_description/arms/gen3_lite/6dof/urdf/kortex.ros2_control.xacro
@@ -157,11 +157,13 @@
+
+
diff --git a/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f.ros2_control.xacro b/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f.ros2_control.xacro
index 1712fde0..dfe059a7 100644
--- a/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f.ros2_control.xacro
+++ b/kortex_description/grippers/gen3_lite_2f/urdf/gen3_lite_2f.ros2_control.xacro
@@ -72,7 +72,6 @@
${prefix}right_finger_bottom_joint
-1
-
@@ -81,7 +80,6 @@
${prefix}right_finger_bottom_joint
-1
-
@@ -90,7 +88,6 @@
${prefix}right_finger_bottom_joint
-1
-
From 6a9960eb8c672ef32f7f12a90e12dad4d797df06 Mon Sep 17 00:00:00 2001
From: aalmrad
Date: Wed, 19 Nov 2025 10:36:25 -0500
Subject: [PATCH 19/42] fixed bringing up the Gen3 wo gripper issue (#321)
---
.../arms/gen3/6dof/urdf/gen3_macro.xacro | 4 +++-
.../gen3/6dof/urdf/kortex.ros2_control.xacro | 19 ++++++++++++-------
.../arms/gen3/7dof/urdf/gen3_macro.xacro | 4 +++-
.../gen3/7dof/urdf/kortex.ros2_control.xacro | 3 +++
kortex_description/robots/kortex_robot.xacro | 1 +
5 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/kortex_description/arms/gen3/6dof/urdf/gen3_macro.xacro b/kortex_description/arms/gen3/6dof/urdf/gen3_macro.xacro
index 50b32df9..3cb50d9b 100644
--- a/kortex_description/arms/gen3/6dof/urdf/gen3_macro.xacro
+++ b/kortex_description/arms/gen3/6dof/urdf/gen3_macro.xacro
@@ -19,6 +19,7 @@
session_inactivity_timeout_ms:=6000
connection_inactivity_timeout_ms:=2000
use_internal_bus_gripper_comm:=false
+ gripper
gripper_joint_name
gripper_max_velocity:=100.0
gripper_max_force:=100.0
@@ -54,7 +55,8 @@
use_internal_bus_gripper_comm="${use_internal_bus_gripper_comm}"
gripper_max_velocity="${gripper_max_velocity}"
gripper_max_force="${gripper_max_force}"
- gripper_joint_name="${gripper_joint_name}"/>
+ gripper_joint_name="${gripper_joint_name}"
+ gripper="${gripper}"/>
diff --git a/kortex_description/arms/gen3/6dof/urdf/kortex.ros2_control.xacro b/kortex_description/arms/gen3/6dof/urdf/kortex.ros2_control.xacro
index 2d890845..fd380c63 100644
--- a/kortex_description/arms/gen3/6dof/urdf/kortex.ros2_control.xacro
+++ b/kortex_description/arms/gen3/6dof/urdf/kortex.ros2_control.xacro
@@ -20,6 +20,7 @@
port_realtime
session_inactivity_timeout_ms
connection_inactivity_timeout_ms
+ gripper
gripper_joint_name
gripper_max_velocity:=100.0
gripper_max_force:=100.0
@@ -122,13 +123,17 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/kortex_description/arms/gen3/7dof/urdf/gen3_macro.xacro b/kortex_description/arms/gen3/7dof/urdf/gen3_macro.xacro
index e1d8427b..d504ab45 100644
--- a/kortex_description/arms/gen3/7dof/urdf/gen3_macro.xacro
+++ b/kortex_description/arms/gen3/7dof/urdf/gen3_macro.xacro
@@ -19,6 +19,7 @@
session_inactivity_timeout_ms:=6000
connection_inactivity_timeout_ms:=2000
use_internal_bus_gripper_comm:=true
+ gripper
gripper_joint_name
gripper_max_velocity:=100.0
gripper_max_force:=100.0
@@ -54,7 +55,8 @@
use_internal_bus_gripper_comm="${use_internal_bus_gripper_comm}"
gripper_max_velocity="${gripper_max_velocity}"
gripper_max_force="${gripper_max_force}"
- gripper_joint_name="${gripper_joint_name}"/>
+ gripper_joint_name="${gripper_joint_name}"
+ gripper="${gripper}"/>
diff --git a/kortex_description/arms/gen3/7dof/urdf/kortex.ros2_control.xacro b/kortex_description/arms/gen3/7dof/urdf/kortex.ros2_control.xacro
index 6dc5f133..09144395 100644
--- a/kortex_description/arms/gen3/7dof/urdf/kortex.ros2_control.xacro
+++ b/kortex_description/arms/gen3/7dof/urdf/kortex.ros2_control.xacro
@@ -20,6 +20,7 @@
port_realtime
session_inactivity_timeout_ms
connection_inactivity_timeout_ms
+ gripper
gripper_joint_name
gripper_max_velocity:=100.0
gripper_max_force:=100.0
@@ -134,6 +135,7 @@
+
@@ -142,6 +144,7 @@
+
diff --git a/kortex_description/robots/kortex_robot.xacro b/kortex_description/robots/kortex_robot.xacro
index b9ac9adf..db9a9935 100644
--- a/kortex_description/robots/kortex_robot.xacro
+++ b/kortex_description/robots/kortex_robot.xacro
@@ -55,6 +55,7 @@
sim_isaac="${sim_isaac}"
isaac_joint_commands="${isaac_joint_commands}"
isaac_joint_states="${isaac_joint_states}"
+ gripper="${gripper}"
gripper_joint_name="${gripper_joint_name}"
gripper_max_velocity="${gripper_max_velocity}"
gripper_max_force="${gripper_max_force}"
From 3d4c4cbb0918928ae54b49e2b5e033cd212bad6f Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Mon, 8 Dec 2025 12:57:15 -0500
Subject: [PATCH 20/42] Added ros2 jazzy CI workflow
---
.github/workflows/README.md | 8 +--
...inary-build.yml => jazzy-binary-build.yml} | 16 ++---
.github/workflows/jazzy-semi-binary-build.yml | 59 +++++++++++++++++++
...ource-build.yml => jazzy-source-build.yml} | 14 ++---
4 files changed, 78 insertions(+), 19 deletions(-)
rename .github/workflows/{humble-binary-build.yml => jazzy-binary-build.yml} (88%)
create mode 100644 .github/workflows/jazzy-semi-binary-build.yml
rename .github/workflows/{humble-source-build.yml => jazzy-source-build.yml} (83%)
diff --git a/.github/workflows/README.md b/.github/workflows/README.md
index cff94d7a..9e13d7ad 100644
--- a/.github/workflows/README.md
+++ b/.github/workflows/README.md
@@ -6,10 +6,10 @@ A RED job might not mean that this package is currently broken but that an depen
To avoid overloading users viewing the main README page a full list of build statues can be kept here for package maintainers
-ROS2 Distro | Humble | Iron | Rolling
-:---------: | :----: | :--: | :-----:
-| **Branch** | [`main`](https://github.com/PickNikRobotics/ros2_kortex/tree/main) | [`main`](https://github.com/PickNikRobotics/ros2_kortex/tree/main) | [`main`](https://github.com/PickNikRobotics/ros2_kortex/tree/main)
-| **Build Status** | [](https://github.com/PickNikRobotics/ros2_kortex/actions/workflows/humble-binary-build.yml?branch=main) [](https://github.com/PickNikRobotics/ros2_kortex/actions/workflows/humble-source-build.yml?branch=main) | :construction: | [](https://github.com/PickNikRobotics/ros2_kortex/actions/workflows/rolling-binary-build.yml?branch=main) [](https://github.com/PickNikRobotics/ros2_kortex/actions/workflows/rolling-semi-binary-build.yml?branch=main) [](https://github.com/PickNikRobotics/ros2_kortex/actions/workflows/rolling-source-build.yml?branch=main)
+ROS2 Distro | Jazzy | Rolling
+:---------: | :---: | :-----:
+| **Branch** | [`jazzy`](https://github.com/Kinovarobotics/ros2_kortex/tree/jazzy) | [`main`](https://github.com/Kinovarobotics/ros2_kortex/tree/main)
+| **Build Status** | [](https://github.com/Kinovarobotics/ros2_kortex/actions/workflows/jazzy-binary-build.yml?branch=jazzy) [](https://github.com/Kinovarobotics/ros2_kortex/actions/workflows/jazzy-semi-binary-build.yml?branch=jazzy) [](https://github.com/Kinovarobotics/ros2_kortex/actions/workflows/jazzy-source-build.yml?branch=jazzy) | [](https://github.com/Kinovarobotics/ros2_kortex/actions/workflows/rolling-binary-build.yml?branch=main) [](https://github.com/Kinovarobotics/ros2_kortex/actions/workflows/rolling-semi-binary-build.yml?branch=main) [](https://github.com/Kinovarobotics/ros2_kortex/actions/workflows/rolling-source-build.yml?branch=main)
### Explanation of different build types
diff --git a/.github/workflows/humble-binary-build.yml b/.github/workflows/jazzy-binary-build.yml
similarity index 88%
rename from .github/workflows/humble-binary-build.yml
rename to .github/workflows/jazzy-binary-build.yml
index a7984242..a78cdf3d 100644
--- a/.github/workflows/humble-binary-build.yml
+++ b/.github/workflows/jazzy-binary-build.yml
@@ -1,27 +1,27 @@
-name: Humble Binary Build
+name: Jazzy Binary Build
on:
pull_request:
branches:
- # try to keep humble and rolling(main) in sync
- - humble
+ # try to keep jazzy and rolling(main) in sync
+ - jazzy
- main
push:
branches:
- - humble
+ - jazzy
- main
schedule:
# Run every morning to detect flakiness and broken dependencies
- cron: '13 4 * * *'
jobs:
- humble_binary:
- name: humble binary build
+ jazzy_binary:
+ name: jazzy binary build
runs-on: ubuntu-latest
strategy:
matrix:
env:
- - {ROS_DISTRO: humble, ROS_REPO: main}
- - {ROS_DISTRO: humble, ROS_REPO: testing}
+ - {ROS_DISTRO: jazzy, ROS_REPO: main}
+ - {ROS_DISTRO: jazzy, ROS_REPO: testing}
env:
UPSTREAM_WORKSPACE: ros2_kortex-not-released.${{ matrix.env.ROS_DISTRO }}.repos
ROSDEP_SKIP_KEYS: gz_ros2_control
diff --git a/.github/workflows/jazzy-semi-binary-build.yml b/.github/workflows/jazzy-semi-binary-build.yml
new file mode 100644
index 00000000..8ca92b00
--- /dev/null
+++ b/.github/workflows/jazzy-semi-binary-build.yml
@@ -0,0 +1,59 @@
+name: Jazzy Semi Binary Build
+on:
+ pull_request:
+ branches:
+ - jazzy
+ - main
+ push:
+ branches:
+ - jazzy
+ - main
+ schedule:
+ # Run every morning to detect flakiness and broken dependencies
+ - cron: '13 4 * * *'
+
+jobs:
+ jazzy_semi_binary:
+ name: jazzy semi-binary build
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ env:
+ - {ROS_DISTRO: jazzy, ROS_REPO: main}
+ - {ROS_DISTRO: jazzy, ROS_REPO: testing}
+ env:
+ UPSTREAM_WORKSPACE: ros2_kortex.${{ matrix.env.ROS_DISTRO }}.repos
+ ROSDEP_SKIP_KEYS: robotiq_description
+ CCACHE_DIR: ${{ github.workspace }}/.ccache
+ BASEDIR: ${{ github.workspace }}/.work
+ CACHE_PREFIX: ${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}
+ steps:
+ - uses: actions/checkout@v3
+ # The target directory cache doesn't include the source directory because
+ # that comes from the checkout. See "prepare target_ws for cache" task below
+ - name: cache target_ws
+ if: ${{ ! matrix.env.CCOV }}
+ uses: pat-s/always-upload-cache@v2.1.5
+ with:
+ path: ${{ env.BASEDIR }}/target_ws
+ key: target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}-${{ github.run_id }}
+ restore-keys: |
+ target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}
+ - name: cache ccache
+ uses: pat-s/always-upload-cache@v2.1.5
+ with:
+ path: ${{ env.CCACHE_DIR }}
+ key: ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}-${{ github.run_id }}
+ restore-keys: |
+ ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}
+ ccache-${{ env.CACHE_PREFIX }}
+ - uses: 'ros-industrial/industrial_ci@master'
+ with:
+ config: ${{toJSON(matrix.env)}}
+ - name: prepare target_ws for cache
+ if: ${{ always() && ! matrix.env.CCOV }}
+ run: |
+ du -sh ${{ env.BASEDIR }}/target_ws
+ sudo find ${{ env.BASEDIR }}/target_ws -wholename '*/test_results/*' -delete
+ sudo rm -rf ${{ env.BASEDIR }}/target_ws/src
+ du -sh ${{ env.BASEDIR }}/target_ws
diff --git a/.github/workflows/humble-source-build.yml b/.github/workflows/jazzy-source-build.yml
similarity index 83%
rename from .github/workflows/humble-source-build.yml
rename to .github/workflows/jazzy-source-build.yml
index 40839999..d91cf092 100644
--- a/.github/workflows/humble-source-build.yml
+++ b/.github/workflows/jazzy-source-build.yml
@@ -1,21 +1,21 @@
-name: Humble Source Build
+name: Jazzy Source Build
on:
push:
branches:
- # try to keep humble and rolling(main) in sync
- - humble
+ # try to keep jazzy and rolling(main) in sync
+ - jazzy
- main
schedule:
# Run every morning to detect flakiness and broken dependencies
- cron: '43 1 * * *'
jobs:
- humble_source:
- runs-on: ubuntu-22.04
+ jazzy_source:
+ runs-on: ubuntu-24.04
strategy:
fail-fast: false
env:
- ROS_DISTRO: humble
+ ROS_DISTRO: jazzy
steps:
- uses: ros-tooling/setup-ros@v0.6
with:
@@ -24,7 +24,7 @@ jobs:
- uses: ros-tooling/action-ros-ci@0.3.2
with:
target-ros2-distro: ${{ env.ROS_DISTRO }}
- # Currently main is compatible with Humble
+ # Currently main is compatible with Jazzy
ref: main
import-token: ${{ secrets.GITHUB_TOKEN }}
# build all packages listed in the meta package
From fbd7d39500b507605a573982135ac62b3e0048f3 Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Mon, 8 Dec 2025 13:00:37 -0500
Subject: [PATCH 21/42] CI workflow rectifications
---
.github/workflows/jazzy-source-build.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/jazzy-source-build.yml b/.github/workflows/jazzy-source-build.yml
index d91cf092..041223e5 100644
--- a/.github/workflows/jazzy-source-build.yml
+++ b/.github/workflows/jazzy-source-build.yml
@@ -35,7 +35,7 @@ jobs:
https://raw.githubusercontent.com/ros2/ros2/${{ env.ROS_DISTRO }}/ros2.repos
file://${{ github.workspace }}/ros2_kortex.${{ env.ROS_DISTRO }}.repos
colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
- - uses: actions/upload-artifact@v1
+ - uses: actions/upload-artifact@v3
with:
- name: colcon-logs-${{ matrix.os }}
+ name: colcon-logs
path: ros_ws/log
From ce361a725741fe17c9c01d32f44953ac5c86a122 Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Mon, 8 Dec 2025 13:03:53 -0500
Subject: [PATCH 22/42] CI workflow rectifications
---
.github/workflows/jazzy-source-build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/jazzy-source-build.yml b/.github/workflows/jazzy-source-build.yml
index 041223e5..f1e8c051 100644
--- a/.github/workflows/jazzy-source-build.yml
+++ b/.github/workflows/jazzy-source-build.yml
@@ -35,7 +35,7 @@ jobs:
https://raw.githubusercontent.com/ros2/ros2/${{ env.ROS_DISTRO }}/ros2.repos
file://${{ github.workspace }}/ros2_kortex.${{ env.ROS_DISTRO }}.repos
colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
name: colcon-logs
path: ros_ws/log
From 52e8561cb3df41f48725c1582959f69454f1911f Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Mon, 8 Dec 2025 13:06:57 -0500
Subject: [PATCH 23/42] CI workflow rectifications
---
.github/workflows/jazzy-source-build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/jazzy-source-build.yml b/.github/workflows/jazzy-source-build.yml
index f1e8c051..dfb3c4d9 100644
--- a/.github/workflows/jazzy-source-build.yml
+++ b/.github/workflows/jazzy-source-build.yml
@@ -17,7 +17,7 @@ jobs:
env:
ROS_DISTRO: jazzy
steps:
- - uses: ros-tooling/setup-ros@v0.6
+ - uses: ros-tooling/setup-ros@v0.7
with:
required-ros-distributions: ${{ env.ROS_DISTRO }}
- uses: actions/checkout@v3
From a8284249758d53f62ae87d3058b383fcdba0c91b Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Mon, 8 Dec 2025 13:12:58 -0500
Subject: [PATCH 24/42] CI workflow rectifications
---
.github/workflows/jazzy-source-build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/jazzy-source-build.yml b/.github/workflows/jazzy-source-build.yml
index dfb3c4d9..2d154005 100644
--- a/.github/workflows/jazzy-source-build.yml
+++ b/.github/workflows/jazzy-source-build.yml
@@ -21,7 +21,7 @@ jobs:
with:
required-ros-distributions: ${{ env.ROS_DISTRO }}
- uses: actions/checkout@v3
- - uses: ros-tooling/action-ros-ci@0.3.2
+ - uses: ros-tooling/action-ros-ci@v0.4
with:
target-ros2-distro: ${{ env.ROS_DISTRO }}
# Currently main is compatible with Jazzy
From 0c3c9e370789cf40a69b06fb311faa34f2fc1fe8 Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Mon, 8 Dec 2025 16:03:15 -0500
Subject: [PATCH 25/42] removed semi-binary build
---
.github/workflows/jazzy-semi-binary-build.yml | 59 -------------------
1 file changed, 59 deletions(-)
delete mode 100644 .github/workflows/jazzy-semi-binary-build.yml
diff --git a/.github/workflows/jazzy-semi-binary-build.yml b/.github/workflows/jazzy-semi-binary-build.yml
deleted file mode 100644
index 8ca92b00..00000000
--- a/.github/workflows/jazzy-semi-binary-build.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-name: Jazzy Semi Binary Build
-on:
- pull_request:
- branches:
- - jazzy
- - main
- push:
- branches:
- - jazzy
- - main
- schedule:
- # Run every morning to detect flakiness and broken dependencies
- - cron: '13 4 * * *'
-
-jobs:
- jazzy_semi_binary:
- name: jazzy semi-binary build
- runs-on: ubuntu-latest
- strategy:
- matrix:
- env:
- - {ROS_DISTRO: jazzy, ROS_REPO: main}
- - {ROS_DISTRO: jazzy, ROS_REPO: testing}
- env:
- UPSTREAM_WORKSPACE: ros2_kortex.${{ matrix.env.ROS_DISTRO }}.repos
- ROSDEP_SKIP_KEYS: robotiq_description
- CCACHE_DIR: ${{ github.workspace }}/.ccache
- BASEDIR: ${{ github.workspace }}/.work
- CACHE_PREFIX: ${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}
- steps:
- - uses: actions/checkout@v3
- # The target directory cache doesn't include the source directory because
- # that comes from the checkout. See "prepare target_ws for cache" task below
- - name: cache target_ws
- if: ${{ ! matrix.env.CCOV }}
- uses: pat-s/always-upload-cache@v2.1.5
- with:
- path: ${{ env.BASEDIR }}/target_ws
- key: target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}-${{ github.run_id }}
- restore-keys: |
- target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}
- - name: cache ccache
- uses: pat-s/always-upload-cache@v2.1.5
- with:
- path: ${{ env.CCACHE_DIR }}
- key: ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}-${{ github.run_id }}
- restore-keys: |
- ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}
- ccache-${{ env.CACHE_PREFIX }}
- - uses: 'ros-industrial/industrial_ci@master'
- with:
- config: ${{toJSON(matrix.env)}}
- - name: prepare target_ws for cache
- if: ${{ always() && ! matrix.env.CCOV }}
- run: |
- du -sh ${{ env.BASEDIR }}/target_ws
- sudo find ${{ env.BASEDIR }}/target_ws -wholename '*/test_results/*' -delete
- sudo rm -rf ${{ env.BASEDIR }}/target_ws/src
- du -sh ${{ env.BASEDIR }}/target_ws
From 5c86362c80eb9fe9605a1e3714aaeeafaf0a9964 Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Tue, 9 Dec 2025 09:25:33 -0500
Subject: [PATCH 26/42] ci-ros-lint update
---
.github/workflows/ci-ros-lint.yml | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/ci-ros-lint.yml b/.github/workflows/ci-ros-lint.yml
index ea071bb7..288499e2 100644
--- a/.github/workflows/ci-ros-lint.yml
+++ b/.github/workflows/ci-ros-lint.yml
@@ -11,8 +11,8 @@ jobs:
matrix:
linter: [cppcheck, copyright]
steps:
- - uses: actions/checkout@v3
- - uses: ros-tooling/setup-ros@v0.6
+ - uses: actions/checkout@v4
+ - uses: ros-tooling/setup-ros@v0.7
- name: Set environment variable for cppcheck 2.7
run: echo "AMENT_CPPCHECK_ALLOW_SLOW_VERSIONS=1" >> $GITHUB_ENV
- uses: ros-tooling/action-ros-lint@v0.1
@@ -32,8 +32,8 @@ jobs:
strategy:
fail-fast: false
steps:
- - uses: actions/checkout@v3
- - uses: ros-tooling/setup-ros@v0.6
+ - uses: actions/checkout@v4
+ - uses: ros-tooling/setup-ros@v0.7
- uses: ros-tooling/action-ros-lint@v0.1
with:
distribution: rolling
@@ -49,8 +49,8 @@ jobs:
matrix:
linter: [cpplint]
steps:
- - uses: actions/checkout@v3
- - uses: ros-tooling/setup-ros@v0.6
+ - uses: actions/checkout@v4
+ - uses: ros-tooling/setup-ros@v0.7
- uses: ros-tooling/action-ros-lint@v0.1
with:
distribution: rolling
@@ -58,4 +58,4 @@ jobs:
arguments: "--linelength=100 --filter=-whitespace/newline --exclude=kortex_driver/src/kortex_math_util.cpp"
package-name:
kortex_bringup
- kortex_driver
+ kortex_driver
\ No newline at end of file
From 8922a1ba34174991c870ecc144f9c32cc4d42129 Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Tue, 9 Dec 2025 09:41:46 -0500
Subject: [PATCH 27/42] modified source build .yml
---
.github/workflows/jazzy-source-build.yml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/.github/workflows/jazzy-source-build.yml b/.github/workflows/jazzy-source-build.yml
index 2d154005..0c6fdd52 100644
--- a/.github/workflows/jazzy-source-build.yml
+++ b/.github/workflows/jazzy-source-build.yml
@@ -1,5 +1,10 @@
name: Jazzy Source Build
on:
+ pull_request:
+ branches:
+ # try to keep jazzy and rolling(main) in sync
+ - jazzy
+ - main
push:
branches:
# try to keep jazzy and rolling(main) in sync
From 3bff68ebc43efaa55ed5dec5821b9693330b20e2 Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Tue, 9 Dec 2025 10:47:00 -0500
Subject: [PATCH 28/42] kept source build check on push only
---
.github/workflows/jazzy-source-build.yml | 5 -----
1 file changed, 5 deletions(-)
diff --git a/.github/workflows/jazzy-source-build.yml b/.github/workflows/jazzy-source-build.yml
index 0c6fdd52..2d154005 100644
--- a/.github/workflows/jazzy-source-build.yml
+++ b/.github/workflows/jazzy-source-build.yml
@@ -1,10 +1,5 @@
name: Jazzy Source Build
on:
- pull_request:
- branches:
- # try to keep jazzy and rolling(main) in sync
- - jazzy
- - main
push:
branches:
# try to keep jazzy and rolling(main) in sync
From 955e217e45038d54f08ac361f0df38f944ec1bd7 Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Tue, 9 Dec 2025 10:48:10 -0500
Subject: [PATCH 29/42] format rectification
---
.github/workflows/ci-ros-lint.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/ci-ros-lint.yml b/.github/workflows/ci-ros-lint.yml
index 288499e2..dcae879c 100644
--- a/.github/workflows/ci-ros-lint.yml
+++ b/.github/workflows/ci-ros-lint.yml
@@ -58,4 +58,4 @@ jobs:
arguments: "--linelength=100 --filter=-whitespace/newline --exclude=kortex_driver/src/kortex_math_util.cpp"
package-name:
kortex_bringup
- kortex_driver
\ No newline at end of file
+ kortex_driver
From 7beb7d3336a855d0658cc39e1a751dd74342e060 Mon Sep 17 00:00:00 2001
From: aalmrad
Date: Tue, 9 Dec 2025 14:00:20 -0500
Subject: [PATCH 30/42] fix deprecated hardware_interface API (#327)
---
kortex_driver/include/kortex_driver/hardware_interface.hpp | 2 +-
kortex_driver/src/hardware_interface.cpp | 7 ++++---
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/kortex_driver/include/kortex_driver/hardware_interface.hpp b/kortex_driver/include/kortex_driver/hardware_interface.hpp
index 6bc45a69..33f37fda 100644
--- a/kortex_driver/include/kortex_driver/hardware_interface.hpp
+++ b/kortex_driver/include/kortex_driver/hardware_interface.hpp
@@ -84,7 +84,7 @@ class KortexMultiInterfaceHardware : public hardware_interface::SystemInterface
RCLCPP_SHARED_PTR_DEFINITIONS(KortexMultiInterfaceHardware);
KORTEX_DRIVER_PUBLIC
- CallbackReturn on_init(const hardware_interface::HardwareInfo & info) final;
+ CallbackReturn on_init(const hardware_interface::HardwareComponentInterfaceParams & params) final;
KORTEX_DRIVER_PUBLIC
std::vector export_state_interfaces() final;
diff --git a/kortex_driver/src/hardware_interface.cpp b/kortex_driver/src/hardware_interface.cpp
index f0e856b1..4bbff4e5 100644
--- a/kortex_driver/src/hardware_interface.cpp
+++ b/kortex_driver/src/hardware_interface.cpp
@@ -84,15 +84,16 @@ KortexMultiInterfaceHardware::KortexMultiInterfaceHardware()
}
}
-CallbackReturn KortexMultiInterfaceHardware::on_init(const hardware_interface::HardwareInfo & info)
+CallbackReturn KortexMultiInterfaceHardware::on_init(
+ const hardware_interface::HardwareComponentInterfaceParams & params)
{
RCLCPP_INFO(LOGGER, "Configuring Hardware Interface");
- if (hardware_interface::SystemInterface::on_init(info) != CallbackReturn::SUCCESS)
+ if (hardware_interface::SystemInterface::on_init(params) != CallbackReturn::SUCCESS)
{
return CallbackReturn::ERROR;
}
- info_ = info;
+ info_ = params.hardware_info;
// The robot's IP address.
std::string robot_ip = info_.hardware_parameters["robot_ip"];
if (robot_ip.empty())
From 414c0bdda0fd3befbdf708690f92a7615bfc14cd Mon Sep 17 00:00:00 2001
From: Sebastian Castro <4603398+sea-bass@users.noreply.github.com>
Date: Tue, 9 Dec 2025 14:58:55 -0500
Subject: [PATCH 31/42] Update to parallel_gripper_controller (#324)
---
kortex_description/arms/gen3/6dof/config/ros2_controllers.yaml | 3 +--
kortex_description/arms/gen3/7dof/config/ros2_controllers.yaml | 3 +--
kortex_description/package.xml | 1 +
3 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/kortex_description/arms/gen3/6dof/config/ros2_controllers.yaml b/kortex_description/arms/gen3/6dof/config/ros2_controllers.yaml
index b6396f2f..d1b41ad9 100644
--- a/kortex_description/arms/gen3/6dof/config/ros2_controllers.yaml
+++ b/kortex_description/arms/gen3/6dof/config/ros2_controllers.yaml
@@ -12,7 +12,7 @@ controller_manager:
type: picknik_twist_controller/PicknikTwistController
robotiq_gripper_controller:
- type: position_controllers/GripperActionController
+ type: parallel_gripper_action_controller/GripperActionController
fault_controller:
type: picknik_reset_fault_controller/PicknikResetFaultController
@@ -51,6 +51,5 @@ twist_controller:
robotiq_gripper_controller:
ros__parameters:
- default: true
joint: robotiq_85_left_knuckle_joint
allow_stalling: true
diff --git a/kortex_description/arms/gen3/7dof/config/ros2_controllers.yaml b/kortex_description/arms/gen3/7dof/config/ros2_controllers.yaml
index bd98a73d..7c083326 100644
--- a/kortex_description/arms/gen3/7dof/config/ros2_controllers.yaml
+++ b/kortex_description/arms/gen3/7dof/config/ros2_controllers.yaml
@@ -12,7 +12,7 @@ controller_manager:
type: picknik_twist_controller/PicknikTwistController
robotiq_gripper_controller:
- type: position_controllers/GripperActionController
+ type: parallel_gripper_action_controller/GripperActionController
fault_controller:
type: picknik_reset_fault_controller/PicknikResetFaultController
@@ -52,6 +52,5 @@ twist_controller:
robotiq_gripper_controller:
ros__parameters:
- default: true
joint: robotiq_85_left_knuckle_joint
allow_stalling: true
diff --git a/kortex_description/package.xml b/kortex_description/package.xml
index 932879b1..6a6a20b3 100644
--- a/kortex_description/package.xml
+++ b/kortex_description/package.xml
@@ -21,6 +21,7 @@ for KINOVA KORTEX™ arms and supported grippers
joint_trajectory_controllerrobot_state_publisherrobotiq_description
+ parallel_gripper_controllerpicknik_reset_fault_controllerpicknik_twist_controllerrviz2
From 8e40a6ce41272556a35627481b4438a786b8ee06 Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Wed, 10 Dec 2025 13:17:24 -0500
Subject: [PATCH 32/42] Modified CI workflow checks
---
.github/workflows/README.md | 8 +--
.github/workflows/rolling-binary-build.yml | 56 ------------------
.../workflows/rolling-semi-binary-build.yml | 58 -------------------
.github/workflows/rolling-source-build.yml | 37 ------------
4 files changed, 4 insertions(+), 155 deletions(-)
delete mode 100644 .github/workflows/rolling-binary-build.yml
delete mode 100644 .github/workflows/rolling-semi-binary-build.yml
delete mode 100644 .github/workflows/rolling-source-build.yml
diff --git a/.github/workflows/README.md b/.github/workflows/README.md
index 9e13d7ad..3c88ebb7 100644
--- a/.github/workflows/README.md
+++ b/.github/workflows/README.md
@@ -6,10 +6,10 @@ A RED job might not mean that this package is currently broken but that an depen
To avoid overloading users viewing the main README page a full list of build statues can be kept here for package maintainers
-ROS2 Distro | Jazzy | Rolling
-:---------: | :---: | :-----:
-| **Branch** | [`jazzy`](https://github.com/Kinovarobotics/ros2_kortex/tree/jazzy) | [`main`](https://github.com/Kinovarobotics/ros2_kortex/tree/main)
-| **Build Status** | [](https://github.com/Kinovarobotics/ros2_kortex/actions/workflows/jazzy-binary-build.yml?branch=jazzy) [](https://github.com/Kinovarobotics/ros2_kortex/actions/workflows/jazzy-semi-binary-build.yml?branch=jazzy) [](https://github.com/Kinovarobotics/ros2_kortex/actions/workflows/jazzy-source-build.yml?branch=jazzy) | [](https://github.com/Kinovarobotics/ros2_kortex/actions/workflows/rolling-binary-build.yml?branch=main) [](https://github.com/Kinovarobotics/ros2_kortex/actions/workflows/rolling-semi-binary-build.yml?branch=main) [](https://github.com/Kinovarobotics/ros2_kortex/actions/workflows/rolling-source-build.yml?branch=main)
+ROS2 Distro | Jazzy
+:---------: | :---:
+| **Branch** | [`jazzy`](https://github.com/Kinovarobotics/ros2_kortex/tree/jazzy)
+| **Build Status** | [](https://github.com/Kinovarobotics/ros2_kortex/actions/workflows/jazzy-binary-build.yml?branch=jazzy) [](https://github.com/Kinovarobotics/ros2_kortex/actions/workflows/jazzy-source-build.yml?branch=jazzy)
### Explanation of different build types
diff --git a/.github/workflows/rolling-binary-build.yml b/.github/workflows/rolling-binary-build.yml
deleted file mode 100644
index 3fda1219..00000000
--- a/.github/workflows/rolling-binary-build.yml
+++ /dev/null
@@ -1,56 +0,0 @@
-name: Rolling Binary Build
-on:
- pull_request:
- branches:
- - main
- push:
- branches:
- - main
- schedule:
- # Run every morning to detect flakiness and broken dependencies
- - cron: '13 4 * * *'
-
-jobs:
- rolling_binary:
- name: rolling binary build
- runs-on: ubuntu-latest
- strategy:
- matrix:
- env:
- - {ROS_DISTRO: rolling, ROS_REPO: main}
- - {ROS_DISTRO: rolling, ROS_REPO: testing}
- env:
- UPSTREAM_WORKSPACE: ros2_kortex-not-released.${{ matrix.env.ROS_DISTRO }}.repos
- CCACHE_DIR: ${{ github.workspace }}/.ccache
- BASEDIR: ${{ github.workspace }}/.work
- CACHE_PREFIX: ${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}
- steps:
- - uses: actions/checkout@v3
- # The target directory cache doesn't include the source directory because
- # that comes from the checkout. See "prepare target_ws for cache" task below
- - name: cache target_ws
- if: ${{ ! matrix.env.CCOV }}
- uses: pat-s/always-upload-cache@v2.1.5
- with:
- path: ${{ env.BASEDIR }}/target_ws
- key: target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}-${{ github.run_id }}
- restore-keys: |
- target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}
- - name: cache ccache
- uses: pat-s/always-upload-cache@v2.1.5
- with:
- path: ${{ env.CCACHE_DIR }}
- key: ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}-${{ github.run_id }}
- restore-keys: |
- ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}
- ccache-${{ env.CACHE_PREFIX }}
- - uses: 'ros-industrial/industrial_ci@master'
- with:
- config: ${{toJSON(matrix.env)}}
- - name: prepare target_ws for cache
- if: ${{ always() && ! matrix.env.CCOV }}
- run: |
- du -sh ${{ env.BASEDIR }}/target_ws
- sudo find ${{ env.BASEDIR }}/target_ws -wholename '*/test_results/*' -delete
- sudo rm -rf ${{ env.BASEDIR }}/target_ws/src
- du -sh ${{ env.BASEDIR }}/target_ws
diff --git a/.github/workflows/rolling-semi-binary-build.yml b/.github/workflows/rolling-semi-binary-build.yml
deleted file mode 100644
index c88c9cf6..00000000
--- a/.github/workflows/rolling-semi-binary-build.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-name: Rolling Semi Binary Build
-on:
- pull_request:
- branches:
- - main
- push:
- branches:
- - main
- schedule:
- # Run every morning to detect flakiness and broken dependencies
- - cron: '13 4 * * *'
-
-jobs:
- rolling_semi_binary:
- name: rolling semi-binary build
- runs-on: ubuntu-latest
- strategy:
- matrix:
- env:
- - {ROS_DISTRO: rolling, ROS_REPO: main}
- #TODO(moriarty): re-enable rolling testing after rolling feature freeze, known failure upstream
- #- {ROS_DISTRO: rolling, ROS_REPO: testing}
- env:
- UPSTREAM_WORKSPACE: ros2_kortex.${{ matrix.env.ROS_DISTRO }}.repos
- ROSDEP_SKIP_KEYS: robotiq_description
- CCACHE_DIR: ${{ github.workspace }}/.ccache
- BASEDIR: ${{ github.workspace }}/.work
- CACHE_PREFIX: ${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}
- steps:
- - uses: actions/checkout@v3
- # The target directory cache doesn't include the source directory because
- # that comes from the checkout. See "prepare target_ws for cache" task below
- - name: cache target_ws
- if: ${{ ! matrix.env.CCOV }}
- uses: pat-s/always-upload-cache@v2.1.5
- with:
- path: ${{ env.BASEDIR }}/target_ws
- key: target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}-${{ github.run_id }}
- restore-keys: |
- target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}
- - name: cache ccache
- uses: pat-s/always-upload-cache@v2.1.5
- with:
- path: ${{ env.CCACHE_DIR }}
- key: ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}-${{ github.run_id }}
- restore-keys: |
- ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}
- ccache-${{ env.CACHE_PREFIX }}
- - uses: 'ros-industrial/industrial_ci@master'
- with:
- config: ${{toJSON(matrix.env)}}
- - name: prepare target_ws for cache
- if: ${{ always() && ! matrix.env.CCOV }}
- run: |
- du -sh ${{ env.BASEDIR }}/target_ws
- sudo find ${{ env.BASEDIR }}/target_ws -wholename '*/test_results/*' -delete
- sudo rm -rf ${{ env.BASEDIR }}/target_ws/src
- du -sh ${{ env.BASEDIR }}/target_ws
diff --git a/.github/workflows/rolling-source-build.yml b/.github/workflows/rolling-source-build.yml
deleted file mode 100644
index d55a3a3a..00000000
--- a/.github/workflows/rolling-source-build.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-name: Rolling Source Build
-on:
- push:
- branches:
- - main
- schedule:
- # Run every morning to detect flakiness and broken dependencies
- - cron: '43 1 * * *'
-
-jobs:
- rolling_source:
- runs-on: ubuntu-22.04
- strategy:
- fail-fast: false
- env:
- ROS_DISTRO: rolling
- steps:
- - uses: ros-tooling/setup-ros@v0.6
- with:
- required-ros-distributions: ${{ env.ROS_DISTRO }}
- - uses: actions/checkout@v3
- - uses: ros-tooling/action-ros-ci@0.3.2
- with:
- target-ros2-distro: ${{ env.ROS_DISTRO }}
- import-token: ${{ secrets.GITHUB_TOKEN }}
- # build all packages listed in the meta package
- package-name:
- kortex_bringup
- kortex_driver
- vcs-repo-file-url: |
- https://raw.githubusercontent.com/ros2/ros2/master/ros2.repos
- file://${{ github.workspace }}/ros2_kortex.repos
- colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
- - uses: actions/upload-artifact@v1
- with:
- name: colcon-logs-${{ matrix.os }}
- path: ros_ws/log
From 2a381a169bd3b75eb92ddc679edd398cc6edf94f Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Wed, 10 Dec 2025 13:27:02 -0500
Subject: [PATCH 33/42] modified README of the build checks
---
.github/workflows/README.md | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/README.md b/.github/workflows/README.md
index 3c88ebb7..ef4def62 100644
--- a/.github/workflows/README.md
+++ b/.github/workflows/README.md
@@ -13,15 +13,10 @@ ROS2 Distro | Jazzy
### Explanation of different build types
-**NOTE**: There are three build stages checking current and future compatibility of the package.
+**NOTE**: For the jazzy branch, there are two build stages checking current and future compatibility of the package.
1. Binary builds - against released packages (main and testing) in ROS distributions. Shows that direct local build is possible.
Uses repos file: `src/$NAME$/$NAME$-not-released..repos`
-1. Semi-binary builds - against released core ROS packages (main and testing), but the immediate dependencies are pulled from source.
- Shows that local build with dependencies is possible and if fails there we can expect that after the next package sync we will not be able to build.
-
- Uses repos file: `src/$NAME$/$NAME$.repos`
-
-1. Source build - also core ROS packages are build from source. It shows potential issues in the mid future.
+2. Source build - also core ROS packages are build from source. It shows potential issues in the mid future.
From 9067c264e3a3e3bfb390fa10a3ad2be3f42b8ab5 Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Mon, 15 Dec 2025 18:34:28 -0500
Subject: [PATCH 34/42] updated the CHANGELOG.rst files
---
kortex_api/CHANGELOG.rst | 10 ++++++++
kortex_bringup/CHANGELOG.rst | 12 +++++++++
kortex_description/CHANGELOG.rst | 25 +++++++++++++++++++
kortex_driver/CHANGELOG.rst | 13 ++++++++++
.../CHANGELOG.rst | 15 +++++++++++
.../CHANGELOG.rst | 15 +++++++++++
.../CHANGELOG.rst | 16 ++++++++++++
7 files changed, 106 insertions(+)
create mode 100644 kortex_moveit_config/kinova_gen3_lite_moveit_config/CHANGELOG.rst
diff --git a/kortex_api/CHANGELOG.rst b/kortex_api/CHANGELOG.rst
index d57ea4b1..8ff5385d 100644
--- a/kortex_api/CHANGELOG.rst
+++ b/kortex_api/CHANGELOG.rst
@@ -2,6 +2,16 @@
Changelog for package kortex_api
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+0.2.4 (2025-12-15)
+------------------
+* modified the kortex trademark name (`#305 `_)
+* Contributors: Abed Al Rahman Al Mrad
+
+0.2.3 (2025-02-27)
+------------------
+* Package version updates
+* Contributors: Abed Al Rahman Al Mrad
+
0.2.2 (2023-08-09)
------------------
diff --git a/kortex_bringup/CHANGELOG.rst b/kortex_bringup/CHANGELOG.rst
index 8ed636bb..57ebdf38 100644
--- a/kortex_bringup/CHANGELOG.rst
+++ b/kortex_bringup/CHANGELOG.rst
@@ -2,6 +2,18 @@
Changelog for package kortex_bringup
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+0.2.4 (2025-12-15)
+------------------
+* Remove Gazebo Classic support and Update for MoveIt Jazzy/Rolling (`#228 `_)
+* Contributors: Abed Al Rahman Al Mrad
+
+0.2.3 (2025-02-27)
+------------------
+* Fixed the Gazebo Fortress Simulation + Separated the arm and gripper control for Gen3_Lite + Fixed bugs (`#252 `_)
+* Added the empty gripper option for gen3.launch.py (`#242 `_)
+* Fix mock_hardware and enable simulating gen3_lite (`#196 `_)
+* Contributors: Abed Al Rahman Al Mrad
+
0.2.2 (2023-08-09)
------------------
diff --git a/kortex_description/CHANGELOG.rst b/kortex_description/CHANGELOG.rst
index d0c01e78..f28a2511 100644
--- a/kortex_description/CHANGELOG.rst
+++ b/kortex_description/CHANGELOG.rst
@@ -2,6 +2,31 @@
Changelog for package kortex_description
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+0.2.4 (2025-12-15)
+------------------
+* Update to parallel_gripper_controller (`#324 `_)
+* fixed bringing up the Gen3 wo gripper issue (`#321 `_)
+* fixed the gen3_lite fake_hardware issue (`#319 `_)
+* fixed gen3_lite moveit issues (`#318 `_)
+* Modifications to fix moveit issues while controlling Gen3_lite (`#316 `_)
+* modified the kortex trademark name (`#305 `_)
+* Fixed pi issue #295 (`#296 `_)
+* Replaced file:// with package:// + Added temporary repositories as dependencies (`#275 `_)
+* Remove Gazebo Classic support and Update for MoveIt Jazzy/Rolling (`#228 `_)
+* Contributors: Abed Al Rahman Al Mrad
+
+0.2.3 (2025-02-27)
+------------------
+* Fixed the Gazebo Fortress Simulation + Separated the arm and gripper control for Gen3_Lite + Fixed bugs (`#252 `_)
+* Added the empty gripper option for gen3.launch.py (`#242 `_)
+* Modified the joint limits of Gen3 and Gen3 Lite robots as per the values in the User Guides (`#241 `_)
+* Added .STL files for the Gen3 7dof meshes (`#235 `_)
+* Added a Moveit2 package for Gen3-Lite (`#231 `_)
+* Update gripper descriptions for use on HW (`#206 `_)
+* Update gen3 lite and gripper macros (`#191 `_)
+* Cleanup robots for visualization & sim (`#180 `_)
+* Contributors: Abed Al Rahman Al Mrad
+
0.2.2 (2023-08-09)
------------------
* Refactor MoveIt Launch files (`#162 `_)
diff --git a/kortex_driver/CHANGELOG.rst b/kortex_driver/CHANGELOG.rst
index d45751da..855bdeab 100644
--- a/kortex_driver/CHANGELOG.rst
+++ b/kortex_driver/CHANGELOG.rst
@@ -2,6 +2,19 @@
Changelog for package kortex_driver
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+0.2.4 (2025-12-15)
+------------------
+* fix deprecated hardware_interface API (`#327 `_)
+* Fixed pi issue #295 (`#296 `_)
+* modified the kortex trademark name (`#305 `_)
+* Contributors: Abed Al Rahman Al Mrad
+
+0.2.3 (2025-02-27)
+------------------
+* Add force and velocity hardware interfaces (`#204 `_)
+* Changing the list of packages maintainers
+* Contributors: Abed Al Rahman Al Mrad
+
0.2.2 (2023-08-09)
------------------
* cxx: remove unused-but-set-parameter (`#164 `_)
diff --git a/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/CHANGELOG.rst b/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/CHANGELOG.rst
index 14f86d9f..35db6258 100644
--- a/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/CHANGELOG.rst
+++ b/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/CHANGELOG.rst
@@ -2,6 +2,21 @@
Changelog for package kinova_gen3_6dof_robotiq_2f_85_moveit_config
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+0.2.4 (2025-12-15)
+------------------
+* fixed gen3_lite moveit issues (`#318 `_)
+* Remove Gazebo Classic support and Update for MoveIt Jazzy/Rolling (`#228 `_)
+* Contributors: Abed Al Rahman Al Mrad
+
+0.2.3 (2025-02-27)
+------------------
+* Update planner_plugin parameters (`#199 `_)
+* Remove outdated config artifacts (`#198 `_)
+* Cleanup robots for visualization & sim (`#180 `_)
+* Update planning pipeline configurations (`#187 `_)
+* Changing the list of packages maintainers
+* Contributors: Abed Al Rahman Al Mrad
+
0.2.2 (2023-08-09)
------------------
* specify planning pipelines to use (`#157 `_)
diff --git a/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/CHANGELOG.rst b/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/CHANGELOG.rst
index 36e7f51e..327a698a 100644
--- a/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/CHANGELOG.rst
+++ b/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/CHANGELOG.rst
@@ -2,6 +2,21 @@
Changelog for package kinova_gen3_7dof_robotiq_2f_85_moveit_config
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+0.2.4 (2025-12-15)
+------------------
+* fixed gen3_lite moveit issues (`#318 `_)
+* Remove Gazebo Classic support and Update for MoveIt Jazzy/Rolling (`#228 `_)
+* Contributors: Abed Al Rahman Al Mrad
+
+0.2.3 (2025-02-27)
+------------------
+* Update planner_plugin parameters (`#199 `_)
+* Remove outdated config artifacts (`#198 `_)
+* Cleanup robots for visualization & sim (`#180 `_)
+* Update planning pipeline configurations (`#187 `_)
+* Changing the list of packages maintainers
+* Contributors: Abed Al Rahman Al Mrad
+
0.2.2 (2023-08-09)
------------------
* specify planning pipelines to use (`#157 `_)
diff --git a/kortex_moveit_config/kinova_gen3_lite_moveit_config/CHANGELOG.rst b/kortex_moveit_config/kinova_gen3_lite_moveit_config/CHANGELOG.rst
new file mode 100644
index 00000000..cc746042
--- /dev/null
+++ b/kortex_moveit_config/kinova_gen3_lite_moveit_config/CHANGELOG.rst
@@ -0,0 +1,16 @@
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Changelog for package kinova_gen3_lite_moveit_config
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+0.2.4 (2025-12-15)
+------------------
+* fixed gen3_lite moveit issues (`#318 `_)
+* Modifications to fix moveit issues while controlling Gen3_lite (`#316 `_)
+* Remove Gazebo Classic support and Update for MoveIt Jazzy/Rolling (`#228 `_)
+* Contributors: Abed Al Rahman Al Mrad
+
+0.2.3 (2025-02-27)
+------------------
+* Fixed the Gazebo Fortress Simulation + Separated the arm and gripper control for Gen3_Lite + Fixed bugs (`#252 `_)
+* Added a Moveit2 package for Gen3-Lite (`#231 `_)
+* Contributors: Abed Al Rahman Al Mrad
From 23d21663535330cb13b45a44aca85a884ca0c22c Mon Sep 17 00:00:00 2001
From: Abed Al Rahman Al Mrad
Date: Mon, 15 Dec 2025 18:34:45 -0500
Subject: [PATCH 35/42] 0.2.4
---
kortex_api/package.xml | 2 +-
kortex_bringup/package.xml | 2 +-
kortex_description/package.xml | 2 +-
kortex_driver/package.xml | 2 +-
.../kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml | 2 +-
.../kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml | 2 +-
kortex_moveit_config/kinova_gen3_lite_moveit_config/package.xml | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/kortex_api/package.xml b/kortex_api/package.xml
index bca4bd08..a4207df5 100644
--- a/kortex_api/package.xml
+++ b/kortex_api/package.xml
@@ -1,7 +1,7 @@
kortex_api
- 0.2.3
+ 0.2.4KINOVA KORTEX™ APIMarq Rasmussen
diff --git a/kortex_bringup/package.xml b/kortex_bringup/package.xml
index c1460ba7..0ee35602 100644
--- a/kortex_bringup/package.xml
+++ b/kortex_bringup/package.xml
@@ -2,7 +2,7 @@
kortex_bringup
- 0.2.3
+ 0.2.4Launch file and run-time configurations, e.g. controllers.Marq Rasmussen
diff --git a/kortex_description/package.xml b/kortex_description/package.xml
index 6a6a20b3..8bcfcb87 100644
--- a/kortex_description/package.xml
+++ b/kortex_description/package.xml
@@ -2,7 +2,7 @@
kortex_description
- 0.2.3
+ 0.2.4
URDF and xacro description package for KINOVA KORTEX™ robots
This package contains configuration data, 3D models and launch files
diff --git a/kortex_driver/package.xml b/kortex_driver/package.xml
index c77fb935..e3dfbb0b 100644
--- a/kortex_driver/package.xml
+++ b/kortex_driver/package.xml
@@ -2,7 +2,7 @@
kortex_driver
- 0.2.3
+ 0.2.4ROS2 driver package for the Kinova Robot Hardware.Alex MoriartyMartin Leroux
diff --git a/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml b/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml
index 89978b4f..04784a76 100644
--- a/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml
+++ b/kortex_moveit_config/kinova_gen3_6dof_robotiq_2f_85_moveit_config/package.xml
@@ -2,7 +2,7 @@
kinova_gen3_6dof_robotiq_2f_85_moveit_config
- 0.2.3
+ 0.2.4
An automatically generated package with all the configuration and launch files for using the gen3 with the MoveIt Motion Planning Framework
diff --git a/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml b/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml
index 630457b1..ced1e26a 100644
--- a/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml
+++ b/kortex_moveit_config/kinova_gen3_7dof_robotiq_2f_85_moveit_config/package.xml
@@ -2,7 +2,7 @@
kinova_gen3_7dof_robotiq_2f_85_moveit_config
- 0.2.3
+ 0.2.4
An automatically generated package with all the configuration and launch files for using the gen3 with the MoveIt Motion Planning Framework
diff --git a/kortex_moveit_config/kinova_gen3_lite_moveit_config/package.xml b/kortex_moveit_config/kinova_gen3_lite_moveit_config/package.xml
index 4a806840..8a0f61b8 100644
--- a/kortex_moveit_config/kinova_gen3_lite_moveit_config/package.xml
+++ b/kortex_moveit_config/kinova_gen3_lite_moveit_config/package.xml
@@ -2,7 +2,7 @@
kinova_gen3_lite_moveit_config
- 0.2.3
+ 0.2.4
An automatically generated package with all the configuration and launch files for using the gen3_lite with the MoveIt Motion Planning Framework
From 50681544cf74750b601b55e7e62271db3716aba3 Mon Sep 17 00:00:00 2001
From: aalmrad
Date: Mon, 5 Jan 2026 20:22:12 -0500
Subject: [PATCH 36/42] updated the kortex api fetching technique (#332)
---
kortex_api/CMakeLists.txt | 2 +-
kortex_api/linux_x86-64_x86_gcc.zip | Bin 0 -> 6898420 bytes
2 files changed, 1 insertion(+), 1 deletion(-)
create mode 100644 kortex_api/linux_x86-64_x86_gcc.zip
diff --git a/kortex_api/CMakeLists.txt b/kortex_api/CMakeLists.txt
index ddf42b71..4e0ebeb2 100644
--- a/kortex_api/CMakeLists.txt
+++ b/kortex_api/CMakeLists.txt
@@ -3,7 +3,7 @@ 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 ${CMAKE_CURRENT_SOURCE_DIR}/linux_x86-64_x86_gcc.zip
URL_HASH MD5=64bd86e7ab8bda90ef1fc7d6a356e080
)
diff --git a/kortex_api/linux_x86-64_x86_gcc.zip b/kortex_api/linux_x86-64_x86_gcc.zip
new file mode 100644
index 0000000000000000000000000000000000000000..6a9285a15b09105e93ac6cac23710da09a80ebce
GIT binary patch
literal 6898420
zcma%ibC732*5$8k+qP}nw(Y7en_aeTqsw-eZC7>Kwza*p-^MqyyEC!xkIWY@@5{KE
z5hwHJ&2toGKtNFe|MP*>{Gso8(90{v@cYi0Z&
zED-*w9}`UOw|I2qF6Bkz_7Y8R1&%d8dME)@c%0Eo#
zEr-;tY;c$mKW)FE69Vc*eq{gj8#Q9YDTA6)$_9~!6iywEJ*hd6*5)8O=yh*OTbb^l
zBN}`$WXt5Zo{Dao@4%%3A`!M?XluXR)P)No=zG-)=>0l`<11(o1k>75A=-MleZq~Z$QiCls}ebo%qn
ze*)2+^~KcQO94y{&Ik{AccZu~!cf!8PQqh9#ZyKe7l25ml5VN|_ISsh-=sDqPUWn5
zMsy@fWyNkWr>*wIa&-9HbgSrCO;;D