Skip to content

Commit

Permalink
Initial commit of KUKA KR120 support package
Browse files Browse the repository at this point in the history
Added support for the KUKA KR120 R2500 PRO manipulator
Meshes are based on the Unigraphics files found at http://www.kuka-robotics.com/res/sps/8ba89f50-3ccd-4361-9b9a-60bdd0662ac6_KR120_R2500_pro.prt.zip
Note that the rotation directions of the KUKA manipulators are different than e.g. the ABB manipulator. For joint 1 this is implemented using <axis xyz="0 0 -1"/>.

Fixed face normals in collision meshes

Removed build dependency on roslaunch
Added run dependency on xacro
Updated package.xml to specify the supported variant

Added base link that corresponds to $ROBROOT coordinate system in the
KRC controllers.
Added comment that tool0 corresponds to the $FLANGE coordinate system.

Move joint origins to reflect the parameters used by KUKA in the KRC4
controller

Updated urdf and meshes s.t. the kinematics correspond to the kinematics
on the KRC controller.

Renamed joints to A1, A2, ...

Renamed joints to joint_a1, joint_a2, ...

Updated urdf from xacro
  • Loading branch information
tingelst committed Nov 17, 2014
1 parent b93a939 commit 30c1c80
Show file tree
Hide file tree
Showing 21 changed files with 1,550 additions and 0 deletions.
7 changes: 7 additions & 0 deletions kuka_kr120_support/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 2.8.3)

project(kuka_kr120_support)

find_package(catkin REQUIRED)

catkin_package()
5 changes: 5 additions & 0 deletions kuka_kr120_support/launch/load_kr120r2500pro.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0"?>
<launch>
<!-- Load robot description to parameter server -->
<param name="robot_description" command="$(find xacro)/xacro.py '$(find kuka_kr120_support)/urdf/kr120r2500pro.xacro'"/>
</launch>
8 changes: 8 additions & 0 deletions kuka_kr120_support/launch/test_kr120r2500pro.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<launch>
<include file="$(find kuka_kr120_support)/launch/load_kr120r2500pro.launch" />
<param name="use_gui" value="true" />
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher"/>
<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.
144 changes: 144 additions & 0 deletions kuka_kr120_support/meshes/kr120r2500pro/visual/base_link.dae

Large diffs are not rendered by default.

215 changes: 215 additions & 0 deletions kuka_kr120_support/meshes/kr120r2500pro/visual/link_1.dae

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions kuka_kr120_support/meshes/kr120r2500pro/visual/link_2.dae

Large diffs are not rendered by default.

301 changes: 301 additions & 0 deletions kuka_kr120_support/meshes/kr120r2500pro/visual/link_3.dae

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions kuka_kr120_support/meshes/kr120r2500pro/visual/link_4.dae

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions kuka_kr120_support/meshes/kr120r2500pro/visual/link_5.dae

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions kuka_kr120_support/meshes/kr120r2500pro/visual/link_6.dae

Large diffs are not rendered by default.

47 changes: 47 additions & 0 deletions kuka_kr120_support/package.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?xml version="1.0"?>
<package>
<name>kuka_kr120_support</name>
<version>0.0.1</version>
<description>
<p>
ROS-Industrial support for the KUKA KR 120 R2500 PRO (KR QUANTEC PRO)
manipulator.
</p>
<p>
This package contains configuration data, 3D models and launch files
for the KUKA KR 120 R2500 PRO (KR QUANTEC PRO).
</p>
<p>
<b>Specifications</b>
</p>
<ul>
<li>KR 120 R2500 PRO - Default</li>
</ul>
<p>
Joint limits and maximum joint velocities are based on the information
found in the online
http://www.kuka-robotics.com/res/sps/e6c77545-9030-49b1-93f5-4d17c92173aa_Spez_KR_QUANTEC_pro_en.pdf
All urdfs are based on the default motion and joint velocity limits,
unless noted otherwise.
</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>
</description>
<author>Lars Tingelstad</author>
<maintainer email="lars.tingelstad@ntnu.no"/>
<license>BSD</license>
<url type="website">http://ros.org/wiki/kuka_kr120_support</url>
<url type="bugtracker">https://github.com/ros-industrial/kuka_experimental/issues</url>
<url type="repository">https://github.com/ros-industrial/kuka_experimental</url>
<buildtool_depend>catkin</buildtool_depend>
<run_depend>robot_state_publisher</run_depend>
<run_depend>rviz</run_depend>
<run_depend>joint_state_publisher</run_depend>
<run_depend>xacro</run_depend>
<export>
<architecture_independent/>
</export>
</package>
196 changes: 196 additions & 0 deletions kuka_kr120_support/urdf/kr120r2500pro.urdf
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
<?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- | This document was autogenerated by xacro from kr120r2500pro.xacro | -->
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
<!-- =================================================================================== -->
<!--Generates a urdf from the macro in kr120r2500pro_macro.xacro -->
<robot name="kuka_kr120r2500pro" xmlns:xacro="http://www.ros.org/wiki/xacro">
<link name="base_link">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="2"/>
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr120_support/meshes/kr120r2500pro/visual/base_link.dae"/>
</geometry>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr120_support/meshes/kr120r2500pro/collision/base_link.stl"/>
</geometry>
</collision>
</link>
<link name="link_1">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="2"/>
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr120_support/meshes/kr120r2500pro/visual/link_1.dae"/>
</geometry>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr120_support/meshes/kr120r2500pro/collision/link_1.stl"/>
</geometry>
</collision>
</link>
<link name="link_2">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="2"/>
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr120_support/meshes/kr120r2500pro/visual/link_2.dae"/>
</geometry>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr120_support/meshes/kr120r2500pro/collision/link_2.stl"/>
</geometry>
</collision>
</link>
<link name="link_3">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="2"/>
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr120_support/meshes/kr120r2500pro/visual/link_3.dae"/>
</geometry>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr120_support/meshes/kr120r2500pro/collision/link_3.stl"/>
</geometry>
</collision>
</link>
<link name="link_4">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="2"/>
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr120_support/meshes/kr120r2500pro/visual/link_4.dae"/>
</geometry>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr120_support/meshes/kr120r2500pro/collision/link_4.stl"/>
</geometry>
</collision>
</link>
<link name="link_5">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="2"/>
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr120_support/meshes/kr120r2500pro/visual/link_5.dae"/>
</geometry>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr120_support/meshes/kr120r2500pro/collision/link_5.stl"/>
</geometry>
</collision>
</link>
<link name="link_6">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="2"/>
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr120_support/meshes/kr120r2500pro/visual/link_6.dae"/>
</geometry>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr120_support/meshes/kr120r2500pro/collision/link_6.stl"/>
</geometry>
</collision>
</link>
<link name="tool0"/>
<joint name="joint_a1" type="revolute">
<origin rpy="0 0 0" xyz="0 0 0.675"/>
<parent link="base_link"/>
<child link="link_1"/>
<axis xyz="0 0 -1"/>
<limit effort="0" lower="-3.22885911619" upper="3.22885911619" velocity="2.72271363311"/>
</joint>
<joint name="joint_a2" type="revolute">
<origin rpy="0 0 0" xyz="0.35 0 0"/>
<parent link="link_1"/>
<child link="link_2"/>
<axis xyz="0 1 0"/>
<limit effort="0" lower="-2.70526034059" upper="0.610865238198" velocity="2.72271363311"/>
</joint>
<joint name="joint_a3" type="revolute">
<origin rpy="0 0 0" xyz="1.150 0 0"/>
<parent link="link_2"/>
<child link="link_3"/>
<axis xyz="0 1 0"/>
<limit effort="0" lower="-2.26892802759" upper="2.68780704807" velocity="2.72271363311"/>
</joint>
<joint name="joint_a4" type="revolute">
<origin rpy="0 0 0" xyz="1.0 0 -0.041"/>
<parent link="link_3"/>
<child link="link_4"/>
<axis xyz="-1 0 0"/>
<limit effort="0" lower="-6.10865238198" upper="6.10865238198" velocity="5.75958653158"/>
</joint>
<joint name="joint_a5" type="revolute">
<origin rpy="0 0 0" xyz="0 0 0"/>
<parent link="link_4"/>
<child link="link_5"/>
<axis xyz="0 1 0"/>
<limit effort="0" lower="-2.26892802759" upper="2.26892802759" velocity="5.75958653158"/>
</joint>
<joint name="joint_a6" type="revolute">
<origin rpy="0 0 0" xyz="0 0 0"/>
<parent link="link_5"/>
<child link="link_6"/>
<axis xyz="-1 0 0"/>
<limit effort="0" lower="-6.10865238198" upper="6.10865238198" velocity="10.7337748998"/>
</joint>
<joint name="joint_a6-tool0" type="fixed">
<parent link="link_6"/>
<child link="tool0"/>
<origin rpy="0 1.57079632679 0" xyz="0.215 0 0"/>
</joint>
<link name="base"/>
<joint name="base_link-base" type="fixed">
<origin rpy="0 0 0" xyz="0 0 0"/>
<parent link="base_link"/>
<child link="base"/>
</joint>
</robot>

6 changes: 6 additions & 0 deletions kuka_kr120_support/urdf/kr120r2500pro.xacro
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0"?>
<!--Generates a urdf from the macro in kr120r2500pro_macro.xacro -->
<robot name="kuka_kr120r2500pro" xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:include filename="$(find kuka_kr120_support)/urdf/kr120r2500pro_macro.xacro" />
<xacro:kuka_kr120r2500pro prefix=""/>
</robot>
Loading

0 comments on commit 30c1c80

Please sign in to comment.