WO2017121457A1 - A collaboration system and a method for operating the collaboration system - Google Patents

A collaboration system and a method for operating the collaboration system Download PDF

Info

Publication number
WO2017121457A1
WO2017121457A1 PCT/EP2016/050371 EP2016050371W WO2017121457A1 WO 2017121457 A1 WO2017121457 A1 WO 2017121457A1 EP 2016050371 W EP2016050371 W EP 2016050371W WO 2017121457 A1 WO2017121457 A1 WO 2017121457A1
Authority
WO
WIPO (PCT)
Prior art keywords
group
node
robot
information
module
Prior art date
Application number
PCT/EP2016/050371
Other languages
French (fr)
Inventor
Hongyu Pei BREIVOLD
Kristian SANDSTRÖM
Larisa RIZVANOVIC
Marko Lehtola
Saad AZHAR
Original Assignee
Abb Schweiz Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Abb Schweiz Ag filed Critical Abb Schweiz Ag
Priority to PCT/EP2016/050371 priority Critical patent/WO2017121457A1/en
Publication of WO2017121457A1 publication Critical patent/WO2017121457A1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31261Coordination control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33149Publisher subscriber, publisher, master broadcasts data to slaves, subscriber
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39146Swarm, multiagent, distributed multitask fusion, cooperation multi robots
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present disclosure relates to the field of industrial robots, and to information sharing in order to perform a common task.
  • the disclosure relates to a collaboration system for a group of devices including at least one industrial robot, and a method for the collaboration system.
  • PLC Programmable Logic Controllers
  • a PLC is a central computer with adherent communication facilities that handles input/output (I/O) processing of signals and communication between individual robot controllers.
  • the PLC can be programmed to perform certain tasks according to signals reaching the computer, and sends out signals with commands to execute the tasks.
  • the PLC is programmed via a Man-Machine-Interface (MMI) or Graphical User Interface (GUI) and require proprietary PLC software and PLC programming expertise.
  • MMI Man-Machine-Interface
  • GUI Graphical User Interface
  • I/O configuration procedure has to be performed such that the PLC and the robot controller can communicate.
  • a communication driver or cable is used for the communication.
  • the PLC has to be programmed such that the robots can perform the dedicated tasks.
  • I/O configuration and PLC programming are time consuming processes, which starts with making electrical drawings, and is followed by I/O configuration in the PLC programming environment. Afterwards, the performed I/O configuration has to be converted to a text file, which is required for programming the robot controller.
  • the disclosure relates to a collaboration system for a group of devices where each device in the group is arranged for cooperation with at least one other device in the group in order to perform a common task of the group and wherein at least one device in the group is an industrial robot.
  • the system has a publish-subscribe architecture where each device in the group is related to as a node.
  • the system includes: a publishing module configured to generate information from a first device in the group related to a first node for sharing with at least one subscribing module; a subscribing module of a second node related to a second device in the group, wherein the subscribing module is configured to subscribe to the information published by the publishing module, wherein the second device of the group is configured to use the information for performing at least part of the common task of the group.
  • the system provides a scalable collaboration platform for connecting industrial devices such as robots, such that they may cooperate to achieve a common task.
  • the system is based on a framework, e.g. data distribution service (DDS) or Message Queue Telemetry Transport (MQTT) using the data-centric publish- subscribe programming model, which is used for sending data between nodes.
  • DDS data distribution service
  • MQTT Message Queue Telemetry Transport
  • One feature of the frameworks is to enable real-time distribution, i.e., using the machine-to-machine data-centric middleware standard, which allows real-time data exchanges between publishers and subscribers for embedded robot systems.
  • the traditional centralized PLC control can be replaced with the scalable collaboration system that enables communication between distributed connected industrial robots.
  • the system implements a robot controller to robot controller communication without going through any PLC that can be scaled to handle large number of
  • Publishing modules are loosely coupled to subscribing modules, and need not even know of their existence. With the topic being the focus, publishing modules and subscriber modules are allowed to remain unaware of the system topology. Each can continue to operate normally regardless of the other.
  • the publishing/subscribing architecture provides the opportunity for better scalability than traditional client-server architecture, through parallel operation, message caching, tree-based or network-based routing, etc. Nodes communicate simply by sending the data they have and asking for the data they need.
  • DDS also provides Quality of Service (QoS), with which users can configure and control the local and end-to-end properties of DDS entities to meet the robot application requirements.
  • QoS Quality of Service
  • periodic publishers can indicate the speed at which they can publish by offering guaranteed update deadlines. By setting a deadline, a compliant publisher promises to send a new update at a minimum rate. Subscribers may then request data at that or any slower rate. Publishers may offer levels of reliability, parameterized by the number of past issues they can store to retry transmissions. Subscribers may then request differing levels of reliable delivery, ranging from fast-but-unreliable "best effort" to highly reliable in- order delivery. This provides per-data-stream reliability control.
  • Other QoS parameters control when the middleware detects nodes that have failed, suggest latency budgets, set delivery order, attach user data, prioritize messages, set resource utilization limits, partition the system into namespaces, and more.
  • the system further provides other possibilities, such as data analytics by connecting a collaborating group to mobile applications and/or a cloud. Advanced analysis of the data can be made possible by using cloud technologies.
  • the system offers improved utilization of existing hardware and sensors as the information that one robot knows can be shared with other collaborating devices (e.g., share vision system, I/O signals), and in an easier way as the need to use difficult I/O configuration tools is obviated.
  • robots can communicate and collaborate with each other, and connect to the cloud. This may make the robots to act more intelligently because they can make use of more intelligent services that are based on machine learning and advanced analysis of robot information.
  • each node related to a device in the group includes at least one publishing module configured to generate information from the related device for sharing, and at least one subscribing module configured to subscribe to information published by a publishing module of a node of another device in the group.
  • each device in the group is arranged to be connected to a common network for the information sharing.
  • the system includes a management module configured for controlling the system, wherein the management module is configured to be controlled via a user authorized by the system.
  • the management module includes an approval submodule configured for applying an approval procedure in order for a device to leave or join the group.
  • the management module includes a configuring submodule arranged for configuring the publishing module or modules and/or the subscribing module or modules of the system in order to perform the common task of the group.
  • the configuring submodule includes a service submodule arranged for automatic configuration of a set of publishing modules and/or subscribing modules related to a service of a device.
  • the system includes at least one associated device that in the publish-subscribe architecture is related to as a node but is not configured to cooperate with the devices of the group for performing the common task of the group.
  • the disclosure includes a method for a
  • collaboration system for a group of devices where each device in the group is arranged for cooperation with at least one other device in the group in order to perform a common task of the group, wherein at least one device in the group is an industrial robot.
  • the collaboration system further has a publish-subscribe architecture where each device in the group is related to as a node.
  • the method includes: publishing information generated from a first device in the group related to a first node for sharing; receiving the information to a second node related to a second device in the group subscribing to the information published; and controlling the second device for performing at least part of the common task of the group based on the received information.
  • the method includes controlling the system via a user authorized by the system.
  • the method includes performing an approval procedure for a device to leave or join the group.
  • the method includes including configuring the publishing and/or the subscribing of the system in order to perform the common task of the group.
  • the method includes automatically configuring a set of publishing and/or subscribing related to a service of a device.
  • the method includes receiving information published to at least one associated device that in the publish-subscribe architecture is related to as a node but is not configured to cooperate with the devices of the group for performing the common task of the group.
  • the disclosure relates to a computer program P, wherein the computer program P comprises a computer program code to cause a processing unit, or a computer unit connected to the processing unit, to perform the method according to any of the steps disclosed herein.
  • the disclosure relates to a computer program product comprising a computer program code stored on a computer-readable medium to perform the method according to any of the steps herein, when said computer program code is executed by a processing unit or by a computer unit connected to the processing unit.
  • Fig. 1 shows a group of devices including two industrial robots implementing a collaboration system for information sharing.
  • Fig. 2 shows a device controller according to one embodiment.
  • Fig. 3 shows a publish-subscribe architecture of the collaboration system according to one embodiment.
  • Fig. 4 shows a class chart of the collaboration system according to one
  • Fig. 5 shows a flow chart of a method according to one embodiment.
  • Fig. 6 shows a collaborative group according to one embodiment.
  • Fig. 7 shows a collaboration group according to another embodiment.
  • Fig. 1 is illustrating a working area for a plurality of industrial robots, here two industrial robots 1 , 2 that each is arranged to a fixture 3, 4 for working on the fixture 3, 4.
  • raw material is arranged in the shape of pre- stacked pieces, here wood planks 5.
  • the robots 1 , 2 are arranged to collaborate in order to assemble pallets 7 from the pre-stacked wood planks 5 and organize them in a stack.
  • a conveyor belt 6 is located between the robots 1 , 2 such that the robots 1 , 2 may transfer items such as wood planks 5, assembled pallets 7 and half-assembled pallets in between them.
  • Each industrial robot 1 , 2 is a programmable robot including a device controller 13 (Fig. 2) in the form of a robot controller with a device processor 14 and a device memory 15.
  • the term "industrial robot” refers to an automatically controlled, reprogrammable, multipurpose manipulator with a plurality of degrees of freedom and an ability to perform work tasks independently.
  • the conveyor belt 6 includes a device controller 13 (Fig. 2) in the form of a conveyer belt controller with a device processor 14 and a device memory 15.
  • a collaborative group 1 1 can be defined as a set of devices that cooperate in order to achieve a common goal or task.
  • the industrial robots 1 , 2 and the conveyor belt 6 may be referred to as devices defined as members of a collaborative group 1 1 .
  • Devices of a collaborative group are arranged for cooperation with at least one other device 1 , 2, 6 in the group 1 1 in order to perform a common task of the group 1 1 .
  • Each robot controller includes a robot program that specifies what the robot 1 , 2 should do in order to perform its part of the common task of the group 1 1 .
  • the conveyor belt controller includes a conveyor belt program that specifies what the conveyor belt 6 should do in order to perform its part of the common task of the group 1 1 .
  • the illustrated collaborative group 1 1 in Fig. 1 is only for illustrative purposes and the collaborative group 1 1 may include more devices.
  • Each device includes a device controller 13 (Fig. 2) with a device processor 14 (Fig. 2) and a device memory 15 (Fig. 2).
  • Each device controller 13 also includes a device program P specifying what the device should do in order to perform its part of the common task of the group 1 1 .
  • the device program P may be loaded into the device memory 15.
  • the device processor 14 may be made up of one or more Central Processing Units (CPU).
  • the device memory 15 may be made up of one or more memory units.
  • a memory unit may include a volatile and/or a non-volatile memory, such as a flash memory or Random Access Memory (RAM).
  • the collaborating group 1 1 is managed from a collaboration system 16 (Fig. 3) via a user interface.
  • a user 8 may via the user interface set up the group 1 1 , configure the group 1 1 , and also send data or information from the group 1 1 to a cloud 10 via e.g. wireless communication 12.
  • the cloud 10 may be public or private depending on needs.
  • the cloud 10 may give access to data processing facilities and the data or information from the collaborative group 1 1 may then be processed with cloud technologies such that it e.g. may be visualized and presented for a manager etc.
  • the user interface may be accessed via an application installed on a mobile device 9 such as a tablet, a mobile phone or other computer unit. Such a mobile device 9 may be referred to in the
  • collaborative group 1 1 as an associated device.
  • a collaborative group 1 1 may have many associated devices, which are devices that interact with the
  • the associated device may e.g. read some information from the collaborative group 1 1 .
  • An associated device has to be authorized within the collaborative group 1 1 .
  • the authorization is valid until it is removed (by an authorized user).
  • An associated device is not visible for other devices 1 , 2, in the collaborative group 1 1 .
  • no notification is needed to the rest of devices 1 , 2, 6 within the collaborative group 1 1 .
  • a collaborative group 1 1 may include shared items 3, 4, 5, 7.
  • a shared item e.g., a fixture, a working object, a collaboration area
  • the fixtures 3, 4, the pre-stacked wood pieces 5, the assembled pallet 7 in Fig. 1 are referred to as shared items in the group 1 1 .
  • the collaboration system 16 is generally illustrated in Fig. 3, and has a publish- subscribe architecture where each device 1 , 2, 6 in the group 1 1 is related to as a node 17, 18...N.
  • the collaboration system 16 may be based on DDS, MQTT or any other framework offering a publish-subscribe architecture, and software of the collaboration system 16 is implemented as middleware in the devices 1 , 2, 6, 9 e.g. in the device controllers 13 and sometimes also in the shared items 3, 4, 5, 7 e.g. in shared item controllers (not shown).
  • the collaboration system 16 includes at least one publishing module 17A configured to generate information from a first device in the group 1 1 related to a first node 17 for sharing with at least one subscribing module.
  • the first device may e.g. be one of the industrial robots 1 , 2 or the conveyor belt 6.
  • the system 16 further includes at least one subscribing module 18B of a second node 18 related to a second device in the group 1 1 .
  • the subscribing module 18B is configured to subscribe to the information published by the publishing module 17A, wherein the second device of the group 1 1 is configured to use the information for performing at least part of the common task of the group 1 1 .
  • the second device may then e.g. be one of the industrial robots 1 , 2 or the conveyor belt 6 that is not the first device.
  • each node 17, 18...N related to a device 1 , 2, 6 in the group may include at least one publishing module 17A, 18A... NA configured to generate information from the related device for sharing, and at least one subscribing module 17B, 18B... NB configured to subscribe to information published by a publishing module of a node of another device in the group 1 1 .
  • the system 16 further includes a management module 19 configured for controlling the system 16.
  • the management module 19 is configured to be controlled via a user authorized by the system 16.
  • the management module 19 may be accessed via the application downloaded to the associated device 9.
  • the associated device 9 is in the publish-subscribe architecture related to as a node but is not configured to cooperate with the devices 1 , 2, 6 of the group 1 1 for performing the common task of the group 1 1 .
  • the management module 19 also includes a subscribing module 20 that may subscribe to information from the devices 1 , 2, 6 and shared items 3, 4, 5, 7 of the group 1 1 .
  • the shared items 3, 4, 5, 7 may also each be related to as a node that each includes a publication module.
  • the shared items 3, 4, 5, 7 may publish via the publication module the status of the shared item, respectively, e.g. how many pieces that are left in the stack of pre-stacked wood pieces 5, or how many pallets 7 that are assembled in the stack.
  • Each device 1 , 2, 6, associated device 9 and shared items 3, 4, 5, 7 in the group 1 1 is further arranged to be connected to a common network 24 for the
  • the network 24 may e.g. be an Ethernet network.
  • the management module 19 may include an approval submodule 21 configured for applying an approval procedure in order for a device 1 , 2, 6 to leave or join the group 1 1 .
  • a device 1 , 2, 6 that joins a collaborative group 1 1 for the first time has to be approved or acknowledged by an authorized user 8 via the management module 19.
  • the management module 19 may further include a configuring submodule 22 arranged for configuring the publishing module or modules and/or the subscribing module or modules of the collaboration system 16 in order to perform the common task of the group 1 1 .
  • the configuring submodule 21 may include a service submodule 23 arranged for automatic configuration of a set of publishing modules and/or subscribing modules related to a service of a device.
  • the associated device 9 and the shared items 3, 4, 5, 7 are also connected to the common network 24, e.g. by wireless communication such as radio or by wire.
  • Fig. 4 a class chart of the collaboration system 16 according to one
  • the class chart here illustrated is only for illustrative purposes, and may have a different layout.
  • the class chart describes a data model of the collaboration system 16 according to this embodiment in a high level language.
  • the architecture of the collaborative system 16 is illustrated in classes where a class includes a set of properties.
  • a property may point to another class or to one or several methods.
  • a class called "Collaborative Group” 25 may be defined with a set of properties: "Collaborative Service List", “Device List”, “Shared Item List", "User Account” etc.
  • the "User Account” may point to another class “Account” 26 where properties for an account are specified.
  • the "Device List” may point to a class "Devices” 30.
  • a data type may e.g. be a feeder (not shown), a conveyor belt 6 or a robot 1 , 2.
  • a further data type may be a vision system (not shown) that is referred to as an individual node, if it does not belong to a certain robot 1 , 2. The vision system may publish a topic "Vision Sensor Data” that a robot 1 , 2 etc may subscribe to.
  • a data type may further define properties, e.g. a data type being a "Robot” may specify the properties "Collaborative Areas", "Robot Data", “Robot Service” etc.
  • a “Robot Service” may be a separate class 35 and may be a task that each robot perform and that is defined by the robot program, e.g. a Rapid program.
  • a separate class 36 for "Robot Data” may also be specified, as well as a separate class 28 for "Item Data” of the data type “Shared Item”.
  • the "Collaborate Service” 27 may be dependent on a “Service” 31 on a device level.
  • the “Service” 31 may describe a set of properties and methods such as “Start()" and "StopQ”.
  • the user 8 may define data types, topics, data writers and data readers when the collaboration system 16 is to be configured.
  • a publishing module of a node of a robot 1 , 2 may include a data writer publishing robot data such as the position of the robot 1 , 2.
  • a subscribing module of a node of a robot may include a data reader subscribing to robot data such as the position of another robot etc.
  • the user may define each data writer and data reader on a device level via the management unit 16. That is, the user defines which data that should be published or subscribed per device.
  • a robot 1 , 2 may publish a topic "Robot Data” being data such as position and status of the robot 1 , 2 and subscribe to the topic "Shared Item Data” being data such as dimension and position of a shared item 3, 4, 5, 7.
  • An associated device 9 may subscribe to the topic "Robot Data”.
  • the data may be filtered such that not all data is subscribed to.
  • the topic "Robot Data” may be filtered on e.g. uptime and downtime.
  • the robots may be configured on a device level with robot services, "Robot Service” 34, where a plurality of data writers and/or data readers are set at the same time.
  • the user may then configure a whole sequence of actions or movements of a robot simultaneously by only specifying a robot service.
  • a robot service may be dependent on "Robot Data" 35 or any other data within the collaborative group 1 1 .
  • Other services may also be defined.
  • a "Collaborative Service” 27 on a collaboration group level be pre-set.
  • the user then does not need to be aware of if data is to be communicated within the collaborative group 1 1 or to the cloud 10 within this service.
  • the user may use a collaboration service called "Production Data Service”.
  • a topic called “Production Data” may then be created, which use the service and return a whole set of robot data such as cycle time, stop time etc.
  • a user may then subscribe to the topic "Production Data” and get the whole set of data without subscribing to them individually.
  • the class chart also has defined a class for user accounts 26 which has defined rights, username etc.
  • Each device 1 , 2, 6 is described in a device level 30.
  • a subscription may be filtered, thus, the subscription to "robot data" may be filtered on e.g. uptime and status.
  • the collaboration system 16 may be included in a robot system, where the robot system includes the industrial robots 1 , 2.
  • the disclosure also relates to a method for the collaboration system 16 (Fig. 3).
  • the collaboration system 16 has a publish-subscribe architecture where each device 1 , 2, 6 in the group 1 1 is related to as a node.
  • the method will now be explained with reference to the flow chart in Fig. 5.
  • the method includes publishing information generated from a first device 1 , 2, 6 in the group 1 1 related to a first node 17 (Fig. 3) for sharing, see A1 in Fig. 5.
  • the published information may be "Robot Data" from one of the two robots 1 , 2 in Fig. 1 .
  • the method further includes receiving the information to a second node 18 (Fig.
  • the method further includes controlling the second device 1 , 2, 6 for performing at least part of the common task of the group 1 1 based on the received information, see A3 in Fig. 5.
  • the received information is needed for the other one of the robots 1 , 2 to perform its share of the common task.
  • the share of the common task is specified in the robot program of the other one of the robots 1 , 2.
  • the method further includes controlling the system 16 via a user authorized by the collaboration system 16.
  • the method may include configuring the publishing and/or the subscribing of the collaboration system 16 in order to perform the common task of the group 1 1 , as has been previously explained.
  • the method may include to automatically configuring a set of publishing and/or subscribing related to a service of a device 1 , 2, 6.
  • the service may e.g. be a "Robot Service” 31 of a robot 1 , 2, or a "Collaborative Service” 27.
  • the method includes performing an approval procedure for a device to leave or join the group 1 1 .
  • the method including receiving information published to at least one associated device 9 that in the publish-subscribe architecture is related to as a node but is not configured to cooperate with the devices 1 , 2, 6 of the group 1 1 for performing the common task of the group 1 1 .
  • Fig. 6 shows an example of a collaborative group with a working area with a first and a second industrial robot 1 , 2, a stack of wood planks 5 and a fixture 3.
  • a user 8 defines the collaborative group with the first and second robots 1 , 2 as approved devices and the fixture 3 and the plurality of wooden pieces 5 as approved shared items via a user interface in the mobile device 9, and defines the mobile device 9 as an associated device of the group.
  • the user then configures the first and second robots 1 , 2 and the associated device 9 by defining the publishing and subscribing of the group, thus create topics, data readers, data writers etc.
  • At least the first and second robots 1 , 2 and the associated device 9 are connected to a common network. If also the shared items 3, 5 are to publish and/or subscribe to any information, they also have to be configured and connected to the common network.
  • the shared items 3, 5 are to publish and/or subscribe to any information, they also have to be configured and connected to the common network.
  • One example scenario of how the information now may be exchanged in the group in order to achieve the common task to assemble wooden pallets will now be described: 1 . The user initiates the collaboration task.
  • the first robot 1 picks a wood plank 5 from the stack and places it on the fixture 3.
  • the first robot 1 publishes its position and its current operation mode, i.e., not moving.
  • the second robot 2 has subscribed to the first robot 1 's position and
  • the second robot 2 gets notified with the updated information, published by the first robot 1 .
  • the second robot 2 moves towards the specified position at the fixture 3 (calculated from the first robot 1 's current position).
  • the second robot 2 When the second robot 2 reaches the specified position, it publishes its current positon and operation mode nailing.
  • the second robot 2 publishes its current positon, i.e., home position.
  • the first robot 1 gets notification about the second robot 2's position
  • the first robot 1 takes the pallet 7 and places it on a specified storage area.
  • Fig. 7 shows another example of a collaborative group with a first and a second industrial robot 1 , 2 and a common working area 38 with a working object 39.
  • a user 8 defines the collaborative group with the first and second robots 1 , 2 as approved devices and a working object 39 as an approved shared item via a user interface in the mobile device 9, and defines the mobile device 9 as an associated device of the group.
  • the user then configures the first and second robots 1 , 2 and the associated device 9 by defining the publishing and subscribing of the group, thus create topics, data readers, data writers etc. necessary for the group to share data such that it can perform its common task, here to work on the working object 39.
  • the first and second robots 1 , 2 and the associated device 9 are connected to a common network. If also the working object 39 is to publish and/or subscribe to any infornnation, it also has to be configured and connected to the common network.
  • the user initiates the collaboration task.
  • the first robot 1 picks a working object 39 and places it at a random
  • the first robot 1 publishes the last position of the working object 39 within the collaboration area 38.
  • the second robot 2 subscribes to the position of the working object 39 and receives the last position of the working object 38.
  • the first robot 1 returns to its home position, and publishes its current
  • the second robot 2 subscribes to the position of the first robot 1 and
  • the second robot 2 picks up the working object 39, and places it at another position within the collaboration area 38.
  • the second robot 2 publishes the last position of the working object 39 in the collaborative group.
  • the first robot 1 subscribes to the position of the working object 39 and receives the last position of the working object 39.
  • the second robot 2 returns to its home position, and publishes its current position in the collaborative group.
  • Steps 2-10 are repeated - the first robot 1 and the second robot 2 are
  • the user acknowledges that the robot 1 leaves the collaborative group.
  • the second robot 2 continues to work alone, picks up the working object 39 and places it at a random position, and then returns to its home location. The same operations may then be repeated, e.g. the second robot 2 may pick up a new working object 39 and place it at a random position etc.
  • the user wants to use a mobile device 9 (configured as an associated device in the collaborative group) to read some production data from the collaborative group.
  • the mobile device 9 automatically gets access to production data within the collaborative group.
  • the mobile device 9 disconnects from the collaborative group. This action needs not to be notified among the devices 1 , 2 in the collaborative group.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

A collaboration system (16) and method for a group (11) of devices (1, 2, 6) where each device (1, 2, 6) in the group (11) is arranged for cooperation with at least one other device (1, 2, 6) in the group (11) in order to perform a common task of the group (11) and wherein at least one device (1, 2, 6) in the group is an industrial robot (1, 2), the system (16) further has a publish-subscribe architecture where each device (1, 2, 6) in the group (11) is related to as a node. The system (16) includes a publishing module (17A) configured to generate information from a first device in the group (11) related to a first node (17) for sharing with at least one subscribing module and a subscribing module (18B) of a second node (18) related to a second device in the group (11), wherein the subscribing module (18B) is configured to subscribe to the information published by the publishing module (17A), wherein the second device of the group (11) is configured to use the information for performing at least part of the common task of the group (11).

Description

A COLLABORATION SYSTEM AND A METHOD FOR OPERATING THE COLLABORATION SYSTEM
Technical field
The present disclosure relates to the field of industrial robots, and to information sharing in order to perform a common task. In particular, the disclosure relates to a collaboration system for a group of devices including at least one industrial robot, and a method for the collaboration system.
Background
Industrial robots make use of Programmable Logic Controllers (PLCs) to share data between them, 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 that handles input/output (I/O) processing of signals and communication between individual robot controllers. The PLC can be programmed to perform certain tasks according to signals reaching the computer, and sends out signals with commands to execute the tasks.
The PLC is programmed via a Man-Machine-Interface (MMI) or Graphical User Interface (GUI) and require 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 such that the PLC and the robot controller can communicate. A communication driver or cable is used for the communication. Further, the PLC has to be programmed such that the robots can perform the dedicated tasks. I/O configuration and PLC programming are time consuming processes, which starts with making electrical drawings, and is followed by I/O configuration in the PLC programming environment. Afterwards, the performed I/O configuration has to be converted to a text file, which is required for programming the robot controller. Further, all variables in the robot controllers have to be named according to the I/O file. PLC and robot programming are disconnected operations, and are performed in different environments, which do not offer a possibility to share some data (e.g., the shared names). Besides, this process is error-prone. From CN103809534A a distributed robot group coordination control system is known. A super computer coordinates a group of robots such that they do not interfere and collide with each other. However, certain expertise is certainly required to program the super computer and the robot controllers.
Summary
It is thus an object of the disclosure to alleviate at least some of the drawbacks with the prior art. It is a further object of the disclosure to provide a system that enables collaboration between industrial robots that is easily handled and set up by an operator. It is a still further object of the disclosure to provide a system that is scalable. It is a still further object of the disclosure to provide a system that doesn't need any access hardware. These object and others are at least partly achieved by the system and method according to the independent claims, and by the embodiments according to the dependent claims.
According to one aspect, the disclosure relates to a collaboration system for a group of devices where each device in the group is arranged for cooperation with at least one other device in the group in order to perform a common task of the group and wherein at least one device in the group is an industrial robot. The system has a publish-subscribe architecture where each device in the group is related to as a node. The system includes: a publishing module configured to generate information from a first device in the group related to a first node for sharing with at least one subscribing module; a subscribing module of a second node related to a second device in the group, wherein the subscribing module is configured to subscribe to the information published by the publishing module, wherein the second device of the group is configured to use the information for performing at least part of the common task of the group.
The system provides a scalable collaboration platform for connecting industrial devices such as robots, such that they may cooperate to achieve a common task. The system is based on a framework, e.g. data distribution service (DDS) or Message Queue Telemetry Transport (MQTT) using the data-centric publish- subscribe programming model, which is used for sending data between nodes. One feature of the frameworks is to enable real-time distribution, i.e., using the machine-to-machine data-centric middleware standard, which allows real-time data exchanges between publishers and subscribers for embedded robot systems.
With the system, the need for external PLCs is eliminated. The traditional centralized PLC control can be replaced with the scalable collaboration system that enables communication between distributed connected industrial robots. The system implements a robot controller to robot controller communication without going through any PLC that can be scaled to handle large number of
heterogeneous devices, and therefore save costs in cabling, programming and configurations. Publishing modules are loosely coupled to subscribing modules, and need not even know of their existence. With the topic being the focus, publishing modules and subscriber modules are allowed to remain ignorant of the system topology. Each can continue to operate normally regardless of the other. The publishing/subscribing architecture provides the opportunity for better scalability than traditional client-server architecture, through parallel operation, message caching, tree-based or network-based routing, etc. Nodes communicate simply by sending the data they have and asking for the data they need.
DDS also provides Quality of Service (QoS), with which users can configure and control the local and end-to-end properties of DDS entities to meet the robot application requirements. For example, periodic publishers can indicate the speed at which they can publish by offering guaranteed update deadlines. By setting a deadline, a compliant publisher promises to send a new update at a minimum rate. Subscribers may then request data at that or any slower rate. Publishers may offer levels of reliability, parameterized by the number of past issues they can store to retry transmissions. Subscribers may then request differing levels of reliable delivery, ranging from fast-but-unreliable "best effort" to highly reliable in- order delivery. This provides per-data-stream reliability control. Other QoS parameters control when the middleware detects nodes that have failed, suggest latency budgets, set delivery order, attach user data, prioritize messages, set resource utilization limits, partition the system into namespaces, and more.
The system further provides other possibilities, such as data analytics by connecting a collaborating group to mobile applications and/or a cloud. Advanced analysis of the data can be made possible by using cloud technologies.
The system offers improved utilization of existing hardware and sensors as the information that one robot knows can be shared with other collaborating devices (e.g., share vision system, I/O signals), and in an easier way as the need to use difficult I/O configuration tools is obviated.
As no PLC programming has to be done, the engineering becomes reduced and simplified. Savings may be made in collaboration cost and cabling, configurations, system solution etc. There is also no need for proprietary PLC software, communication driver or cable, or specific PLC expertise.
With Internet-of-things connectivity technologies, robots can communicate and collaborate with each other, and connect to the cloud. This may make the robots to act more intelligently because they can make use of more intelligent services that are based on machine learning and advanced analysis of robot information.
According to one embodiment, each node related to a device in the group includes at least one publishing module configured to generate information from the related device for sharing, and at least one subscribing module configured to subscribe to information published by a publishing module of a node of another device in the group.
According to one embodiment, each device in the group is arranged to be connected to a common network for the information sharing. According to one embodiment, the system includes a management module configured for controlling the system, wherein the management module is configured to be controlled via a user authorized by the system. According to one embodiment, the management module includes an approval submodule configured for applying an approval procedure in order for a device to leave or join the group.
According to one embodiment, the management module includes a configuring submodule arranged for configuring the publishing module or modules and/or the subscribing module or modules of the system in order to perform the common task of the group.
According to one embodiment, the configuring submodule includes a service submodule arranged for automatic configuration of a set of publishing modules and/or subscribing modules related to a service of a device.
According to one embodiment, the system includes at least one associated device that in the publish-subscribe architecture is related to as a node but is not configured to cooperate with the devices of the group for performing the common task of the group.
According to a second aspect, the disclosure includes a method for a
collaboration system for a group of devices where each device in the group is arranged for cooperation with at least one other device in the group in order to perform a common task of the group, wherein at least one device in the group is an industrial robot. The collaboration system further has a publish-subscribe architecture where each device in the group is related to as a node. The method includes: publishing information generated from a first device in the group related to a first node for sharing; receiving the information to a second node related to a second device in the group subscribing to the information published; and controlling the second device for performing at least part of the common task of the group based on the received information.
The same positive effects as by the system may be achieved by the method.
According to one embodiment, the method includes controlling the system via a user authorized by the system.
According to one embodiment, the method includes performing an approval procedure for a device to leave or join the group.
According to one embodiment, the method includes including configuring the publishing and/or the subscribing of the system in order to perform the common task of the group.
According to one embodiment, the method includes automatically configuring a set of publishing and/or subscribing related to a service of a device.
According to one embodiment, the method includes receiving information published to at least one associated device that in the publish-subscribe architecture is related to as a node but is not configured to cooperate with the devices of the group for performing the common task of the group.
According to a third aspect, the disclosure relates to a computer program P, wherein the computer program P comprises a computer program code to cause a processing unit, or a computer unit connected to the processing unit, to perform the method according to any of the steps disclosed herein.
According to a fourth aspect, the disclosure relates to a computer program product comprising a computer program code stored on a computer-readable medium to perform the method according to any of the steps herein, when said computer program code is executed by a processing unit or by a computer unit connected to the processing unit.
Brief description of the drawings
Fig. 1 shows a group of devices including two industrial robots implementing a collaboration system for information sharing.
Fig. 2 shows a device controller according to one embodiment.
Fig. 3 shows a publish-subscribe architecture of the collaboration system according to one embodiment.
Fig. 4 shows a class chart of the collaboration system according to one
embodiment.
Fig. 5 shows a flow chart of a method according to one embodiment.
Fig. 6 shows a collaborative group according to one embodiment.
Fig. 7 shows a collaboration group according to another embodiment.
Detailed description
Fig. 1 is illustrating a working area for a plurality of industrial robots, here two industrial robots 1 , 2 that each is arranged to a fixture 3, 4 for working on the fixture 3, 4. In the working area raw material is arranged in the shape of pre- stacked pieces, here wood planks 5. The robots 1 , 2 are arranged to collaborate in order to assemble pallets 7 from the pre-stacked wood planks 5 and organize them in a stack. A conveyor belt 6 is located between the robots 1 , 2 such that the robots 1 , 2 may transfer items such as wood planks 5, assembled pallets 7 and half-assembled pallets in between them.
Each industrial robot 1 , 2 is a programmable robot including a device controller 13 (Fig. 2) in the form of a robot controller with a device processor 14 and a device memory 15. In the context of this disclosure the term "industrial robot" refers to an automatically controlled, reprogrammable, multipurpose manipulator with a plurality of degrees of freedom and an ability to perform work tasks independently. The conveyor belt 6 includes a device controller 13 (Fig. 2) in the form of a conveyer belt controller with a device processor 14 and a device memory 15. A collaborative group 1 1 can be defined as a set of devices that cooperate in order to achieve a common goal or task. The industrial robots 1 , 2 and the conveyor belt 6 may be referred to as devices defined as members of a collaborative group 1 1 . Devices of a collaborative group are arranged for cooperation with at least one other device 1 , 2, 6 in the group 1 1 in order to perform a common task of the group 1 1 .
Each robot controller includes a robot program that specifies what the robot 1 , 2 should do in order to perform its part of the common task of the group 1 1 . The conveyor belt controller includes a conveyor belt program that specifies what the conveyor belt 6 should do in order to perform its part of the common task of the group 1 1 . The illustrated collaborative group 1 1 in Fig. 1 is only for illustrative purposes and the collaborative group 1 1 may include more devices. Each device includes a device controller 13 (Fig. 2) with a device processor 14 (Fig. 2) and a device memory 15 (Fig. 2). Each device controller 13 also includes a device program P specifying what the device should do in order to perform its part of the common task of the group 1 1 . The device program P may be loaded into the device memory 15. The device processor 14 may be made up of one or more Central Processing Units (CPU). The device memory 15 may be made up of one or more memory units. A memory unit may include a volatile and/or a non-volatile memory, such as a flash memory or Random Access Memory (RAM).
The collaborating group 1 1 is managed from a collaboration system 16 (Fig. 3) via a user interface. A user 8 may via the user interface set up the group 1 1 , configure the group 1 1 , and also send data or information from the group 1 1 to a cloud 10 via e.g. wireless communication 12. The cloud 10 may be public or private depending on needs. The cloud 10 may give access to data processing facilities and the data or information from the collaborative group 1 1 may then be processed with cloud technologies such that it e.g. may be visualized and presented for a manager etc. The user interface may be accessed via an application installed on a mobile device 9 such as a tablet, a mobile phone or other computer unit. Such a mobile device 9 may be referred to in the
collaborative group 1 1 as an associated device. A collaborative group 1 1 may have many associated devices, which are devices that interact with the
collaborative group 1 1 , but does not cooperate with other devices 1 , 2, 6 in the group in order to achieve a common goal. The associated device may e.g. read some information from the collaborative group 1 1 . An associated device has to be authorized within the collaborative group 1 1 . The authorization is valid until it is removed (by an authorized user). An associated device is not visible for other devices 1 , 2, in the collaborative group 1 1 . When the associated device attaches to or dis-attaches from the collaborative group 1 1 , no notification is needed to the rest of devices 1 , 2, 6 within the collaborative group 1 1 .
Besides devices 1 , 2, 6, a collaborative group 1 1 may include shared items 3, 4, 5, 7. A shared item (e.g., a fixture, a working object, a collaboration area), is visible within a collaborative group 1 1 , but it does not define the collaborative group 1 1 . The fixtures 3, 4, the pre-stacked wood pieces 5, the assembled pallet 7 in Fig. 1 are referred to as shared items in the group 1 1 .
The collaboration system 16 is generally illustrated in Fig. 3, and has a publish- subscribe architecture where each device 1 , 2, 6 in the group 1 1 is related to as a node 17, 18...N. The collaboration system 16 may be based on DDS, MQTT or any other framework offering a publish-subscribe architecture, and software of the collaboration system 16 is implemented as middleware in the devices 1 , 2, 6, 9 e.g. in the device controllers 13 and sometimes also in the shared items 3, 4, 5, 7 e.g. in shared item controllers (not shown). In a basic set-up, the collaboration system 16 includes at least one publishing module 17A configured to generate information from a first device in the group 1 1 related to a first node 17 for sharing with at least one subscribing module. The first device may e.g. be one of the industrial robots 1 , 2 or the conveyor belt 6. The system 16 further includes at least one subscribing module 18B of a second node 18 related to a second device in the group 1 1 . The subscribing module 18B is configured to subscribe to the information published by the publishing module 17A, wherein the second device of the group 1 1 is configured to use the information for performing at least part of the common task of the group 1 1 . The second device may then e.g. be one of the industrial robots 1 , 2 or the conveyor belt 6 that is not the first device. Generally, each node 17, 18...N related to a device 1 , 2, 6 in the group may include at least one publishing module 17A, 18A... NA configured to generate information from the related device for sharing, and at least one subscribing module 17B, 18B... NB configured to subscribe to information published by a publishing module of a node of another device in the group 1 1 .
The system 16 further includes a management module 19 configured for controlling the system 16. The management module 19 is configured to be controlled via a user authorized by the system 16. The management module 19 may be accessed via the application downloaded to the associated device 9. The associated device 9 is in the publish-subscribe architecture related to as a node but is not configured to cooperate with the devices 1 , 2, 6 of the group 1 1 for performing the common task of the group 1 1 . The management module 19 also includes a subscribing module 20 that may subscribe to information from the devices 1 , 2, 6 and shared items 3, 4, 5, 7 of the group 1 1 . The shared items 3, 4, 5, 7 may also each be related to as a node that each includes a publication module. The shared items 3, 4, 5, 7 may publish via the publication module the status of the shared item, respectively, e.g. how many pieces that are left in the stack of pre-stacked wood pieces 5, or how many pallets 7 that are assembled in the stack.
Each device 1 , 2, 6, associated device 9 and shared items 3, 4, 5, 7 in the group 1 1 is further arranged to be connected to a common network 24 for the
information sharing. The network 24 may e.g. be an Ethernet network. The management module 19 may include an approval submodule 21 configured for applying an approval procedure in order for a device 1 , 2, 6 to leave or join the group 1 1 . A device 1 , 2, 6 that joins a collaborative group 1 1 for the first time has to be approved or acknowledged by an authorized user 8 via the management module 19. When the device 1 , 2, 6 leaves the collaborative group 1 1 , the rest of devices 1 , 2, 6 within the collaborative group 1 1 will be notified. The management module 19 may further include a configuring submodule 22 arranged for configuring the publishing module or modules and/or the subscribing module or modules of the collaboration system 16 in order to perform the common task of the group 1 1 . The configuring submodule 21 may include a service submodule 23 arranged for automatic configuration of a set of publishing modules and/or subscribing modules related to a service of a device. The associated device 9 and the shared items 3, 4, 5, 7 are also connected to the common network 24, e.g. by wireless communication such as radio or by wire.
In Fig. 4 a class chart of the collaboration system 16 according to one
embodiment is illustrated. The class chart here illustrated is only for illustrative purposes, and may have a different layout. The class chart describes a data model of the collaboration system 16 according to this embodiment in a high level language. The architecture of the collaborative system 16 is illustrated in classes where a class includes a set of properties. A property may point to another class or to one or several methods. For example, a class called "Collaborative Group" 25 may be defined with a set of properties: "Collaborative Service List", "Device List", "Shared Item List", "User Account" etc. The "User Account" may point to another class "Account" 26 where properties for an account are specified. Further, the "Device List" may point to a class "Devices" 30. Data types 29, 33, 34, 35 specifying each device 1 , 2, 6 and shared item 9 are specified. A data type may e.g. be a feeder (not shown), a conveyor belt 6 or a robot 1 , 2. A further data type may be a vision system (not shown) that is referred to as an individual node, if it does not belong to a certain robot 1 , 2. The vision system may publish a topic "Vision Sensor Data" that a robot 1 , 2 etc may subscribe to. A data type may further define properties, e.g. a data type being a "Robot" may specify the properties "Collaborative Areas", "Robot Data", "Robot Service" etc. A "Robot Service" may be a separate class 35 and may be a task that each robot perform and that is defined by the robot program, e.g. a Rapid program. A separate class 36 for "Robot Data" may also be specified, as well as a separate class 28 for "Item Data" of the data type "Shared Item". The "Collaborate Service" 27 may be dependent on a "Service" 31 on a device level. The "Service" 31 may describe a set of properties and methods such as "Start()" and "StopQ".
The user 8 may define data types, topics, data writers and data readers when the collaboration system 16 is to be configured. For example, a publishing module of a node of a robot 1 , 2 may include a data writer publishing robot data such as the position of the robot 1 , 2. A subscribing module of a node of a robot may include a data reader subscribing to robot data such as the position of another robot etc. The user may define each data writer and data reader on a device level via the management unit 16. That is, the user defines which data that should be published or subscribed per device. For example, a robot 1 , 2 may publish a topic "Robot Data" being data such as position and status of the robot 1 , 2 and subscribe to the topic "Shared Item Data" being data such as dimension and position of a shared item 3, 4, 5, 7. An associated device 9 may subscribe to the topic "Robot Data". The data may be filtered such that not all data is subscribed to. For example, the topic "Robot Data" may be filtered on e.g. uptime and downtime. Alternatively, the robots may be configured on a device level with robot services, "Robot Service" 34, where a plurality of data writers and/or data readers are set at the same time. The user may then configure a whole sequence of actions or movements of a robot simultaneously by only specifying a robot service. For example, a robot service may be dependent on "Robot Data" 35 or any other data within the collaborative group 1 1 . Other services may also be defined. For example may a "Collaborative Service" 27 on a collaboration group level be pre-set. The user then does not need to be aware of if data is to be communicated within the collaborative group 1 1 or to the cloud 10 within this service. For instance, the user may use a collaboration service called "Production Data Service". A topic called "Production Data" may then be created, which use the service and return a whole set of robot data such as cycle time, stop time etc. A user may then subscribe to the topic "Production Data" and get the whole set of data without subscribing to them individually.
The class chart also has defined a class for user accounts 26 which has defined rights, username etc. Each device 1 , 2, 6 is described in a device level 30. A subscription may be filtered, thus, the subscription to "robot data" may be filtered on e.g. uptime and status.
The collaboration system 16 may be included in a robot system, where the robot system includes the industrial robots 1 , 2.
The disclosure also relates to a method for the collaboration system 16 (Fig. 3). As explained, the collaboration system 16 has a publish-subscribe architecture where each device 1 , 2, 6 in the group 1 1 is related to as a node. The method will now be explained with reference to the flow chart in Fig. 5. Here it is now assumed that the group 1 1 has been configured and its members are now ready to collaborate. The method includes publishing information generated from a first device 1 , 2, 6 in the group 1 1 related to a first node 17 (Fig. 3) for sharing, see A1 in Fig. 5. The published information may be "Robot Data" from one of the two robots 1 , 2 in Fig. 1 . The method further includes receiving the information to a second node 18 (Fig. 3) related to a second device 1 , 2, 6 in the group 1 1 subscribing to the information published, see A2 in Fig. 5. The subscriber may e.g. be the other one of the two robots 1 , 2 in Fig. 1 . The method further includes controlling the second device 1 , 2, 6 for performing at least part of the common task of the group 1 1 based on the received information, see A3 in Fig. 5. Thus, the received information is needed for the other one of the robots 1 , 2 to perform its share of the common task. The share of the common task is specified in the robot program of the other one of the robots 1 , 2. It is to be understood that in order to accomplish the common task, the robots 1 , 2 and other devices and shared items of the group may need to publish and/or subscribe continuously. The method further includes controlling the system 16 via a user authorized by the collaboration system 16. The method may include configuring the publishing and/or the subscribing of the collaboration system 16 in order to perform the common task of the group 1 1 , as has been previously explained. According to one embodiment, the method may include to automatically configuring a set of publishing and/or subscribing related to a service of a device 1 , 2, 6. The service may e.g. be a "Robot Service" 31 of a robot 1 , 2, or a "Collaborative Service" 27.
According to one embodiment, the method includes performing an approval procedure for a device to leave or join the group 1 1 . According to a further embodiment, the method including receiving information published to at least one associated device 9 that in the publish-subscribe architecture is related to as a node but is not configured to cooperate with the devices 1 , 2, 6 of the group 1 1 for performing the common task of the group 1 1 .
Fig. 6 shows an example of a collaborative group with a working area with a first and a second industrial robot 1 , 2, a stack of wood planks 5 and a fixture 3. A user 8 defines the collaborative group with the first and second robots 1 , 2 as approved devices and the fixture 3 and the plurality of wooden pieces 5 as approved shared items via a user interface in the mobile device 9, and defines the mobile device 9 as an associated device of the group. The user then configures the first and second robots 1 , 2 and the associated device 9 by defining the publishing and subscribing of the group, thus create topics, data readers, data writers etc.
necessary for the group to share data such that it can perform its common task, here to assemble pallets 7 At least the first and second robots 1 , 2 and the associated device 9 are connected to a common network. If also the shared items 3, 5 are to publish and/or subscribe to any information, they also have to be configured and connected to the common network. One example scenario of how the information now may be exchanged in the group in order to achieve the common task to assemble wooden pallets will now be described: 1 . The user initiates the collaboration task.
2. The first robot 1 picks a wood plank 5 from the stack and places it on the fixture 3.
3. The first robot 1 publishes its position and its current operation mode, i.e., not moving.
4. The second robot 2 has subscribed to the first robot 1 's position and
operation mode
5. The second robot 2 gets notified with the updated information, published by the first robot 1 .
6. The second robot 2 moves towards the specified position at the fixture 3 (calculated from the first robot 1 's current position).
7. When the second robot 2 reaches the specified position, it publishes its current positon and operation mode nailing.
8. After the nails are put, the second robot 2 starts moving towards its home positon.
9. The second robot 2 publishes its current positon, i.e., home position.
10. The first robot 1 gets notification about the second robot 2's position
1 1 . The first robot 1 takes the pallet 7 and places it on a specified storage area.
Fig. 7 shows another example of a collaborative group with a first and a second industrial robot 1 , 2 and a common working area 38 with a working object 39. A user 8 defines the collaborative group with the first and second robots 1 , 2 as approved devices and a working object 39 as an approved shared item via a user interface in the mobile device 9, and defines the mobile device 9 as an associated device of the group. The user then configures the first and second robots 1 , 2 and the associated device 9 by defining the publishing and subscribing of the group, thus create topics, data readers, data writers etc. necessary for the group to share data such that it can perform its common task, here to work on the working object 39. The first and second robots 1 , 2 and the associated device 9 are connected to a common network. If also the working object 39 is to publish and/or subscribe to any infornnation, it also has to be configured and connected to the common network.
One example scenario of how the information may be exchanged in the group in order to achieve the common task to reposition a working object 39 will now be described:
1 . The user initiates the collaboration task.
2. The first robot 1 picks a working object 39 and places it at a random
position within the collaboration area 38.
3. The first robot 1 publishes the last position of the working object 39 within the collaboration area 38.
4. The second robot 2 subscribes to the position of the working object 39 and receives the last position of the working object 38.
5. The first robot 1 returns to its home position, and publishes its current
position within the collaborative group.
6. The second robot 2 subscribes to the position of the first robot 1 and
receives information that the first robot 1 has left the collaboration area 38.
7. The second robot 2 picks up the working object 39, and places it at another position within the collaboration area 38.
8. The second robot 2 publishes the last position of the working object 39 in the collaborative group.
9. The first robot 1 subscribes to the position of the working object 39 and receives the last position of the working object 39.
10. The second robot 2 returns to its home position, and publishes its current position in the collaborative group.
1 1 . Steps 2-10 are repeated - the first robot 1 and the second robot 2 are
working together, and take turns to reposition the working object 39.
12. The user initiates that the first robot 1 needs to leave the collaborative
group.
13. The user gets notification that the second robot 2 depends on some
information from the first robot 1 (e.g., position of first robot 1 ). 14. After necessary measures, if any, the user acknowledges that the robot 1 leaves the collaborative group.
15. The second robot 2 continues to work alone, picks up the working object 39 and places it at a random position, and then returns to its home location. The same operations may then be repeated, e.g. the second robot 2 may pick up a new working object 39 and place it at a random position etc.
16. The user wants to use a mobile device 9 (configured as an associated device in the collaborative group) to read some production data from the collaborative group. The mobile device 9 automatically gets access to production data within the collaborative group.
17. The mobile device 9 disconnects from the collaborative group. This action needs not to be notified among the devices 1 , 2 in the collaborative group.
The present invention is not limited to the above-described preferred
embodiments. Various alternatives, modifications and equivalents may be used. Therefore, the above embodiments should not be taken as limiting the scope of the invention, which is defined by the appending claims.

Claims

Claims
1 . A collaboration system (16) for a group (1 1 ) of devices (1 , 2, 6) where each device (1 , 2, 6) in the group (1 1 ) is arranged for cooperation with at least one other device (1 , 2, 6) in the group (1 1 ) in order to perform a common task of the group (1 1 ) and wherein at least one device (1 , 2, 6) in the group is an industrial robot (1 , 2), c h a ra ct e r i z e d i n that the system has a publish- subscribe architecture where each device (1 , 2, 6) in the group (1 1 ) is related to as a node, the system (16) includes:
- a publishing module (17A) configured to generate information from a first device in the group (1 1 ) related to a first node (17) for sharing with at least one subscribing module;
- a subscribing module (18B) of a second node (18) related to a second device in the group (1 1 ), wherein the subscribing module (18B) is configured to subscribe to the information published by the publishing module (17A), wherein the second device of the group (1 1 ) is configured to use the information for performing at least part of the common task of the group (1 1 ).
2. The system (16) according to claim 1 , wherein each node (17, 18,...
N) related to a device (1 , 2, 6) in the group includes at least one publishing module (17A, 18A,... NA) configured to generate information from the related device for sharing, and at least one subscribing module (17B, 18B,... NB) configured to subscribe to information published by a publishing module of a node of another device in the group (1 1 ).
3. The system (16) according to claim 1 or 2, wherein each device (1 , 2, 6) in the group is arranged to be connected to a common network (24) for the information sharing.
4. The system (16) according to any of the preceding claims, including a management module (19) configured for controlling the system (16), wherein the management module (19) is configured to be controlled via a user authorized by the system (16).
5. The system (16) according to claim 4, wherein the management module (19) includes an approval submodule (21 ) configured for applying an approval procedure in order for a device to leave or join the group (1 1 ).
6. The system (16) according to claim 4 or 5, wherein the management module (19) includes a configuring submodule (22) arranged for configuring the publishing module or modules (17A, 18A,... NA) and/or the subscribing module or modules (17B, 18B,... NB) of the system (16) in order to perform the common task of the group (1 1 ).
7. The system (16) according to claim 6, wherein the configuring
submodule (22) includes a service submodule (23) arranged for automatic configuration of a set of publishing modules (17A, 18A,... NA) and/or subscribing modules (17B, 18B,... NB) related to a service of a device (1 , 2, 6).
8. The system (16) according to any of the preceding claims, including at least one associated device (9) that in the publish-subscribe architecture is related to as a node but is not configured to cooperate with the devices (1 , 2, 6) of the group (1 1 ) for performing the common task of the group (1 1 ).
9. A method for a collaboration system (16) for a group (1 1 ) of devices (1 , 2, 6) where each device (1 , 2, 6) in the group (1 1 ) is arranged for cooperation with at least one other device (1 , 2, 6) in the group (1 1 ) in order to perform a common task of the group (1 1 ), wherein at least one device (1 , 2, 6) in the group (1 1 ) is an industrial robot (1 , 2), the collaboration system (16) further has a publish-subscribe architecture where each device (1 , 2, 6) in the group is related to as a node, and wherein the method includes:
- publishing information generated from a first device (1 , 2, 6) in the group (1 1 ) related to a first node (17) for sharing;
- receiving the information to a second node (18) related to a second device (1 , 2, 6) in the group (1 1 ) subscribing to the information published;
- controlling the second device (1 , 2, 6) for performing at least part of the common task of the group (1 1 ) based on the received information.
10. The method according to claim 9, wherein each node (17, 18,... N) related to a device (1 , 2, 6) in the group (1 1 ) is arranged to publish information from the related device (1 , 2, 6), and to subscribe to information published by a node (17, 18,... N) of another device (1 , 2, 6) in the group (1 1 ).
1 1 . The method according to claim 9 or 10, wherein each device (1 , 2, 6) in the group (1 1 ) is connected to a common network (24) for the information sharing.
12. The method according to any of the claims 9 to 1 1 , including
controlling the system (16) via a user authorized by the system (16).
13. The method according to claim 12, including performing an approval procedure for a device to leave or join the group (1 1 ).
14. The method according to claim 12 or 13, including configuring the publishing and/or the subscribing of the system (16) in order to perform the common task of the group (1 1 ).
15. The method according to claim 14, including automatically configuring a set of publishing and/or subscribing related to a service of a device (1 , 2, 6).
16. The method according to any of the claims 9 to 15, including
receiving information published to at least one associated device (9) that in the publish-subscribe architecture is related to as a node but is not configured to cooperate with the devices (1 , 2, 6) of the group (1 1 ) for performing the common task of the group (1 1 ).
PCT/EP2016/050371 2016-01-11 2016-01-11 A collaboration system and a method for operating the collaboration system WO2017121457A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2016/050371 WO2017121457A1 (en) 2016-01-11 2016-01-11 A collaboration system and a method for operating the collaboration system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2016/050371 WO2017121457A1 (en) 2016-01-11 2016-01-11 A collaboration system and a method for operating the collaboration system

Publications (1)

Publication Number Publication Date
WO2017121457A1 true WO2017121457A1 (en) 2017-07-20

Family

ID=55182296

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2016/050371 WO2017121457A1 (en) 2016-01-11 2016-01-11 A collaboration system and a method for operating the collaboration system

Country Status (1)

Country Link
WO (1) WO2017121457A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107526681A (en) * 2017-08-11 2017-12-29 上海木爷机器人技术有限公司 The test system and method for testing of a kind of robot
EP3528070A1 (en) * 2018-02-15 2019-08-21 Omron Corporation Master and slave control system, control method, and program
WO2020063416A1 (en) * 2018-09-27 2020-04-02 上海节卡机器人科技有限公司 Robot control method, device, and remote control system
WO2023044676A1 (en) * 2021-09-23 2023-03-30 西门子(中国)有限公司 Control method for multiple robots working cooperatively, system and robot

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040199290A1 (en) * 2003-04-03 2004-10-07 Stoddard Kenneth A. Method and control system for controlling a plurality of robots
US20110185074A1 (en) * 2001-04-05 2011-07-28 Real-Time Innovations, Inc. Real-time publish-subscribe system
US8478901B1 (en) * 2011-05-06 2013-07-02 Google Inc. Methods and systems for robot cloud computing using slug trails

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110185074A1 (en) * 2001-04-05 2011-07-28 Real-Time Innovations, Inc. Real-time publish-subscribe system
US20040199290A1 (en) * 2003-04-03 2004-10-07 Stoddard Kenneth A. Method and control system for controlling a plurality of robots
US8478901B1 (en) * 2011-05-06 2013-07-02 Google Inc. Methods and systems for robot cloud computing using slug trails

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107526681A (en) * 2017-08-11 2017-12-29 上海木爷机器人技术有限公司 The test system and method for testing of a kind of robot
CN107526681B (en) * 2017-08-11 2020-05-26 上海木木聚枞机器人科技有限公司 Robot test system and test method
EP3528070A1 (en) * 2018-02-15 2019-08-21 Omron Corporation Master and slave control system, control method, and program
CN110153983A (en) * 2018-02-15 2019-08-23 欧姆龙株式会社 Control system, slave device control unit, control method and storage medium
US10882179B2 (en) 2018-02-15 2021-01-05 Omron Corporation Control system, slave device control part, control method, and non-transitory computer readable medium
WO2020063416A1 (en) * 2018-09-27 2020-04-02 上海节卡机器人科技有限公司 Robot control method, device, and remote control system
WO2023044676A1 (en) * 2021-09-23 2023-03-30 西门子(中国)有限公司 Control method for multiple robots working cooperatively, system and robot

Similar Documents

Publication Publication Date Title
Wang et al. An integrated industrial ethernet solution for the implementation of smart factory
EP2476032B1 (en) Method for configuration soa-based automation devices and for developing an orchestration machine, and production method
US9632494B2 (en) Method for generating and handling applications for components of a distributed control system and engineering system for implementing the process
Rocha et al. An agent based framework to support plug and produce
WO2017121457A1 (en) A collaboration system and a method for operating the collaboration system
JP2021057033A (en) Industrial control system hyperconverged architecture
CN109657888A (en) A kind of AGV task creating method, device, electronic equipment and storage medium
Terzimehic et al. Towards an industry 4.0 compliant control software architecture using IEC 61499 & OPC UA
KR102257938B1 (en) Skill interface for industrial applications
Faller et al. Service-oriented communication model for cyber-physical-production-systems
Haskamp et al. Implementing an OPC UA interface for legacy PLC-based automation systems using the Azure cloud: An ICPS-architecture with a retrofitted RFID system
CN111142490B (en) AGV intelligent storage simulation method, system and device and computer readable storage medium
Ferrer et al. Connecting web-based IoT devices to a cloud-based manufacturing platform
Rojas et al. Implementation of industrial internet of things and cyber-physical systems in SMEs for distributed and service-oriented control
Peniak et al. Open communication protocols for integration of embedded systems within Industry 4
Lee et al. Implementation of distributed smart factory platform based on edge computing and OPC UA
Adamson et al. Feature-based function block control framework for manufacturing equipment in cloud environments
Park et al. An extended agent communication framework for rapid reconfiguration of distributed manufacturing systems
Mayer et al. Standardized framework for evaluating centralized and decentralized control systems in modular assembly systems
Starke et al. Flexible collaboration and control of heterogeneous mechatronic devices and systems by means of an event-driven, SOA-based automation concept
Crăciunescu et al. IIoT gateway for edge Computing applications
Michalos et al. Autonomous production systems using open architectures and mobile robotic structures
WO2017121456A1 (en) A robot system and a method for operating the robot system
Lieberoth-Leden et al. Control architecture and transport coordination for autonomous logistics modules in flexible automated material flow systems
Grunau et al. The Implementation of Proactive Asset Administration Shells: Evaluation of Possibilities and Realization in an Order Driven Production

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16701096

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16701096

Country of ref document: EP

Kind code of ref document: A1