Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I want to use the RWS interface to communicate with the Robot controller, as I am not sure I can access the EGM license. Can I know how I may be able to communicate with my ABB robot using the RWS interface on the new ABB driver? Eg. Is it possible to send the robot a trajectory over some topic or service using a roscpp based program?

No, unfortunately not.

abb_robot_driver uses EGM to control robot motion. RWS is only used for coordination (such as enabling drives, resetting the controller, starting RAPID programs, etc).

Without EGM on the controller, you can still use the RWS node (ie: abb_rws_service_provider), but not immediately to command any motion.

If you'd still want to use abb_robot_driver, you could:

  1. generate a RAPID program (using some external library/node, not included with abb_robot_driver), upload that to the controller and then use abb_rws_service_provider to start that program. Or:
  2. write a RAPID program which executes moves to a number of positions, upload that to the controller, and then use abb_rws_service_provider to update the data in that program (ie: update position variables based on your ROS trajectory)

Neither of these two options has been implemented (perhaps someone has done this, but I'm not aware of anyone making this available publicly), so this would require some work.

Perhaps a hybrid between abb_driver and abb_robot_driver, where the custom sockets used by abb_driver would be replaced by abb_rws_service_provider setting the variables would work. But again: that would require some custom development.