Supported Hardware
It is the goal of the ROS-Industrial program to provide ROS interfaces to many different kinds of industrial equipment, including PLCs, Robot Controllers, Servos, Human Machine Interfaces, IO Networks, etc. As these interfaces become available, they will be documented here.
Industrial Robots
The table below summarizes level of support for various robot interfaces. All interfaces make use of commercially available options (although the required options may be available at additional cost). Because each vendor exposes different functional interfaces, the capability of each can differ. This is noted where significant limitations are present. For more detailed information please see the associated stack/package documentation.
Definitions
Position Streaming |
Joint positions are streamed to the controller. Move velocity is fixed by the controller. (This method is often the easiest to set up because much of the controller interpolation is maintained) |
Trajectory Downloading |
A full trajectory of joint positions is downloaded to the controller. The trajectory includes velocity constraints which are adhered to by the controller |
Trajectory Streaming |
This is very similar to Position Streaming, except that trajectory velocity constraints are adhered to by the controller |
Torque Control |
Direct torque commands are sent to the controller. This is a real-time interface (not yet supported within ROS) |
Arm Nav. Pkg |
Robot specific geometry must be defined in an associated arm navigation package. This information is used for path planning purposes and collision checking. While these are created for each robot model, they must be recreated for entire robot cells (This is not difficult, see this tutorial) |
Supported Hardware Table
Vendor |
Controller(s) |
Position |
Trajectory |
Trajectory |
Torque |
Manipulator |
Arm Nav. |
MoveIt |
IRC5 |
NO |
YES |
NO |
NO |
IRB-2400 |
YES |
NO |
|
IRB-5400 |
YES |
NO |
||||||
CX, CS |
YES 1 |
NO |
NO |
NO |
Viper 650 |
YES |
NO |
|
R-30iA |
YES2 |
NO |
NO |
NO |
LR Mate 200iC(/5H) |
NO |
YES 3 |
|
M-10iA |
YES |
YES 3 |
||||||
M-16iB/20 |
YES |
YES 3 |
||||||
M-20iA(/10L) |
NO |
YES 3 |
||||||
M-430iA/(2F, 2P) |
YES |
YES 3 |
||||||
Other |
NO 4 |
NO 5 |
||||||
DX100 |
NO |
NO |
YES |
NO |
SIA10D/F |
YES |
NO |
|
FS100 |
NO |
NO |
YES |
NO |
SIA20D/F |
YES |
NO |
|
DX200 |
NO |
NO |
YES |
NO |
MH5F |
NO |
YES |
|
YRC1000 |
NO |
NO |
YES |
NO |
SDA10F |
NO |
YES |
|
Other |
NO 4 |
NO 5 |
||||||
UR 5 |
YES 6 |
NO |
NO |
NO |
UR 5 |
YES |
YES |
Grippers
While most grippers are quite simple and can be addressed using standard IO Networks, some are more complex. Complex grippers, which benefit from ROS grasp planning capability, require hardware specific drivers.
Definitions
Grasp Hand |
The object_manipulation_msgs/GraspHandPostureExecutionAction is an action interface that is used by higher level grasp planning software. Grippers that support this interface can be easily integrated into the grasp planning pipeline. |
Supported Hardware Table
Vendor |
Model(s) |
Grasp Hand |
S-Model |
NO |
IO Networks
Networked input/output are commonly found in industrial applications. Support for these specialized networks within ROS-Industrial does not exist. However, outside stacks are available. We recommend the Simple Open EtherCAT Master stack. See implementation notes.
In the Motoman stack, limited support for controlling basic I/O has been implemented. This can be used for general gripper control. However, this custom control message is not compatible with standard industrial Fieldbus protocols. Additional hardware may be required for Fieldbus protocols.
Notes
Limited to <70% speed (1)
Hardcoded/fixed velocity only (2)
User must generate Arm Nav packages (8 9)
User must generate MoveIt packages (10 11)
Full speed motion? (12)