The invention relates to a method for the synchronous control of a plurality of handling devices, such as industrial robots. It also relates to an apparatus for the synchronous control of a handling device in a union or group of a plurality of such handling devices and constructed for performing a method of the aforementioned type.
Automated handling devices, such as industrial robots, are used for very varied tasks in modern industrial practice. It is often necessary for several robots, in each case controlled by a robot control, to perform in time-matched manner, i.e. synchronously certain handling actions. For this purpose it is generally necessary for certain operating actions to be simultaneously performed on a plurality of robot controls. Said operating actions can e.g. be the distribution of a starting command for a group of cooperating robots. In addition, certain commands are regularly linked with state conditions, which must be fulfilled on all the controls before a specific control command or program instructions initiated by the latter can be synchronously performed by a plurality of robot controls.
US 2002/0029095 A1 (corresponding to EP 1 186 286 A2) discloses a synchronous control of cooperating robots, in which one robot control functions as the master and further robot controls as slaves. The master control transmits start commands and both position and interpolation data to all the slaves and then, following the reply or acknowledgement, perform synchronous movement or control sequences with respect to a starting time. In the case of a stop command of one of the cooperating robots, all the participating robots are decelerated in accordance with an identical stopping process.
A particular disadvantage of the known control is the rigid master-slave concept, according to which at the start of a flow process one of the robots must be established as master for said process. This greatly restricts the usability of such a control. All participating robot controls contain a plurality of distinct control programs (master program, slave program, normal program), whose interaction must be determined beforehand and leading to increased programming and administration effort and expenditure, together with a corresponding, additional storage expenditure. Further disadvantages result from the data-complicated and error-prone transmission of extensive position and interpolation data referred to in the aforementioned document and necessary therein for synchronous control purposes.
Whilst avoiding the aforementioned disadvantages, the object of the invention is to provide a method or apparatus for the synchronous control of a plurality of handling devices, such as industrial robots, which is simply constructed and flexibly usable, whilst ensuring a reliable process sequence.
In the case of a method of the aforementioned type, this problem is solved in that a control command to be implemented by controls of handling devices participating in a synchronization is initiated at a random control and is subsequently further processed therein as a function of the nature of the command. For solving the set problem in a control apparatus of the aforementioned type, it is provided for the latter to have storage means for storing a control program for the handling device, input means for initiating a control command to be distributed for synchronization purposes, transmitting means for transmitting an initiated control command to other controls participating in a synchronization, receiving means for receiving a command transmitted by another participating control, processor means for processing the control program in accordance with the control command and optionally for checking the initiated or received command and decision means for unblocking or blocking the transmission and/or for ordering a solely local implementation of an initiated control command.
This provides a simple and flexibly usable method or a corresponding apparatus for the synchronous control of a plurality of handling devices, which in particular does not require a classification of the participating controls into master and slave controls and obviates the disadvantages associated therewith. A flexible, variable number of controls can therefore synchronously be controlled in the form of a group or union by means of specific control commands. There is a list of controls participating in said union, preferably by means of a list-like variable stored in the storage means of the controls. Such a variable can be redefined, also online, at any time by the user.
Since, according to a further development of the inventive control system, the controls are linked by means of a communication network, e.g. using the ethernet protocol, the control list preferably contains the IP addresses of the controls participating in the synchronization.
The communication network is preferably hierarchically flat, e.g. constructed with star topology and a central hub. Therefore all the controls are located on a common hierarchic plane.
Preferably the command processing in the method according to the invention involves the control command being distributed for synchronous implementation to the other controls or is initially locally checked.
According to a further development of the method according to the invention, the controls reciprocally communicate their present control-relevant states prior to the processing of the control command. In this way the initiating control can check the transmitted states of all the controls in accordance with a preferred development of the inventive method. The checking by the initiating control takes place under the standpoint as to whether all the preconditions linked with a distribution or implementation of a specific control command are fulfilled on all the controls. Such a condition is e.g. that no participating robots is being moved in a manual process.
According to a further development of the method according to the invention, the command processing takes place following state checking. Preferably there is no command processing in the case of negative state checking.
Due to the fact that, according to the invention, a command is possibly only locally implemented, certain control commands can also be implemented without synchronization for the particular handling device where they were originally initiated.
According to a further development of the inventive method, the state communication takes place following an interrogation by the initiating control. Thus, the communication network between the controls is only loaded with state communications at the initiation time of the control command.
In order to make as simple and operator-friendly as possible the control of robots cooperating in a cell, i.e. always or partially moving in coordinated manner with one another in space and/or time, the inventive apparatus, preferably together with the other controls, is connected to a common operating device for the controls and which can be switched to the different controls. Thus, from a central operating unit, the operator can initiate control commands to specific controls of cooperating handling devices and in this way can simply and flexibly control the robot group from the outside.
Further advantages and features of the invention can be gathered from the following description of embodiments with reference to the attached drawings, wherein show:
The input means 1.3a–4.3a, transmitting means 1.3b–4.3b and receiving means 1.3c–4.3c are implemented in constructionally combined form as a network card 1.3–4.3 for each of the controls 1.1–4.1 in the embodiment according to
For controlling the network cards 1.3–4.3, each of the controls 1.1–4.1 in the embodiment shown have suitable driver means 1.5, 2.5, 3.5, 4.5.
The processing means 1.4a, 2.4a, 3.4a, 4.4a and decision means 1.4b, 2.4b, 3.4b, 4.4b are implemented in the embodiment shown as a constructional unit in the form of a microprocessor 1.4, 2.4, 3.4, 4.4.
The inventive control system shown in
A control command involving a state interrogation and checking of the other participating controls by the initiating control can e.g. be a start command through which a complete robot union or group comprising several cooperating robots is optionally required, i.e. if there are no exclusion reasons such as manual operation or the like, to synchronously perform certain working or movement activities in accordance with certain programs stored in the individual robot controls.
To this end in a first step S1 the start command is given to the initiating control, also referred to as local control hereinafter. Such a control command is generally initiated from the outside by an operator, as will be explained hereinafter relative to
In parallel to the waiting for the reply data packets, in step S5 a timeout time is checked for the replies to be received from the interrogated robots. Therefore steps S4 and S5 generally take place repeatedly in alternating manner in the form of a loop (hot shown here so as not to overburden representation). On exceeding the reply time (j), in step S6 a message is sent to the user to the effect that the starts of the other or certain other controls could not yet be read, so that there is a truncation of the start command given in step S1. If at step S5 there is no exceeding of the reply time (n), at step S7 there is a further processing of the start command, as will be represented hereinafter relative to
The last-mentioned step S7 is performed even if in the initial interrogation S2 no start union was established (n), i.e. the command brought about in step S1, as a result of the selection at the operating device, is only to apply for one robot control and therefore one robot.
In step S8 the start command is fundamentally unblocked for passing on to the other controls to be synchronized (cf. S7 in
If one of these conditions (n) does not occur at S13′, there is a global blocking of the start in step S14 and a corresponding error message is transmitted to the user. Global blocking of the start command means that neither a program sequence in the local control is started, nor is the start command transmitted to the other participating controls.
If, however, all the start conditions S13′ exist (j), then the local control transmits the start command in step S15 to all the robots in the union. Then, in step S10, the start command is also sent to the local control and then a synchronous program sequence commences in the robot union.
As illustrated with respect to the starting process for cooperating robots, in the same way the following control processes can be jointly performed on several robots of a union:
The last of the aforementioned synchronous operating actions presupposes that the programs taking place in the controls 1.1–4.1 are fundamentally identical (mirrored programs).
The list of controls participating in a union of user actions, in the described embodiment is filed in a variable, which is stored in the storage means 1.2–4.2 of the cooperating robot controls 1.1–4.1. For the activation of the aforementioned commands “synchronous record selection” and “reset” a corresponding, second variable can be stored in the storage means 1.2–4.2.
All controls 1.1–4.1 belonging to the command union reciprocally communicate their actual relevant states and the ethernet-based communication network 5, 6 between the controls 1.1–4.1 shown in
The instructions synchronizable in this way more particularly comprise start and stop orders, selection instructions for the program running mode (step mode or the like), record selection and program reset commands. The invention relates to the common starting and stopping of control programs. This does not necessarily mean that the movements of the robots are or need be geometrically coupled and it merely means that the same operating action is performed on several controls without the user having to initiate a corresponding command on all the operating devices in order to effect the operating action.
For said data exchange there is no need for position data and it is merely necessary to have data concerning the actual states (drives on, record selection coincidence, stop messages applied, etc.). If the described functionality is also to be used for the common start of a geometrically coupled movement of several controls, then for functionality of a geometrically/time-coupled movement of several controls position data must also be exchanged. However, they are not necessary for start synchronization, but only for the following movement synchronization.
The described checking or inspection of the initial conditions only takes place at the start command, because for the start of the robots 1–4 in the union, it must be ensured that each individual control 1.1–4.1 performs a movement in coincidence with the selected record. Only when all the controls 1.1–4.1 and the corresponding robots 1, 2, 3, 4 are on their programmed paths, can a start be initiated in the union or group.
Number | Date | Country | Kind |
---|---|---|---|
102 36 392 | Aug 2002 | DE | national |
Number | Name | Date | Kind |
---|---|---|---|
6341246 | Gerstenberger et al. | Jan 2002 | B1 |
6356806 | Grob et al. | Mar 2002 | B1 |
6408225 | Ortmeier et al. | Jun 2002 | B1 |
6466844 | Ikeda et al. | Oct 2002 | B1 |
6556891 | Hietmann et al. | Apr 2003 | B1 |
6587749 | Matsumoto | Jul 2003 | B1 |
6615112 | Roos | Sep 2003 | B1 |
6678582 | Waled | Jan 2004 | B1 |
6776722 | De-Gol | Aug 2004 | B1 |
6804580 | Stoddard et al. | Oct 2004 | B1 |
6807461 | Kneifel et al. | Oct 2004 | B1 |
6853881 | Watanabe et al. | Feb 2005 | B1 |
20020029095 | Kosaka et al. | Mar 2002 | A1 |
Number | Date | Country | |
---|---|---|---|
20040030453 A1 | Feb 2004 | US |