Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Experimental support for CRB 15000-12/1.27 #149

Merged
merged 6 commits into from
Sep 22, 2024
Merged
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 abb_crb15000_support/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ catkin_package()
if (CATKIN_ENABLE_TESTING)
find_package(roslaunch REQUIRED)
roslaunch_add_file_check(tests/roslaunch_test_crb15000_5_95.xml)
roslaunch_add_file_check(tests/roslaunch_test_crb15000_12_127.xml)
endif()

install(DIRECTORY config launch meshes urdf
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
controller_joint_names: ['joint_1', 'joint_2', 'joint_3', 'joint_4', 'joint_5', 'joint_6']
4 changes: 4 additions & 0 deletions abb_crb15000_support/launch/load_crb15000_12_127.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 --inorder '$(find abb_crb15000_support)/urdf/crb15000_12_127.xacro'" />
</launch>
7 changes: 7 additions & 0 deletions abb_crb15000_support/launch/test_crb15000_12_127.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" ?>
<launch>
<include file="$(find abb_crb15000_support)/launch/load_crb15000_12_127.launch"/>
<node name="joint_state_publisher_gui" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" />
<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.
14 changes: 9 additions & 5 deletions abb_crb15000_support/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,22 @@
<p>
This package contains configuration data, 3D models and launch files
for ABB GoFa CRB 15000 manipulators. This currently includes the
CRB 15000-5/0.95 variant only.
CRB 15000-5/0.95 and CRB 15000-12/1.27 variants.
</p>
<p>
Joint limits and max joint velocities are based on the information in the
<em>ABB CRB 15000 Datasheet</em>, document ID: <em>TODO, Feb 2021</em>.
<em>ABB CRB 15000 Datasheet</em>, document ID: <em>TODO, Feb 2021</em> for
the CRB 15000-5/0.95. For CRB 15000-12/1.27, they are based on the
information in <em>ABB CRB 15000 Product manual</em>, document ID:
<em>3HAC077389-001, Rev. P</em>.
All urdfs / xacros 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 1: this is an early conversion from CAD data downloaded from ABB's
library with geometry and kinematics partially based on the GoFa
datasheet.
Note 1: the CRB 15000-5/0.95 is an early conversion from CAD data
downloaded from ABB's library with geometry and kinematics partially
based on the GoFa datasheet.
There may be conversion errors and other deviations from the real robot.
</p>
<p>
Expand All @@ -37,6 +40,7 @@
</p>
</description>
<author>G.A. vd. Hoorn (TU Delft Robotics Institute)</author>
<author>Marco Palma (TU Vienna Institute of Art and Design)</author>
<maintainer email="g.a.vanderhoorn@tudelft.nl">G.A. vd. Hoorn (TU Delft Robotics Institute)</maintainer>
<license>Apache-2.0</license>

Expand Down
10 changes: 10 additions & 0 deletions abb_crb15000_support/tests/roslaunch_test_crb15000_12_127.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" ?>
<launch>
<group ns="load_crb15000_12_127__">
<include file="$(find abb_crb15000_support)/launch/load_crb15000_12_127.launch"/>
</group>

<group ns="test_crb15000_12_127__">
<include file="$(find abb_crb15000_support)/launch/test_crb15000_12_127.launch"/>
</group>
</launch>
6 changes: 6 additions & 0 deletions abb_crb15000_support/urdf/crb15000_12_127.xacro
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" ?>
<robot name="abb_crb15000_12_127" xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:include filename="$(find abb_crb15000_support)/urdf/crb15000_12_127_macro.xacro"/>
<xacro:abb_crb15000_12_127 prefix=""/>
</robot>

169 changes: 169 additions & 0 deletions abb_crb15000_support/urdf/crb15000_12_127_macro.xacro
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:include filename="$(find abb_resources)/urdf/common_materials.xacro"/>

<xacro:macro name="abb_crb15000_12_127" params="prefix">
<!-- link list -->
<link name="${prefix}base_link">
<collision>
<geometry>
<mesh filename="package://abb_crb15000_support/meshes/crb15000_12_127/collision/base_link.stl"/>
</geometry>
</collision>
<visual>
<geometry>
<mesh filename="package://abb_crb15000_support/meshes/crb15000_12_127/visual/base_link.stl"/>
</geometry>
<xacro:material_abb_dark_gray />
</visual>
</link>
<link name="${prefix}link_1">
<collision>
<geometry>
<mesh filename="package://abb_crb15000_support/meshes/crb15000_12_127/collision/link_1.stl"/>
</geometry>
</collision>
<visual>
<geometry>
<mesh filename="package://abb_crb15000_support/meshes/crb15000_12_127/visual/link_1.stl"/>
</geometry>
<xacro:material_abb_dark_gray />
</visual>
</link>
<link name="${prefix}link_2">
<collision>
<geometry>
<mesh filename="package://abb_crb15000_support/meshes/crb15000_12_127/collision/link_2.stl"/>
</geometry>
</collision>
<visual>
<geometry>
<mesh filename="package://abb_crb15000_support/meshes/crb15000_12_127/visual/link_2.stl"/>
</geometry>
<xacro:material_abb_dark_gray />
</visual>
</link>
<link name="${prefix}link_3">
<collision>
<geometry>
<mesh filename="package://abb_crb15000_support/meshes/crb15000_5_95/collision/link_3.stl"/>
</geometry>
</collision>
<visual>
<geometry>
<mesh filename="package://abb_crb15000_support/meshes/crb15000_5_95/visual/link_3.stl"/>
</geometry>
<xacro:material_abb_dark_gray />
</visual>
</link>
<link name="${prefix}link_4">
<collision>
<geometry>
<mesh filename="package://abb_crb15000_support/meshes/crb15000_12_127/collision/link_4.stl"/>
</geometry>
</collision>
<visual>
<geometry>
<mesh filename="package://abb_crb15000_support/meshes/crb15000_12_127/visual/link_4.stl"/>
</geometry>
<xacro:material_abb_graphite_white />
</visual>
</link>
<link name="${prefix}link_5">
<collision>
<geometry>
<mesh filename="package://abb_crb15000_support/meshes/crb15000_5_95/collision/link_5.stl"/>
</geometry>
</collision>
<visual>
<geometry>
<mesh filename="package://abb_crb15000_support/meshes/crb15000_5_95/visual/link_5.stl"/>
</geometry>
<xacro:material_abb_graphite_white />
</visual>
</link>
<link name="${prefix}link_6">
<collision>
<geometry>
<mesh filename="package://abb_crb15000_support/meshes/crb15000_5_95/collision/link_6.stl"/>
</geometry>
</collision>
<visual>
<geometry>
<mesh filename="package://abb_crb15000_support/meshes/crb15000_5_95/visual/link_6.stl"/>
</geometry>
<xacro:material_abb_gray_white />
</visual>
</link>
<!-- end of link list -->

<!-- joint list -->
<joint type="revolute" name="${prefix}joint_1">
<origin xyz="0 0 0.338" rpy="0 0 0"/>
<axis xyz="0 0 1"/>
<parent link="${prefix}base_link"/>
<child link="${prefix}link_1"/>
<limit effort="0" lower="${radians(-270)}" upper="${radians(270)}" velocity="${radians(120)}"/>
</joint>
<joint type="revolute" name="${prefix}joint_2">
<origin xyz="0 0 0" rpy="0 0 0"/>
<axis xyz="0 1 0"/>
<parent link="${prefix}link_1"/>
<child link="${prefix}link_2"/>
<limit effort="0" lower="${radians(-180)}" upper="${radians(180)}" velocity="${radians(120)}"/>
</joint>
<joint type="revolute" name="${prefix}joint_3">
<origin xyz="0 0 0.707" rpy="0 0 0"/>
<axis xyz="0 1 0"/>
<parent link="${prefix}link_2"/>
<child link="${prefix}link_3"/>
<limit effort="0" lower="${radians(-225)}" upper="${radians(85)}" velocity="${radians(125)}"/>
</joint>
<joint type="revolute" name="${prefix}joint_4">
<origin xyz="0 0 0.110" rpy="0 0 0"/>
<axis xyz="1 0 0"/>
<parent link="${prefix}link_3"/>
<child link="${prefix}link_4"/>
<limit effort="0" lower="${radians(-180)}" upper="${radians(180)}" velocity="${radians(200)}"/>
</joint>
<joint type="revolute" name="${prefix}joint_5">
<origin xyz="0.534 0 0" rpy="0 0 0"/>
<axis xyz="0 1 0"/>
<parent link="${prefix}link_4"/>
<child link="${prefix}link_5"/>
<limit effort="0" lower="${radians(-180)}" upper="${radians(180)}" velocity="${radians(200)}"/>
</joint>
<joint type="revolute" name="${prefix}joint_6">
<origin xyz="0.101 0 0.080" rpy="0 0 0"/>
<axis xyz="1 0 0"/>
<parent link="${prefix}link_5"/>
<child link="${prefix}link_6"/>
<limit effort="0" lower="${radians(-270)}" upper="${radians(270)}" velocity="${radians(200)}"/>
</joint>
<!-- end of joint list -->

<!-- ROS-Industrial 'base' frame: base_link to ABB World Coordinates 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>

<!-- ROS-Industrial 'flange' frame: attachment point for EEF models -->
<link name="${prefix}flange"/>
<joint type="fixed" name="${prefix}joint_6-flange">
<origin xyz="0 0 0" rpy="0 0 0"/>
<parent link="${prefix}link_6"/>
<child link="${prefix}flange"/>
</joint>

<!-- ROS-Industrial 'tool0' frame: all-zeros tool frame -->
<link name="${prefix}tool0" />
<joint name="${prefix}flange-tool0" type="fixed">
<origin xyz="0 0 0" rpy="0 ${radians(90)} 0" />
<parent link="${prefix}flange" />
<child link="${prefix}tool0" />
</joint>
</xacro:macro>
</robot>
Loading