WO2010149185A1 - Robot system and belonging control method - Google Patents

Robot system and belonging control method Download PDF

Info

Publication number
WO2010149185A1
WO2010149185A1 PCT/EP2009/004576 EP2009004576W WO2010149185A1 WO 2010149185 A1 WO2010149185 A1 WO 2010149185A1 EP 2009004576 W EP2009004576 W EP 2009004576W WO 2010149185 A1 WO2010149185 A1 WO 2010149185A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing unit
master device
data
robot
robot system
Prior art date
Application number
PCT/EP2009/004576
Other languages
French (fr)
Inventor
Anders Lager
Steve Murphy
Heiko Koziolek
Roland Weiss
Original Assignee
Abb 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 Ag filed Critical Abb Ag
Priority to CN200980161125.XA priority Critical patent/CN102648074B/en
Priority to PCT/EP2009/004576 priority patent/WO2010149185A1/en
Priority to EP09776833A priority patent/EP2445685A1/en
Publication of WO2010149185A1 publication Critical patent/WO2010149185A1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • 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/33334Load balancing, distribution between processors
    • 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/33339Controller with lowest operation rate is selected as master
    • 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/33341Peer to peer, change master if overloaded
    • 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/39102Manipulator cooperating with conveyor
    • 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/39117Task distribution between involved manipulators
    • 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/45Nc applications
    • G05B2219/45063Pick and place manipulator

Definitions

  • the invention relates to a robot system comprising at least two robots for pick and place applications of small workpieces, comprising a related processing unit each, whereas the processing units are connected to a network bus for data transmission, whereas control data are provideable from the network bus to the processing units and whereas output data are provideable from the processing units to the network bus, comprising at least one conveyor belt for the transportation of small workpieces, comprising distributed sensor means for gathering sensor data within the local extension of the robot system which are provideable to the network bus, comprising a device with a coordination functionality to coordinate the processing units by providing control data to them via the network bus based on an analysis of at least the output data and the sensor data.
  • robots or manipulators respectively robots are used in industrial applications such as the assembly of workpieces to a final product, the packaging of small objects or the grading of small objects.
  • a robot comprises several degrees of freedom in movement, for example three or six. Each degree of freedom in movement requires a separate drive so that a robot with six degrees of freedom in movement is provided for example with six electric motor drives.
  • a robot with three degrees of freedom in movement for example might have the ability to move an interface platform on the tip of its robot arm in three geometrical dimensions within its working range.
  • a gripper tool is mounted on the interface platform.
  • This type of robot is suitable for so called pick and place applications whereas the robot is arranged for example over a conveyor belt transporting a plurality of individual small objects to be picked from and to be packaged afterwards.
  • Those robots might have a working range of for example of +/- 50cm in each geometrical dimension, whereas normally several and parallel working robots are arranged along the conveyor belt.
  • a similar application is for example disclosed in US 6,328,523.
  • Each robot is normally controlled by a belonging and preferably dedicated robot controller.
  • a robot controller is a processing unit similar to a PC and is provided with a memory and calculation capability. Desired robot movements and/or robot movement sequences are stored as a robot program within the memory of the robot controller. If the robot starts working, the robot controller calculates - based on the desired movement according to the selected robot program - control signals for the drives of the robot. It is usual that the robot program may become influenced by external control signals. This could be a stop signal in the case of an emergency in the easiest case. It could also be a trigger signal to start a certain program sequence if some basic conditions are fulfilled whereas for example the advise to pick a certain work- piece could be provided together with the coordinates of the belonging workpiece.
  • a separate control PC is foreseen to coordinate the picking movements within a robot system comprising several robots along a conveyor belt.
  • a sensor for example a camera, is observing the objects to be picked from the conveyor belt and is determining their positions. Based on the positions and the actual workload of each robot the control PC determines and dispatches single picking tasks to dedicated robots respectively to the belonging robot controllers.
  • This problem is solved by a robot system of the aforementioned kind.
  • This robot system is characterized in that at least two of the aforementioned processing units are alternately capable to perform in addition the aforementioned coordination functionality as a master device whereas at least the one remaining other processing unit is capable to immediately overtake coordination functionality as a backup master device in case of a malfunction of the actual master device.
  • a typical pick and place robot comprises less than the usual seven or six degrees of freedom in movement whereas in addition also cinematic aspects of the movement are only of minor importance. Therefore the calculation effort to perform the controlling functionality for a pick and place robot - comprising namely the control of the single drives of the robot according to the movement program - is lower than for a seven axis paint robot in the automotive industry for example. Due to synergy effects most robot-types of certain robot manufacturers are usually equipped with an identical standard robot controller which typically is underloaded with its origin task especially for pick and place applications. Therefore especially for pick and place applications unused overcapacities of the robot controllers exist.
  • these overcapacities are used for the integration of the coordination functionality of the former control PC into a robot controller itself.
  • Both, robot controllers and control PC are processing units with comparable capabilities. Since as well an unused calculation capacity as a connection to the network bus for data transmission are provided in the existing robot controllers for pick and place applications, the former control PC can be avoided without any major effort by integrating its functionality into a robot controller.
  • the robot controller which is taking over the coordination functionality is acting as master device to avoid any interference with other processing units.
  • the processing unit acting as actual master device as the at least one processing unit acting as actual backup device are capable to continuously store at least output- and sensor data provided on the network bus within a belonging memory each.
  • the master device as well as the backup device have stored the same data history of the robot system in their memory which is the basis for their coordination functionality.
  • an immediate transfer of the control functionality from a master device to a new master device is possible without loss of time for any data transfer.
  • At least one of the processing units is capable for the analysis of the sensor data gathered by sensor means.
  • at least one distributed sensor means is a camera, a light sensor or a weight sensor.
  • a camera is a very suitable sensor device to gather useful measurement data.
  • the processing of such image data gathered by a camera is also a task which requires additional calculation capacity of a processing unit. It is thinkable that additional dedicated pre-processing devices are foreseen for pre-processing those image data, which might be direct related to a belonging camera. It is also thinkable that a data analysis respectively a pre-processing of such images is done by a robot controller which is already part of the robot system.
  • the pre-processing task can be as well done by the robot controllers act- ing as master- or backup device, but also from the other robot controllers.
  • the task of pre-processing an image is handled similar to a picking task: information data that an image has to become pre-processed is transmitted to the master device, the advise to perform this task is dispatched by the master device to a belonging robot controller with available calculation capacity and the pre-processed data are transmitted to the processing unit acting as master device.
  • At least a part of the measurement data are provided with a timestamp. Since there is a not exactly known delay for measurement data in-between gaining those data and analyzing those data - for example 10ms ... 1000ms - it is rather difficult to merge the results of the analysis of the measurement data together as basis for the coordination of the robots.
  • a timestamp will enable such synchronization of measurement data respectively the results of their analysis. This strategy requires a synchronization of the clocks of the involved processing units and external sensors.
  • the processing unit of the robot with the lowest workload is selected to act in addition as master device.
  • the workload of the processing units might be different due to the setup of a robot line. In many cases the last robot controller in the robot line might not have to handle as many picking tasks since most workpieces are already picked by other robots. It is possible that the actual master device permanently observes the actual workload of itself and the backup device and temporarily transfers the coordination task automatically to the backup device in the case of a significant difference in their workload.
  • the determining of the output data by the processing unit acting as master device comprises dynamic load balancing. Hence a more or less equal workload for all robots is the result.
  • the determining of the control data by the processing unit acting as master device is manually influenced by using a manual input device of the belonging processing unit.
  • This manually influencing is so far called 'hot tuning' and enables the operator to force some special frame conditions to the robot system.
  • a manual input device - a teach pendant - is normally provided together with the robot so that an additional input device is avoidable.
  • Figure 1 shows an example for a robot system and the data flow therein
  • Fig. 1 shows an example 10 for a robot system and the data flow therein.
  • a first pick and place robot 12 is connected to a belonging first robot controller 22
  • a second pick and place robot 14 is connected to a belonging second robot controller 24
  • a third 16 and fourth 18 robot are connected to a common third robot controller 26.
  • the robot controllers 22, 24, 26 are standard robot controllers whose original task is to control the movements of the robots 12, 14, 16, 18 connected thereto based on a belonging robot movement program respectively based on belonging movement program sequences.
  • a robot controller 22, 24, 26 is similar to a PC whereas the robot programs are stored on.
  • a robot program comprises a desired movement path for the picking tools mounted on each robot 12, 14, 16, 18 whereas those movement paths might be adaptively influenced by external control data 32.
  • the control data 32 which initiate a picking task of the belonging robots 12, 14, 16, 18 include also the coordinates of the workpiece 20 to be picked.
  • the control data 32 are determined and provided by the first control unit 22, which is acting - besides its origin function as robot controller - as master device for coordinating the robot system 10.
  • the coordination of the robot system 10 comprises the collection of several system data 30, 34, the analysis of those data 30, 34 and the sending of control data 32 and belonging coordinates of determined small work- pieces 20 to be picked to the dedicated robot controllers respectively the robots related thereto.
  • the data transfer of those data 30, 32, 34 is realized over the network bus 28 for data transmission.
  • the output data 30 are provided by the processing units respectively by the robot controllers 24, 26 and transmitted to the first processing unit 22 which is acting as master device.
  • the output data of the master device itself are also considered in determining the control data 32.
  • the output data 30 contain for example information, whether a workpiece 20 has been already picked by the belonging robot and/or information about the current workload of the robot itself but also information about the current workload of the robot controller.
  • the sensor data 34 are provided by several distributed sensors 38, 40, 42, 48 and contain information for determining number, position and orientation of workpieces 20 which are placed on the moving conveyor belt 46.
  • the data 34 from the different sensors 38, 40, 44, 48 are collected within a sensor network 36.
  • the revolution counter 48 provides directly or indirectly information about the movement speed.
  • the other sensors 38, 40, 42 are cameras observing the small workpieces 20 on the conveyor belt 46. Based on those data it is possible to determine the position and orientation of the workpieces 20.
  • an additional processing device 44 for sensor data is foreseen whereas the images of the other cameras 38 and 40 are analyzed by the processing units respectively robot controllers 22, 24, 26.
  • the robot controller 22, 24, 26 which has the lowest workload, is assigned by the master device 22 to analyze those images.
  • the master device 22 Based on the pre-processed respectively not pre-processed sensor data 34 and the output data 30 the master device 22 has enough information to determine required picking tasks and to dispatch those tasks to dedicated robot controllers 22, 24, 26.
  • the third robot controller 26 is in charge for controlling the two robots 16, 18.
  • the workload of this robot controller 26 for controlling both robots will be higher so that less unused calculation capacity will remain.
  • the first robot controller 22 is acting as master device whereas the second robot controller 24 is acting as backup device to overtake mastership in case of a failure of the first robot controller 22.
  • the density of workpieces 20 to be picked from the conveyor belt 46 is rather low at the end of the conveyor belt 46 so that the first processing unit 22 acting as master device has in any case enough calculation capacity to perform at least the coordination functionality for the robot system 10.
  • the pre-processing of the images of the cameras 38 and 40 is done preferably by the second processing unit 24 which is acting as backup device. Besides its origin function as robot controller 24 it stores only the sensor data 34 and the output data 30a from the first processing device 22 into its memory. So it can be assumed that enough free calculation capacity is available. The storage of the data 30a, 34 into the memory of the second processing device 24 is required to ensure that the processing device 24 immediately can overtake the coordination task from the master device 22 in case of a malfunction.
  • the actual master controller might send heartbeats, e.g. ping messages, to the backup device respectively the replicated master controllers. If the backup device does not receive the heartbeat for a specified period of time, it assumes that the actual master device has failed, and assumes its role. To ensure high availability, the backup device assuming the role of the actual master device should promote one of the other processing units to a backup device upon take-over. It is thinkable, that the also the data stored in the belonging memory of the master unit and backup unit is continuously compared to gain an increased reliability.
  • heartbeats e.g. ping messages
  • the mastership is also transferred to the second processing unit 24 in the case of an significant higher workload of the first processing unit 22 which is acting as master device compared to the workload of the second processing unit 24. Such a transfer is preferably initiated by the current master controller.
  • first processing unit acting as master device
  • second processing unit acting as backup device
  • third processing unit network bus for data transmission output data flow output data flow for backup master device control data flow sensor data flow sensor network
  • first camera second camera third camera processing device for sensor data conveyor belt revolution counter

Abstract

The invention is related to a robot system (10) comprising at least two robots (12, 14, 16) for pick and place applications of small workpieces (20) and comprising a related processing unit (22, 24, 26) each, whereas the processing units (22, 24, 26) are connected to a network bus for data transmission (28). At least two of the aforementioned processing units (22, 24) are alternately capable to perform in addition a coordination functionality as a master device (22) whereas at least the one remaining other processing unit (24) is capable to immediately overtake coordination functionality as a backup master device in case of a malfunction of the actual master device (22). The invention is also related to a belonging control method.

Description

Robot system and belonging control method
Description
The invention relates to a robot system comprising at least two robots for pick and place applications of small workpieces, comprising a related processing unit each, whereas the processing units are connected to a network bus for data transmission, whereas control data are provideable from the network bus to the processing units and whereas output data are provideable from the processing units to the network bus, comprising at least one conveyor belt for the transportation of small workpieces, comprising distributed sensor means for gathering sensor data within the local extension of the robot system which are provideable to the network bus, comprising a device with a coordination functionality to coordinate the processing units by providing control data to them via the network bus based on an analysis of at least the output data and the sensor data.
It is known that robots or manipulators respectively robots are used in industrial applications such as the assembly of workpieces to a final product, the packaging of small objects or the grading of small objects. Normally a robot comprises several degrees of freedom in movement, for example three or six. Each degree of freedom in movement requires a separate drive so that a robot with six degrees of freedom in movement is provided for example with six electric motor drives.
A robot with three degrees of freedom in movement for example might have the ability to move an interface platform on the tip of its robot arm in three geometrical dimensions within its working range. For some applications a gripper tool is mounted on the interface platform. This type of robot is suitable for so called pick and place applications whereas the robot is arranged for example over a conveyor belt transporting a plurality of individual small objects to be picked from and to be packaged afterwards. Those robots might have a working range of for example of +/- 50cm in each geometrical dimension, whereas normally several and parallel working robots are arranged along the conveyor belt. A similar application is for example disclosed in US 6,328,523.
Each robot is normally controlled by a belonging and preferably dedicated robot controller. A robot controller is a processing unit similar to a PC and is provided with a memory and calculation capability. Desired robot movements and/or robot movement sequences are stored as a robot program within the memory of the robot controller. If the robot starts working, the robot controller calculates - based on the desired movement according to the selected robot program - control signals for the drives of the robot. It is usual that the robot program may become influenced by external control signals. This could be a stop signal in the case of an emergency in the easiest case. It could also be a trigger signal to start a certain program sequence if some basic conditions are fulfilled whereas for example the advise to pick a certain work- piece could be provided together with the coordinates of the belonging workpiece.
Normally a separate control PC is foreseen to coordinate the picking movements within a robot system comprising several robots along a conveyor belt. A sensor, for example a camera, is observing the objects to be picked from the conveyor belt and is determining their positions. Based on the positions and the actual workload of each robot the control PC determines and dispatches single picking tasks to dedicated robots respectively to the belonging robot controllers.
Disadvantageously in this state of the art is that such a control PC with coordination functionality is an additional component or device requiring additional effort for programming and setup and that the whole robot system is not able to work any more in case of a malfunction of the control PC.
Therefore it is objective of the invention to provide a robot system which avoids these disadvantages.
This problem is solved by a robot system of the aforementioned kind. This robot system is characterized in that at least two of the aforementioned processing units are alternately capable to perform in addition the aforementioned coordination functionality as a master device whereas at least the one remaining other processing unit is capable to immediately overtake coordination functionality as a backup master device in case of a malfunction of the actual master device.
The integration of the coordination functionality into a processing unit respectively into a robot controller on one side provides in an advantageous manner a reduction of the number of required components. Thus the control PC can be avoided. Standard robot controllers even provide an increased calculation capability which is normally not fully used by the control function for the robot itself.
A typical pick and place robot comprises less than the usual seven or six degrees of freedom in movement whereas in addition also cinematic aspects of the movement are only of minor importance. Therefore the calculation effort to perform the controlling functionality for a pick and place robot - comprising namely the control of the single drives of the robot according to the movement program - is lower than for a seven axis paint robot in the automotive industry for example. Due to synergy effects most robot-types of certain robot manufacturers are usually equipped with an identical standard robot controller which typically is underloaded with its origin task especially for pick and place applications. Therefore especially for pick and place applications unused overcapacities of the robot controllers exist.
According to the invention these overcapacities are used for the integration of the coordination functionality of the former control PC into a robot controller itself. Both, robot controllers and control PC are processing units with comparable capabilities. Since as well an unused calculation capacity as a connection to the network bus for data transmission are provided in the existing robot controllers for pick and place applications, the former control PC can be avoided without any major effort by integrating its functionality into a robot controller. The robot controller which is taking over the coordination functionality is acting as master device to avoid any interference with other processing units.
To take also advantage of the over-capacity of the other robot controllers it is foreseen to use at least one other robot controller as a backup device which is able to immediately overtake the coordination functionality as new master in case of a mal- function of the origin master device. So the reliability of the robot system is increased without any additional effort in hardware.
In a preferred embodiment of the robot system according to the invention as well the processing unit acting as actual master device as the at least one processing unit acting as actual backup device are capable to continuously store at least output- and sensor data provided on the network bus within a belonging memory each.
So the master device as well as the backup device have stored the same data history of the robot system in their memory which is the basis for their coordination functionality. Thus an immediate transfer of the control functionality from a master device to a new master device is possible without loss of time for any data transfer.
According to another embodiment of the invention at least one of the processing units is capable for the analysis of the sensor data gathered by sensor means. Preferably at least one distributed sensor means is a camera, a light sensor or a weight sensor.
Most important result of the sensor data analysis is the determination of the location and the orientation of the small workpieces to be gripped on the conveyor belt. Those coordinates will be dispatched as additional information by the master device to the dedicated robot controllers which have to control the picking process of the belonging small workpiece.
Hence a camera is a very suitable sensor device to gather useful measurement data. The processing of such image data gathered by a camera is also a task which requires additional calculation capacity of a processing unit. It is thinkable that additional dedicated pre-processing devices are foreseen for pre-processing those image data, which might be direct related to a belonging camera. It is also thinkable that a data analysis respectively a pre-processing of such images is done by a robot controller which is already part of the robot system.
Dependent on the actual workload of the different processing units respectively robot controllers the pre-processing task can be as well done by the robot controllers act- ing as master- or backup device, but also from the other robot controllers. The task of pre-processing an image is handled similar to a picking task: information data that an image has to become pre-processed is transmitted to the master device, the advise to perform this task is dispatched by the master device to a belonging robot controller with available calculation capacity and the pre-processed data are transmitted to the processing unit acting as master device. Hence it is possible to use most of the overcapacities provided by the robot controllers.
The problem is also solved by a method for controlling a robot system according to any of the claims 1 to 4, comprising the following steps
• continuously providing output data from the processing units to the network bus comprising at least information about the actual workload status of the belonging robots and/or processing units and/or which small workpieces have been picked by the belonging robot
• continuously providing sensor data from the distributed sensor means to the network bus comprising at least information about the position of small work- pieces to be picked by the robots from the conveyor belt
• continuously storing at least in part output data and sensor data to a belonging memory of one processing unit acting as a master device and to the memory of at least one processing unit acting as a backup device
• continuously analyzing at least in part output data and sensor data by the processing unit acting as master device
• continuously determining control data based thereon for the control of the robots containing at least information for the robots which objects have to be picked
• continuously providing the control data via the network bus to the processing units whereas at least a part of the control data is dedicated to selected processing units respectively the robots related thereto so that the processing unit acting as master device is performing a coordination functionality herewith
• continuously picking small workpieces from the conveyor belt by the robots according to the control data provided by the processing unit acting as master device • continuously checking the functionality of the processing unit acting as master device and in case of a malfunction initializing an immediate transfer of the coordination functionality to a processing unit acting as backup device
The advantages of this method correspond to the advantages of the robot system described above: an additional control PC is avoided and the robot system gets more reliable without additional hardware.
According to a preferred variant of the invention at least a part of the measurement data are provided with a timestamp. Since there is a not exactly known delay for measurement data in-between gaining those data and analyzing those data - for example 10ms ... 1000ms - it is rather difficult to merge the results of the analysis of the measurement data together as basis for the coordination of the robots. A timestamp will enable such synchronization of measurement data respectively the results of their analysis. This strategy requires a synchronization of the clocks of the involved processing units and external sensors.
According to a preferred variant of the method for controlling a robot system according to the invention the processing unit of the robot with the lowest workload is selected to act in addition as master device.
The workload of the processing units might be different due to the setup of a robot line. In many cases the last robot controller in the robot line might not have to handle as many picking tasks since most workpieces are already picked by other robots. It is possible that the actual master device permanently observes the actual workload of itself and the backup device and temporarily transfers the coordination task automatically to the backup device in the case of a significant difference in their workload.
In a preferred embodiment of the method the determining of the output data by the processing unit acting as master device comprises dynamic load balancing. Hence a more or less equal workload for all robots is the result.
According to a further variant of the invention the determining of the control data by the processing unit acting as master device is manually influenced by using a manual input device of the belonging processing unit. This manually influencing is so far called 'hot tuning' and enables the operator to force some special frame conditions to the robot system. A manual input device - a teach pendant - is normally provided together with the robot so that an additional input device is avoidable.
Further advantageous embodiments of the invention are mentioned in the dependent claims.
The invention will now be further explained by means of an exemplary embodiment and with reference to the accompanying drawings, in which:
Figure 1 shows an example for a robot system and the data flow therein
Fig. 1 shows an example 10 for a robot system and the data flow therein. A first pick and place robot 12 is connected to a belonging first robot controller 22, a second pick and place robot 14 is connected to a belonging second robot controller 24 and a third 16 and fourth 18 robot are connected to a common third robot controller 26. The robot controllers 22, 24, 26 are standard robot controllers whose original task is to control the movements of the robots 12, 14, 16, 18 connected thereto based on a belonging robot movement program respectively based on belonging movement program sequences.
A robot controller 22, 24, 26 is similar to a PC whereas the robot programs are stored on. A robot program comprises a desired movement path for the picking tools mounted on each robot 12, 14, 16, 18 whereas those movement paths might be adaptively influenced by external control data 32. The control data 32 which initiate a picking task of the belonging robots 12, 14, 16, 18 include also the coordinates of the workpiece 20 to be picked.
The control data 32 are determined and provided by the first control unit 22, which is acting - besides its origin function as robot controller - as master device for coordinating the robot system 10. The coordination of the robot system 10 comprises the collection of several system data 30, 34, the analysis of those data 30, 34 and the sending of control data 32 and belonging coordinates of determined small work- pieces 20 to be picked to the dedicated robot controllers respectively the robots related thereto. The data transfer of those data 30, 32, 34 is realized over the network bus 28 for data transmission.
In this example the output data 30 are provided by the processing units respectively by the robot controllers 24, 26 and transmitted to the first processing unit 22 which is acting as master device. Of course the output data of the master device itself are also considered in determining the control data 32. The output data 30 contain for example information, whether a workpiece 20 has been already picked by the belonging robot and/or information about the current workload of the robot itself but also information about the current workload of the robot controller.
The sensor data 34 are provided by several distributed sensors 38, 40, 42, 48 and contain information for determining number, position and orientation of workpieces 20 which are placed on the moving conveyor belt 46. The data 34 from the different sensors 38, 40, 44, 48 are collected within a sensor network 36. To consider also the movement of the conveyor belt 46, the revolution counter 48 provides directly or indirectly information about the movement speed. The other sensors 38, 40, 42 are cameras observing the small workpieces 20 on the conveyor belt 46. Based on those data it is possible to determine the position and orientation of the workpieces 20. For the pre-processing of the images of the third camera 42 an additional processing device 44 for sensor data is foreseen whereas the images of the other cameras 38 and 40 are analyzed by the processing units respectively robot controllers 22, 24, 26. Typically the robot controller 22, 24, 26 which has the lowest workload, is assigned by the master device 22 to analyze those images.
Based on the pre-processed respectively not pre-processed sensor data 34 and the output data 30 the master device 22 has enough information to determine required picking tasks and to dispatch those tasks to dedicated robot controllers 22, 24, 26.
In this example the third robot controller 26 is in charge for controlling the two robots 16, 18. Thus the workload of this robot controller 26 for controlling both robots will be higher so that less unused calculation capacity will remain. The first robot controller 22 is acting as master device whereas the second robot controller 24 is acting as backup device to overtake mastership in case of a failure of the first robot controller 22. The density of workpieces 20 to be picked from the conveyor belt 46 is rather low at the end of the conveyor belt 46 so that the first processing unit 22 acting as master device has in any case enough calculation capacity to perform at least the coordination functionality for the robot system 10.
The pre-processing of the images of the cameras 38 and 40 is done preferably by the second processing unit 24 which is acting as backup device. Besides its origin function as robot controller 24 it stores only the sensor data 34 and the output data 30a from the first processing device 22 into its memory. So it can be assumed that enough free calculation capacity is available. The storage of the data 30a, 34 into the memory of the second processing device 24 is required to ensure that the processing device 24 immediately can overtake the coordination task from the master device 22 in case of a malfunction.
To detect a failure or malfunction, the actual master controller might send heartbeats, e.g. ping messages, to the backup device respectively the replicated master controllers. If the backup device does not receive the heartbeat for a specified period of time, it assumes that the actual master device has failed, and assumes its role. To ensure high availability, the backup device assuming the role of the actual master device should promote one of the other processing units to a backup device upon take-over. It is thinkable, that the also the data stored in the belonging memory of the master unit and backup unit is continuously compared to gain an increased reliability.
It is also thinkable that the mastership is also transferred to the second processing unit 24 in the case of an significant higher workload of the first processing unit 22 which is acting as master device compared to the workload of the second processing unit 24. Such a transfer is preferably initiated by the current master controller. List of reference signs
example for a robot system and the data flow therein first robot for pick and place applications second robot for pick and place applications third robot for pick and place applications forth robot for pick and place applications small workpieces first processing unit (acting as master device) second processing unit (acting as backup device) third processing unit network bus for data transmission output data flow output data flow for backup master device control data flow sensor data flow sensor network first camera second camera third camera processing device for sensor data conveyor belt revolution counter

Claims

Claims
1. Robot system (10) comprising at least two robots (12, 14, 16) for pick and place applications of small workpieces (20), comprising a related processing unit (22, 24, 26) each, whereas the processing units (22, 24, 26) are connected to a network bus for data transmission (28), whereas control data (32) are provideable from the network bus (28) to the processing units (22, 24, 26) and whereas output data (30) are provideable from the processing units (22, 24, 26) to the network bus (28), comprising at least one conveyor belt (46) for the transportation of small workpieces (20), comprising distributed sensor means (38, 40, 42, 48) for gathering sensor data (34) within the local extension of the robot system which are provideable to the network bus (28), comprising a device with a coordination functionality to coordinate the processing units (22, 24, 26) by providing control data (32) to them via the network bus (28) based on an analysis of at least the output data (30) and the sensor data (34), characterized in that at least two of the aforementioned processing units (22, 24) are alternately capable to perform in addition the aforementioned coordination functionality as a master device (22) whereas at least the one remaining other processing unit (24) is capable to immediately overtake coordination functionality as a backup master device in case of a malfunction of the actual master device (22).
2. Robot system according to claim 1 , characterized in that the processing unit acting as actual master device (22) and the at least one processing unit acting as actual backup device (24) are capable to continuously store at least output- (30) and sensor data (34) provided on the network bus (28) within a belonging memory each.
3. Robot system according to claim 1 or claim 2, characterized in that at least one of the processing units is (22, 24, 26) capable for the analysis of the sensor data (34).
4. Robot system according to any of the previous claims, characterized in that at least one distributed sensor means (38, 40, 42, 48) is a camera, a light sensor or a weight sensor.
5. Method for controlling a robot system according to any of the claims 1 to 4, comprising the following steps
• continuously providing output data (30) from the processing units (22, 24, 26) to the network bus (28) comprising at least information about the actual workload status of the belonging robots (12, 14, 16, 18) and/or processing units (22, 24, 26) and/or information which small workpieces (20) have been picked by the belonging robot (12, 14, 16, 18)
• continuously providing sensor data (34) from the distributed sensor means (38, 40, 42, 48) to the network bus (28) comprising at least information about the position of small workpieces (20) to be picked by the robots (12, 14, 16, 18) from the conveyor belt (46)
• continuously storing at least in part output data (30) and sensor data (34) to a belonging memory of one processing unit acting as a master device (22) and to the memory of at least one processing unit acting as a backup device (24)
• continuously analyzing at least in part output data (30) and sensor data (34) by the processing unit acting as master device (22)
• continuously determining control data (32) based thereon for the control of the robots (12, 14, 16, 18) containing at least information for the robots (12, 14, 16, 18) which small workpieces (20) have to be picked
• continuously providing the control data (32) via the network bus (28) to the processing units (22, 24, 26) whereas at least a part of the control data (32) is dedicated to selected processing units (22, 24, 26) respectively the robots (12, 14, 16, 18) related thereto so that the processing unit acting as master device (22) is performing a coordination functionality herewith
• continuously picking small workpieces (20) from the conveyor belt (46) by the robots (12, 14, 16, 18) according to the control data (32) provided by the processing unit acting as master device (22)
• continuously checking the functionality of the processing unit acting as master device (22) and in case of a malfunction initializing an immediate transfer of the control functionality to a processing unit acting as backup device (24)
6. Method for controlling a robot system according to claim 5, characterized in that at least a part of the sensor data (34) and/or output data (30) are provided with a time- stamp.
7. Method for controlling a robot system according to claim 5 or claim 6, characterized in that the processing unit (22, 24, 26) of the robot (12, 14, 16, 18) with the lowest workload is acting in addition as master device (22).
8. Method for controlling a robot system according to any of the claims 5 to 7, characterized in that the determining of the output data (30) by the processing unit acting as master device (22) comprises dynamic load balancing.
9. Method for controlling a robot system according to any of the claims 5 to 8, characterized in that the determining of the control data (32) by the processing unit acting as master device (22) is manually influenced over a manual input device of the belonging processing unit (22).
PCT/EP2009/004576 2009-06-25 2009-06-25 Robot system and belonging control method WO2010149185A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN200980161125.XA CN102648074B (en) 2009-06-25 2009-06-25 Robot system and attached control method
PCT/EP2009/004576 WO2010149185A1 (en) 2009-06-25 2009-06-25 Robot system and belonging control method
EP09776833A EP2445685A1 (en) 2009-06-25 2009-06-25 Robot system and belonging control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2009/004576 WO2010149185A1 (en) 2009-06-25 2009-06-25 Robot system and belonging control method

Publications (1)

Publication Number Publication Date
WO2010149185A1 true WO2010149185A1 (en) 2010-12-29

Family

ID=41351538

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2009/004576 WO2010149185A1 (en) 2009-06-25 2009-06-25 Robot system and belonging control method

Country Status (3)

Country Link
EP (1) EP2445685A1 (en)
CN (1) CN102648074B (en)
WO (1) WO2010149185A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2982960A1 (en) * 2011-11-22 2013-05-24 Schneider Electric Usa Inc DYNAMIC ADAPTATION TO CHANGES IN CONTROL SYSTEM TOPOLOGY
EP2811350A1 (en) * 2013-06-05 2014-12-10 Siemens Aktiengesellschaft Controlling distributed subsea units
US9259844B2 (en) 2014-02-12 2016-02-16 General Electric Company Vision-guided electromagnetic robotic system
CN106182041A (en) * 2014-08-20 2016-12-07 发那科株式会社 The robot controller of the robot used along with lathe and system of processing
DE102017101230B4 (en) 2016-01-28 2019-04-25 Fanuc Corporation System with several machines and at least one sensor
WO2021228528A1 (en) * 2020-05-15 2021-11-18 Nchain Licensing Ag Multi-layer communication network

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105807734B (en) * 2014-12-30 2018-11-20 中国科学院深圳先进技术研究院 A kind of control method and multi-robot system of multi-robot system
CN109132460A (en) * 2018-07-11 2019-01-04 芜湖隆深机器人有限公司 A kind of robot is from movable pendulum intestines production line

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5252899A (en) * 1988-03-09 1993-10-12 Fanuc Ltd Numerical control system
US20030069666A1 (en) * 2001-10-10 2003-04-10 Imt Robot Ag Method for automated placement of articles onto a support
US20030220715A1 (en) * 2002-05-22 2003-11-27 Kneifel R. William Coordinated robot control from multiple remote instruction sources
US20040230980A1 (en) * 1999-03-10 2004-11-18 Masahiro Koyama Decentralized control system for network connection
EP1748339A2 (en) * 2005-07-26 2007-01-31 Fanuc Ltd Workpiece tracking and handling device comprising a conveying means and a plurality of robots
US20080208361A1 (en) * 2007-02-27 2008-08-28 Rockwell Automation Technologies, Inc. Dynamic load balancing using virtual controller instances
US20080228304A1 (en) * 2004-05-21 2008-09-18 Matsushita Electric Industrial Co., Ltd. Line Balance Control Method, Line Balance Control Apparatus, and Component Mounting Machine

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5252899A (en) * 1988-03-09 1993-10-12 Fanuc Ltd Numerical control system
US20040230980A1 (en) * 1999-03-10 2004-11-18 Masahiro Koyama Decentralized control system for network connection
US20030069666A1 (en) * 2001-10-10 2003-04-10 Imt Robot Ag Method for automated placement of articles onto a support
US20030220715A1 (en) * 2002-05-22 2003-11-27 Kneifel R. William Coordinated robot control from multiple remote instruction sources
US20080228304A1 (en) * 2004-05-21 2008-09-18 Matsushita Electric Industrial Co., Ltd. Line Balance Control Method, Line Balance Control Apparatus, and Component Mounting Machine
EP1748339A2 (en) * 2005-07-26 2007-01-31 Fanuc Ltd Workpiece tracking and handling device comprising a conveying means and a plurality of robots
US20080208361A1 (en) * 2007-02-27 2008-08-28 Rockwell Automation Technologies, Inc. Dynamic load balancing using virtual controller instances

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2445685A1 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013078081A1 (en) * 2011-11-22 2013-05-30 Schneider Electric USA, Inc. Dynamically adapting to changes in control system topology
US9256217B2 (en) 2011-11-22 2016-02-09 Schneider Electric USA, Inc. Dynamically adapting to changes in control system topology
FR2982960A1 (en) * 2011-11-22 2013-05-24 Schneider Electric Usa Inc DYNAMIC ADAPTATION TO CHANGES IN CONTROL SYSTEM TOPOLOGY
US20160090808A1 (en) * 2013-06-05 2016-03-31 Siemens Aktiengesellschaft Controlling distributed subsea units
EP2811350A1 (en) * 2013-06-05 2014-12-10 Siemens Aktiengesellschaft Controlling distributed subsea units
WO2014195113A2 (en) * 2013-06-05 2014-12-11 Siemens Aktiengesellschaft Controlling distributed subsea units
WO2014195113A3 (en) * 2013-06-05 2015-01-29 Siemens Aktiengesellschaft Controlling distributed subsea units
US9259844B2 (en) 2014-02-12 2016-02-16 General Electric Company Vision-guided electromagnetic robotic system
CN106182041A (en) * 2014-08-20 2016-12-07 发那科株式会社 The robot controller of the robot used along with lathe and system of processing
US10197989B2 (en) 2014-08-20 2019-02-05 Fanuc Corporation Robot controller of robot used with machine tool, and processing system
CN106182041B (en) * 2014-08-20 2019-04-05 发那科株式会社 The robot controller and system of processing for the robot being used together with lathe
DE102017101230B4 (en) 2016-01-28 2019-04-25 Fanuc Corporation System with several machines and at least one sensor
US10437238B2 (en) 2016-01-28 2019-10-08 Fanuc Corporation System provided with multiple machines and at least one sensor
WO2021228528A1 (en) * 2020-05-15 2021-11-18 Nchain Licensing Ag Multi-layer communication network
GB2595216A (en) * 2020-05-15 2021-11-24 Nchain Holdings Ltd Multi-layer communication network

Also Published As

Publication number Publication date
EP2445685A1 (en) 2012-05-02
CN102648074B (en) 2015-11-25
CN102648074A (en) 2012-08-22

Similar Documents

Publication Publication Date Title
WO2010149185A1 (en) Robot system and belonging control method
US8301299B2 (en) Robot system
US9898815B2 (en) Fault diagnostic device of robot system for judging fault by camera image
CN107921636B (en) Robot system
CN108495738A (en) System and method for providing dynamic robot control system
EP1711317B1 (en) Machine vision controlled robot tool system
EP1967334B1 (en) Detection of condition changes in an industrial robot system
RU2405183C2 (en) Method of controlling robotic workstation and robotic workstation
EP2466404A1 (en) Method for controlling industrial robots in a work area
JP2010036334A (en) Control method for composite device having plurality of multi-spindle handling devices arranged in series and/or parallel, data storage medium, control system, and composite device
JP2010036334A6 (en) Control method of composite device comprising a plurality of multi-axis handling devices arranged in series and / or in parallel, data storage medium, control system, and composite device
JP6392581B2 (en) Robot control device and processing system for robots used with machine tools
US20200139551A1 (en) Robot system
US20200189102A1 (en) Robot apparatus, robot system, control method of robot apparatus, product manufacturing method using robot apparatus, and storage medium
CN213634179U (en) Automation device
US20190302745A1 (en) Facility operation analysis device
CN114260913A (en) Modular robot stamping system
Liu et al. Design of a PC-based open industrial robot control system integrated with real-time machine vision
US20210271791A1 (en) Simulation method and simulation system
Reinhart et al. Is force monitoring in cooperating industrial robots necessary?
Tanaka et al. An Internet-based tele-robot environment for a time critical task
JP7225452B1 (en) Unmanned transport device and processing system equipped with the same
WO2022030405A1 (en) Control system, control device, and program
Kim et al. Task-oriented synchronous error monitoring framework in robotic manufacturing process
CN116787413A (en) Method for building innovative platform of manufacturing unit based on digital twin industrial robot

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980161125.X

Country of ref document: CN

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

Ref document number: 09776833

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2009776833

Country of ref document: EP