What is the AnyRobot Interface?¶
The AnyRobot Interface provides a unified way to communicate with industrial robots from different manufacturers via WebSockets to trigger robot motions and IO operations.
The AnyRobot Interface is a gate for communicating external software modules with the drag&bot operating system to carry out robot-releated operations. Therefore no use of the drag&bot Studio (GUI, web frontend) is required, as well as no ROS knowledge. This interface is based on RosBridge, which encapsulates all drag&bot supported robot functionalities as a set of commands and messages. In other way, this interface may also be understood as a robotics API.
Technically, the interface is a protocol for robotics operations through a websocket communication.
What does the AnyRobot Interface allow?¶
This interface allows users to control industrial robots, both KEBA robots and third party robot arms supported by drag&bot. Additional robot operations are also covered by this interface, e.g. IOs activation / deactivation. For a comprehensive list of all robot operations please check here.
How does the AnyRobot Interface work?¶
The following diagram shows at a glance the AnyRobot Interface software stack running on an industrial PC:
drag&bot works internally with ROS. While ROS provides a set of tools and APIs for building robotics applications, the AnyRobot Interface defines in this environment a standardized set of messages (commands and information messages) for robot controlling and robot-related operations. Some of these messages are synchronous and some of them are asynchronous. These messages are provided by different drivers and software modules to control specific hardware. They are defined in ROS mainly as ROS topics and services.
It is usually required to build a native ROS application for accessing these kind of messages. Nevertheless, the RosBridge Server is a tool which allows non-ROS applications to access ROS environments in an easy way following the RosBridge protocol. The tool is built with WebSockets and allows encapsulating ROS messages to the outside. WebSockets are created using TCP/IP and hence they are accessible through Ethernet. External software running outside or inside the industrial PC can connect to them via Ethernet.
WebSockets are traditionally considered in the application OSI layer while TCP/IP transport layer. They provide a bi-directional communication channel between a client and a server. This channel allows transporting JSON messages.
The AnyRobot Interface is a protocol for RosBridge which describes how to access the common standardized ROS messages to control robot-related operations. It describes all functionalities which can be triggered and information which can be read from system.
drag&bot Runtime instance using RosBridge acts as a server, while external software modules are clients. It is allowed to create more than one parallel connection, e.g. one for monitoring and another one for moving the robot.
Currently supported robots¶
|Robot||Required controller version||Required software version||Additional required software packages||Additional required hardware packages|
|ABB||IRC5, IRC5 Compact, Omnicore||>= RobotWare 6||616-1 PC Interface or 3119-1 RobotStudio Connect for Omnicore, 623-1 Multitasking or 3114-1 Multitasking for Omnicore, Robot Studio for installation||DSQC 652 required for IOs (IRC5)|
|Mecademic||Meca500 R3||>= Firmware v8.x||-||-|
|Epson||SPEL 7.0+ Controller||-||RC+ 7.0 Software for installation||-|
|Nachi||CFD, FD||Firmware >= v.4.72||-||RMU Unit|
|Yaskawa||YRC1000, YRC1000 Micro, DX200||MotoPlus||-||-|
|Fanuc||R-30iB Mate, R-30iB Plus, R30iA||Firmware >= v.8.10 except v8.33||R632 KAREL, R648 User Socket Msg||-|
|Universal Robots||CB2, CB3, e-series||>= V1.6 (CB2) , >= V3.1 (CB3), >= V5.0 (e-series)||-||-|
|KUKA||KRC4||-||>= KUKA.RobotSensorInterface (RSI) 3.1.6||-|
|KUKA||iiwa||>= Sunrise 1.13||KUKA Sunrise for installation||-|
|Denso||RC8 with vs087 robot||RC8||b-CAP (included in ORIN2 SDK)||-|
Last Update 7th February 2023
As robot firmwares are updated continuously from manufacturer, it may be rare cases where newest firmwares are not longer compatible. Also, for specific versions or customizations please contact us for a detailed compatibility analysis.
Some examples can be found in this public repository.
A Runtime instance of drag&bot is required in order to use the interface.
Disclaimer: this interface alone does not provide certified safety features. In case of using real robotic hardware, a safety analysis, hardware implementation and approval may be necessary according to the country's law.