Skip to content
Open
10 changes: 10 additions & 0 deletions robot_specific_config/abb_irb14000_support/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
cmake_minimum_required(VERSION 3.10.2)

project(abb_irb14000_support)

find_package(ament_cmake REQUIRED)

ament_package()

install(DIRECTORY launch meshes rviz urdf
DESTINATION share/${PROJECT_NAME})
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
import os
import yaml
from launch import LaunchDescription
from launch_ros.actions import Node
from ament_index_python.packages import get_package_share_directory
import xacro


def load_file(package_name, file_path):
package_path = get_package_share_directory(package_name)
absolute_file_path = os.path.join(package_path, file_path)

try:
with open(absolute_file_path, "r") as file:
return file.read()
except EnvironmentError: # parent of IOError, OSError *and* WindowsError where available
return None


def load_yaml(package_name, file_path):
package_path = get_package_share_directory(package_name)
absolute_file_path = os.path.join(package_path, file_path)

try:
with open(absolute_file_path, "r") as file:
return yaml.safe_load(file)
except EnvironmentError: # parent of IOError, OSError *and* WindowsError where available
return None


def generate_launch_description():

robot_description_path = get_package_share_directory("abb_irb14000_support")

robot_description_config = xacro.process_file(
os.path.join(
robot_description_path,
"urdf",
"irb14000.urdf.xacro",
)
)
robot_description = {"robot_description": robot_description_config.toxml()}

robot_state_publisher_node = Node(
package="robot_state_publisher",
executable="robot_state_publisher",
output="both",
parameters=[robot_description],
)

joint_state_sliders = Node(
package="joint_state_publisher_gui",
executable="joint_state_publisher_gui",
name="joint_state_publisher_gui",
)

rviz = Node(
package="rviz2",
executable="rviz2",
name="rviz2",
arguments=[
"-d",
os.path.join(robot_description_path, "rviz", "urdf_description.rviz"),
],
output="screen",
)

return LaunchDescription([robot_state_publisher_node, joint_state_sliders, rviz])
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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
49 changes: 49 additions & 0 deletions robot_specific_config/abb_irb14000_support/package.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<?xml version="1.0" ?>
<package format="3">
<name>abb_irb14000_support</name>
<version>0.0.0</version>

<description>
<p>
ROS-Industrial support for the ABB IRB 14000.
</p>
<p>
This package contains configuration data, 3D models and launch files
for the ABB IRB 14000 robot.
</p>
<p>
Joint limits and max joint velocities are based on the information in the
<em>ABB IRB 14000 Product specification</em>, document ID: <em>3HAC052982-001, Dec 2024</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: Maximum joint effort values do not correspond to real world limits
of the robot. The current values were chosen to accommodate simulation,
but are fictional values.
</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>Gal Gorjup</author>
<maintainer email="[email protected]">Gal Gorjup</maintainer>

<license>Apache2</license>

<buildtool_depend>ament_cmake</buildtool_depend>

<exec_depend>abb_resources</exec_depend>
<exec_depend>joint_state_publisher</exec_depend>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<exec_depend>joint_state_publisher</exec_depend>
<exec_depend>joint_state_publisher</exec_depend>
<exec_depend>joint_state_publisher_gui</exec_depend>

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Actually it seems that joint_state_publisher isn't even used, so I'll just replace it with joint_state_publisher_gui.

<exec_depend>robot_state_publisher</exec_depend>
<exec_depend>rviz2</exec_depend>
<exec_depend>xacro</exec_depend>

<export>
<build_type>ament_cmake</build_type>
</export>
</package>
164 changes: 164 additions & 0 deletions robot_specific_config/abb_irb14000_support/rviz/urdf_description.rviz
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
Panels:
- Class: rviz_common/Displays
Help Height: 78
Name: Displays
Property Tree Widget:
Expanded: ~
Splitter Ratio: 0.6000000238418579
Tree Height: 844
- Class: rviz_common/Selection
Name: Selection
- Class: rviz_common/Tool Properties
Expanded:
- /2D Pose Estimate1
- /Publish Point1
Name: Tool Properties
Splitter Ratio: 0.5886790156364441
- Class: rviz_common/Views
Expanded:
- /Current View1
Name: Views
Splitter Ratio: 0.5
Visualization Manager:
Class: ""
Displays:
- Alpha: 0.5
Cell Size: 1
Class: rviz_default_plugins/Grid
Color: 160; 160; 164
Enabled: true
Line Style:
Line Width: 0.029999999329447746
Value: Lines
Name: Grid
Normal Cell Count: 0
Offset:
X: 0
Y: 0
Z: 0
Plane: XY
Plane Cell Count: 10
Reference Frame: <Fixed Frame>
Value: true
- Alpha: 1
Class: rviz_default_plugins/RobotModel
Collision Enabled: false
Description File: ""
Description Source: Topic
Description Topic:
Depth: 5
Durability Policy: Volatile
History Policy: Keep Last
Reliability Policy: Reliable
Value: /robot_description
Enabled: true
Links:
All Links Enabled: true
Expand Joint Details: false
Expand Link Details: false
Expand Tree: false
Link Tree Style: Links in Alphabetic Order
Mass Properties:
Inertia: false
Mass: false
Name: RobotModel
TF Prefix: ""
Update Interval: 0
Value: true
Visual Enabled: true
- Class: rviz_default_plugins/TF
Enabled: true
Filter (blacklist): ""
Filter (whitelist): ""
Frame Timeout: 15
Frames:
All Enabled: true
Marker Scale: 0.2
Name: TF
Show Arrows: true
Show Axes: true
Show Names: false
Update Interval: 0
Value: true
Enabled: true
Global Options:
Background Color: 48; 48; 48
Fixed Frame: base_link
Frame Rate: 30
Name: root
Tools:
- Class: rviz_default_plugins/Interact
Hide Inactive Objects: true
- Class: rviz_default_plugins/MoveCamera
- Class: rviz_default_plugins/Select
- Class: rviz_default_plugins/FocusCamera
- Class: rviz_default_plugins/Measure
Line color: 128; 128; 0
- Class: rviz_default_plugins/SetInitialPose
Covariance x: 0.25
Covariance y: 0.25
Covariance yaw: 0.06853891909122467
Topic:
Depth: 5
Durability Policy: Volatile
History Policy: Keep Last
Reliability Policy: Reliable
Value: /initialpose
- Class: rviz_default_plugins/SetGoal
Topic:
Depth: 5
Durability Policy: Volatile
History Policy: Keep Last
Reliability Policy: Reliable
Value: /move_base_simple/goal
- Class: rviz_default_plugins/PublishPoint
Single click: true
Topic:
Depth: 5
Durability Policy: Volatile
History Policy: Keep Last
Reliability Policy: Reliable
Value: /clicked_point
Transformation:
Current:
Class: rviz_default_plugins/TF
Value: true
Views:
Current:
Class: rviz_default_plugins/Orbit
Distance: 2
Enable Stereo Rendering:
Stereo Eye Separation: 0.05999999865889549
Stereo Focal Distance: 1
Swap Stereo Eyes: false
Value: false
Focal Point:
X: 0
Y: 0
Z: 0.4
Focal Shape Fixed Size: true
Focal Shape Size: 0.05000000074505806
Invert Z Axis: false
Name: Current View
Near Clip Distance: 0.009999999776482582
Pitch: 0.7449995279312134
Target Frame: <Fixed Frame>
Value: Orbit (rviz)
Yaw: 0.6450008153915405
Saved: ~
Window Geometry:
Displays:
collapsed: false
Height: 1080
Hide Left Dock: false
Hide Right Dock: false
QMainWindow State: 000000ff00000000fd0000000400000000000001b6000003dafc020000000afb0000001200530065006c0065006300740069006f006e000000003d000003b90000005d00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003f000003da000000cc00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb000000280020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000000000000000fb00000012004c0069006e006500500061006e0065006c010000003b000002ff0000000000000000000000010000010f000002fffc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003b000002ff000000a900fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000073d00000044fc0100000002fb0000000800540069006d006501000000000000073d0000000000000000fb0000000800540069006d00650100000000000004500000000000000000000005c4000003da00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
Selection:
collapsed: false
Tool Properties:
collapsed: false
Views:
collapsed: false
Width: 1920
X: 66
Y: 27
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?xml version="1.0"?>
<robot name="abb_irb14000" xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:arg name="use_fake_hardware" default="true" />
<xacro:property name="use_fake_hardware" value="$(arg use_fake_hardware)" />
<xacro:arg name="rws_ip" default="None" />
<xacro:property name="rws_ip" value="$(arg rws_ip)" />
<xacro:arg name="rws_port" default="80" />
<xacro:property name="rws_port" value="$(arg rws_port)" />

<!-- Robot description -->
<xacro:include filename="$(find abb_irb14000_support)/urdf/irb14000_macro.xacro" />
<xacro:irb14000 prefix="" />

<!-- Right gripper -->
<xacro:smart_gripper
parent="robr_tool0"
prefix="grpr_"
>
<origin xyz="0 0 0.007" rpy="0 0 ${radians(180)}" />
</xacro:smart_gripper>

<!-- Left gripper -->
<xacro:smart_gripper
parent="robl_tool0"
prefix="grpl_"
>
<origin xyz="0 0 0.007" rpy="0 0 ${radians(180)}" />
</xacro:smart_gripper>

<!-- ros2_control -->
<xacro:include filename="$(find abb_irb14000_support)/urdf/irb14000_ros2_control.xacro" />
<xacro:irb14000_ros2_control
name="ABBMultiInterfaceHardware"
prefix=""
use_fake_hardware="${use_fake_hardware}"
rws_ip="${rws_ip}"
rws_port="${rws_port}" />
</robot>
Loading
Loading