Show EOL distros:
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 assoicatiated 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)>> |
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) |
MoveIt Pkg |
Robot specific geometry must be defined in an associated manipulator 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 3 |
NO |
NO |
NO |
Viper 650 |
YES |
NO |
|
R-30iA |
YES4 |
NO |
NO |
NO |
LR Mate 200iC(/5H) |
NO |
YES 5 |
|
M-10iA |
YES |
YES 5 |
||||||
M-16iB/20 |
YES |
YES 5 |
||||||
M-20iA(/10L) |
NO |
YES 5 |
||||||
M-430iA/(2F, 2P) |
YES |
YES 5 |
||||||
Other |
NO 6 |
NO 7 |
||||||
DX100 |
YES 1 |
NO |
NO |
NO |
SIA10D |
YES |
NO |
|
SIA20D |
YES |
NO |
||||||
Other |
NO 6 |
NO 7 |
||||||
UR 5 |
YES 8 |
NO |
NO |
NO |
UR 5 |
YES |
YES |
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 3 |
NO |
NO |
NO |
Viper 650 |
YES |
NO |
|
R-30iA / R-30iB |
YES4 |
NO |
NO |
NO |
LR Mate 200iC (all) |
NO |
YES |
|
LR Mate 200iD |
NO |
YES 5 |
||||||
M-10iA |
NO |
YES |
||||||
M-16iB/20 |
YES |
YES |
||||||
M-20iA(/10L) |
NO |
YES |
||||||
M-430iA/(2F, 2P) |
YES |
YES |
||||||
M-900iA/260L 5 |
NO |
NO |
||||||
Other |
NO 6 |
NO 7 |
||||||
DX100 |
YES 1 |
NO |
NO 9 |
NO |
SIA10D/F |
YES |
NO |
|
SIA20D/F |
YES |
NO |
||||||
FS100 |
NO |
NO |
YES |
NO |
MH5F |
NO |
YES |
|
Other |
NO 6 |
NO 7 |
||||||
CB2/CB3 10 |
YES 8 |
NO |
NO |
NO |
UR 5 |
NO |
YES |
|
UR 10 |
NO |
YES |
Vendor |
Controller(s) |
Position |
Trajectory |
Trajectory |
Torque |
IO |
Manipulator |
MoveIt |
IRC5 |
NO |
YES |
NO |
NO |
NO |
IRB-2400 |
YES |
|
IRB-5400 |
NO |
|||||||
CX, CS |
YES 3 |
NO |
NO |
NO |
NO |
Viper 650 |
NO |
|
R-30iA / R-30iB |
YES4 |
NO |
NO |
NO |
NO |
LR Mate 200iC (all) |
YES |
|
LR Mate 200iD |
YES 5 |
|||||||
M-10iA |
YES |
|||||||
M-16iB/20 |
YES |
|||||||
M-20iA(/10L) |
YES |
|||||||
M-430iA/(2F, 2P) |
YES |
|||||||
M-900iA/260L 5 |
NO |
|||||||
Other |
NO 7 |
|||||||
DX100 |
NO |
NO |
YES |
NO |
YES11 |
SIA10D/F |
NO |
|
FS100 |
NO |
NO |
YES |
NO |
YES11 |
SIA20D/F |
YES |
|
DX200 |
NO |
NO |
YES |
NO |
YES11 |
MH5F |
YES |
|
YRC1000 |
NO |
NO |
YES |
NO |
YES11 |
SDA10F |
YES |
|
|
Other |
NO 7 |
||||||
CB2/CB3 10 |
YES 8 |
NO |
NO |
NO |
YES 12 |
UR 5 |
YES |
|
UR 10 |
YES |
Grippers
No industrial-specific gripper drivers are provided in the Electric release. Gripper control can be manually implemented using raw EtherCAT I/O as described below.
No industrial-specific gripper drivers are provided in the Fuerte release. Gripper control can be manually implemented using raw EtherCAT I/O as described below.
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
Experimental package, see fanuc_experimental (12 13 14 15 16 17 18 19 20)
User must generate Arm Nav packages (21 22 23 24)
User must port FS100 motion driver to DX100. Will still be limited to 25-35% speed (34)
Check universal_robot page for Polyscope version compatibility (35 36)
Controller specific implementation may require custom code (37 38 39 40)
Partial / Experimental (41)