Skip to content

Commit

Permalink
Add experimental support for KR150-2 (#99)
Browse files Browse the repository at this point in the history
Commits squashed:

* Added support for KR150-2
* kr150: package manifest fixes.
* Replaced invalid link to datasheet with reference to KUKA website.
* moved joint_a6-tool0 translation to joint_a5-joint_a6
* Note document nr of datasheet used.
* Decimate meshes a bit more.
  • Loading branch information
hartmanndennis authored and gavanderhoorn committed Mar 4, 2018
1 parent a46d2e4 commit f846042
Show file tree
Hide file tree
Showing 22 changed files with 2,411 additions and 0 deletions.
15 changes: 15 additions & 0 deletions kuka_kr150_support/CMakeLists.txt
@@ -0,0 +1,15 @@
cmake_minimum_required(VERSION 2.8.3)

project(kuka_kr150_support)

find_package(catkin REQUIRED)

catkin_package()

if (CATKIN_ENABLE_TESTING)
find_package(roslaunch REQUIRED)
roslaunch_add_file_check(test/roslaunch_test.xml)
endif()

install(DIRECTORY config launch meshes urdf
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
1 change: 1 addition & 0 deletions kuka_kr150_support/config/joint_names_kr150.yaml
@@ -0,0 +1 @@
controller_joint_names: ['joint_a1', 'joint_a2', 'joint_a3', 'joint_a4', 'joint_a5', 'joint_a6']
5 changes: 5 additions & 0 deletions kuka_kr150_support/launch/load_kr150_2.launch
@@ -0,0 +1,5 @@
<?xml version="1.0"?>
<launch>
<!-- Load robot description to parameter server -->
<param name="robot_description" command="$(find xacro)/xacro --inorder '$(find kuka_kr150_support)/urdf/kr150_2.xacro'"/>
</launch>
9 changes: 9 additions & 0 deletions kuka_kr150_support/launch/test_kr150_2.launch
@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<launch>
<include file="$(find kuka_kr150_support)/launch/load_kr150_2.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.
102 changes: 102 additions & 0 deletions kuka_kr150_support/meshes/kr150_2/visual/base_link.dae

Large diffs are not rendered by default.

645 changes: 645 additions & 0 deletions kuka_kr150_support/meshes/kr150_2/visual/link_1.dae

Large diffs are not rendered by default.

106 changes: 106 additions & 0 deletions kuka_kr150_support/meshes/kr150_2/visual/link_2.dae

Large diffs are not rendered by default.

571 changes: 571 additions & 0 deletions kuka_kr150_support/meshes/kr150_2/visual/link_3.dae

Large diffs are not rendered by default.

497 changes: 497 additions & 0 deletions kuka_kr150_support/meshes/kr150_2/visual/link_4.dae

Large diffs are not rendered by default.

106 changes: 106 additions & 0 deletions kuka_kr150_support/meshes/kr150_2/visual/link_5.dae

Large diffs are not rendered by default.

106 changes: 106 additions & 0 deletions kuka_kr150_support/meshes/kr150_2/visual/link_6.dae

Large diffs are not rendered by default.

52 changes: 52 additions & 0 deletions kuka_kr150_support/package.xml
@@ -0,0 +1,52 @@
<?xml version="1.0"?>
<package format="2">
<name>kuka_kr150_support</name>
<version>0.1.0</version>
<description>
<p>
ROS-Industrial support for the KUKA KR 150 (and variants).
</p>
<p>
This package contains configuration data, 3D models and launch files
for KUKA KR 150 manipulators. This currently includes the -2 variant
only.
</p>
<p><b>Specifications</b>:</p>
<ul>
<li>KR 150-2 - Default</li>
</ul>
<p>
Joint limits and maximum joint velocities are based on the information
found in <em>Series 2000 KR 150-2</em>, version <em>PF0020/E/1/0709</em>.
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>Dennis Hartmann</author>
<maintainer email="dennis.hartmann@kit.edu">Dennis Hartmann (KIT, IAR-IPR)</maintainer>
<maintainer email="g.a.vanderhoorn@tudelft.nl">G.A. vd. Hoorn (TU Delft Robotics Institute)</maintainer>
<license>BSD</license>

<url type="website">http://wiki.ros.org/kuka_kr150_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>

<test_depend>roslaunch</test_depend>

<exec_depend>industrial_robot_client</exec_depend>
<exec_depend>joint_state_publisher</exec_depend>
<exec_depend>robot_state_publisher</exec_depend>
<exec_depend>rviz</exec_depend>
<exec_depend>xacro</exec_depend>

<export>
<architecture_independent/>
</export>
</package>
9 changes: 9 additions & 0 deletions kuka_kr150_support/test/roslaunch_test.xml
@@ -0,0 +1,9 @@
<launch>
<group ns="load_kr150_2__">
<include file="$(find kuka_kr150_support)/launch/load_kr150_2.launch"/>
</group>

<group ns="test_kr150_2__">
<include file="$(find kuka_kr150_support)/launch/test_kr150_2.launch"/>
</group>
</launch>
5 changes: 5 additions & 0 deletions kuka_kr150_support/urdf/kr150_2.xacro
@@ -0,0 +1,5 @@
<?xml version="1.0"?>
<robot name="kuka_kr150_2" xmlns:xacro="http://wiki.ros.org/xacro">
<xacro:include filename="$(find kuka_kr150_support)/urdf/kr150_2_macro.xacro" />
<xacro:kuka_kr150_2 prefix=""/>
</robot>
182 changes: 182 additions & 0 deletions kuka_kr150_support/urdf/kr150_2_macro.xacro
@@ -0,0 +1,182 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://wiki.ros.org/xacro">

<xacro:macro name="kuka_kr150_2" params="prefix">
<!-- LINKS -->
<!-- base link -->
<link name="${prefix}base_link">
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr150_support/meshes/kr150_2/visual/base_link.dae" />
</geometry>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr150_support/meshes/kr150_2/collision/base_link.stl" />
</geometry>
</collision>
</link>
<!-- link 1 (A1) -->
<link name="${prefix}link_1">
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr150_support/meshes/kr150_2/visual/link_1.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr150_support/meshes/kr150_2/collision/link_1.stl" />
</geometry>
</collision>
</link>
<!-- link 2 -->
<link name="${prefix}link_2">
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr150_support/meshes/kr150_2/visual/link_2.dae"/>
</geometry>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr150_support/meshes/kr150_2/collision/link_2.stl" />
</geometry>
</collision>
</link>
<!-- link 3 -->
<link name="${prefix}link_3">
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr150_support/meshes/kr150_2/visual/link_3.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr150_support/meshes/kr150_2/collision/link_3.stl" />
</geometry>
</collision>
</link>
<!-- link 4 -->
<link name="${prefix}link_4">
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr150_support/meshes/kr150_2/visual/link_4.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr150_support/meshes/kr150_2/collision/link_4.stl" />
</geometry>
</collision>
</link>
<!-- link 5 -->
<link name="${prefix}link_5">
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr150_support/meshes/kr150_2/visual/link_5.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr150_support/meshes/kr150_2/collision/link_5.stl" />
</geometry>
</collision>
</link>
<!-- link 6 -->
<link name="${prefix}link_6">
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr150_support/meshes/kr150_2/visual/link_6.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://kuka_kr150_support/meshes/kr150_2/collision/link_6.stl" />
</geometry>
</collision>
</link>
<!-- tool link -->
<!-- This frame corresponds to the $FLANGE coordinate system in KUKA KRC controllers. -->
<link name="${prefix}tool0"/>
<!-- END LINKS -->

<!-- JOINTS -->
<!-- joint 1 (A1) -->
<joint name="${prefix}joint_a1" type="revolute">
<origin xyz="0 0 0.75" rpy="0 0 0"/>
<parent link="${prefix}base_link"/>
<child link="${prefix}link_1"/>
<axis xyz="0 0 -1"/>
<limit effort="0" lower="${radians(-185)}" upper="${radians(185)}" velocity="${radians(110)}"/>
</joint>
<!-- joint 2 (A2) -->
<joint name="${prefix}joint_a2" type="revolute">
<origin xyz="0.35 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(-146)}" upper="${radians(0)}" velocity="${radians(110)}"/>
</joint>
<!-- joint 3 (A3) -->
<joint name="${prefix}joint_a3" type="revolute">
<origin xyz="1.25 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(-119)}" upper="${radians(155)}" velocity="${radians(100)}"/>
</joint>
<!-- joint 4 (A4) -->
<joint name="${prefix}joint_a4" type="revolute">
<origin xyz="0 0 -0.055" rpy="0 0 0"/>
<parent link="${prefix}link_3"/>
<child link="${prefix}link_4"/>
<axis xyz="-1 0 0"/>
<limit effort="0" lower="${radians(-350)}" upper="${radians(350)}" velocity="${radians(170)}"/>
</joint>
<!-- joint 5 (A5) -->
<joint name="${prefix}joint_a5" type="revolute">
<origin xyz="1.1 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(-125)}" upper="${radians(125)}" velocity="${radians(170)}"/>
</joint>
<!-- joint 6 (A6) -->
<joint name="${prefix}joint_a6" type="revolute">
<origin xyz="0.23 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(238)}"/>
</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" rpy="0 ${pi/2} 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>

0 comments on commit f846042

Please sign in to comment.