ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The better one may be: What's the relationship of ROS-I and other robotics operating systems?

Now I can try to answer your question: if with robotics operating systems you are actually referring to the (often) custom, hard real-time operating systems found on industrial robot controllers (I'll refer to these as vendor OS), then the relationship is simple: ROS-Industrial provides packages that implement a bridge to expose access to the motion control and other capabilities of those vendor OS which allows a ROS application to control industrial robots just as they would a PR2, a Fetch or any other ROS-enabled robot.

Most of these drivers include small user-level programs that are installed on the controller that communicate using networking sockets with a ROS node on an external PC. The industrial controller is in complete control of the execution of the motion, ROS provides the trajectories. Controller-level safety is handled by the controller, low-level motion control is handled by the controller, nothing is replaced, only integrated.

If you will, the ROS-Industrial (driver) packages provide an abstracted control interface to the functionality supported by the industrial robot controller, effectively removing all / most vendor-specific aspects from how one would normally interact with such controllers.

The better one may be: What's the relationship of ROS-I and other robotics operating systems?

Now I can try to answer your question: if with robotics operating systems you are actually referring to the (often) custom, hard real-time operating systems found on industrial robot controllers (I'll refer to these as vendor OS), then the relationship is simple: ROS-Industrial provides packages that implement a bridge to expose access to the motion control and other capabilities of those vendor OS which allows a ROS application to control industrial robots just as they would a PR2, a Fetch or any other ROS-enabled robot.

Most of these drivers include small user-level programs that are installed on the controller that communicate using networking sockets with a ROS node on an external PC. The industrial controller is in complete control of the execution of the motion, ROS provides the trajectories. Controller-level safety is handled by the controller, low-level motion control is handled by the controller, nothing is replaced, only integrated.

If you will, the ROS-Industrial (driver) packages provide an abstracted control interface to the functionality supported by the industrial robot controller, effectively removing all / most vendor-specific aspects from how one would normally interact with such controllers.

There are many more components in ROS(-Industrial), but almost all of them have no (direct) relationship with industrial robot controllers.