Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions kuka_kr6_support/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ if (CATKIN_ENABLE_TESTING)
roslaunch_add_file_check(test/roslaunch_test_kr6r700sixx.xml)
roslaunch_add_file_check(test/roslaunch_test_kr6r900sixx.xml)
roslaunch_add_file_check(test/roslaunch_test_kr6r900_2.xml)
roslaunch_add_file_check(test/roslaunch_test_kr6r1820.xml)
endif()

install(DIRECTORY config launch meshes urdf
Expand Down
1 change: 1 addition & 0 deletions kuka_kr6_support/config/joint_names_kr6r1820.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
controller_joint_names: ['joint_a1', 'joint_a2', 'joint_a3', 'joint_a4', 'joint_a5', 'joint_a6']
2 changes: 1 addition & 1 deletion kuka_kr6_support/config/opw_kinematics_kr6r700sixx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@ opw_kinematics_geometric_parameters:
c2: 0.315
c3: 0.365
c4: 0.080
opw_kinematics_joint_offsets: [0.0, -1.57079632679, 0, 0, 0, 0]
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]
21 changes: 21 additions & 0 deletions kuka_kr6_support/config/opw_parameters_kr6r1820.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#
# 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.150
a2: -0.02
b: 0.000
c1: 0.450
c2: 0.810
c3: 0.860
c4: 0.080
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]

4 changes: 4 additions & 0 deletions kuka_kr6_support/launch/load_kr6r1820.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0"?>
<launch>
<param name="robot_description" command="$(find xacro)/xacro '$(find kuka_kr6_support)/urdf/kr6_r1820.xacro'"/>
</launch>
9 changes: 9 additions & 0 deletions kuka_kr6_support/launch/test_kr6r1820.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<launch>
<include file="$(find kuka_kr6_support)/launch/load_kr6r1820.launch" />
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
<param name="use_gui" value="true" />
</node>
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher"/>
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find industrial_robot_client)/config/robot_state_visualize.rviz" required="true" />
</launch>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
23 changes: 19 additions & 4 deletions kuka_kr6_support/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,35 +9,50 @@
<p>
This package contains configuration data, 3D models and launch files
for KUKA KR 6 manipulators. This currently includes the R700 sixx,
the R900 sixx and the R900-2.
the R900 sixx, the R900-2 and the R1820.
</p>
<p><b>Specifications</b>:</p>
<ul>
<li>KR 6 R700 sixx - Default</li>
<li>KR 6 R900 sixx - Default</li>
<li>KR 6 R900-2 - Default</li>
<li>KR 6 R1820 - Default</li>
</ul>
<p>
Joint limits and maximum joint velocities for sixx models are based on the information
in the <em>KUKA Roboter GmbH - KR AGILUS sixx - With W and C Variants -
Specification</em> version <em>Spez KR AGILUS sixx V12, 26.03.2015</em>.
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).
</p>
<p>
Joint limits and maximum joint velocities for R900-2 are based on the information
in the <em>KUKA Deutschland GmbH - Robots KR AGILUS-2 Specification</em> version <em>V4, 26.02.2019</em>.
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).
</p>
<p>
Note: the KR6 R900-2 urdf reuses meshes from the <em>kuka_kr10_support</em> package because of their identical appearance.
</p>
<p>
Joint limits and maximum joint velocities for R1820 are based on the information
in the <em>KUKA Roboter GmbH - KR 6 R1820 data sheet</em> version <em>V51.1, 28.01.2021</em>.
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).
</p>
<p>
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.
</p>
<p>
Note: the KR6 R900-2 urdf reuses meshes from the <em>kuka_kr10_support</em> package because of their identical appearance.
</p>
</description>
<author>G.A. vd. Hoorn (TU Delft Robotics Institute)</author>
<author>Brett Hemes (3M)</author>
<author email="timo.birnkraut@optonic.com">Timo Birnkraut (Optonic GmbH)</author>
<author email="christian.juelg@optonic.com">Christian Juelg (Optonic GmbH)</author>
<maintainer email="g.a.vanderhoorn@tudelft.nl">G.A. vd. Hoorn (TU Delft Robotics Institute)</maintainer>
<license>BSD</license>

Expand Down
9 changes: 9 additions & 0 deletions kuka_kr6_support/test/roslaunch_test_kr6r1820.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<launch>
<group ns="load_kr6r1820__">
<include file="$(find kuka_kr6_support)/launch/load_kr6r1820.launch"/>
</group>

<group ns="test_kr6r1820__">
<include file="$(find kuka_kr6_support)/launch/test_kr6r1820.launch"/>
</group>
</launch>
6 changes: 6 additions & 0 deletions kuka_kr6_support/urdf/kr6_r1820.xacro
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" ?>

<robot name="kuka_kr6_r1820" xmlns:xacro="http://wiki.ros.org/xacro">
<xacro:include filename="$(find kuka_kr6_support)/urdf/kr6_r1820_macro.xacro"/>
<xacro:kuka_kr6_r1820 prefix=""/>
</robot>
179 changes: 179 additions & 0 deletions kuka_kr6_support/urdf/kr6_r1820_macro.xacro
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://wiki.ros.org/xacro">

<xacro:macro name="kuka_kr6_r1820" params="prefix">
<xacro:include filename="$(find kuka_resources)/urdf/common_materials.xacro"/>
<link name="${prefix}base_link">
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://kuka_kr6_support/meshes/kr6r1820/visual/base_link.stl" />
</geometry>
<xacro:material_kuka_pedestal />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://kuka_kr6_support/meshes/kr6r1820/collision/base_link.stl" />
</geometry>
</collision>
</link>
<link name="${prefix}link_1">
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://kuka_kr6_support/meshes/kr6r1820/visual/link_1.stl" />
</geometry>
<xacro:material_kuka_orange />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://kuka_kr6_support/meshes/kr6r1820/collision/link_1.stl" />
</geometry>
</collision>
</link>
<link name="${prefix}link_2">
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://kuka_kr6_support/meshes/kr6r1820/visual/link_2.stl" />
</geometry>
<xacro:material_kuka_orange />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://kuka_kr6_support/meshes/kr6r1820/collision/link_2.stl" />
</geometry>
</collision>
</link>
<link name="${prefix}link_3">
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://kuka_kr6_support/meshes/kr6r1820/visual/link_3.stl" />
</geometry>
<xacro:material_kuka_orange />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://kuka_kr6_support/meshes/kr6r1820/collision/link_3.stl" />
</geometry>
</collision>
</link>
<link name="${prefix}link_4">
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://kuka_kr6_support/meshes/kr6r1820/visual/link_4.stl" />
</geometry>
<xacro:material_kuka_orange />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://kuka_kr6_support/meshes/kr6r1820/collision/link_4.stl" />
</geometry>
</collision>
</link>
<link name="${prefix}link_5">
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://kuka_kr6_support/meshes/kr6r1820/visual/link_5.stl" />
</geometry>
<xacro:material_kuka_orange />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://kuka_kr6_support/meshes/kr6r1820/collision/link_5.stl" />
</geometry>
</collision>
</link>
<link name="${prefix}link_6">
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://kuka_kr6_support/meshes/kr6r1820/visual/link_6.stl" />
</geometry>
<xacro:material_kuka_pedestal />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://kuka_kr6_support/meshes/kr6r1820/collision/link_6.stl" />
</geometry>
</collision>
</link>
<!-- This frame corresponds to the $FLANGE coordinate system in KUKA KRC controllers. -->
<link name="${prefix}tool0" />

<!-- JOINTS -->
<!-- joint 1 (A1) -->
<joint name="${prefix}joint_a1" type="revolute">
<origin xyz="0 0 0.450" rpy="0 0 0"/>
<parent link="${prefix}base_link"/>
<child link="${prefix}link_1"/>
<axis xyz="0 0 -1"/>
<limit effort="0" lower="${radians(-170)}" upper="${radians(170)}" velocity="${radians(220)}"/>
</joint>
<!-- joint 2 (A2) -->
<joint name="${prefix}joint_a2" type="revolute">
<origin xyz="0.150 0 0" rpy="0 0 0"/>
<parent link="${prefix}link_1"/>
<child link="${prefix}link_2"/>
<axis xyz="0 1 0"/>
<limit effort="0" lower="${radians(-185)}" upper="${radians(65)}" velocity="${radians(210)}"/>
</joint>
<!-- joint 3 (A3) -->
<joint name="${prefix}joint_a3" type="revolute">
<origin xyz="0.810 0 0.0" rpy="0 0 0"/>
<parent link="${prefix}link_2"/>
<child link="${prefix}link_3"/>
<axis xyz="0 1 0"/>
<limit effort="0" lower="${radians(-137)}" upper="${radians(163)}" velocity="${radians(270)}"/>
</joint>
<!-- joint 4 (A4) -->
<joint name="${prefix}joint_a4" type="revolute">
<origin xyz="0.0 0 0.02" rpy="0 0 0"/>
<parent link="${prefix}link_3"/>
<child link="${prefix}link_4"/>
<axis xyz="-1 0 0"/>
<limit effort="0" lower="${radians(-185)}" upper="${radians(185)}" velocity="${radians(381)}"/>
</joint>
<!-- joint 5 (A5) -->
<joint name="${prefix}joint_a5" type="revolute">
<origin xyz="0.860 0 0" rpy="0 0 0"/>
<parent link="${prefix}link_4"/>
<child link="${prefix}link_5"/>
<axis xyz="0 1 0"/>
<limit effort="0" lower="${radians(-120)}" upper="${radians(120)}" velocity="${radians(311)}"/>
</joint>
<!-- joint 6 (A6) -->
<joint name="${prefix}joint_a6" type="revolute">
<origin xyz="0.080 0 0" rpy="0 0 0"/>
<parent link="${prefix}link_5"/>
<child link="${prefix}link_6"/>
<axis xyz="-1 0 0"/>
<limit effort="0" lower="${radians(-350)}" upper="${radians(350)}" velocity="${radians(492)}"/>
</joint>
<!-- tool frame - fixed frame -->
<joint name="${prefix}joint_a6-tool0" type="fixed">
<parent link="${prefix}link_6"/>
<child link="${prefix}tool0"/>
<origin xyz="0.0 0 0" rpy="0 ${radians(90)} 0"/>
</joint>
<!-- END JOINTS -->

<!-- ROS base_link to KUKA $ROBROOT coordinate system transform -->
<link name="${prefix}base" />
<joint name="${prefix}base_link-base" type="fixed">
<origin xyz="0 0 0" rpy="0 0 0"/>
<parent link="${prefix}base_link"/>
<child link="${prefix}base"/>
</joint>
</xacro:macro>
</robot>
3 changes: 1 addition & 2 deletions kuka_kr6_support/urdf/kr6r700sixx_macro.xacro
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://wiki.ros.org/xacro">
<xacro:include filename="$(find kuka_resources)/urdf/common_constants.xacro"/>
<xacro:include filename="$(find kuka_resources)/urdf/common_materials.xacro"/>

<xacro:macro name="kuka_kr6r700sixx" params="prefix">
<xacro:include filename="$(find kuka_resources)/urdf/common_materials.xacro"/>
<link name="${prefix}base_link">
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
Expand Down
3 changes: 1 addition & 2 deletions kuka_kr6_support/urdf/kr6r900sixx_macro.xacro
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://wiki.ros.org/xacro">
<xacro:include filename="$(find kuka_resources)/urdf/common_constants.xacro"/>
<xacro:include filename="$(find kuka_resources)/urdf/common_materials.xacro"/>

<xacro:macro name="kuka_kr6r900sixx" params="prefix">
<xacro:include filename="$(find kuka_resources)/urdf/common_materials.xacro"/>
<link name="${prefix}base_link">
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
Expand Down