A new ROS driver for ABB robots was introduced at the recent ROS-Industrial Conference. The driver, which is now available on GitHub, is designed to ease interaction between ABB robot controllers and ROS-based systems by providing ready-to-run ROS nodes.
Here is a look at the included (principal) packages are brief descriptions for each:
abb_rws_state_publisher: Provides a ROS node that continuously polls an ABB robot controller for system states, which then are parsed into ROS messages and published to the ROS system.
abb_rws_service_provider: Provides a ROS node that exposes ROS services, for discrete interaction with an ABB robot controller, like starting/stopping the RAPID program and reading/writing of IO-signals.
abb_egm_hardware_interface: This package, which is only recommended for advanced users, provides ROS nodes for:
- Running a ros_control-based hardware interface, for direct motion control of ABB robots (via the Externally Guided Motion (EGM) interface).
- Automatically stopping ros_control controllers when EGM communication sessions ends (a user-provided list can specify controllers that are ok to keep running).
The GitHub post mentioned the included packages have not been productized, so academia is the intended audience. The packages are provided “as-is,” and no more than limited support can be expected. The packages have mainly been tested with ROS Melodic (on both Ubuntu and Windows).
Jon Tjerngren, a corporate researcher at ABB AB (Sweden), led the development of the ROS driver. He recommended using the RobotWare StateMachine Add-In to ease the setup of the ABB robot controller system. The StateMachine Add-In is optional, but without it the driver nodes will only be able to provide basic interaction with ABB robots.
Tjerngren said the packages in this repository need to be ported over to ROS 2. The packages have been developed with this in mind, he said, and most of them should be straightforward to adapt to the ROS 2 APIs. The video above is a talk Tjerngren gave at the 2018 ROS-Industrial Conference called “Ease-of-Use Packages between ROS and ABB Robots.”
The driver was developed during the European project ROSIN (ROS-Industrial Quality-Assured Robot Software Components), which received funding as part of the European Union’s Horizon 2020 research and innovation program.
Michael Ferguson, director of R&D at Cobalt Robotics, a San Mateo, Calif.-based developer of robotic security services, recently shared with us his five must-have features that would make ROS 2 ready for primetime.