(19)
(11)EP 3 685 968 A1

(12)EUROPEAN PATENT APPLICATION

(43)Date of publication:
29.07.2020 Bulletin 2020/31

(21)Application number: 19153052.6

(22)Date of filing:  22.01.2019
(51)International Patent Classification (IPC): 
B25J 9/16(2006.01)
G06Q 10/04(2012.01)
(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR
Designated Extension States:
BA ME
Designated Validation States:
KH MA MD TN

(71)Applicant: Bayerische Motoren Werke Aktiengesellschaft
80809 München (DE)

(72)Inventors:
  • Mehta, Arpit
    80339 München (DE)
  • Müller, Markus
    80335 München (DE)
  • Woldetsadick, Selam Getachew
    81541 München (DE)
  • Benesch, Stefan
    80807 München (DE)
  • Pflugfelder, Bernhard
    80638 München (DE)
  • Wick, Oliver
    85411 Hohenkammer (DE)
  • Tan, Khanh-Huy
    80939 München (DE)
  • Muradi, Murad
    80807 München (DE)

  


(54)ROBOT MOTION PLANNING IN MANUFACTURING


(57) A method for optimizing, based on a weighted graph and an objective function, one or more motions of a robot performing one or more tasks is provided. The weighted graph is denoted as G: = (V; E; W) with vertices V, edges E, and weights W. The method comprises determining a first function indicative of a distance travelled by the robot performing the motion; determining a second function configured to enforce that each task of the one or more tasks is performed exactly once; determining a third function configured to enforce that exactly one task of the one or more tasks is performed at a time; determining the objective function based on the first, second, and third functions; and optimizing the one or more motions of the robot based on the objective function using quantum computing techniques. A system for optimizing one or more motions of a robot performing one or more tasks is also provided. The system includes a control unit configured to perform the method.




Description

Technical Field



[0001] The present disclosure relates to systems and methods for robot motion planning, in particular for use in manufacturing. In particular, the present disclosure relates to systems and methods for robot motion planning using optimization based on quantum annealing.

Background Art



[0002] Recently, considerable attention has been paid to planning and scheduling problems for multiple robot systems (MRS). Such attention has resulted in a wide range of techniques being developed in solving more complex tasks at ever increasing speeds. At the same time, however, the complexity of such tasks has increased as such systems have to cope with ever increasing business requirements, rendering the above-mentioned techniques unreliable, if not obsolete.

[0003] A central issue one must contend with when developing techniques for solving optimization problems, such as those arising from MRS, is the simple fact that classical computing cannot indefinitely improve according to Moore's Law, and there is some concern that deviation from such a trajectory has already begun. Quantum computing is an alternative form of computation that holds a lot of potential for providing some advantages over classical computing for solving certain kinds of difficult optimization problems in the coming years.

[0004] Motivated by this fact, systems and methods according to the present disclosure demonstrate the feasibility of running a particular type of optimization problem on existing quantum computing technology. The optimization problem investigated arises when considering how to optimize a robotic assembly line, which is one of the keys to success in the manufacturing domain. A small improvement in the efficiency of such an MRS can lead to considerable advantages in terms of time of manufacturing, capacity, robot life, and material usage.

[0005] The nature of the quantum processor used according to the present disclosure imposes the constraint that the optimization problem be cast as a quadratic unconstrained binary optimization (QUBO) problem. For the specific problem investigated, this allows situations with one robot to be modeled naturally. The results show that for simple single-robot tasks, the optimization problem can be straightforwardly solved within a feasible time span on existing quantum computing hardware. It is emphasized that one goal of the present disclosure is to show the feasibility of running a particular kind of optimization problem on a quantum annealer.

[0006] Therefore, there is a need for systems and methods that allow for optimization of robot motion planning that entail a computational advantage over conventional systems or methods.

Summary of Invention



[0007] One or more of the objects specified above are substantially achieved by methods and systems for robot motion planning in accordance with any one of the appended claims, which alleviate or eliminate one or more of the described disadvantages and which realize one or more of the described advantages.

[0008] In a first aspect according to the invention, there is provided a method for optimizing, based on a weighted graph and an objective function, one or more motions of a robot performing one or more tasks. The weighted graph is denoted as G:=(V;E;W) with vertices V, edges E, and weights W. The method comprises determining a first function fdistance indicative of a distance travelled by the robot performing the motion; determining a second function ftasks configured to enforce that each task of the one or more tasks is performed exactly once; determining a third function ftime configured to enforce that exactly one task of the one or more tasks is performed at a time; determining the objective function based on the first, second, and third functions; and optimizing the one or more motions of the robot based on the objective function using quantum computing techniques.

[0009] In a second aspect according to aspect 1, optimizing the one or more motions of the robot based on the objective function is performed using quantum annealing.

[0010] In a third aspect according to any one of aspects 1 or 2, the first function fdistance is determined as

where vr is a vertex V corresponding to the robot, and {k, k'} = {l, l'} = {1,2}.

[0011] In a fourth aspect according to any one of aspects 1 to 3, the second function ftasks is determined as



[0012] In a fifth aspect according to any one of aspects 1 to 4, the third function ftime is determined as



[0013] In a sixth aspect according to any one of aspects 1 to 5, the vertices V are configured to represent a starting location of the robot and a start point and an end point of each task of the one or more tasks. Optionally, the vertices V are determined as



[0014] In a seventh aspect according to any one of aspects 1 to 6, the edges E are configured to represent motion paths that the robot can perform. Optionally, the edges E are determined as



[0015] In an eighth aspect according to any one of aspects 1 to 7, the weights W are configured to represent a cost of a motion traversing an edge E. Optionally, the weights W are determined as





[0016] In a ninth aspect according to any one of aspects 1 to 8, the objective function f is determined as





[0017] In a tenth aspect according to any one of aspects 1 to 9, a task of the one or more tasks includes a 1-dimensional path. Optionally, the 1-dimensional path includes a start point, an end point, and a processing time. Preferably, the processing time is defined as a weight (w), e.g. based on a Euclidean distance (see below).

[0018] According to the invention there is further provided a system for optimizing one or more motions of a robot performing one or more tasks, the system including a control unit configured for performing the method in accordance with the present invention, in particular in accordance with any one of aspects 1 to 10.

Brief Description of Drawings



[0019] The accompanying drawings disclose exemplifying and non-limiting aspects in accordance with embodiments of the present invention. In the drawings, like reference numerals denote the same, similar, or identical components.

Figure 1 shows a simplified illustration of an optimization problem in 2-dimensional space;

Figure 2 shows median success probabilities in accordance with embodiments of the present invention;

Figure 3 illustrates the use of heuristics and AI to reduce the number of logical variables in accordance with embodiments of the present invention; and

Figure 4 shows a flow chart of a method for robot motion planning in accordance with embodiments of the present invention.


Detailed Description



[0020] Quantum computing technology is widely considered to constitute a promising platform for providing some advantages over classical computing in the coming years for solving certain kinds of difficult optimization problems, such as problems arising in combinatorial optimization. An example of a combinatorial optimization problem is as follows. From a large finite set of possible production plans, the specific subset must be found which optimizes the desired target functions while satisfying predetermined constraints. Due to the high computational effort, exact optimization can often take infeasibly long for large enough problems. In practice, one therefore typically resorts to specialized heuristics which often times have no formal guarantee of returning a global optimum for short run times, but have nevertheless been shown experimentally to find, in a feasible period of time, solutions which are "good enough" for the specific application at hand. One may view quantum annealing as one such heuristic.

[0021] The problem investigated is similar to the Traveling Salesman Problem (TSP), which is ubiquitous across many areas of optimization and is one of the most intensely studied problems in optimization. In the following, an informal description of the problem investigated is provided. Suppose there are N 1-dimensional paths. Within the scope of the present disclosure, most of the details of each path may be disregarded as irrelevant, except for the start and end points of each path. Each path corresponds to a task on which a robot, with a given starting location, needs to do some work. There are, of course, several natural extensions of the problem that may be considered for a more realistic treatment of a real-world problem, for example, the generalization to M ≥ 1 robots. According to the present disclosure, however, the simple case of a single robot is focused on. In the automotive industry, there are numerous robot applications that correspond to the described problem formulation, such as laser welding, seam sealing, measuring, gluing and painting. Informally speaking, the relevant computational problem is the problem of determining in which order the tasks should be done so as to minimize the total length traveled by the robot, thus minimizing the time required to perform the tasks.

[0022] Figure 1 shows a simplified illustration of an optimization problem in 2-dimensional space, which corresponds to a typical assembly line motion of several robots. A typical process requires firstly the distribution of tasks among the robots 60-1, 60-2, 60-3 and secondly scheduling the order of tasks for each robot (e.g. tasks b, c for robot 60-1). As seen in Figure 1 firstly distributing tasks among robots 60-1, 60-2, and 60-33 is an optimization problem, secondly finding an optimal order to complete the allocated tasks is also an optimization problem. For example, Robot 60-1 starts from its initial position, completes task b, followed by task c and ends back at its initial position. Likewise, robot 60-2 starts from its initial position, completes tasks a, g, d, and f, and ends back at its initial position.

[0023] Similarly, robot 60-3 starts from its initial position, completes tasks e and h, and ends back at its initial position. In the example of robot 60-3, task h can be regarded as an integrated task. An integrated task can be, for example, a robotic task that requires a specific area to be covered by a process medium, such as painting or sealing medium. In such examples, in order to fulfill task h, robot 60-3 applies the process medium along the dashed meandering path to cover the area filled with dots. Within the scope of the present disclosure, integrated tasks can be included in the optimization with an associated weight that is not only based on the start and end points, but also on the nature of the integrated task, such that the overall weight of the tasks is correctly with respect the weight of generic tasks (e.g. based on start / end points, such as a, b, c, etc.). In the following, the problem underlying the general concepts of the present disclosure is formally and mathematically described.

[0024] The problem of interest can be modeled by a weighted graph, which is denoted as G: = (V; E; W). The vertices correspond to the starting locations of the robot, vr, and the start and end points of each task. Without loss of generality, one in each of those pairs of points can be arbitrarily set to be the starting point, and those

can be denoted; similarly, the end points

can be denoted. The vertices of G are then given as follows:



[0025] The edges of G correspond to the possible paths that the robot can travel. These edges take one of two forms. First, they can be of the form

where i ∈ {1, ..., N}, k ∈ {1,2}. Edges of this form correspond to paths between the starting location of the robot, and the start- or endpoint of a task. Alternatively, edges can be of the form

Edges of this form correspond to the paths between either the start- or endpoint of task i, to either the start- or endpoint of task j. The union of all such pairs of vertices forms the set of edges of G:



[0026] Finally, the weight of each edge will correspond to the "cost" of traversing each edge. In the simplest case, this can correspond to the distance between two vertices. However, one can also imagine incorporating other relevant features into the weight function. For instance, if the robot has to change its mounted tool between a pair of tasks, effectively delaying the time it takes for it to be able to get started processing the second task in this pair, one possible way of modeling this is by increasing the weight of the corresponding edge. Here, however, the simpler case in which the weight of each edge corresponds to its length is focused on:





[0027] Now that the graph G = (V; E; W) has been constructed, the QUBO that models the problem can be defined. It is once again noted that, if the goal is to solve the problem on a D-Wave quantum annealer, the objective function must be a quadratic function, i.e., any function of the form f(x) := xTQx. As described, this can be done naturally in the case of a single robot. Following Lucas, A.: "Ising formulations of many np problems." Frontiers in Physics 2, 5 (2014), it is proceeded as follows.

[0028] First, the logical variables x are described. For each i ∈ {1, ..., N}, k ∈ {1,2}, a binary variable

is associated, which encodes whether or not the t-th task to perform should be task i in direction d. Without loss of generality, direction d can be arbitrarily defined to be the direction such that when a robot performs task i, the robot ends at vertex

All of these variables are put together in one vector and the binary vector x ∈ {0,1}2N2 is obtained, i.e.:



[0029] Informally, x encodes the order in which the robot is to perform the tasks.

[0030] The objective function can be defined based on the logical variables defined above. Generally, a number of different and/or various optimization objectives are conceivable, for example the optimization of processing time, energy consumption, wear & tear of components, robot lifetime, setup costs, and other. In the present embodiment, an objective function is focused on, which will model the distance travelled by the robot between the tasks (as the cost function that is to be optimized). This is given by

where vr is the vertex corresponding to the robot, and {k, k'} = {l, l'} = {1,2}. Informally, the first term in Eq. (1) corresponds to the distance the robot travels to its first task, and the second term corresponds to the distance the robot travels between subsequent tasks. Note that from a purely formal point of view, fdistance is minimized for x = 0, which corresponds to the assignment in which no tasks are performed. Clearly this is not a physically relevant solution. Therefore, in addition to fdistance, the final objective function needs to include penalty functions which penalize such physically irrelevant assignments. In particular, will be seen below, two penalties are required.

[0031] The first penalty enforces the constraint that all tasks be performed exactly once. For each task i, this corresponds the equality constraint



[0032] A quadratic function which penalizes values of x which don't satisfy this equality is given by

where Pi ∈ (0, ∞) must be chosen large enough so that the penalty is enforced. While it might be tempting to set Pi to some arbitrarily large number, the limited precision available on current quantum computing hardware must be taken into account. Setting Pi too large may result in the quantum processor not being able to accurately implement the remainder of the problem. Therefore, in practice it is recommended to choose the smallest possible Pi that still effectively enforces these constraints. In testing the concepts of the present disclosure, Pi was set to the following:



[0033] Intuitively, Pi is equal to the sum of the largest distance that can be traveled to task i (first term in the sum) and the largest distance that can be traveled from task i (second term in the sum). Summing over all tasks, the penalty function which enforces that all tasks be performed exactly once is obtained:



[0034] It is noted that from a purely formal point of view, the assignment

for all i, and

otherwise minimizes both fdistance and ftasks. This corresponds to an assignment for which the robot takes care of all tasks simultaneously. Clearly this is not a physically relevant solution, since the robot can do at most one task at a time. This leads us to the second and final penalty function that is required.

[0035] The second penalty should enforce the constraint that at each time step, exactly one task be performed. For each time step t, this corresponds to the equality constraint



[0036] A quadratic function which penalizes values of x which don't satisfy this equality is given by

where Pt ∈ (0, ∞) must be chosen large enough so that the penalty is enforced. In practice, similar considerations must be taken into account when choosing Pt as when choosing Pi. In the experiments conducted, Pt was set to the following:



[0037] Intuitively, Pt is the largest possible distance that the robot can travel at any time step. This is in turn equal to the sum of the largest distance that can be traveled to any task plus the largest distance that can be traveled from that task. Summing over all time steps, the penalty function which enforces that exactly one task be performed per time step is obtained:



[0038] Summing together equations (1), (5), and (9), the final objective function is obtained:





[0039] Based on the problem formulation above, results of an experimental application of the disclosed concepts are provided below. For each N ∈ {2,3,4,5}, 20 instances with N tasks were generated, with the location of the end points of each task chosen at random. It is noted that once the vertices are determined, the edges and the corresponding edge weights are defined according to the formulation described above. In particular, given a set of vertices, a function f of the form in Eq. 11 is obtained. It is this function that is then solved with the D-Wave 2000Q machine, as described by D.W.S., Inc.: "The d-wave 2000q quantum computer technology overview.", D-Wave (2018).

[0040] The results of the quantum annealer were compared with those of a classical method. The classic algorithm chosen was the Herd-Karp algorithm (see Held, M., Karp, R.M.: "The traveling-salesman problem and minimum spanning trees.", Operations Research 18(6), 1138-1162 (1970). It is an exact method for solving TSP and has an exponential time complexity of O(2nn2).
Table 1: The tasks information for the problem instance with size 5.
TaskStartEndVelocity
a (287, 619) (17, 479) 94
b (595, 627) (592, 52) 58
c (488, 353) (43, 565) 68
d (450, 142) (688, 580) 63
e (136, 403) (630, 170) 70


[0041] Table 1 above lists the start and end positions of each task along with the associated speed. The processing time (i.e. the weight) of a task results from the Euclidean distance between start and end position divided by the velocity. The travel time between two separate tasks is calculated by the corresponding Euclidean distance of the link divided by a default speed of 100. The robot home position (R0) has been set to (0, 0).

[0042] Due to limitation on the D-Wave hardware, the problem size for the experiment was chosen to be minimal. The optimal solution of 52.08 s - verified by the Held-Karp algorithm - was also found by the quantum annealer.

[0043] The optimal path is: R0 → a'c'dbe'R0 Here, 'indicates that the task is processed in the reverse direction.

[0044] The results supported the hypothesis that quantum computing, and, more specifically, the annealing approach, is a viable alternative for solving optimization problems. Hence, future developments in quantum computer capability increase potential of solving real business challenges.

[0045] Figure 2 shows median success probabilities in accordance with embodiments of the present invention. In other words, the results of performance testing are shown in Figure 2, which shows the success probability for any given annealing cycle on the D-Wave quantum annealer versus problem size. Diagram 200 in figure 2 illustrates success probabilities for a single robot (i.e. 1-robot) scenario. The vertical axis 210 denotes the respective median success probability (ranging between 10-7 and 100) and the horizontal axis denotes the number of tasks (e.g. 2, 3, 4, ...). The ranges 232 to 238 denote different time ranges: range 232 denotes a range of ≤≈ 5 seconds, range 234 denotes a range of ≈ 5 - 50 seconds, range 236 denotes a range of ≈ 50 - 500 seconds, and range 238 denotes a range of ≥≈ 500 seconds.

[0046] For small problems with two tasks, the observed median success probability per annealing cycle was ≈ 0:3. Here, "success" denotes that the annealing cycle returned a configuration that resulted in the optimal solution after repairing every so-called chain, which is a group of qubits corresponding to the same logical variable. For the largest problem sizes investigated, namely 5 tasks, the observed median success probability per annealing cycle was ≈ 10-5. Also shown in Figure 2 are approximate corresponding wall-clock times for each success probability. These wall-clock times are computed as follows. Each call to the D-Wave quantum annealer is restricted to at most 104 annealing cycles. Furthermore, each call takes ≈ 5 seconds of wall-clock time to complete. This means that one can obtain an approximate estimate of the wall clocktime tclock corresponding to a success probability p via the equation

seconds.

[0047] For the range of problem sizes investigated, the median success probability appears to decay exponentially with the number of tasks. It is noted that for such a combinatorial optimization problem, this is the kind of scaling one would expect with any exact solver, whether quantum or classical. Relatedly, it is important to note that these results indicate a sort of "worst-case scenario" performance. More concretely, (i) no preprocessing was done on the QUBOs before being submitted to the DW quantum annealer, and (ii) the success probabilities indicate the probability of finding a global optimum. In practice, (i) state-of-the-art techniques will employ heuristics to speed up the computation time, and (ii) typically it is only necessary to find a "good enough" solution, as opposed a global optimum.

[0048] Figure 3 illustrates the use of heuristics and AI to reduce the number of logical variables in accordance with embodiments of the present invention. It must be considered that several heuristic approaches could be used to reduce the M-robot setting to the 1 -robot (i.e. single robot) setting, and then, the algorithm developed in detail on each of the derived 1-robot problems could be used. In another embodiment, heuristics could be first applied to create and investigate 350 a population of good solutions and then using AI to identify a common pattern 360 in it. In this way, it is possible to reduce the number of logical variables by considering frequently occurring task pairs as a fixed sequence (see Figure 3). It is anticipated that heuristics would enable addressing larger and overall more complex problems on existing quantum computing technology. Additionally, it is noted that addressing this problem with a universal quantum computer could allow more flexibility with the kinds of models chosen to describe the problem.

[0049] Figure 4 shows a flow chart of a method 400 for robot motion planning in accordance with embodiments of the present invention. The method 400 for optimizing, based on a weighted graph G and an objective function f, one or more motions of a robot 60, 60-1, 60-2, 60-3 performing one or more tasks starts at step 401. The weighted graph G is denoted as G: = (V; E; W) with vertices V, edges E, and weights W. In step 402, a first function fdistance indicative of a distance travelled by the robot performing the motion is determined. In step 404, a second function ftasks is determined. The second function ftasks is configured to enforce that each task j of the one or more tasks is performed exactly once. In step 406, a third function ftime is determined. The third function ftime is configured to enforce that exactly one task j of the one or more tasks is performed at a time. In step 408, the objective function f is determined based on the first, second, and third functions. In step 410, the one or more motions of the robot 60, 60-1, 60-2, 60-3 are optimized based on the objective function f using quantum computing techniques. The method stops at step 412.


Claims

1. Method (400) for optimizing, based on a weighted graph (G) and an objective function (f), one or more motions of a robot (60, 60-1, 60-2, 60-3) performing one or more tasks, wherein the weighted graph (G) is denoted as G: = (V; E; W) with vertices (V), edges (E), and weights (W), the method comprising:

determining (402) a first function (fdistance) indicative of a distance travelled by the robot performing the motion;

determining (404) a second function (ftasks) configured to enforce that each task (j) of the one or more tasks is performed exactly once;

determining (406) a third function (ftime) configured to enforce that exactly one task (j) of the one or more tasks is performed at a time;

determining (408) the objective function (f) based on the first, second, and third functions; and

optimizing (410) the one or more motions of the robot (60, 60-1, 60-2, 60-3) based on the objective function (f) using quantum computing techniques.


 
2. Method of the preceding claim 1, wherein optimizing the one or more motions of the robot (60, 60-1, 60-2, 60-3) based on the objective function (f) is performed using quantum annealing.
 
3. Method of any one of the preceding claims 1 or 2, wherein the first function (fdistance) is determined as

where vr is a vertex (V) corresponding to the robot (60, 60-1, 60-2, 60-3), and


 
4. Method of any one of the preceding claims 1 to 3, wherein the second function (ftasks) is determined as


 
5. Method of any one of the preceding claims 1 to 4, wherein the third function (ftime) is determined as


 
6. Method of any one of the preceding claims 1 to 5, wherein the vertices (V) are configured to represent a starting location of the robot (60, 60-1, 60-2, 60-3) and a start point and an end point of each task (j) of the one or more tasks; optionally wherein the vertices (V) are determined as


 
7. Method of any one of the preceding claims 1 to 6, wherein the edges (E) are configured to represent motion paths that the robot (60, 60-1, 60-2, 60-3) can perform; optionally wherein the edges (E) are determined as


 
8. Method of any one of the preceding claims 1 to 7, wherein the weights (W) are configured to represent a cost of a motion traversing an edge (E); optionally wherein the weights (W) are determined as




 
9. Method of any one of the preceding claims 1 to 8, wherein the objective function (f) is determined as




 
10. Method of any one of the preceding claims 1 to 9, wherein a task (j) of the one or more tasks includes a 1-dimensional path; optionally wherein the 1-dimensional path includes a start point

an end point

and a processing time, the processing time preferably being defined as a weight (w), e.g. based on a Euclidean distance.
 
11. System for optimizing one or more motions of a robot (60, 60-1, 60-2, 60-3) performing one or more tasks, the system comprising a control unit configured for performing the method according to any one of the preceding claims 1 to 10.
 




Drawing













Search report












Search report




Cited references

REFERENCES CITED IN THE DESCRIPTION



This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

Non-patent literature cited in the description