IvoD1998 / Staubli_ROS2

ROS2 driver for Staubli robots running a CS9 controller
3 stars 2 forks source link

Staubli_ROS2

ROS2 port of the Staubli_VAL3_ROS driver with all components it requires, expanded with FAU-FAPS adaptive_motion_middleware.

general

This repository contains a port for ROS2 for everything that is required to use Staubli robots using the CS9 controller, based on the ROS1 driver (https://github.com/ros-industrial/staubli_val3_driver/tree/master). This includes a port of the ROS simple message package and everything it requires (https://github.com/ros-industrial/industrial_core). Also included is a port of FAU-FAPS adaptive_motion_middleware package to enable velocity and pose tracking control. However, to use these features, you will need to install 'motion' and 'velocity' expansion for the CS9 controller. These can be downloaded via the Staubli software center after creating a Staubli account. They should be installed and enabled on the controller via VAL3, and transferred to the physical robot by placing the corresponding .so file in the app folder of the controller. For more details about this functionality, visit the original adaptive motion middleware repo at: https://github.com/FAU-FAPS/adaptive_motion_control.git

Included is a moveit config and description package for the Staubli TX2-60L model. If another CS9 capable robot is used, these files can be used as a template. In the moveit config, there are two launch files:

Fully simulated robot: staubli_tx2_60l_planning_execution_sim.launch.py

Real robot: staubli_tx2_60l_planning_execution_real.launch.py

Installing the VAL3 components

Copy the contents of the _staubli_val3driver/val3 folder to the CS9 controller via USB or an FTP client such as WinScp or the transfer manager found in the Staubli Robotics Suite.

Configuring the robot

The TCP sockets on the robot controller must be set correctly prior to use. from the teach pendant home: 1) IO --> Socket --> TCP Servers --> "+" 2) Configure the following new sockets:

| Name   | Port  | Timeout |End of string | Nagle |
| ---    | ---   | ---     | ---          | ---   |
| Motion | 11000 | -1      | 13           | Off   |
| System | 11001 | -1      | 13           | Off   |
| State  | 11002 | -1      | 13           | Off   |
| IO     | 11003 | -1      | 13           | Off   |

How to use

Staubli-side:

Load the driver from the teach pendant home: 1) Application manager --> Val3 applications 2) +Disk --> ros_server 3) VAL# --> Memory --> select ros_server --> ▶

ROS-side:

There are 3 different options for using this package: