Control system, method and computer program for controlling coordinate movements of several mechanical units
TECHNICAL FIELD OF THE INVENTION
The present invention concerns a control system, a method and a computer program for controlling the movement of a plurality of mechanical units in accordance with a plurality of separate program tasks executed at the same time in order to coordinate the movements of the mechanical units. A mechanical unit is for example a robot or an external axis.
PRIOR ART
Many industrial plants utilize one or more mechanical units controlled by one or more task programs. These programs are usually started and stopped using a control panel. In a typical multi-tasking system comprising multiple mechanical units such as a system of multiple robots, a system comprising one robot that cooperates with one or more external axes, or a system comprising one mechanical unit that executes a plurality of programs, awareness of which program or programs will start at a given time is vital.
Certain program tasks require two or more mechanical units to move synchronously whereby the movement instructions in separate mechanical-unit-programs are executed at the same time in order to coordinate the movements of the mechanical units. In the event of failure of one of the mechanical units in such a system the faulty mechanical unit has to be disconnected from the system so that it can be repaired. This can however lead to problems, as all of the synchronised tasks must be
completed in order for the program to be fully executed. If a mechanical unit is removed from the system, the pending program tasks to be executed by all of the other mechanical units in the system will stall and wait for task that the faulty mechanical unit should have executed to be completed before they are executed.
Furthermore an operator may wish to run production with only a subgroup of the whole system or test run just part of the system. To be able to do this he/she must modify the programs of all of the mechanical units and then re-start all of the programs, or reconfigure and re-start the whole system, which is difficult, time consuming and impractical.
SUMMARY OF THE INVENTION
The object of the present invention is to provide an improved control system for controlling a plurality of mechanical units for cooperative operation, which overcome the above-mentioned problems.
This object is achieved by means of the initially defined control system, characterized in that the control system comprises interface means for receiving commands from the operator regarding activation and deactivation of the program tasks, and program execution means adapted to execute the program tasks based on said commands from the operator. Preferably, the program execution means is adapted to coordinate the movements of the mechanical units based on said commands from the operator. Accordingly, it is possible for the operator to deactivate a program task before disconnecting a mechanical unit, for example in order to repair the unit, and then to activate the program task again, when the mechanical unit has been connection after the repair has been finished. The control system receives the commands regarding the activation and the deactivation of a program task and the execution means
executes the program tasks that are currently active with regard to the program tasks that are not active at the moment. For example, if two mechanical units are programmed to be moved synchronously and one of them is deactivated, the control system are informed about that this program task is deactivated and can disregard instructions or commands in the active program task which demand an input from the deactivated task, such as a signal or that a specific action has been completed, to be able to step to the next program instruction in the active program task. Thus, the active task can be completed without having to wait for the deactivated task to be completed. When the operator orders start of execution, for example by pushing the start button of the teach pendant, only the program tasks, which are active, is executed.
With coordinating the movements of the mechanical units is meant that the movement of one mechanical unit in some respect depends on the movement of another mechanical unit, for example that the movements of the mechanical units are synchronized in time.
According to a preferred embodiment of the invention the control system comprises means to indicate which program task(s) is/are activated/deactivated, by means of graphic symbols for example. The control system consequently informs an operator which programs will be affected on execution of a specific command such as START or STOP i.e. when the operator presses a button on a control panel. Preferably, the indication means provides at least one of the following signals, or a combination thereof: visual, such as visual, acoustic, tactile, such as the vibration of a component of the control system. The control system therefore also has the function of a safety or warning system.
According to another preferred embodiment of the invention the indication means provides information concerning the activated
program task(s) such as its/their type and/or category or any other information of use to an operator. According to a preferred embodiment of the invention such information is displayed using graphic symbols.
According to a further preferred embodiment of the invention the indication means comprises a graphical and/or text interface, mounted on a teaching pendant for example, that shows which program tasks are activated by means of graphical symbols and/or text messages representing the plurality of program tasks. The user interface shows which tasks are activated and thus allows an operator to see which programs will be affected on execution of a specific command. Such a control system is easy to use and may be used by operators not having extensive training or experience.
According to a yet further embodiment of the invention the control system comprises means, such as a task selection panel having an input device such as a keyboard, input buttons, computer mouse, touchpad or touch screen, to activate or deactivate one or more program tasks so as to enable selection of which programs or tasks are to be run and which programs or tasks are to be stopped. Such activation/deactivation means allow an operator to select which programs/tasks he/she would like run, test run, reprogram or modify and he/she may deselect all other tasks. This makes it possible to activate/deactivate any number of program tasks in a quick and simple way. According to a preferred embodiment of the invention the program tasks are activated/deactivated by one click of a computer mouse or a keyboard tangent.
According to another preferred embodiment of the invention the control system comprises means to send execution commands such as start, stop or run (in continuous or single cycle mode) to at least one of the selected tasks. This allows an operator to change the program execution as he/she desires.
According to a further preferred embodiment of the invention the indication means are arranged to indicate which tasks are activated/deactivated constantly or when such information is requested.
According to a preferred embodiment the control system's indication and/or selection means is mounted on a teaching pendant. According to a preferred embodiment the control system comprises means to allow an operator to enter data and/or programs into the control system.
According to a yet further preferred embodiment of the invention the control system is contained in a portable unit, which allows an operator to move freely in the workspace of the, or each, mechanical unit while the inventive control system ensures his/her safety. Alternatively according to other preferred embodiments of the invention the control system is located in the vicinity of, or in visual contact with, the, or each, mechanical unit or at a location remote to the, or each, mechanical unit. Remote control may be necessary when a mechanical unit is operating in a hygienic or hazardous environment for example. The control system may be operated by an operator remote to the mechanical unit system who controls the system via a network such as the Internet for example.
The invention therefore provides a user-friendly control system that facilitates quick, safe and simple control of a system comprising one or more mechanical units.
The present invention also concerns a method for controlling a plurality of mechanical units, namely robots and/or external axes, programmed to carry out a plurality of tasks. The method comprises the step of receiving commands from the operator regarding activation and deactivation of the program tasks, and
executing the program tasks based on said commands from the operator.
According to another preferred embodiment of the invention the method further comprises the step of an operator having to confirm that he/she is aware of which program tasks are activated before a command is executed. According to a further preferred embodiment of the invention said confirmation is initiated by one click of a computer mouse or keyboard tangent.
The present invention also relates to a computer program containing computer program code means for making a computer or processor carry out the step of the inventive method and such a computer program stored by means of a computer-readable medium. According to a preferred embodiment of the invention the computer program comprises means to prompt an operator to select which program task(s) is/are to be activated/deactivated and optionally to confirm his/her selection before a command affecting the selected activated task(s) is executed.
The control system, method and computer program according to the present invention are intended for use in any system comprising one or more mechanical units and more particularly to a system programmed to carry out at least one task where at least two of said mechanical units or parts thereof move synchronously. Examples of such a system are a multiple robot system or a system comprising a single robot that moves synchronously with one or more external axis.
Further advantages as well as advantageous features of the invention appear from the following description.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 shows a schematic diagram of a two-robot system and to which the present invention is applicable, and
Figure 2 shows a task selection panel according to a preferred embodiment of the invention.
The following description is not intended to limit the present invention to the embodiment disclosed. The embodiments disclosed merely exemplify the principles of the present invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION
Figure 1 shows a two-robot multi-tasking system comprising two robots 1 , 2, and a workstation 3 that rotates about axis, a. A welding gun is mounted on Robot 1 and a spray gun is mounted on Robot 2.
The robots 1 , 2, and the workstation 3 are programmed to carry out work where the movements of all three of the mechanical units are synchronized. For example Robot 1 welds part of a workpiece (Task 0) and Robot 2 spray paints part of the workpiece (Task 1 ). The workstation then rotates so as to convey and position another part of the workpiece or another workpiece mounted thereon so that the robots can carry out work on another part of the workpiece or on another workpiece.
During the development of such a system an operator may wish to carry out a test run on only part of the system, for example by test-running only the welding robot 1 and the workstation 2, in which case he/she must deactivate Task 2 so that Robot 2 does not participate in the test run. The operator may thereby firstly program Robot 1 and the workstation 3 and then incorporate Robot 2 into the test run and modify its program if necessary. The operator may also wish to change the production line by
removing Robot 1 from the system so that only Robot 2 carries out work on workpieces mounted on the workstation.
In case of system failure, when the two robot-system is running, the faulty mechanical unit may be easily deactivated and the system re-started. On making such a change to the system the operator informs the system that only a certain task or tasks is/are active so that the system does not stall and wait for a deactivated task to be completed. Such modifications are easy to make using a control system having, for example, a graphical task selection panel according to the present invention.
A control system for controlling the movements of a plurality of mechanical unit comprises a storage unit for storing a plurality of program tasks for controlling the movement of the mechanical units. A program task comprises program instructions, including movement instructions for one or more mechanical units and task properties. The control unit further comprises execution means including one or more program executers for executing the program tasks. The execution means comprises one or more processing unit and software for executing the program tasks.
Figure 2 shows part of a control system according to a preferred embodiment of the invention as seen by an operator, namely a task selection panel 4. The task selection panel 4 comprises a user interface such as a computer's visual display unit, a touch screen, a liquid crystal display, a webpage or any other input and display device.
The user interface shows which tasks are activated by means of graphic symbols 5 appearing besides text messages 6 to provide information concerning which tasks will be affected on execution of a command. An operator can easily change which program tasks are to be activated/deactivated simply by clicking on the relevant icon(s) on the user interface for example. This allows the operator to modify individual programs and test run or
run production with any subgroup, of the full system. In the example shown in figure 2, ticks in boxes show that Task 0 and Task 1 have been selected. If an operator clicks the START-icon 7 or STOP-icon 8, Task 0 and Task 1 will be run.
The selection panel also comprises icons 9 and 10 allowing an operator to select whether he/she would like to run the programs continuously or in a single cycle. According to a preferred embodiment of the invention the user interface is also arranged to display information concerning the selected tasks.
The control system is optionally arranged to ask the operator to confirm his/her selection of activated tasks for example by clicking on a "yes" icon appearing on the user interface 4 once a selection has been made. The safety precaution of incorporating a confirmation stage is advantageous in that it prevents a command from being executed immediately if a selection is made unintentionally or accidentally. Risk of injury to people in the vicinity of the robot or damage to robots and objects in the workspace of the robots can therefore be eliminated.
The invention is of course not in any way restricted to the preferred embodiments thereof described above, but many possibilities to modifications thereof would be apparent to a person with ordinary skill in the art without departing from the basic idea of the invention as defined in the appended claims.