Skip to content

Commit

Permalink
Add ABB IRB 1600 8/1.45 variant (#136)
Browse files Browse the repository at this point in the history
Co-authored-by: gavanderhoorn <[email protected]>
  • Loading branch information
gonzalocasas and gavanderhoorn authored Aug 30, 2022
1 parent 6629b16 commit a5d70ca
Show file tree
Hide file tree
Showing 10 changed files with 253 additions and 0 deletions.
1 change: 1 addition & 0 deletions abb_irb1600_support/config/joint_names_irb1600_8_145.yaml
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']
3 changes: 3 additions & 0 deletions abb_irb1600_support/launch/load_irb1600_8_145.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<launch>
<param name="robot_description" command="$(find xacro)/xacro --inorder '$(find abb_irb1600_support)/urdf/irb1600_8_145.xacro'" />
</launch>
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<!--
Manipulator specific version of abb_driver's 'robot_interface.launch'.
Defaults provided for IRB 1600:
- J23_coupled = true
Usage:
robot_interface_download_irb1600.launch robot_ip:=<value>
-->
<launch>
<arg name="robot_ip" doc="IP of the controller" />
<arg name="J23_coupled" default="true" doc="If true, compensate for J2-J3 parallel linkage" />

<rosparam command="load" file="$(find abb_irb1600_support)/config/joint_names_irb1600_8_145.yaml" />

<include file="$(find abb_driver)/launch/robot_interface.launch">
<arg name="robot_ip" value="$(arg robot_ip)" />
<arg name="J23_coupled" value="$(arg J23_coupled)" />
</include>
</launch>
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<!--
Manipulator specific version of the state visualizer.
Defaults provided for IRB 2400:
- J23_coupled = true
Usage:
robot_state_visualize_irb2400.launch robot_ip:=<value>
-->
<launch>
<arg name="robot_ip" doc="IP of the controller" />
<arg name="J23_coupled" default="true" doc="If true, compensate for J2-J3 parallel linkage" />

<rosparam command="load" file="$(find abb_irb1600_support)/config/joint_names_irb1600_8_145.yaml" />

<include file="$(find abb_driver)/launch/robot_interface.launch">
<arg name="robot_ip" value="$(arg robot_ip)" />
<arg name="J23_coupled" value="$(arg J23_coupled)" />
</include>

<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
<include file="$(find abb_irb1600_support)/launch/load_irb1600_8_145.launch" />

<node name="rviz" pkg="rviz" type="rviz" args="-d $(find industrial_robot_client)/config/robot_state_visualize.rviz" required="true" />
</launch>
9 changes: 9 additions & 0 deletions abb_irb1600_support/launch/test_irb1600_8_145.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<launch>
<include file="$(find abb_irb1600_support)/launch/load_irb1600_8_145.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.
1 change: 1 addition & 0 deletions abb_irb1600_support/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
<test_depend>roslaunch</test_depend>

<exec_depend>abb_driver</exec_depend>
<exec_depend>abb_resources</exec_depend>
<exec_depend>joint_state_publisher</exec_depend>
<exec_depend>robot_state_publisher</exec_depend>
<exec_depend>rviz</exec_depend>
Expand Down
6 changes: 6 additions & 0 deletions abb_irb1600_support/urdf/irb1600_8_145.xacro
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" ?>
<robot name="abb_irb1600_8_145"
xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:include filename="$(find abb_irb1600_support)/urdf/irb1600_8_145_macro.xacro"/>
<xacro:abb_irb1600_8_145 prefix=""/>
</robot>
188 changes: 188 additions & 0 deletions abb_irb1600_support/urdf/irb1600_8_145_macro.xacro
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://ros.org/wiki/xacro" name="irb1600_8_145">
<xacro:macro name="abb_irb1600_8_145" params="prefix">
<xacro:include filename="$(find abb_resources)/urdf/common_materials.xacro"/>
<!-- link list -->
<link name="${prefix}base_link">
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://abb_irb1600_support/meshes/irb1600/visual/base_link.stl"/>
</geometry>
<xacro:material_abb_orange />
</visual>
<collision>
<geometry>
<mesh filename="package://abb_irb1600_support/meshes/irb1600/collision/base_link.stl"/>
</geometry>
<xacro:material_abb_yellow />
</collision>
</link>
<link name="${prefix}link_1">
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://abb_irb1600_support/meshes/irb1600/visual/link_1.stl"/>
</geometry>
<xacro:material_abb_orange />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://abb_irb1600_support/meshes/irb1600/collision/link_1.stl"/>
</geometry>
<xacro:material_abb_yellow />
</collision>
</link>
<link name="${prefix}link_2">
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://abb_irb1600_support/meshes/irb1600_8_145/visual/link_2.stl"/>
</geometry>
<xacro:material_abb_orange />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://abb_irb1600_support/meshes/irb1600_8_145/collision/link_2.stl"/>
</geometry>
<xacro:material_abb_yellow />
</collision>
</link>
<link name="${prefix}link_3">
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://abb_irb1600_support/meshes/irb1600/visual/link_3.stl"/>
</geometry>
<xacro:material_abb_orange />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://abb_irb1600_support/meshes/irb1600/collision/link_3.stl"/>
</geometry>
<xacro:material_abb_yellow />
</collision>
</link>
<link name="${prefix}link_4">
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://abb_irb1600_support/meshes/irb1600/visual/link_4.stl"/>
</geometry>
<xacro:material_abb_orange />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://abb_irb1600_support/meshes/irb1600/collision/link_4.stl"/>
</geometry>
<xacro:material_abb_yellow />
</collision>
</link>
<link name="${prefix}link_5">
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://abb_irb1600_support/meshes/irb1600/visual/link_5.stl"/>
</geometry>
<xacro:material_abb_orange />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://abb_irb1600_support/meshes/irb1600/collision/link_5.stl"/>
</geometry>
<xacro:material_abb_yellow />
</collision>
</link>
<link name="${prefix}link_6">
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://abb_irb1600_support/meshes/irb1600/visual/link_6.stl"/>
</geometry>
<xacro:material_abb_orange />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://abb_irb1600_support/meshes/irb1600/collision/link_6.stl"/>
</geometry>
<xacro:material_abb_yellow />
</collision>
</link>
<!-- end of link list -->
<!-- joint list -->
<joint name="${prefix}joint_1" type="revolute">
<origin xyz="0 0 0" rpy="0 0 0"/>
<parent link="${prefix}base_link"/>
<child link="${prefix}link_1"/>
<axis xyz="0 0 1"/>
<limit lower="-${pi}" upper="${pi}" effort="0" velocity="${pi}"/>
</joint>
<joint name="${prefix}joint_2" type="revolute">
<origin xyz="0.15 0 0.4865" rpy="0 0 0"/>
<parent link="${prefix}link_1"/>
<child link="${prefix}link_2"/>
<axis xyz="0 1 0"/>
<limit lower="-${pi/2}" upper="2.0944" effort="0" velocity="${pi}"/>
</joint>
<joint name="${prefix}joint_3" type="revolute">
<origin xyz="0 0 0.700" rpy="0 0 0"/>
<parent link="${prefix}link_2"/>
<child link="${prefix}link_3"/>
<axis xyz="0 1 0"/>
<limit lower="-4.27601" upper="1.1344" effort="0" velocity="3.4906"/>
</joint>
<joint name="${prefix}joint_4" type="revolute">
<origin xyz="0.300 0 0" rpy="0 0 0"/>
<parent link="${prefix}link_3"/>
<child link="${prefix}link_4"/>
<axis xyz="1 0 0"/>
<limit lower="-3.4906" upper="3.4906" effort="0" velocity="6.9813"/>
</joint>
<joint name="${prefix}joint_5" type="revolute">
<origin xyz="0.300 0 0" rpy="0 0 0"/>
<parent link="${prefix}link_4"/>
<child link="${prefix}link_5"/>
<axis xyz="0 1 0"/>
<limit lower="-2.0071" upper="2.0071" effort="0" velocity="6.9813"/>
</joint>
<joint name="${prefix}joint_6" type="revolute">
<origin xyz="0.065 0 0" rpy="0 0 0"/>
<parent link="${prefix}link_5"/>
<child link="${prefix}link_6"/>
<axis xyz="1 0 0"/>
<limit lower="-6.9813" upper="6.9813" effort="0" velocity="8.0285"/>
</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}link_6-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>

0 comments on commit a5d70ca

Please sign in to comment.