Please note that this package has not been productized, and that academia is the intended audience.
The package is provided "as-is", and as such no more than limited support can be expected.
The abb_rws_service_provider
package provides a ROS node that:
- Attempts to connect to an ABB robot controller via the Robot Web Services (
RWS
) interface. - Collects information from the controller about the current system, for example:
RobotWare
version and present options.- Configured mechanical unit groups (e.g. robots and external axes).
- Configured
RAPID
tasks.
- Exposes a set of ROS services for interacting with the controller from the ROS system.
Some of the exposed ROS services include:
- Basic interaction:
- Setting motors on/off.
- Starting/stopping
RAPID
execution. - Getting/setting of
RAPID
symbols (e.g. constants and variables):- Atomic
RAPID
data types:bool
,dnum
,num
andstring
. - Complex
RAPID
data structures (i.e.RECORD
s, and these are currently only get/set via rawRAPID
text format).
- Atomic
- Getting/setting of file contents (of files in the robot controller's home directory).
- Getting/setting speed ratio for
RAPID
motions. - Getting/setting of IO-signals.
RobotWare
StateMachine Add-In interaction (only exposed if theStateMachine Add-In
is present in the system):RAPID
interaction:- Setting custom
RAPID
routines to run (the routines needs to be predefined in theRAPID
code). - Signaling that the custom
RAPID
routines should be run.
- Setting custom
- Externally Guided Motion (
EGM
) interaction (only exposed if theEGM
option is present):- Getting/setting
EGM
RAPID
settings. - Starting/stopping
EGM
joint or pose motions. - Starting/stopping
EGM
position streaming (i.e. without controlling motions).
- Getting/setting
SmartGripper
interaction (only exposed if theSmartGripper
option is present):- Setting commands to run (e.g. grip in/out or turn on/off vacuum).
- Signaling that the commands should be run.
Please see the rws_service_provider.launch file for how to start the node and available node parameters. Additionally, the ROS node, provided by the abb_rws_state_publisher
package, is required for most of the service calls.
RobotWare
version7.0
or higher.
Please see the underlying abb_libegm and abb_librws packages for more details.
The following table is non-exhaustive, but it should at least give some ideas for things to check.
Issue | Check |
---|---|
Authentication | The node is currently hardcoded to use the default RWS login (Default User and robotics ), but this can be changed in the code if needed. |
Communication | Verify that the correct IP-address has been specified for the robot controller, and that it can be reached on the network:
|
RobotStudio |
RobotStudio simulations blocks remote RWS connections by default, which is shown by the RAPI Unidentified Error message (e.g. when using a web browser).Please see this post on the official RobotStudio forum for how to allow remote RWS connections. |
ROS Services | Verify that resource names are correctly spelled, for example:
|
The core development has been made within the European Union's Horizon 2020 project: ROSIN - ROS-Industrial Quality-Assured Robot Software Components (see https://rosin-project.eu for more info).
The ROSIN project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement no. 732287.
The opinions expressed here reflects only the author's view and reflects in no way the European Commission's opinions. The European Commission is not responsible for any use that may be made of the contained information.
Special thanks to gavanderhoorn for guidance with open-source practices and conventions.