The present invention relates to work cycle optimization in robot systems having two or more manipulators with a common work area.
Referring to
A work cycle of a robot system 140 comprises a sequence of tasks executed by the robot system. It is known to optimize work cycles in robot systems by automatically defining the order of tasks and allocating different tasks to different tools and/or manipulators. When configuring a robot system to execute a work cycle, the problem can be considered to consist of two problem parts: 1) defining the work cycle and 2) programming the robot system to move in accordance to the defined work cycle. These problem parts are often solved by different persons, and a level of difficulty to solve the second problem part strongly depends on the solution of the first problem part. Namely, conventional methods for solving the first problem part do not take into consideration many practical difficulties in executing the resulting work cycle during the second problem part. This is particularly true in robot systems having two or more manipulators with a common work area where collision avoidance between the manipulators becomes a significant practical difficulty. The work cycle resulting from the first problem part can be very efficient in theory, but in practice it may become very inefficient because the robot programmer solving the second problem part needs to enter many delays into the robot program in order to avoid collisions between the manipulators.
The robot system of
An advantage with the work area division is that the manipulators cannot collide with each other as long as they are operating within their actual work areas excluding the joint work area. Options to solve the above mentioned first problem are less, and even if this may result in not finding one of the most efficient (in theory) solutions to the first problem part, the solution to the second problem part probably becomes much simpler than in a case without the work area division. The solution to the overall problem is thereby improved, at least in most cases. It is to be understood that the number of solutions to the first problem part depends on many factors like whether or not the manipulators are identical (equally fast), whether or not the manipulators carry identical tools, whether or not each tool is able to pick each component, whether or not a tool can carry more than one component as the time, etc. The number of possible solutions can in many cases be counted in hundreds or in thousands. It is assumed that a person skilled in the art is able to find more or less optimal solutions to the first problem part. The manipulators can still collide within the joint work area, but since this area is relatively small the respective delays that need to be entered into the robot program become few and are short.
According to known prior art solutions where the common work area is divided into parts that are allocated to different manipulators, the work area division is done only once on a given layout. The exercise is typically done manually by a human operator based on the experience of the same. Thereby, before any optimization of a work cycle takes place both the layout and the work area division are definitively defined, and the optimization only takes place with a single combination of layouts and work area divisions. Consequently, the work area division is not part of the optimization problem, and if the operator failed to choose an optimal work area division for the given layout, the resulting work cycle may also not be optimal.
One object of the invention is to provide an improved work cycle optimization where work area division is part of the optimization problem.
These objects are achieved by the method and device according to the different aspects of the invention.
The invention is based on the realization that by calculating cycle times for work cycles on different combinations of layouts and work area divisions, the work area division becomes part of the optimization problem and a better optimized work cycle can be achieved.
According to a first aspect of the invention, there is provided a method for optimizing a work cycle in a robot system comprising at least two manipulators with a common work area. The method comprises the steps of: defining a layout; and defining a work area division by dividing the common work area between the at least two manipulators. The method further comprises the steps of repeating at least one of the previous steps to thereby obtain a plurality of different combinations of layouts and work area divisions, and, for each of the plurality of combinations, calculating a cycle time for at least one work cycle.
According to one embodiment of the invention, cycle times are calculated for a plurality of work cycles for each of the plurality of combinations.
According to one embodiment of the invention, the method further comprises the step of running the work cycle with the shortest cycle time.
According to one embodiment of the invention, the step of defining the layout includes choosing a layout out of a limited number of possible layouts.
According to one embodiment of the invention, the step of defining the layout is executed by a computer.
According to one embodiment of the invention, the step of defining the work area division is executed by a computer.
According to one embodiment of the invention, the number of different combinations of layouts and work area divisions is at least five, such as at least ten, at least fifty, at least hundred, at least five hundred, at least thousand, at least five thousand, at least ten thousand, at least fifty thousand, or at least hundred thousand.
According to a second aspect of the invention, there is provided a robot system comprising: at least two manipulators with a common work area; and a robot controller comprising at least one layout. The robot controller is configured to: define a work area division by dividing the common work area between the at least two manipulators, define a plurality of different combinations of layouts and work area divisions, and calculate a cycle time for at least one work cycle for each of the plurality of combinations.
The invention will be explained in greater detail with reference to the accompanying drawings, wherein
In the context of the present disclosure a “cycle time” may refer to a time needed for a robot system to execute a task sequence once. However, because of cyclic nature of work cycles a subsequent work cycle may start before a previous work cycle is ready. Therefore, the term “cycle time” may also refer to an average time needed for a robot system to execute the task sequence when a (large) number of task sequences is executed.
Referring to
There are at least two more alternative options for the work area division with the given layout of
Referring to
It is to be understood that none of the
In the given examples according to
According to the present invention the layouts and the work area divisions can be defined manually, but preferably they are defined automatically. By applying appropriate constraints in defining layouts, a computer can be programmed to automatically define layouts and for each layout all available possibilities to allocate the feeders between the manipulators. A computer can thereby be configured to calculate e.g. hundreds of cycle times for each of thousands of different combinations of layouts and work area divisions, and thereby be in a position to choose the best solution among millions of alternatives. This would of course not be feasible in the case of manual definition of layouts and work area divisions, but on the other hand an experienced operator can achieve satisfactory results with only a couple of different combinations of layouts and work area divisions.
The invention is not limited to the embodiments shown above, but the person skilled in the art may modify them in a plurality of ways within the scope of the invention as defined by the claims. Thus, for example, layouts are not limited to comprise maximum work areas, feeders and fixtures, but can comprise any devices present in a robot system such as cameras, air guns, quality control jigs, etc. Moreover, instead of feeders, any appropriate means for presenting components to manipulators can be used.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2015/076805 | 11/17/2015 | WO | 00 |