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

ROS-I Drivers - On which platforms do ROS and ROS-I run? [closed]

asked 2014-11-11 11:09:50 -0600

updated 2014-11-17 03:45:43 -0600

Hello there!

Some time passed since my last approach here, there were other things of higher priority to do so far. There is one more question I would like to clarify, which I didn't fully understand yet.

When browsing several drivers for the ROS-I Vendors, the data scheme pretty looks similar to the one of ROS. For instance the Motman Driver. Also the ABB, etc.

On which platforms do ROS and ROS-I run when connecting to an industrial robot controller?

For me I figured out the following:

  • PC: ROS and ROS-I
  • Controller: Some machine-language-specific driver

When I accord to the install tutorial of the ABB am I installing ROS-I on the controller in order to get the specific driver to run? I don't guess this is the clue of ROS-I. This is more or less how to use the controller-language-specific driver, that it interacts with ros?

Jeremy Zoss states in this Video at Minute 3:13, that a minimum requirement would be to write a programm that fulfills the communication issues is "enough". I interpret this as a controller-specific-code (the driver for ROS-I) that one needs to implement when connecting to a new controller. The graphic that he uses is in his presentation I interpret like my idea written above. (Once again:

  • PC: ROS and ROS-I
  • Controller: Some machine-language-specific driver


Or what it looks to me: - PC: ROS and ROS-I - Controller: Some ROS-I Version specifically changed for the controller and some machine-language-specific driver

So do I understand right?

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by RosBort
close date 2014-11-17 03:46:29.693436

1 Answer

Sort by ยป oldest newest most voted

answered 2014-11-11 17:55:36 -0600

In general, ROS code (i.e. C++ clients) runs on the PC. These clients connect to servers on the robot controllers, written in a controller specific language. Generic clients are provided in ROS-I (in industrial_robot_clients). These clients can be used as is to connect to a controller with a server that support the simple message (in simple_message) protocol. However, some robots have special requirements (joint ordering, special handshaking, etc...). As a result specialization of the industrial_robot_client nodes have been written for those platforms (ABB, Fanuc, Motoman). In most cases, these clients inherit from the base clients, with only slight modification.

So in are right.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2014-11-11 11:09:50 -0600

Seen: 202 times

Last updated: Nov 17 '14