Method for adjusting a movement plan for mobile devices

EP4630897A1Pending Publication Date: 2025-10-15ROBERT BOSCH GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2023817399
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-12-08
Filing Date
2023-12-01
Publication Date
2025-10-15

AI Technical Summary

Technical Problem

In environments with multiple mobile devices such as robots, drones, or AGVs, existing technologies face challenges in optimizing movement plans to prevent collisions and minimize total time, especially when delays or malfunctions occur, leading to extended completion times and reduced availability for new tasks.

Method used

The method involves creating a 'Switchable Action Dependency Graph' and 'Spatially Exclusive Action Dependency Graph' to systematically rearrange movement paths and schedules, allowing for adaptable movement plans that minimize total time by considering reversible dependencies and potential actions, using mixed integer linear programming and heuristics to ensure collision-free and efficient navigation.

Benefits of technology

This approach ensures that mobile devices reach their endpoints without collisions, reduces overall completion time, and maintains system availability by dynamically adjusting movement plans in response to delays or changes, thereby optimizing resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 1.1
    Figure 1.1
Patent Text Reader

Abstract

The invention relates to a method for adjusting a movement plan for mobile devices (110, 120, 130, 140), in particular robots, drones or vehicles moving in an at least partially automated manner, wherein the mobile devices are intended to move in an environment according to the movement plan, comprising: providing a movement plan, wherein the movement plan in each case assigns a movement path and a time schedule for following the movement path to each of the mobile devices, wherein a movement path in each case comprises actions which need to be carried out by the relevant mobile device in the environment; adjusting the movement plan if there is at least one trigger criterion, wherein the adjustment of the movement plan comprises: determining a limited graph which comprises potential actions and connections between actions in the environment for the mobile devices up to a predefined horizon, and determining an adjusted movement plan on the basis of the limited graph as part of an optimization, and providing the adjusted movement plan for the mobile devices, and in particular causing the mobile devices to follow the adjusted movement plan.
Need to check novelty before this filing date? Find Prior Art

Description

[0001]R.402847 Description Title Method for adapting a movement plan for mobile devices The present invention relates to a method for adapting a movement plan for mobile devices, a mobile device, a system and a computing unit and a computer program for carrying out the same. Background of the invention Mobile devices, in particular robots, drones or at least partially automated vehicles such as so-called AGVs (“Automated Guided Vehicles”), are used in various areas. If a large number of such mobile devices are to be used in an environment such as a factory hall, it is expedient to specify a plan as to how and when the individual mobile devices move in order to prevent collisions between mobile devices on the one hand and to ensure that each mobile device moves from the start to the destination on the other.Disclosure of the invention According to the invention, a method for adapting a movement plan, a mobile device, a system as well as a computing unit and a computer program for carrying out the same with the features of the independent patent claims are proposed. Advantageous embodiments are the subject of the dependent claims and the following description. The invention relates to mobile devices, in particular robots, drones or at least partially automated vehicles such as so-called AGVs (“Automated Guided Vehicles”) and the use of a large number of them in an environment such as a factory hall. Typically, such R.402847 mobile devices are able to orient themselves in the environment and navigate there, i.e. to independently follow a predetermined movement path. For this purpose, the mobile devices can, for example, have suitable sensors such as lidar and / or cameras, as well as a corresponding drive unit.Examples of such mobile devices (or mobile work equipment) are, in general, robots and / or drones and / or partially or (fully) automated vehicles (on land, water, or in the air). Robots could include, for example, household robots such as vacuum and / or floor cleaning robots, floor or street cleaning devices, or robotic lawnmowers, as well as other so-called service robots and at least partially automated vehicles, such as passenger transport vehicles or goods transport vehicles (including industrial trucks, e.g. in warehouses), but also aircraft such as drones or watercraft. As mentioned, it is useful to specify a plan for how and when the individual mobile devices move, on the one hand to prevent collisions between mobile devices and, on the other hand, to ensure that each mobile device moves from start to destination as quickly as possible.In this context, there is also talk of a so-called MAPF (“Multi-Agent Path Finding”) or MAPF problem, i.e. finding paths for a large number of agents, the mobile devices. One solution to such a problem is a movement plan or movement sequence plan, which specifies a movement path for each mobile device that the mobile device has to follow, and a temporal sequence plan (i.e. a time schedule) according to which the mobile device has to follow the movement path. The time schedules of the individual mobile devices are also dependent on one another. A movement path, in turn, comprises actions that have to be carried out by the respective mobile device in the environment; these can be, for example, different positions where the mobile device has to wait, or a journey from one position to another, or even specific activities such as loading or unloading. The environment can generally be represented by a graph ^ =. ( ^, ^ )with nodes ^ and edges ^, where the nodes correspond to specific positions R.402847 and the edges correspond to the connections between two positions. Mobile devices may be present in the environment. Each mobile device can be assigned a starting point or starting position ^ ^ and an endpoint or an end position (i.e. a) destination ^ ^be assigned, with the starting points of the individual mobile devices preferably being located at different positions or nodes or corresponding to such, as are the end points. A solution that takes all mobile devices from their respective starting point to their respective end point, but without collisions occurring, can be given by a movement plan or movement sequence plan that specifies a movement path with positions for each mobile device and a time schedule specifying when the mobile device should be at which position. A solution for this can be found, for example, with optimization or by solving an optimization problem. Two aspects in particular can be optimized. A period of time can be minimized, namely the total time required by the last mobile device to complete its route. In other words, the travel time of the mobile device that takes the longest can be minimized.The sum of costs (SoC) can also be considered, namely the sum of the time the mobile devices spend on their route. This aspect of the sum of costs is particularly relevant within the scope of the present invention. The aim can be to ensure that each individual mobile device completes its route as quickly as possible. In practice, for example, mobile device A only waits for mobile device B to cross a resource first if mobile device B (and all other mobile devices waiting for mobile device B in later conflicts) cumulatively save more time than mobile device A has to wait (and causes other mobile devices to wait for mobile device A in later conflicts). The goal of minimizing costs is therefore to have more mobile devices available for new tasks in a shorter time.However, it is generally assumed that there are no delays or, at most, very short delays in the process. If, for example, a mobile device has a malfunction or otherwise experiences a (longer) delay, the total time until all mobile devices have reached their end points may be extended because, for example, other mobile devices also have to wait, R.402847 because they would have to pass the position at which the one mobile device has the malfunction. In addition, an execution step or execution manager can be provided. The execution manager can, for example, ensure that the mobile devices do not move or perform any action before it is their turn according to the (overall) movement plan. This allows the order of the mobile devices in the movement plan to be changed.Furthermore, thanks to the execution manager, it can be ensured that there will be no collisions even without changing the order from the MAPF result. The execution manager will not allow two mobile devices to consume the same resource at the same time. In order to reduce the total time required to follow the movement plan in the event of such delays, for example, the movement plan can be changed or adapted, at least from the time the delay or disruption occurs (or generally when a trigger criterion is present). An adaptation of the movement plan can be understood in particular as a change in the order in which the individual mobile devices follow their movement path. In a simple case, this could be, for example, a changed order in which mobile devices pass a certain position.Likewise, movement paths (then typically also with the associated time schedule) can be changed. Even if such a changed movement plan increases the total time required compared to the original movement plan, this can still be a faster solution when taking into account the total duration caused by the disruption or delay. One possibility for this is to use a graph that includes potential actions and connections between actions (i.e., which actions follow one another) in the environment for the multitude of mobile devices, similar to the representation of the environment as a graph. The potential actions can also be referred to as nodes, the connections as edges (the graph is only about the connection itself, not the concrete form it actually appears in the environment, e.g., with specific positions, curves, or the like).We will speak of potential actions and connections here, as these are actions or connections that can theoretically be carried out, taken or followed. It should be taken into account that the actions or actions that are or can be carried out by one mobile device during a potential action have an influence on actions or actions that are or can be carried out by another mobile device. In other words, there is a dependency between the actions or actions that are or can be carried out by (at least) two mobile devices, e.g. because both mobile devices have to travel the same route. In principle, a mobile device should (or must) have carried out a certain action "Leave position" before another mobile device can carry out this action. This can therefore already implicitly contain an order of the mobile devices.In order to take this into account in the graph, the potential actions (or acts) of a mobile device can be provided in the graph. An action is what a mobile device can or should do, e.g. where it should move next, e.g. along which connection; the actions are therefore particularly linked to the connections. In addition, a potential action can be assigned a status of the mobile device. A status is particularly understood to mean the situation in the course of its movement path that the mobile device is in, e.g. in planning (not yet started, “staged”), in execution of the movement path (“in progress”), or finished, i.e. that the movement path is already at an end (“completed”). The potential actions therefore also take into account the existence of the aforementioned dependencies between the mobile devices. The graph can also be referred to as so-calledThis can be referred to as an "Action Dependency Graph", ADG, or action or behavior dependency graph. In other words, the graph specifies for each node or potential action which actions the mobile devices R.402847 can perform, taking into account that actions of multiple mobile devices can be dependent on one another. Furthermore, it has been shown that the aforementioned dependencies between the mobile devices are, at least in many cases, reversible (i.e., interchangeable). Instead of the first mobile device having to have performed a potential action (and in particular having to have moved to its next position) before a second mobile device can perform its action, it is also possible for the second mobile device to have already performed the potential action before the first mobile device.It should also be ensured that mobile devices cannot perform the same action at the same time, and in particular, that they cannot occupy the same position. This can be referred to as interchangeable or reversible dependencies. These interchangeable dependencies can also be taken into account in the graph. For this purpose, each potential action can be assigned information indicating whether there is an interchangeable dependency (so-called "switched dependencies"). The graph thus extended can also be referred to as a so-called "Switchable Action Dependency Graph", SADG, or interchangeable action or action dependency graph. Such a "Switchable Action Dependency Graph" enables a systematic rearrangement of the individual mobile devices or their movement paths and time schemes, or at least facilitates this. Based on such a graph, as has been shown, within the framework of an optimization, for exampleBy solving an optimization problem, a solution can be found that leads to an adapted movement plan in which all mobile devices reach their end point without any collisions. In addition, a solution can be found which overall, i.e. until all mobile devices have reached their end point, leads to a shorter time than if the movement plan were not changed, but the existing delay for one mobile device, for example, was taken into account. The optimization can be solved using a so-called mixed integer linear program (MILP), for example. R.402847 A more detailed explanation of such a “Switchable Action Dependency Graph” and the aforementioned optimization, e.g. using MILP, can be found in “A. Berndt, N. van Duijkeren, L. Palmieri, and T.Keviczky, “A Feedback Scheme to Reorder a Multi-Agent Execution Schedule by Persistently Optimizing a Switchable Action Dependency Graph,” Proceedings of the Distributed and Multi-Agent Planning (DMAP) Workshop at ICAPS, 2020.“, also available at ar-Xiv:2010.05254, to which explicit reference is hereby made. In the aforementioned graph, the “Switchable Action Dependency Graph”, however, a complete completion of the movement plan is taken into account when determining the adapted movement sequence plan, i.e. the mobile devices should reach their respective endpoints or last action, which are specified, for example, at the beginning. It has been found that the mobile devices do not always have to reach their endpoint – e.g., the one specified at the beginning. For example, another, new endpoint may arise or the endpoint may change.The movement plan can therefore, before adaptation, be an open movement plan in which not every mobile device is assigned a target position to be reached or target action in the environment. If the movement plan is not complete, it should be guaranteed that all mobile devices can actually reach their destination from the position to which it is or will be planned. This can be achieved, for example, using suitable heuristics. A target position to be reached is understood in particular to be a position at which the mobile device has to perform a task, such as unloading or loading something. For this purpose, it is now proposed that the adapted movement plan be determined based on a limited graph as part of an optimization.The limited graph is a graph that includes potential actions and connections in the environment for the mobile devices up to a predetermined horizon. The horizon can, for example, be defined by a number of potential actions. In the case of synchronized movements of the R.402847 mobile devices, this can correspond to a temporally defined horizon. In particular, this can be a graph comparable to the “Switchable Action Dependency Graph” explained above; however, this does not include all potential actions and connections until all mobile devices have reached their endpoints, but only up to a predetermined horizon. The horizon can be predetermined in such a way that not all of the multitude of mobile devices reach a respective target position or target action in the environment that was predetermined before the adaptation.The horizon itself can be chosen arbitrarily; as will be explained later, an algorithm can be used to ensure that a suitable set of action dependencies is selected for each horizon. As has been shown, such a "switchable action dependency graph", which in itself leads to a solution in which the mobile devices reach their respective endpoints and there are no collisions, can be divided into a similar - limited - graph, but only up to the given horizon, and a remainder, which also allows a solution to be found in which the mobile devices reach their respective endpoints and there are no collisions. This remainder represents, for example, a so-calledspatially exclusive action dependency graph (SE-ADG), which will be explained later; however, this remainder does not need to be considered further, since the limited graph already allows a solution in which the mobile devices reach certain points or positions where there is no mutual blocking and no collisions. In other words, an intermediate state is reached from which it is guaranteed that the mobile devices can continue to move as desired, e.g., to their endpoints specified from the beginning or to other, changing endpoints. This also means that the movement plan present from the beginning can be open, i.e., there does not have to be a specified endpoint to be reached for each mobile device. Finding the adapted movement plan can then be done as part of an optimization, as R.402847 described above for the "Switchable Action Dependency Graph", only based on the bounded graph. The bounded graph can in particular be determined from a corresponding, non-bounded graph, e.g. the aforementioned "Switchable Action Dependency Graph", which itself extends beyond the horizon and possibly includes predetermined endpoints (or e.g. simply final points, regardless of whether this is an endpoint for e.g. an action to be performed). For this purpose, all potential actions that can probably be achieved (by the mobile devices) within the horizon are selected from the non-bounded graph. These selected potential actions are then determined as the potential actions of the bounded graph or used as such.In addition, all connections (from the unbounded graph) for which there is a commutable dependency between mobile devices and which point to one of the potential actions of the bounded graph (which were previously selected and determined) are selected. These selected potential connections are then determined as the potential connections of the bounded graph or used as such. Furthermore, it is useful if remaining connections (from the unbounded graph) that point to potential actions of the bounded graph are selected until no more connections point from a potential action in the bounded graph to a potential action outside the bounded graph. These selected potential connections must then also be added to the potential connections of the bounded graph.This is intended to ensure that, given the acyclicity of the bounded graph, the acyclicity of the entire resulting ADD can be inferred without taking future dependencies into account. Acyclicity is required for the recursive feasibility of the plan, which in particular aims to ensure that the plan is deadlock-free (equivalent to the ADD being acyclic). R.402847 As has been shown, the bounded graph obtained in this way – like the unbounded graph – leads to a solution at which the mobile devices reach a point without causing deadlocks (unresolvable situations) or collisions, and from which point the mobile devices can be safely moved further. As mentioned, the movement plan can be adjusted if at least one trigger criterion exists (or is fulfilled).This at least one trigger criterion preferably comprises at least one of the following: there is a delay in at least one of the plurality of mobile devices when following the movement plan; there is a malfunction in at least one of the plurality of mobile devices; and there is a change in the movement path in at least one of the plurality of mobile devices, e.g. an end point has been changed, removed, or added. These are criteria whose presence can be assumed to result in an overall delay, so that an adjustment of the movement plan can be expected to shorten the overall duration. It can also be provided that the trigger criterion is only considered to be present if a delay of more than a predetermined period of time, e.g. 5 seconds, is to be expected.A predetermined time that has elapsed or passed since the last adjustment of the movement plan (implementation of the optimization) can also be considered as a trigger criterion. In other words, the adjustment can thus be carried out regularly or quasi-continuously. Preferably, repeated or regular checks are also carried out to determine whether at least one trigger criterion is present, with the movement plan always being adjusted when at least one trigger criterion is present. This means that, for example, an adjustment can always be made when indicated in order to shorten the overall duration. Based on the adjusted movement plan, movement control variables can then be determined for one or more or all of the plurality of mobile devices that can then be provided. The one or more or all mobile devices can also be moved based on the R.402847 movement control variables, i.e.the mobile devices then navigate through the environment accordingly. A computing unit according to the invention, e.g. a control device or a control unit of a mobile device, or a server or other computer, is configured, in particular in terms of programming, to carry out a method according to the invention. The invention also relates to a mobile device, e.g. a robot, a drone or an at least partially automated vehicle (e.g. an AGV), which is configured to receive an adapted movement plan or movement control variables. The mobile device then has a drive system and a control or regulating unit for controlling the drive system based on the adapted movement plan and / or the movement control variables. The mobile device can also have a computing unit according to the invention, i.e. the movement plan can be adapted on the mobile device or its computing unit.It is also expedient, however, if the adaptation of the movement plan takes place on a higher-level computing unit, e.g. a server or in the so-called cloud, from where the mobile device then receives the adapted movement plan or the movement control variables. The mobile device can also be configured to provide information about a disruption and / or a delay in following the movement sequence plan, e.g. for the higher-level computing unit. This can then be seen as the presence of the trigger criterion, and the movement plan can be adapted based on this. The invention also relates to a system with a plurality of such mobile devices. Such a system can then, for example, also comprise a higher-level computing unit, e.g. a server. The mobile devices can then, for example, be connected to the higher-level computing unit via wireless data transmission.The implementation of a method according to the invention in the form of a computer program or computer program product with program code for R.402847 carrying out all method steps is also advantageous, since this entails particularly low costs, in particular if an executing control unit is also used for other tasks and is therefore already present. Finally, a machine-readable storage medium is provided with a computer program stored thereon as described above. Suitable storage media or data carriers for providing the computer program are, in particular, magnetic, optical and electrical memories, such as hard disks, flash memories, EEPROMs, DVDs, etc. Downloading a program via computer networks (Internet, intranet, etc.) is also possible. Such a download can be wired or cable-based or wireless (e.g. via a WLAN network, a 3G, 4G, 5G or 6G connection, etc.).Further advantages and embodiments of the invention emerge from the description and the accompanying drawings. The invention is illustrated schematically in the drawings using an exemplary embodiment and is described below with reference to the drawings. Brief description of the drawings Figure 1 schematically shows a system in which a method according to the invention can be carried out. Figure 2 schematically shows a sequence of a method according to the invention in a preferred embodiment. Figures 3 to 6 show diagrams to explain a method according to the invention in a preferred embodiment. Embodiment(s) of the invention Figure 1a schematically shows a system 100 in which a method according to the invention can be carried out. This can be a R.402847 system according to the invention in a preferred embodiment. The system has, for example, a computing unit 104, e.g.a higher-level server, as well as, for example, four mobile devices 110, 120, 130, 140, which move in an environment 102. The mobile devices can be, for example, so-called AGVs. As an example, the mobile device 110 is shown in somewhat more detail. It has a drive system 114 and a control or regulating unit 112 for controlling the drive system based on an (adapted) movement plan or movement control variables. In addition, the mobile device 110 has a computing unit 11 designed as a control unit, which is connected, for example, to the computing unit 104 for wireless data transmission. In addition, the mobile device 110 has, for example, a lidar sensor 113 for navigation. The other mobile devices can be constructed in a similar way. In the environment 102, some positions V are shown as circles, which can be approached or passed by the mobile devices.E denotes connections between positions V; these represent paths for the mobile devices. The representation shown here is in the form of a graph G=(V,E) with the positions V as nodes and the connections E as edges; however, it is understood that in practice the environment can be, for example, a factory hall with paths and the like. In addition, starting points s1 to s4 and end points g1 to g4 are shown for each mobile device; these start and end points each correspond to a position or node V. An arrow to an associated end point with the intermediate nodes or positions indicates a movement path, designated 132 for the mobile device 130, for example. In addition, an associated time schedule can be provided for a movement path, according to which the individual positions are to be traveled to. The totality of the movement paths and time schedules thus results in a movement plan for the mobile devices in the environment.R.402847 In Figure 1b, the four mobile devices are shown as an example next to a graph in which potential positions between nodes and dependencies 122 between nodes for the same mobile device and 123 between two mobile devices are shown. The graph shown here is a so-called spatially exclusive action dependency graph (SE-ADG). It takes into account that the mobile devices have an implicit order. It also takes into account that at each node a movement or action of a mobile device occurs from two other nodes or with two connections that are spatially mutually exclusive. To obtain this graph, the following algorithm (hereinafter also Algorithm 1) can be used, for example: R.402847 This algorithm receives as input a motion plan, i.e. a solution ^ = {^ , … , ^} for the MAPF problem. Where ^ ^ ^ ^ ^ = ^^ ^ , … , a sequence of tuples for the movement plan, specifying the actions of mobile devices i that are necessary to move from the starting point ^ ^ to the end point ^ ^ to get to. A tuple ^^ ^ = gives the nodes (positions) and times when a mobile device is at the node ^^^ ^ ^ must be or must perform the action, i.e., the temporal sequence. The output of this algorithm is a graph, a "Spatially Exclusive Action Dependency Graph" GSE-ADG with corresponding nodes and edges. For the VSE-ADG nodes, it is a set of nodes v=({p1,…,pq},status) that represent a movement of a mobile device i from ^^^ ^ ^, via intermediate nodes, to ^ ^ ^ ^ ^The "status" indicates whether the mobile device is in planning (not yet started, "staged"), in execution of the movement path ("in progress"), or finished ("completed"). The edges ESE-ADG are directed edges, i.e., connections with a specified direction of movement of the mobile device. In the algorithm, each mobile device (AGV) is considered individually in a first part, in steps 1 to 13. Spatial exclusivity is considered in step 7. In a second part, in steps 14 to 20, the dependency between mobile devices is considered, especially when two mobile devices pass the same node or are to perform the respective action. It should be noted that the "Spatially Exclusive Action Dependency Graph" GSE-ADG should be acyclic. Acyclicity should be taken into account for the deadlock-free nature of the movement plan, i.e.that no situation arises in which a mobile device can no longer move. A simple example of a movement plan or cycle (where the problem is obvious) for three mobile devices A, B, and C and a specific resource R would be as follows: A must wait for B before it can use resource R, B must wait for C before it can use resource R, C must wait for A before it can use resource R. No mobile device will therefore move, there is a deadlock, and the task will not be completed in finite time. A MAPF plan that is completed in finite time is therefore acyclic. In practice, such movement plans or cycles are sometimes considerably more complex. A movement plan found as part of an optimization of such a "Spatially Exclusive Action Dependency Graph" ensures that the mobile devices reach their respective destinations without collisions.Figure 2 schematically shows a sequence of a method according to the invention in a preferred embodiment, as can be carried out, for example, with the system shown in Figure 1. In a step or block 200, a (possibly initial) movement plan P can first be created. For this purpose, a graph G = (V, E) of the environment is used, as well as the start and end points of the mobile devices, generally referred to here as s1 to sN and g1 to gN. In a step or block 210, an unbounded graph, a so-called "switchable action dependency graph", SADG, can then be generated, referred to here as GSADG(b). This "switchable action dependency graph" can, for example, be created once initially, as long as the plan tuples remain the same. Otherwise, it can be created again or renewed. The following algorithm (hereinafter also referred to as Algorithm 2) can be used for this purpose, for example: R.402847 This algorithm receives as input a motion plan, i.e. a solution ^ = { ^ ^ , … , ^ ^ } for the MAPF problem. The algorithm is comparable to the previous algorithm for the Spatially Exclusive Action Dependency Graph (GSE-ADG), except for lines 19 to 25. Here, it is checked whether the inverse of a dependency can be formed. The solution ^ = { ^ ^ , … , ^ ^ } represents a theorem for this algorithm such that for nodes ^(^^ ^ ) ≠ ^(^^ ^) if ^̂^^^ ^ ^ = In addition, two mobile devices i and j may not travel along an edge ^ ∈ ^ in the opposite direction in the same time step. Furthermore, for all ^, ^ ∈ {1, … ^}, the following applies: ^^ ^ ^ and ^ ^ ^ = ^ ^The output of this algorithm is thus an unbounded graph, a "switchable action dependency graph" GSADG(b) with corresponding nodes and edges. Here, b or the vector b represents the reversible dependency; this is a binary vector that indicates for each node whether forward or backward dependency is selected (the value of the vector is then 0 or 1). As already mentioned, one aspect here is that the aforementioned dependencies of the mobile devices are also reversible (i.e., interchangeable). This is illustrated in the diagram in Figure 3. It shows general potential actions or nodes V, as well as movement paths for two different mobile R.402847 devices i and j (top and bottom). It is assumed that the state of mobile device j for ^^ ^ is completed before the state for mobile device i for ^^ ^ is in progress.This means that the mobile device j the point. must have left or performed the respective action (or reached ^(^^ ^)) before the mobile device i can travel to the point ^(^^ ^ ) or perform the respective action. This implies an order according to which the mobile device j reaches the point ^(^^ ^ ^) = ^(^ ^) or can perform the action in question. In Figure 3, this dependency is represented by the arrow or connection 302. A reversal or exchange of this dependency is represented by the arrow or connection 303. For a more detailed explanation of this - as well as the two algorithms already mentioned - reference is again made to “A. Berndt, N. van Duijkeren, L. Palmieri, and T. Keviczky, “A Feedback Scheme to Reorder a Multi-Agent Execution Schedule by Persistently Optimizing a Switchable Action Dependency Graph,” Proceedings of the Distributed and Multi-Agent Planning (DMAP) Workshop at ICAPS, 2020.”, also available at arXiv:2010.05254. As part of an optimization, e.g. the aforementioned MILP, in step or block 220, a solution with an adapted plan can be determined or found. Here, within the scope of optimization, an adapted movement plan 225 can be obtained, which can be executed in one step orBlock 230 can be used, for example, within the scope of an execution, to prompt the mobile devices to follow the (adapted) movement plan. However, in the optimization step or block 220, the unbounded graph, the "Switchable Action Dependency Graph", GSADG(b), is not used directly, but rather a bounded graph determined from it in step or block 250. For this purpose, the following algorithm (hereinafter also referred to as Algorithm 3) can be used, for example: R.402847. This algorithm receives as input the unbounded graph, the “Switchable Action Dependency Graph” GSADG(b), as well as the given time horizon H and gives as output a “Switchable Action Dependency Graph” bounded by the time horizon H ^ ( ^ ^^^ )with corresponding nodes and edges. Here, all potential actions (nodes) that can probably be reached (by the mobile devices) within the horizon H are selected from the unbounded graph GSADG(b). These selected potential actions are then determined as the potential actions of the bounded graph or used as such, denoted here by VFH. This is shown in step 1 of the algorithm. The index "FH" stands for "Finite Horizon". In addition, all connections or edges (from the unbounded graph) for which there is a commutable dependency between mobile devices and which point to one of the potential actions of the bounded graph (which were previously selected and determined) are selected. These selected potential connections are then determined as the potential connections (edges) of the bounded graph orused as such, here denoted by EFH. This is shown in step 3 of the algorithm. R.402847 In addition, it is useful if remaining connections (from the unbounded graph) that point to potential actions in the bounded graph are selected until no more connections point from a potential action in the bounded graph to a potential action outside the bounded graph. These selected potential connections can then also be added to the potential connections of the bounded graph. This is shown in steps 2 and 4 of the algorithm. It is particularly useful to add all edges that point "inward," even indirectly, recursively. This ensures that the acyclicity of the subset of action dependencies implies the acyclicity of the entire (open) movement plan.This extracts the bounded graph from the unbounded graph, the "Switchable Action Dependency Graph" GSADG(b). One can also speak of a division of the unbounded graph into the bounded graph and a remainder. This remainder in turn represents a "Spatially Exclusive Action Dependency Graph", SE-ADG, as explained above. This is illustrated in Figure 4. There, a graph with potential actions or nodes V and connections is shown, as well as the horizon H. This applies, by way of example, to three possible mobile devices. Forward-directed dependencies are represented by the arrows or connections 202. A reversal or exchange of such dependencies is represented by the arrows or connections 403. All dependencies to the left of the horizon H - and thus in front of the horizon - are active, those to the right of it are inactive. In addition, the aforementioned states or conditions for the nodes are indicated.Nodes shown as empty are in planning (not yet started, "staged"), the two nodes on the top left and bottom left are finished, meaning that the movement path is already at an end ("completed"), and the node on the far left in the middle is in execution of the movement path ("in progress"). This is shown again step by step in Figure 5, with four different situations in Figures (a) to (d). Here, too, node V and forward dependencies 502 and their inverses 503 are shown. The horizon R.402847 H changes here from Figures (a) to (d). Figure (a) shows steps 1 and 2 of Algorithm 3, and Figure (b) shows steps 3 and 4 of Algorithm 3. Figure (c) shows the recursion in steps 5 to 8 during execution, and Figure (d) shows the final SADG with a finite horizon.Figure 6 shows the situation from Figure 1b again, but with the horizon H and the dependencies between nodes V. While Figure 1b is a "Spatially Exclusive Action Dependency Graph," in Figure 6 everything from the left to the horizon represents a limited graph, namely a "Switchable Dependy Action Dependency Graph," and the rest again represents a "Spatially Exclusive Action Dependency Graph." 602 and 603 represent, as examples, a dependency and its inverse. As has been shown, such a "Switchable Dependy Action Dependency Graph" ensures that a movement plan found on the basis of this as part of an optimization is such that the mobile devices reach actions (and these do not have to be endpoints or end actions) from which they can continue their journey; a collision does not occur.This is ensured because the rest is a “Spatially Exclusive Action Dependency Graph”, which – as mentioned – also allows the finding of such a movement plan.

Claims

R.402847 Claims 1. Method for adapting a movement plan for mobile devices (110, 120, 130, 140), in particular robots, drones or at least partially automated vehicles, wherein the mobile devices are to move in an environment according to the movement plan, comprising: providing a movement plan, wherein the movement plan assigns to each of the mobile devices a movement path and a time schedule for following the movement path, wherein a movement path comprises actions that are to be carried out by the respective mobile device in the environment;Adapting the movement plan if at least one trigger criterion is present, wherein adapting the movement plan comprises: - determining (210) a bounded graph comprising potential actions and connections between actions in the environment for the mobile devices up to a predetermined horizon, and - determining (220) an adapted movement plan based on the bounded graph as part of an optimization;and providing (225) the adapted movement plan for the mobile devices, and in particular causing the mobile devices to follow the adapted movement plan.

2. The method according to claim 1, wherein the bounded graph is determined from an unbounded graph, in particular wherein the unbounded graph comprises potential actions and connections in the environment for the mobile devices, in particular wherein the potential actions are each assigned driving and / or action instructions that can be carried out by the mobile devices, and / or a status of the mobile devices and / or information as to whether there is an interchangeable dependency between the mobile devices. R.402847 3. The method of claim 2, wherein determining the bounded graph comprises: selecting, from the unbounded graph, all potential actions that can be expected to be performed within the horizon, and determining the selected potential actions as the potential actions of the bounded graph, and / or selecting all links for which there is a commutable dependency between mobile devices and which point to one of the potential actions of the bounded graph, and determining the selected potential links as the potential links of the bounded graph. 4.The method of claim 3, wherein determining the bounded graph further comprises: selecting remaining connections that point to potential actions of the bounded graph until no more connections point from a potential action in the bounded graph to a potential action outside the bounded graph, and adding the selected potential connections to the potential connections of the bounded graph.

5. The method of any one of the preceding claims, wherein the movement plan, prior to the adaptation, is an open movement plan in which not every mobile device (110, 120, 130, 140) is assigned a target position or target action to be reached in the environment.

6. The method of any one of the preceding claims, wherein the horizon is predetermined such that not all of the plurality of mobile devices reach a respective target position or target action in the environment predetermined prior to the adaptation.Method according to one of the preceding claims, wherein the at least one triggering criterion comprises at least one of the following triggering criteria:. R.402847 - there is a delay in at least one of the mobile devices following the movement plan, - there is a malfunction in at least one of the mobile devices, - there is a change in the movement path of at least one of the mobile devices, and - a predetermined time has elapsed since the movement plan was last adjusted.

8. The method according to one of the preceding claims, wherein it is repeatedly or regularly checked whether the at least one trigger criterion is present, and wherein the movement plan is always adjusted when the at least one trigger criterion is present.

9. The method according to one of the preceding claims, further comprising: determining, based on the adjusted movement plan, movement control variables for one or more or all of the mobile devices, and providing the movement control variables and / or moving the one or more or all of the mobile devices based on the movement control variables. 10.Computing unit comprising a processor configured to execute the method according to one of the preceding claims.

11. A mobile device (110, 120, 130, 140), in particular a robot, drone, or at least partially automated vehicle, configured to receive an adapted motion plan determined according to one of claims 1 to 8 or motion control variables determined according to claim 9, comprising a drive system and a control or regulating unit for controlling the drive system based on the adapted motion plan and / or the motion control variables, in particular comprising a computing unit (112) according to claim 10. R.402847 12. The mobile device (110, 120, 130, 140) according to claim 11, further configured to provide information about a disruption and / or a delay in following the movement sequence plan.

13. The system comprising multiple mobile devices (110, 120, 130, 140) according to claim 11 or 12, and in particular comprising a computing unit according to claim 10.

14. A computer program comprising instructions which, when executed by a computer, cause the computer to carry out the method according to claims 1 to 9.

15. A computer-readable data carrier on which the computer program according to claim 14 is stored.