Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
A COLLABORATIVE ROBOT SYSTEM AND A METHOD FOR CONFIGURATION THEREOF
Document Type and Number:
WIPO Patent Application WO/2017/215732
Kind Code:
A1
Abstract:
The present invention relates to a collaborative robot system (1)comprising a plurality of devices (1a-d, 2a-b, 3) connected to a common network (10), wherein at least one of the devices is an industrial robot (1a-d). Each of the devices comprises a zero-configuration network module (12) configured to allow the devices to discover the other devices connected to the network, and one of the devices connected to the network comprise a user interactive module (20) configured to dynamically generate a graphical user interface adapted to display information about the devices connected to the network, and to allow a user to select a group of collaborative devices among the devices connected to the network for cooperation with each other in order to perform a common task.

Inventors:
PEI BREIVOLD HONGYU (SE)
SANDSTRÖM KRISTIAN (SE)
RIZVANOVIC LARISA (SE)
LEHTOLA MARKO (SE)
AZHAR SAAD (SE)
Application Number:
PCT/EP2016/063543
Publication Date:
December 21, 2017
Filing Date:
June 14, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ABB SCHWEIZ AG (CH)
International Classes:
G05B19/418
Domestic Patent References:
WO2008119383A12008-10-09
Foreign References:
CN103809534A2014-05-21
Other References:
A. VALERA ET AL: "Industrial Robot Programming and UPnP Services Orchestration for the Automation of Factories", INTERNATIONAL JOURNAL OF ADVANCED ROBOTIC SYSTEMS, 1 January 2012 (2012-01-01), AT, pages 1, XP055334757, ISSN: 1729-8806, DOI: 10.5772/51373
BETTSTETTER C ET AL: "A comparison of service discovery protocols and implementation of the service location protocol", EUNICE - OPEN EUROPEAN SUMMER SCHOOL, XX, XX, 13 September 2000 (2000-09-13), pages 1 - 8, XP002279616
Attorney, Agent or Firm:
SAVELA, Reino (SE)
Download PDF:
Claims:
Claims

1. A collaborative robot system (1) comprising a plurality of devices (la-d, 2a-b, 3) connected to a common network (10), wherein at least one of the devices is an industrial robot (la-d), characterized in that each of the devices comprises a zero-configuration network module (12) configured to allow the device to discover the other devices connected to the network, and one of the devices connected to the network comprises a user interactive module (20) configured to generate a graphical user interface adapted to display information about the devices connected to the network, and to allow a user to select a group of collaborative devices among the devices connected to the network for cooperation with each other in order to perform a common task.

2. The collaborative robot system (1) according to claim 1, wherein the graphical user interface is adapted to allow the user to select at least one task to be carried out by the selected group of collaborative devices among a number of predefined tasks.

3. The collaborative robot system (1) according to claim 2, wherein the system comprises a collaborative agent (22) configured to communicate with the user interactive module (20) and the devices, and to receive and store information about the selected group of devices and the selected task, and to inform the devices about which task to perform.

4. The collaborative robot system (1) according to claim 2 or 3, wherein each industrial robot (la-d) comprises a data storage (24) for storing program code for controlling the respective robot for each of said predefined tasks, and each robot is configured to receive information about which task to perform, and to execute the program code for the selected task.

5. The collaborative robot system (1) according to any of the claims 2 - 4, wherein the system is configured to automatically configure the devices in the selected group in dependence on the selected task.

6. The collaborative robot system (1) according to any of the previous claims, wherein at least some of the devices comprises a publishing module (14) configured to publish data from the device for sharing, and a subscribe module (16) configured to subscribe to data published by a publishing module of another device connected to the network.

7. The collaborative robot system (1) according to claim 6, wherein the graphical user interface generated by said user interactive module (20) is adapted to display which data the devices in the group can provide, and to allow a user to select for the devices in the group which data provided by the devices is to be published, and which data the devices in the group shall subscribe on from the other devices in the group.

8. The collaborative robot system (1) according to claim 2 and 6, wherein the system is configured to automatically determine which data provided by the devices in the group is to be published, and which data the devices in the group shall subscribe on from the other devices in the group in dependence on the selected task.

9. The collaborative robot system (1) according to any of the claims 6 - 8, wherein the system comprises a publish/subscribe manager (18) configured to receive information about which data provided by the devices in the group is to be published, and which data the devices in the group shall subscribe on, and to manage the publishing and subscription of the devices based on the received information.

10. A method for configuration of a collaborative robot system (1) comprising a plurality of devices (la-d, 2a-b, 3) connected to a zero-configuration network enabling automatic recognition of the devices connected to the network, characterized in that at least one of the devices is an industrial robot (la-d), and the method comprises:

- displaying information regarding which devices are connected to the network,

- allowing a user to select a group of collaborative devices among the devices connected to the network,

- receiving user inputs regarding devices selected to be members of the group of collaborative devices, and

- storing information about the selected group of collaborative devices.

11. The method according to claim 10, wherein the method comprises:

- displaying a number of predefined tasks,

- allowing a user to select which task or tasks to be carried out by the group of collaborative devices among the predefined tasks,

- receiving user inputs about a selected task or tasks, and

- informing the devices in the group about which task to perform, and

- controlling the devices in the group to perform the selected task.

12. The method according to claim 11, wherein the method comprises storing preprogrammed program code for controlling the devices in the group to perform each of said predefined tasks, and executing the program code for the selected task or tasks.

13. The method according to claim 11 or 12, wherein the method comprises automatically configuring the devices in the selected group in dependence on the selected task or tasks.

14. The method according to any of claims 10 - 13, wherein at least some of the devices are configured to publish data from the device for sharing, and to subscribe to data published by another device connected to the network, and the method comprises automatically determining which data provided by the devices in the group is to be published, and which data the devices in the group shall subscribe on from the other devices in the group in dependence on the selected task. 15. The method according to any of claims 10 - 13, wherein at least some of the devices are configured to publish data from the device for sharing, and to subscribe to data published by another device connected to the network, and the method further comprises:

- displaying which data the devices in the group can provide, and

- allowing a user to select for the devices in the group which data provided by the devices is to be published, and which data the devices in the group shall subscribe on from the other devices in the group, and

- controlling the devices in the group based on subscribed data from the other devices in the group.

Description:
A collaborative robot system and a method for configuration thereof

Field of the invention

The present invention relates to a collaborative robot system comprising a plurality of devices connected to a common network, and at least one of the devices is an industrial robot. The present invention relates to a method for configuration of a collaborative robot system.

Background of the invention

Today, it is common to have two or more robots working collaboratively on a common task, for example, to assemble parts. Further, robots also need to collaborate with other devices in the production cell, such as conveyor belts and feeders. The performance of the robot depends on the other devices in the robot cell, such as the ability of the feeders to feed parts to be assembled. In case of sudden events this information needs to be exchanged to the other collaborating devices. For example, if one feeder is slowing down due to an assembly part problem, this information needs to be exchanged to the robots fetching parts from the feeder, which need to adapt their operation speed according to this change. To set up a production cell with a number of collaborative devices working together to perform a common task is an extensive work. The devices need to be programmed extensively to perform the common task. The programming and configuration of such a system with different collaborating devices accounts for most of time spent in commissioning of these systems.

Today, industrial robots make use of Programmable Logic Controllers (PLCs) to share data with each other, as well as to synchronize their tasks in order to work towards a common goal. A PLC is a central computer with adherent communication facilities which handles communication between individual robot controllers and other devices in a robot cell. The PLC can be programmed to perform certain tasks according to signals reaching the computer, and it sends out signals with commands to execute the tasks.

The PLC is programmed via a Man-Machine-Interface (MMI) or a Graphical User Interface (GUI) and requires proprietary PLC software and PLC programming expertise. For each robot that is connected to the PLC, an I/O configuration procedure has to be performed in order to enable the communication between the PLC and the robot controller. A communication driver or cable is used for the communication. Further, the PLC has to be programmed so that that the robots can perform the dedicated tasks. I/O configuration and PLC programming are time- consuming processes.

When a robot connects to a network it is not aware of the existence of other robots even if they are on the same network. The configuration required to achieve this is a huge effort which includes initial network configuration, user access and authentication, intercommunication between devices and finally defining information exchange that takes place between robots and/or other devices. From CN103809534 a distributed robot group coordination control system is known. A super computer coordinates a group of robots so that they do not interfere and collide with each other. However, certain expertise is required to program the super computer and the robot controllers. Object and summary of the invention

The object of the present invention is to facilitate configuration and set up a production cell including a plurality of devices e.g. robots, motors, machinery etc. working together to complete a common automation task.

According to one aspect of the invention, this object is achieved by a collaborative robot system as defined in claim 1.

The devices are connected to a common network, and at least one of the devices is an industrial robot. Each of the devices comprises a zero-configuration network module configured to allow the devices to discover the another device connected to the network, and one of the devices connected to the network comprises a user interactive module configured to generate a graphical user interface adapted to display information about the devices connected to the network, to allow a user to select a group of collaborative devices among the devices connected to the network for cooperation with each other in order to perform a common task. Thus, it is possible to provide a grouping of the robots and other devices in a production cell and to let the robots automatically recognize other robots and connected devices without requiring any prior configuration. In this way, the network connection between two or more devices in the same network can be enabled without any laborious configuration.

A zero-configuration network module is a software module that, when enabled and executed on the device, makes it possible to automatically recognize devices connected to the network. The zero-configuration network module, makes it possible to automatically recognize when a new device is connected to the network. The zero-configuration network modules automatically create a TCP/IP based computer network when devices are interconnected, without requiring any prior configuration. It is only to plug in the device, turn it on, and it works. Neither special configuration servers nor manual operator intervention is required. There exists a number of commercially available implementations of zero-configuration networking, such as Bonjour5, Avahi6, and MS Windows Embedded CE7.

A group of collaborative devices can be defined as a set of devices that cooperate in order to achieve a common goal or perform a task. The collaborative devices are defined as members in the group. Due to the fact that a ll of the devices in the network are provided with a zero-configuration network module, the devices can automatically recognize the other devices connected to the network, without requiring any prior configuration. I n this way, the network connection between two or more devices in the same network can be enabled without any laborious configuration. Collaboration becomes easier when robots become awa re of the existence of other robots and devices on the same network.

The invention enables a user, such as a robot operator, view all devices available in the network and to create one or more groups of devices to perform collaborative tasks. Thus, it is possible to form groups of devices working on the same task in a larger network of devices. Due to the grouping of the devices, practically all devices on a factory floor can be plugged in to the same physical network with no work required for their network configuration.

A collaborative group of devices ca n be created with a minimal setup. A user interface (web, pc, mobile) is used to create a collaborative group of devices. Devices available in the network can be listed in the interface and added to the collaborative group, for example, but not limited to, via an intuitive drag-drop action.

The user interactive module can be implemented on any of the devices in the network having a suitable display unit for displaying the graphica l user interface, and provided with suitable user input means, such as a touch display, a key board, push buttons, or a computer mouse. Suitably, the device provided with the user interactive module is a com puter device, such as a PC, a lap top, a tablet computer, or a smartphone. Preferably, the user interface is adapted to allow the user to add devices to the group and to remove devices from the group.

The invention provides faster and simpler setting up and operation of production cells including robots.

According to an embodiment of the invention, the graphical user interface is adapted to allow the user to select one or more tasks to be carried out by the selected group of collaborative devices among a number of predefined tasks. The predefined tasks are preferably automation tasks. Thus, the devices in the collaborative group ca n be easily configured to perform different tasks. The graphical user interface lets the user select from among a number of predefined tasks. This embodiment makes it easy to switch between different tasks, which is advantageous when short production series are produced.

According to an embodiment of the invention, the system comprises a collaborative agent configured to communicate with the user interactive module and the devices, a nd to receive and store information about the selected group of devices and the selected task or tasks, and to inform the devices about which task or tasks to be performed. The collaborative agent can be a software module implemented and executed on any of the devices in the network, for example, on a robot controller. The collaborative agent can also be implemented on the same device as the user interactive module. The collaborative agent keeps information on the group(s) of devices a nd the task to be performed by the group. The collaborative agent also provides the devices in the group with information on which task to be performed.

According to an embodiment of the invention, each of the industrial robots comprises a data storage for storing program code for controlling the respective robot for each of said predefined tasks, and each robot is configured to receive information about which task to perform, and to execute the program code for the selected task. The program code comprises program instructions for controlling the robot to carry out its part of the common task. The program code for performing the task for each of the devices is programmed in advance. This embodiment makes it easy for the user to switch between different predefined tasks to be carried out by the group.

According to an embodiment of the invention, the graphical user interface is adapted to present information about the devices in the group, such as information about maintenance and ongoing production. Thus, the collaborative group of devices can be managed a nd supervised from the same device. The devices ca n be monitored for ongoing operations, errors, production information in the scope of the collaborative group and task being performed, without affecting any other devices or robots on the same network.

According to an embodiment of the invention, the graphical user interface is adapted to allow the user to configure the devices in the group. Thus, the devices in the collaborative group can easily be configured from the same device.

According to an embodiment of the invention, the system is adapted to automatically configure the devices in the selected group in dependence on the selected task. Predefined configurations for the devices ca n be stored in advance for each of the predefined tasks. Thus, upon selecting one of the predefined tasks, the devices can be automatically configured for collaboration. This embodiment enables devices working on the same task to automatically configure themselves for collaboration.

According to an embodiment of the invention, at least some of the devices comprise a publishing module configured to publish data from the device for sharing, and a subscribe module configured to subscribe to data published by a publishing module of another device in the network. This embodiment enables data sharing among connected robots and other devices within the production cell. The devices in the group a re a llowed to subscribe on data from the other devices in the group. Thus, it is possible to control the devices in the group based on data received from the other devices in the group. This embodiment reduces the time needed for configuration of the devices in the collaborative groups. Further, the system implements a robot-to-robot communication without going through any PLC. Accordingly, the need for external PLCs is eliminated, which saves costs in cabling, programming and configurations. According to an embodiment of the invention, the system is configured to automatically determine which data provided by the devices in the group is to be published, and which data the devices in the group shall subscribe on from the other devices in the group in dependence on the selected task. Thus, the publishing modules a nd subscribe modules for the devices in the group ca n be automatically configured upon selecting one of the predefined tasks. The configuration of the devices in the group includes to determine which data provided by the devices in the group is to be published, and which data the devices in the group shall subscribe on from the other devices in the group. Predefined configurations for the publishing modules and subscribe modules for the devices ca n be stored in advance for each of the predefined tasks. The publish/subscribe configuration is dictated by the selected task and is not done on a device level individually. This embodiment greatly reduces the time needed for configuration of the devices in the collaborative groups.

According to an em bodiment of the invention, the graphical user interface generated by the user interactive module is adapted to display which data the devices in the group can provide, and to allow a user to select for the devices in the group which data provided by the devices is to be published, and which data the devices in the group sha ll subscribe on from the other devices in the group. The publish/subscribe configuration of the devices in the group ca n easily be done from the same user interface. It is also possible to edit the publish/subscribe configuration for the devices in the group from the same user interface.

The published data is used by the devices for performing the selected task. The published data may comprise some operational information from devices. According to an embodiment of the invention, the published data comprises position and speed of the devices. Thus, it is possible to control the devices in the group based on position and speed received from the other devices in the group.

According to an embodiment of the invention, the system comprises a publish/subscribe manager configured to receive information about selected data to be published and data selected for subscription by the devices, and to manage the publishing and subscription of the devices based on the received information.

According to an embodiment of the invention, each of the robots comprises a publishing module configured to publish data from the robot for sharing, and a subscribe module configured to subscribe to data published by a publishing module of another device in the network. For example, the published data from the robots comprise position and speed of the robots. The devices in the group are a llowed to subscribe on the positions and speeds of the robots in the group. Thus it is possible to control the devices in the group based on the positions and speeds of the robots. Further, the robots in the group are allowed to subscribe on the positions and speeds of the other robots in the group. Thus, it is also possible to control each of the robots in the group based on the positions and speeds of the other robots in the group.

According to another aspect of the invention, the object of the invention is achieved by a method for configuration of a collaborative robot system as defined in claim 10.

The system comprises a plurality of devices connected to a zero-configuration network enabling automatically recognition of the devices connected to the network. According to the invention, at least one of the devices is an industrial robot, and the method comprises:

- displaying information regarding which devices are connected to the network on a user interface on one of the devices connected to the network,

- allowing a user to select a group of collaborative devices among the devices connected to the network,

- receiving user inputs regarding devices selected to be members of the group of collaborative devices, and

- storing information about the selected group of collaborative devices.

According to an embodiment of the invention, the method comprises:

- displaying a number of predefined tasks to be carried out by the group of collaborative devices on the user interface,

- allowing a user to select a common task to be carried out by the group of devices collaborative among the predefined tasks,

- receiving user inputs about a selected task, and

- informing the devices in the group about which task to be performed, and

- controlling the devices in the group to perform the selected task.

According to an embodiment of the invention, the method comprises storing preprogrammed program code for controlling the devices in the group to perform each of the predefined tasks, and executing the program code for the selected task.

According to an embodiment of the invention, at least some of the devices are configured to publish data from the device for sharing, and to subscribe to data published by another device in the network, and the method further comprises:

- displaying which data the devices in the group can provide on the user interface, and

- allowing a user to select for the devices in the group which data provided by the devices is to be published, and which data the devices in the group shall subscribe on from the other devices in the group, and

- controlling the devices in the group based on subscribed data from the other devices in the group. According to an embodiment of the invention, at least some of the devices are configured to publish data from the device for sharing, and to subscribe to data published by another device in the network, and the method comprises automatically determining which data provided by the devices in the group is to be published, and which data the devices in the group shall subscribe on from the other devices in the group in dependence on the selected task. The method further comprises controlling the devices in the group based on subscribed data from the other devices in the group. The selected task defines what information is published/subscribed by each of the devices in a collaborative group. Thus, the publish/subscribe configuration is dictated by the task selected and not done on a device level individually.

Brief description of the drawings

The invention will now be explained more closely by the description of different embodiments of the invention and with reference to the appended figures.

Fig. 1 shows a collaborative robot system according to an embodiment of the invention. Fig. 2 shows a block diagram of a collaborative robot system according to an embodiment of the invention.

Figs. 3 - 6 show examples of graphical user interfaces for configuration of a collaborative robot system according to the invention.

Fig. 7 shows flow-chart of a method for configuration of a collaborative robot system according to a first embodiment of the invention.

Fig. 8 shows flow-chart of a method for configuration of a collaborative robot system according to a second embodiment of the invention.

Detailed description of preferred embodiments of the invention

Figure 1 illustrates an example of a collaborative robot system 1 according to the invention. The system comprises a plurality of devices located in a production cell and connected to a common network 10. In this example, the devices comprise a plurality of industrial robots la- d, two conveyors 2a-b, a tablet computer 3, and a stationary computer 4. In this example, the robot lb and the conveyor 2a form a first collaborative group, and the robots lc - d and the conveyor 2b form a second collaborative group. Each of the devices is a node in the network 10. The network is suitably a local network in a plant or a factory.

Each of the devices la-d, 2a-b, 3, and 4 includes software as well as hardware, such as input and output means, a processor unit, for example including one or more central processing units (CPU) for executing software modules and control programs. Each of the industrial robots includes a robot controller 8 for controlling the motions of the robots la - d. The robot controllers include software as well as hardware for handling main functions of the robot controller, such as executing robot control programs. At least some of the devices connected to the network comprise a zero-configuration network module 12 configured to allow the devices to discover the other devices connected to the network. Each of the robots, the conveyors and the tablet computer comprises a zero- configuration network module 12 configured to allow the devices to discover the other devices connected to the network. The zero-configuration network module is a software module that, when enabled and executed on the device, makes it possible to automatically recognize other devices connected to the network. The zero-configuration network module, also makes it possible to automatically recognize when a new device is connected to the network. The zero-configuration network modules automatically create a TCP/IP based computer network when devices are interconnected. It is only to plug in the device, turn it on, and it works. No special configuration servers or manual operator intervention are required. There exists a number of commercially available implementations of zero-configuration networking, such as Bonjour5, Avahi6, and MS Windows Embedded CE7. The network may also include devices which do not have a zero-configuration network module. The zero-configuration network module can be enabled and disabled. All devices connected to the network having an enabled zero-configuration network module 12 form zero-configuration network. In this example, the zero-configuration network modules 12 of the robots la-d, the conveyors 2a-b, and the tablet computer 3 are enabled, and thus the devices form zero-configuration network. The zero-configuration network modules can be software modules executed by the processor unit of the device.

One of the devices in the network is configured to generate a graphical user interface for setting up a collaborative group of the devices. The device is provided with a user interactive module adapted to display information about the devices connected to the zero-configuration network and to allow a user to select a group of collaborative devices among the devices connected to the zero-configuration network for cooperation with each other in order to perform a common task. The common task is, for example, to assemble parts. In this embodiment, the tablet computer 3 is configured to generate the graphical user interface. However, the device configured to generate the graphical user interface can be any device provided with a suitable display unit for displaying the graphical user interface, such as a PC or a smartphone.

Figure 2 shows a block diagram of a part of the collaborative robot system disclosed in figure 1. The system comprises two of the robot controllers 8, the conveyor 2b, and the devices 3 and 4 disclosed in figure 1. Each of the devices is provided with a Zero-Configuration Module (ZCM) 12. At least some of the devices are provided with a publishing module 14 configured to publish data from the device for sharing, and a subscribe module 16 configured to subscribe to data published by a publishing module of another device in the network. Thus, exchange of data between the devices in the network is enabled through publishing and subscription. One of the devices in the network may publish information and data on which other interested devices in the network can subscribe. Such data is, for example, current position and/or speed of the devices. In this embodiment, the robot controllers 8 and the conveyor 2b are provided with a publishing module 14 and a subscribe module 16. The publishing module 14 and the subscribe module 16 can be implemented as software modules executed on the processing units of the devices. For the subscribing and publishing of data any known publish-subscribe technology can be used, for example, a Data Distribution Service (DDS) framework. However, not all devices in the production cell are suitable for deployment of a publish/subscribe technology, for example, due to limited computing power or limited access.

The device 3 is provided with a user interactive module 20 configured to dynamically generate a graphical user interface adapted to display information about the devices connected to the zero-configuration network. The graphical user interface generated by the user interactive module 20 is, for example, adapted to display which data the devices in the group can provide. The graphical user interface can be adapted to allow a user to configure the publishing modules and subscription modules for the devices in the group, i.e. to select which data provided by the devices is to be published, and which data the devices in the group shall subscribe on from the other devices in the group. The graphical user interface can also be adapted to allow a user to change configuration data for the devices in the group, e.g. which data the devices shall publish, and which data the devices in the group shall subscribe on from the other devices in the group. Furthermore, information can be retrieved about maintenance and ongoing production for the group of collaborative devices, and displayed on the graphical interface.

The system may also comprise a publish/subscribe manager 18 configured to receive information about selected data to be published and data selected for subscription by the devices. The publish/subscribe manager 18 is further configured to manage the publishing and subscription of data for the devices based on the received information. The publish/subscribe manager 18 can be implemented as a cloud service and is, for example, implemented on a remote server. The publish/subscribe manager 18 may comprise a virtual global data space. The devices exchange information through the virtual global data space. The publish/subscribe manager 18 is in communication with the publishing modules 14 and a subscribe modules 16 of the devices in the network and ensures that subscribed data is delivered to the subscribing device.

One of the devices connected to the network comprises a user interactive module 20 configured to generate a graphical user interface for assisting a user to form a collaborative group of devices and to configure the group of devices. In this embodiment, the interactive module 20 is implemented on the tablet computer 3. The user interactive module 20 can be a software module executed on the device. For example, the user interactive module 20 is an App running on a smartphone or a tablet computer. The graphical user interface can also be adapted to allow the user to select a common task to be carried out by the selected group of collaborative devices. The user is allowed to select the task among a number of predefined tasks. The system may also comprise a collaborative agent 22 configured to communicate with the user interactive module 20 and the devices on the zero-configuration network. The collaborative agent 22 receives and stores information about selected groups of collaborative devices. The collaborative agent 22 may also receive and store information about selected tasks, and be configured to inform the devices about which task to be performed. The user interactive module 20 communicates with the devices in the network via the collaborative agent 22. The collaborative agent 22 can be a software module implemented and executed on any of the devices connected to the network having a publishing module 14 and a subscribe module 16, for example, on one of the robot controllers 8, or on the tablet computer 3. In this embodiment, the collaborative agent 22 is implemented on the stationary computer 4. The devices in the production cell which are not suitable for deployment of the publish/subscribe technology, can communicate and interact with the robots via the collaborative agent 22. In one embodiment, the system is configured to automatically determine which data provided by the devices in the group is to be published, and which data the devices in the group shall subscribe on from the other devices in the group in dependence on the selected task. Suitably, this is handled by the collaborative agent 22. Predefined configurations for the publishing modules and subscribe modules for the devices having such modules can be stored in advance for each of the predefined tasks. The predefined configurations can be stored anywhere in the system, such as on each of the devices having publishing and a subscribe modules or on the device hosting the collaborative agent 22. Thus, the publishing modules and subscribe modules for the devices in the group can be automatically configured when the user has selected one of the predefined tasks. This means that it is not necessary to carry out the publish/subscribe configuration individually for each device.

Each of the robot controllers 8 may also comprise a data storage 24 for storing preprogrammed program code for controlling the robot to perform its part of the predefined tasks. The robot controllers in the group receive information about which one of the predefined tasks to be performed from the collaborative agent 22. The robot controllers then execute the program code for the selected task. Due to limited memory space, not all devices in the production cell can be provided with preprogrammed program code for carrying out the defined tasks. Examples of such devices are feeders and conveyors. In such case, the collaborative agent 22 can be used to store program code or script for controlling the devices to perform the predefined tasks. Upon receiving a user selection regarding a common task, the collaborative agent 22 can send the script of program code for the selected task to the relevant device.

For example, the collaborative group may consists of two robots working together to assemble parts, a feeder and a conveyor belt. The assembly parts come on a separate feeder. The two robots pick the parts from the feeder, assemble them and put the assembled products on the conveyor belt. In case of sudden events, such as one feeder slowing down during the production mode due to problem with the supply of assembly parts, this information is exchanged to both the robots and the conveyor belt, which adapts their operation speed accordingly to this change.

Figures 3 - 6 show examples of graphical user interfaces for configuration of a collaborative robot system 1 according to the invention. In this example, the graphical interface is displayed on a touch screen of a smartphone. Figure 3 shows a first graphical interface disclosing all devices on the zero-configuration network, i.e. all devices in the network having the zero-configuration network module enabled. All devices already available on the zero-configuration network are automatically visible on the user interface. The first graphical interface allows a user to create a group of collaborative devices by selecting a plurality of the displayed devices. For example, the devices on the zero-configuration network can be added to the collaborative group via an intuitive drag-drop action, as shown in figure 4. Thus, a group of collaborative devices can be created with a minimal setup.

In a next step, the devices in the group are configured. Individual devices in the collaborative group can be selected to configure them as well as to read more information about them, as shown in figure 5. For each of the devices having publishing and subscribe modules 14, 16, the graphical user interface presents which data the device can publish and allowing the user to select which data the device is going to publish. The graphical user interface also allows the user to select which data from the other devices, the device shall subscribe on. Thus, the devices in a collaborative group can easily be configured to publish and subscribe to data. The collaborative group can be managed from the same user interface on one of the devices in the network. The devices in the collaborative group can easily be configured to perform different tasks. The graphical user interface is configured to allow the user to select a common task from among a number of predefined tasks, as shown in figure 6.

Figure 7 shows a flow chart of an example of a method for configuration of a collaborative robot system 1 comprising a plurality of devices connected to a common network 10 according to an embodiment of the invention. It will be understood that each block of the flow chart can be implemented by computer program instructions. The method requires that program code and/or scripts for the devices have been prepared beforehand for performing a plurality of tasks. For each task, there is program code or script for controlling each of the devices to carry out is part of the task. The program code and/or scripts for the predefined tasks are stored on any of the devices connected to the network. In this embodiment at least the robots are provided with a publishing module 14 configured to publish data from the robot for sharing, and a subscribe module 16 configured to subscribe to data published by a publishing module of another device in the network. In a first step the other devices on the zero-configuration network are discovered, block 28. The method comprises displaying information about which devices are connected to the zero- configuration network, block 30, allowing a user to select a group of collaborative devices among the devices connected to the network. The method further comprises receiving user inputs regarding devices selected to be members of the group of collaborative devices, block 32, and storing information about the selected group of collaborative devices, block 34.

A device in the group is selected for configuration, block 36. Data provided by the device is displayed on the user interface, block 38. The user is allowed to select for the device which data the device shall publish, and which data the device shall subscribe on from the other devices in the group. Information about data selected to be published is received, block 40, as well as data selected for subscription by the device, block 42. This configuration is repeated for each of the devices in the group provided with publishing and subscribe modules. A number of selectable tasks to be carried out by the group of collaborative devices is displayed on the user interface, block 44. The user is allowed to select a common task to be carried out by the group of devices collaborative among the displayed tasks. User input about a user selected task is received, block 46. Information about the selected task is stored. Information about which task to be performed is sent to the devices in the group, block 48.

During execution of the task, the selected data from the devices in the group is published, and the devices in the group are provided with the subscribed data. The devices in the group are controlled to carry out the selected task based on the received data from the other devices in the network, block 50. Each of the devices in the group is controlled to carry out its own part of the common task. The robots are executing the program code for the selected task. The conveyor may receive a script from the collaborative agent 22 for the selected task, and the conveyor executes the received script.

Figure 8 shows flow-chart of a method for configuration of a collaborative robot system according to a second embodiment of the invention. In this embodiment, the method comprises automatically configuring the devices in the selected group in dependence on the selected task, block 47. The configuration set comprises automatically determining which data provided by the devices in the group is to be published, and which data the devices in the group shall subscribe on from the other devices in the group in dependence on the selected task. In this embodiment, the blocks 38 - 42 are omitted. However, in an alternative embodiment block 47 can be carried out in combination with one or more of the blocks 38 - 42 in order to inform the user about the present configuration and to allow a user to edit the present configuration. The present invention is not limited to the embodiments disclosed but may be varied and modified within the scope of the following claims. For example, the possibility to select a task among a plurality of predefined tasks can be omitted. The steps in the methods can be carried out in another order.