ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
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.
2 | No.2 Revision |
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.