diff --git a/kuka_kr4_support/CMakeLists.txt b/kuka_kr4_support/CMakeLists.txt new file mode 100644 index 000000000..c71940962 --- /dev/null +++ b/kuka_kr4_support/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.0.2) + +project(kuka_kr4_support) + +find_package(catkin REQUIRED) + +catkin_package() + +if (CATKIN_ENABLE_TESTING) + find_package(roslaunch REQUIRED) + roslaunch_add_file_check(test/roslaunch_test_kr4r600.xml) +endif() + +install(DIRECTORY config launch meshes urdf + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) diff --git a/kuka_kr4_support/config/joint_names_kr4r600.yaml b/kuka_kr4_support/config/joint_names_kr4r600.yaml new file mode 100644 index 000000000..1a23ced85 --- /dev/null +++ b/kuka_kr4_support/config/joint_names_kr4r600.yaml @@ -0,0 +1 @@ +controller_joint_names: ['joint_a1', 'joint_a2', 'joint_a3', 'joint_a4', 'joint_a5', 'joint_a6'] diff --git a/kuka_kr4_support/config/opw_parameters_kr4r600.yaml b/kuka_kr4_support/config/opw_parameters_kr4r600.yaml new file mode 100644 index 000000000..b479d412b --- /dev/null +++ b/kuka_kr4_support/config/opw_parameters_kr4r600.yaml @@ -0,0 +1,20 @@ +# +# Parameters for use with IK solvers which support OPW (Ortho-Parallel Wrist) +# kinematic configurations, as described in the paper "An Analytical Solution +# of the Inverse Kinematics Problem of Industrial Serial Manipulators with an +# Ortho-parallel Basis and a Spherical Wrist" by Mathias Brandstötter, Arthur +# Angerer, and Michael Hofbaur (Proceedings of the Austrian Robotics Workshop +# 2014, 22-23 May, 2014, Linz, Austria). +# +# The moveit_opw_kinematics_plugin package provides such a solver. +# +opw_kinematics_geometric_parameters: + a1: 0.0 + a2: -0.02 + b: 0.0 + c1: 0.33 + c2: 0.29 + c3: 0.31 + c4: 0.075 +opw_kinematics_joint_offsets: [0.0, deg(-90.0), 0.0, 0.0, 0.0, 0.0] +opw_kinematics_joint_sign_corrections: [-1, 1, 1, -1, 1, -1] diff --git a/kuka_kr4_support/launch/load_kr4r600.launch b/kuka_kr4_support/launch/load_kr4r600.launch new file mode 100644 index 000000000..47fd0acba --- /dev/null +++ b/kuka_kr4_support/launch/load_kr4r600.launch @@ -0,0 +1,4 @@ + + + + diff --git a/kuka_kr4_support/launch/test_kr4r600.launch b/kuka_kr4_support/launch/test_kr4r600.launch new file mode 100644 index 000000000..ba20ade6d --- /dev/null +++ b/kuka_kr4_support/launch/test_kr4r600.launch @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/kuka_kr4_support/meshes/kr4r600/collision/base_link.stl b/kuka_kr4_support/meshes/kr4r600/collision/base_link.stl new file mode 100644 index 000000000..6db8054cd Binary files /dev/null and b/kuka_kr4_support/meshes/kr4r600/collision/base_link.stl differ diff --git a/kuka_kr4_support/meshes/kr4r600/collision/link_1.stl b/kuka_kr4_support/meshes/kr4r600/collision/link_1.stl new file mode 100644 index 000000000..e1ab55a5c Binary files /dev/null and b/kuka_kr4_support/meshes/kr4r600/collision/link_1.stl differ diff --git a/kuka_kr4_support/meshes/kr4r600/collision/link_2.stl b/kuka_kr4_support/meshes/kr4r600/collision/link_2.stl new file mode 100644 index 000000000..dbe1b7cca Binary files /dev/null and b/kuka_kr4_support/meshes/kr4r600/collision/link_2.stl differ diff --git a/kuka_kr4_support/meshes/kr4r600/collision/link_3.stl b/kuka_kr4_support/meshes/kr4r600/collision/link_3.stl new file mode 100644 index 000000000..31ba082e9 Binary files /dev/null and b/kuka_kr4_support/meshes/kr4r600/collision/link_3.stl differ diff --git a/kuka_kr4_support/meshes/kr4r600/collision/link_4.stl b/kuka_kr4_support/meshes/kr4r600/collision/link_4.stl new file mode 100644 index 000000000..30fbdf4a1 Binary files /dev/null and b/kuka_kr4_support/meshes/kr4r600/collision/link_4.stl differ diff --git a/kuka_kr4_support/meshes/kr4r600/collision/link_5.stl b/kuka_kr4_support/meshes/kr4r600/collision/link_5.stl new file mode 100644 index 000000000..bfa00bd28 Binary files /dev/null and b/kuka_kr4_support/meshes/kr4r600/collision/link_5.stl differ diff --git a/kuka_kr4_support/meshes/kr4r600/collision/link_6.stl b/kuka_kr4_support/meshes/kr4r600/collision/link_6.stl new file mode 100644 index 000000000..064fd65a1 Binary files /dev/null and b/kuka_kr4_support/meshes/kr4r600/collision/link_6.stl differ diff --git a/kuka_kr4_support/meshes/kr4r600/visual/base_link.stl b/kuka_kr4_support/meshes/kr4r600/visual/base_link.stl new file mode 100644 index 000000000..7ebd9c62a Binary files /dev/null and b/kuka_kr4_support/meshes/kr4r600/visual/base_link.stl differ diff --git a/kuka_kr4_support/meshes/kr4r600/visual/link_1.stl b/kuka_kr4_support/meshes/kr4r600/visual/link_1.stl new file mode 100644 index 000000000..b33791990 Binary files /dev/null and b/kuka_kr4_support/meshes/kr4r600/visual/link_1.stl differ diff --git a/kuka_kr4_support/meshes/kr4r600/visual/link_2.stl b/kuka_kr4_support/meshes/kr4r600/visual/link_2.stl new file mode 100644 index 000000000..b872da415 Binary files /dev/null and b/kuka_kr4_support/meshes/kr4r600/visual/link_2.stl differ diff --git a/kuka_kr4_support/meshes/kr4r600/visual/link_3.stl b/kuka_kr4_support/meshes/kr4r600/visual/link_3.stl new file mode 100644 index 000000000..6f0ce6bcc Binary files /dev/null and b/kuka_kr4_support/meshes/kr4r600/visual/link_3.stl differ diff --git a/kuka_kr4_support/meshes/kr4r600/visual/link_4.stl b/kuka_kr4_support/meshes/kr4r600/visual/link_4.stl new file mode 100644 index 000000000..185261e51 Binary files /dev/null and b/kuka_kr4_support/meshes/kr4r600/visual/link_4.stl differ diff --git a/kuka_kr4_support/meshes/kr4r600/visual/link_5.stl b/kuka_kr4_support/meshes/kr4r600/visual/link_5.stl new file mode 100644 index 000000000..846cd8b66 Binary files /dev/null and b/kuka_kr4_support/meshes/kr4r600/visual/link_5.stl differ diff --git a/kuka_kr4_support/meshes/kr4r600/visual/link_6.stl b/kuka_kr4_support/meshes/kr4r600/visual/link_6.stl new file mode 100644 index 000000000..d2b105524 Binary files /dev/null and b/kuka_kr4_support/meshes/kr4r600/visual/link_6.stl differ diff --git a/kuka_kr4_support/package.xml b/kuka_kr4_support/package.xml new file mode 100644 index 000000000..e44ee8e78 --- /dev/null +++ b/kuka_kr4_support/package.xml @@ -0,0 +1,54 @@ + + + kuka_kr4_support + 0.1.0 + +

+ ROS-Industrial support for the KUKA KR 4 (and variants). +

+

+ This package contains configuration data, 3D models and launch files + for the KUKA KR 4 manipulators. This currently includes the R600 only. +

+

Specifications:

+ +

+ Joint limits and maximum joint velocities are based on the information + in the KUKA Roboter GmbH - KR 3 AGILUS Specification version + Datasheet KR 4 R600 V13.1, 19.03.2021. + All urdfs are based on the default motion and joint velocity limits, + unless noted otherwise (ie: no support for high speed joints, + extended / limited motion ranges or other options). +

+

+ Before using any of the configuration files and / or meshes included + in this package, be sure to check they are correct for the particular + robot model and configuration you intend to use them with. +

+
+ Simon Schmeisser (Optonic GmbH) + Simon Schmeisser (Optonic GmbH) + G.A. vd. Hoorn (TU Delft Robotics Institute) + BSD + + http://wiki.ros.org/kuka_kr4_support + https://github.com/ros-industrial/kuka_experimental/issues + https://github.com/ros-industrial/kuka_experimental + + catkin + + roslaunch + + industrial_robot_client + joint_state_publisher + kuka_resources + robot_state_publisher + rviz + xacro + + + + +
diff --git a/kuka_kr4_support/test/roslaunch_test_kr4r600.xml b/kuka_kr4_support/test/roslaunch_test_kr4r600.xml new file mode 100644 index 000000000..a122c5b27 --- /dev/null +++ b/kuka_kr4_support/test/roslaunch_test_kr4r600.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/kuka_kr4_support/urdf/kr4r600.xacro b/kuka_kr4_support/urdf/kr4r600.xacro new file mode 100644 index 000000000..afd77391b --- /dev/null +++ b/kuka_kr4_support/urdf/kr4r600.xacro @@ -0,0 +1,5 @@ + + + + + diff --git a/kuka_kr4_support/urdf/kr4r600_macro.xacro b/kuka_kr4_support/urdf/kr4r600_macro.xacro new file mode 100644 index 000000000..947929aa9 --- /dev/null +++ b/kuka_kr4_support/urdf/kr4r600_macro.xacro @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +