EP4630897A1 - Verfahren zum anpassen eines bewegungsplans für mobile geräte - Google Patents
Verfahren zum anpassen eines bewegungsplans für mobile geräteInfo
- Publication number
- EP4630897A1 EP4630897A1 EP23817399.1A EP23817399A EP4630897A1 EP 4630897 A1 EP4630897 A1 EP 4630897A1 EP 23817399 A EP23817399 A EP 23817399A EP 4630897 A1 EP4630897 A1 EP 4630897A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- mobile devices
- graph
- movement
- movement plan
- plan
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/22—Command input arrangements
- G05D1/229—Command input data, e.g. waypoints
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/644—Optimisation of travel parameters, e.g. of energy consumption, journey time or distance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/69—Coordinated control of the position or course of two or more vehicles
- G05D1/693—Coordinated control of the position or course of two or more vehicles for avoiding collisions between vehicles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/69—Coordinated control of the position or course of two or more vehicles
- G05D1/698—Control allocation
- G05D1/6987—Control allocation by centralised control off-board any of the vehicles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2105/00—Specific applications of the controlled vehicles
- G05D2105/45—Specific applications of the controlled vehicles for manufacturing, maintenance or repairing
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2107/00—Specific environments of the controlled vehicles
- G05D2107/70—Industrial sites, e.g. warehouses or factories
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2109/00—Types of controlled vehicles
- G05D2109/10—Land vehicles
Definitions
- 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.
- 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 for how and when the individual mobile devices move in order to prevent collisions between mobile devices on the one hand and to achieve the movement of each mobile device from start to finish on the other.
- the invention relates to mobile devices, in particular robots, drones or at least partially automated moving 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.
- AGVs Automated Guided Vehicles
- R.402847 mobile devices are able to orient themselves in their surroundings and navigate there, i.e. to independently follow a predetermined path of movement.
- the mobile devices can have suitable sensors such as lidar and/or cameras, as well as a corresponding drive unit.
- suitable sensors such as lidar and/or cameras
- 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 can include, for example, household robots such as vacuum and/or mop robots, floor or street cleaning devices or lawnmower robots, but also other so-called service robots, as well as at least partially automated vehicles, e.g. passenger transport vehicles or goods transport vehicles (also so-called industrial trucks, e.g. in warehouses), but also aircraft such as so-called drones or watercraft.
- MAPF Multi-Agent Path Finding
- MAPF problem i.e. finding paths for a large number of agents
- One solution to such a problem is a movement plan or movement sequence plan that specifies a movement path for each mobile device that the mobile device must follow and a time schedule (i.e. a time schedule) according to which the mobile device must follow the movement path.
- the time schedules of the individual mobile devices also depend on one another.
- a movement path includes actions that the respective mobile device must carry out in the environment; these can be, for example, different positions where the mobile device should wait, or a trip from one position to another, or even certain activities such as loading or unloading.
- ⁇ mobile devices can be present.
- Each mobile device can be assigned a start point or a start position ⁇ ⁇ and an end point or an end position (i.e.
- a solution that takes all mobile devices from their respective start point to their respective end point, but where no collisions occur, can be given by a movement plan or movement sequence plan that specifies a movement path with positions and a time schedule for each mobile device when the mobile device should be at which position.
- a solution for this can be found, for example, with an optimization or by solving an optimization problem.
- Two aspects in particular can be optimized.
- a time period can be minimized, namely a total time that the last mobile device needs 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 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 in the context of the present invention.
- the aim can be to ensure that each individual mobile device completes its route as quickly as possible.
- mobile device A only waits for mobile device B to cross a resource first if mobile device B (and all other mobile devices that wait 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 slight delays in the process.
- 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 an 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. In addition, 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 use the same resource at the same time.
- the movement plan can be changed or adapted, at least from the time the delay or fault occurs (or a trigger criterion is generally present).
- An adjustment 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 can be, for example, a changed order in which mobile devices pass a certain position.
- movement paths can also 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 time caused by the disruption or delay.
- a graph that includes potential actions and connections between actions (i.e. which actions follow one another) in the environment for the large number 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 (in the graph it is only about the connection itself, not the concrete way in which this is in R.402847 the environment actually looks like, e.g. with specific positions, curves or the like).
- potential actions and connections since 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 a mobile device during a potential action have an influence on actions or actions that are or can be carried out by another mobile device.
- 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 implicitly contain an order of the mobile devices.
- the potential actions (or actions) 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.
- a potential action can be assigned a status of the mobile device.
- a status is particularly understood to mean the situation in which the mobile device is in the course of its movement path, e.g. in planning (not yet started, "staged"), in execution of the movement path ("in progress") or finished, ie that the movement path is already at the end ("completed”).
- the potential actions therefore also take into account in particular that there are the aforementioned dependencies between the mobile devices.
- the graph can also be referred to as a so-called “action dependency graph", ADG, or action or action dependency graph.
- the graph indicates for each node or each potential action which actions the mobile devices R.402847, taking into account that actions of several mobile devices can be dependent on one another.
- the potential actions can each be assigned information as to 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 behavior dependency graph.
- SADG switchable action dependency graph
- Such a “switchable action dependency graph” enables a systematic rearrangement of the individual mobile devices or their movement paths and time schedules, or at least makes this easier. Based on such a graph, as has been shown, within the framework of an optimization, i.e. 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 there being any collisions.
- MILP mixed integer linear program
- 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.
- DMAP Distributed and Multi- Agent Planning
- the “Switchable Action Dependency Graph” a complete completion of the movement plan is taken into account when determining the adapted movement sequence plan, ie the mobile devices should reach their respective endpoints or last actions, which are specified, for example, at the beginning. It has been found that the mobile devices do not always have to reach their end point - e.g. the one specified at the beginning.
- 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 a target action in the environment. If the movement plan is not complete, it should be ensured 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 complete a task, such as unloading or loading something.
- the adapted movement plan is 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 given horizon.
- the horizon can be defined, for example, 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.
- This can in particular be a graph that is 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 specified in such a way that not all of the large number of mobile devices reach a respective target position or target action in the environment that was specified before adaptation.
- the horizon can in itself be chosen arbitrarily; as will be explained below, an algorithm can be used to ensure that a suitable set of action dependencies is selected for each horizon.
- 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 that 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-called spatially exclusive action dependency graph (SE-ADG), which will be explained later; this remainder does not need to be considered any further, however, since the limited graph already allows a solution in which the mobile devices reach certain points or positions at which there is no mutual blocking and there are no collisions. In other words, an intermediate state is reached from which it is guaranteed that the mobile devices can move as they wish, e.g. to their endpoints specified from the beginning or to other, changing endpoints. This also means that the movement plan that is present from the beginning can be open, ie there does not have to be an endpoint to be reached for each mobile device.
- SE-ADG spatially exclusive action dependency graph
- Finding the adapted movement plan can then be done as part of an optimization, such as R.402847 described above for the "Switchable Action Dependency Graph", but based on the delimited graph.
- the delimited graph can in particular be determined from a corresponding, non-delimited graph, e.g. the aforementioned "Switchable Action Dependency Graph", which in itself extends beyond the horizon and possibly includes predetermined end points (or e.g. simply final points, regardless of whether this is an end point for e.g. an action to be carried out).
- all potential actions that can probably be achieved (by the mobile devices) within the horizon are selected from the non-delimited graph. These selected potential actions are then determined as the potential actions of the delimited graph or used as such.
- connections from the non-delimited graph for which there is an interchangeable dependency between mobile devices and which point to one of the potential actions of the delimited 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. In addition, it is useful if remaining connections (from the unbounded graph) that point to potential actions of the bounded graph are selected until no connection points 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.
- the movement plan can be adjusted if at least one trigger criterion is present (or is fulfilled).
- This at least one trigger criterion preferably includes 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 fault 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, ie, for example, that an end point has been changed, removed or added.
- 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.
- the adjustment can thus be carried out regularly or quasi-continuously.
- it is also checked repeatedly or regularly whether the at least one trigger criterion is present, with the movement plan always being adjusted when the at least one trigger criterion is present. This means that, for example, an adjustment can be made again and again when this is indicated in order to shorten the duration overall.
- movement control variables can then be determined for one or more or all of the large number of mobile devices that can then be provided.
- the one or more or all of the mobile devices can also be based on the R.402847 motion control variables, ie 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 set up, 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 set up to receive an adapted motion plan or motion 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 motion plan and/or the motion control variables.
- the mobile device can also have a computing unit according to the invention, ie the motion plan can be adapted on the mobile device or its computing unit.
- 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 set up to provide information about a fault 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 large number of such mobile devices.
- Such a system can then also comprise a higher-level computing unit, e.g. a server.
- the mobile devices can then be connected to the higher-level computing unit, e.g. by wirelessly transmitting data.
- a higher-level computing unit e.g. a server.
- the mobile devices can then be connected to the higher-level computing unit, e.g. by wirelessly transmitting data.
- 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 advantageous because this causes particularly low costs, especially if an executing control unit is also used for other tasks and is therefore already present.
- a machine-readable storage medium is provided with a computer program stored on it 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.
- FIG. 1 shows a schematic diagram of a system in which a method according to the invention can be carried out.
- Figure 2 shows a schematic diagram of 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.
- FIG. 1a shows a schematic diagram of a system 100 in which a method according to the invention can be carried out.
- This can be a R.402847 inventive system in a preferred embodiment.
- the system has, for example, a computing unit 104, e.g. a higher-level server, and, for example, four mobile devices 110, 120, 130, 140 that move in an environment 102.
- the mobile devices can be, for example, so-called AGVs.
- the mobile device 110 is shown in somewhat more detail as an example. 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.
- the mobile device 110 has a computing unit 11 designed as a control unit, which is connected to the computing unit 104, e.g. for wireless data transmission.
- the mobile device 110 has, for example, a lidar sensor 113 for navigation.
- the other mobile devices can be constructed in the same way.
- some positions V are shown as circles, for example, which can be approached or passed by the mobile devices.
- E denotes connections between positions V, which represent paths for the mobile devices.
- start points s1 to s4 and end points g1 to g4 are shown for the mobile devices; these start and end points correspond to a position or node V.
- An arrow to an associated end point with the nodes or positions in between indicates a movement path, for example designated 132 for the mobile device 130.
- 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.
- 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 or action of a mobile device occurs from two other nodes or with two connections that spatially exclude each other.
- SE-ADG spatially exclusive action dependency graph
- Algorithm 1 the following algorithm (hereinafter also Algorithm 1) can be used, for example: R.402847
- a tuple ⁇ ⁇ specifies the nodes (positions) and times when a mobile device must be at node ⁇ ⁇ ⁇ or must carry out the action, in other words the temporal sequence.
- the output of this algorithm is a graph, a “Spatially Exclusive Action Dependency Graph” GSE-ADG with corresponding nodes and edges.
- the “status” specifies whether the mobile device is in planning (not yet started, “staged”), executing the movement path (“in progress”) or is finished (“completed”).
- the ESE-ADG edges are directed edges, ie connections with a predetermined 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.
- the dependency between mobile devices is then taken into account, in particular when two mobile devices pass the same node or are to carry out the relevant action.
- the "Spatially Exclusive Action Dependency Graph" GSE-ADG should be acyclic. Acyclicity should be taken into account for the deadlock freedom of the movement plan, i.e. that there is no situation in which a mobile device can no longer move.
- a simple example of a movement plan or cycle would be as follows for three mobile devices A, B, and C and a certain resource R: 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.
- FIG. 2 shows a schematic of a sequence of a method according to the invention in a preferred embodiment, as it can run with the system shown in Figure 1, for example.
- a (possibly initial) movement plan P can first be created.
- a graph G (V, E) of the environment is used, as well as the start and end points of the mobile devices, here generally designated from s1 to sN or g1 to gN.
- an unbounded graph a so-called “Switchable Action Dependency Graph”, SADG, can then be generated, referred to here as GSADG(b).
- SADG switchable Action Dependency Graph
- This "Switchable Action Dependency Graph” can, for example, be initially created once, as long as the plan tuples remain the same. Otherwise, it can be created again or renewed.
- Algorithm 2 Algorithm 2
- 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.
- two mobile devices i and j may not travel along an edge ⁇ ⁇ ⁇ in the opposite direction in the same time step.
- the output of this algorithm is thus an unbounded graph, a "Switchable Action Dependency Graph" GSADG(b) with corresponding nodes and edges.
- the reversible dependency is represented by b or the vector b; this is a binary vector that indicates for each node whether the forward or backward dependency (the value of the vector is then 0 or 1) is selected.tt
- the mentioned dependencies of the mobile devices on each other are also reversible (i.e. interchangeable). This is shown in the diagram in Figure 3.
- a solution with an adapted plan can be determined or found.
- an adapted movement plan 225 can be obtained, which can be used in a step or block 230, e.g. as part of an execution, to prompt the mobile devices to follow the (adapted) movement plan.
- the optimization however, the unlimited graph, the "Switchable Action Dependency Graph", GSADG(b), is not used directly, but rather a limited graph determined from it in step or block 250.
- the following algorithm (hereinafter also Algorithm 3) can be used: 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 outputs as output a “Switchable Action Dependency Graph” bounded by the time horizon H. ⁇ ( ⁇ ⁇ ) with corresponding nodes and edges.
- all potential actions (nodes) that can probably be achieved (by the mobile devices) within the horizon H are selected from the non-bounded graph GSADG(b). These selected potential actions are then determined as the potential actions of the bounded graph or used as such, here referred to as VFH.
- step 1 of the algorithm The index “FH” stands for "Finite Horizon”.
- all connections or edges from the non-bounded graph) for which there is an interchangeable 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 or used as such, here referred to as EFH. This is shown in step 3 of the algorithm.
- R.402847 It is also useful if remaining connections (from the non-bounded 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.
- a graph with potential actions or nodes V and connections is shown, as well as the horizon H. This applies, for example, to three possible mobile devices. Forward-directed dependencies are shown using the arrows or connections 202. A reversal or exchange of such dependencies is shown using 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 statuses or states for the nodes are indicated.
- Figure (c) shows the recursion in steps 5 to 8 during the process
- 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.
- Figure 1b is a "Spatially Exclusive Action Dependency Graph”
- everything from the left to the horizon represents a limited graph, namely a "Switchable Dependy Action Dependency Graph”
- the rest again represents a "Spatially Exclusive Action Dependency Graph”.
- 602 and 603 are examples of a dependency and its inversion.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
Die Erfindung betrifft ein Verfahren zum Anpassen eines Bewegungsplans für mobile Geräte (110, 120, 130, 140), insbesondere Roboter, Drohnen oder sich zumindest teilautomatisiert bewegende Fahrzeuge, wobei sich die mobilen Geräte gemäß des Bewegungsplans in einer Umgebung bewegen sollen, umfassend: Bereitstellen eines Bewegungsplans, wobei der Bewegungsplan jedem der mobilen Geräte jeweils einen Bewegungspfad und einen zeitlichen Ablaufplan für ein Befolgen des Bewegungspfads zuordnet, wobei ein Bewegungspfad jeweils Aktionen, die von dem jeweiligen mobilen Gerät in der Umgebung durchzuführen sind, umfasst; Anpassen des Bewegungsplans, wenn wenigstens ein Auslösekriterium vorliegt, wobei das Anpassen des Bewegungsplans umfasst: Bestimmen eines begrenzten Graphen, der für die mobilen Geräte bis zu einem vorgegebenen Horizont potentielle Aktionen und Verbindungen zwischen Aktionen in der Umgebung umfasst, und Bestimmen eines angepassten Bewegungsplans, basierend auf dem begrenzten Graphen, im Rahmen einer Optimierung, und Bereitstellen des angepassten Bewegungsplans für die mobilen Geräte, und insbesondere Veranlassen der mobilen Geräten, den angepassten Bewegungsplan zu befolgen.
Description
R.402847 Beschreibung Titel Verfahren zum Anpassen eines Bewegungsplans für mobile Geräte Die vorliegende Erfindung betrifft ein Verfahren zum Anpassen eines Bewe- gungsplans für mobile Geräte, ein mobiles Gerät, ein System sowie eine Re- cheneinheit und ein Computerprogramm zu dessen Durchführung. Hintergrund der Erfindung In verschiedenen Bereichen kommen mobile Geräte, insbesondere Roboter, Drohnen oder sich zumindest teilautomatisiert bewegende Fahrzeuge wie z.B. sog. AGVs („Automated Guided Vehicles“) zum Einsatz. Wenn in einer Umge- bung wie z.B. einer Fabrikhalle eine Vielzahl solcher mobiler Geräte zum Einsatz kommen sollen, ist es zweckmäßig, einen Plan vorzugeben, wie und wann die einzelnen mobilen Geräte sich bewegen, um einerseits Kollisionen zwischen mo- bilen Geräten zu verhindern und anderseits die Bewegung eines jeden mobilen Geräts vom Start zum Ziel zu erreichen. Offenbarung der Erfindung Erfindungsgemäß werden ein Verfahren zum Anpassen eines Bewegungsplans, ein mobiles Gerät, ein System sowie eine Recheneinheit und ein Computerpro- gramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentan- sprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Un- teransprüche sowie der nachfolgenden Beschreibung. Die Erfindung beschäftigt sich mit mobilen Geräten, insbesondere Roboter, Droh- nen oder sich zumindest teilautomatisiert bewegende Fahrzeuge wie z.B. sog. AGVs („Automated Guided Vehicles“) und eines Einsatzes einer Vielzahl davon in einer Umgebung wie z.B. einer Fabrikhalle. Typischerweise sind solche
R.402847 mobilen Geräte in der Lage, sich in der Umgebung zu orientieren und dort zu na- vigieren, also einem vorgegebenen Bewegungspfad selbstständig zu folgen. Hierzu können die mobilen Geräten z.B. über geeignete Sensorik wie z.B. Lidar und/oder Kameras verfügen, sowie eine entsprechende Antriebseinheit. Beispiele für solche mobile Geräte (oder auch mobile Arbeitsgeräte) sind ganz allgemein z.B. Roboter und/oder Drohnen und/oder auch sich teilautomatisiert oder (vollständig) automatisiert (zu Land, Wasser oder in der Luft) bewegende Fahrzeuge. Als Roboter kommen z.B. Haushaltsroboter wie Saug- und/oder Wischroboter, Boden- oder Straßenreinigungsgeräte oder Rasenmähroboter in Betracht, ebenso aber auch andere sog. Service-Roboter, als sich zumindest teil- weise automatisiert bewegende Fahrzeuge z.B. Personenbeförderungsfahrzeuge oder Güterbeförderungsfahrzeuge (auch sog. Flurförderfahrzeuge, z.B. in Lager- häusern), aber auch Luftfahrzeuge wie sog. Drohen oder Wasserfahrzeuge. Wie erwähnt, ist es dabei zweckmäßig, einen Plan vorzugeben, wie und wann die einzelnen mobilen Geräte sich bewegen, um einerseits Kollisionen zwischen mobilen Geräten zu verhindern und anderseits die Bewegung eines jeden mobi- len Geräts vom Start zum Ziel zu erreichen, und zwar auch möglichst schnell. In diesem Zusammenhang ist auch die Rede von einem sog. MAPF („Multi-Agent Path Finding“) bzw. MAPF-Problem, also dem Finden von Pfaden für eine Viel- zahl von Agents, den mobilen Geräten. Eine Lösung eines solchen Problems ist ein Bewegungsplan oder Bewegungsablaufplan, der für jedes mobile Gerät einen Bewegungspfad vorgibt, der von dem mobilen Gerät zu befolgen ist, und ein zeit- licher Ablaufplan (d.h. ein Zeitschema), gemäß welchem das mobile Gerät den Bewegungspfad zu befolgen hat. Die Zeitschemata der einzelnen mobilen Geräte hängen dabei auch voneinander ab. Ein Bewegungspfad wiederum umfasst Akti- onen die von dem jeweiligen mobilen Gerät in der Umgebung durchzuführen sind; das können z.B. verschiedenen Positionen, an denen das mobile Gerät warten soll, oder eine Fahrt von einer zu einer anderen Position sein, oder auch bestimmte Tätigkeiten wie Beladen oder Entladen. Die Umgebung kann hierbei allgemein durch einen Graphen ^ = (^, ^) mit Kno- ten ^ und Kanten ^ dargestellt werden, wobei die Knoten bestimmten Positionen
R.402847 und die Kanten den Verbindungen zwischen zwei Positionen entsprechen. In der Umgebung können ^ mobile Geräte vorhanden sein. Jedem mobilen Gerät kann ein Startpunkt bzw. eine Startposition ^^ und ein Endpunkt bzw. eine Endposition (also ein) Ziel ^^ zugeordnet sein, wobei sich die Startpunkte der einzelnen mobi- len Geräte vorzugsweise an verschiedenen Positionen bzw. Knoten befinden bzw. solchen entsprechen, ebenso wie die Endpunkte. Eine Lösung, die alle mo- bilen Geräten von ihrem jeweiligen Startpunkt zu ihrem jeweiligen Endpunkt bringt, wobei aber keine Kollisionen auftreten, kann durch einen Bewegungsplan oder Bewegungsablaufplan gegeben sein, der für jedes mobile Gerät einen Be- wegungspfad mit Positionen und einem zeitlichen Ablaufplan angibt, wann das mobile Gerät an welcher Position sein soll. Ein Lösung hierfür lässt sich an sich z.B. mit einer Optimierung bzw. dem Lösen eins Optimierungsproblems finden. Dabei können insbesondere zwei Aspekte optimiert werden. Es kann eine Zeitspanne minimiert werden, nämlich eine Ge- samtdauer, die das letzte mobile Gerät benötigt, um seine Route zu beenden. Mit anderen Worten kann eine Minimierung der Fahrtdauer des mobilen Geräts, das am längsten braucht, erfolgen. Es kann auch die Summe der Kosten (Sum of Costs, SoC) betrachtet werden, und zwar die Summe der Dauer der mobilen Ge- räte auf ihrer Strecke. Insbesondere dieser Aspekte der Summe der Kosten ist im Rahmen der vorliegenden Erfindung von Relevanz. Es kann nämlich darauf ab- gezielt werden, dass jedes einzelne mobile Gerät seine Route am schnellsten absolviert. In der Praxis wartet das mobile Gerät A z.B. nur dann darauf, dass das mobile Gerät B eine Ressource zuerst überquert, wenn das mobile Gerät B (und alle anderen mobilen Geräten, die bei späteren Konflikten auf mobile Gerät B warten) kumulativ mehr Zeit einsparen als das mobile Gerät A warten muss (und andere mobile Geräte veranlasst, bei späteren Konflikten auf das mobile Gerät A zu warten). Das Ziel der Minimierung der Kosten ist damit, in kürzerer Zeit mehr mobile Geräte für neue Aufgaben zur Verfügung zu haben. Hierbei wird allerdings in der Regel angenommen, dass es keine Verzögerungen oder allenfalls sehr geringe Verzögerungen im Ablauf gibt. Wenn ein mobiles Gerät z.B. eine Störung hat oder anderweitig eine (längere) Verzögerung erfährt, kann es sein, dass sich die gesamte Zeit, bis alle mobilen Geräte an ihren Endpunkten angelangt sind, verlängert, da z.B. auch andere mobile Geräte warten müssen,
R.402847 weil sie z.B. die Position passieren müssten, an der das eine mobile Gerät die Störung hat. Zudem kann ein Ausführungsschritt oder Ausführungsmanager („Execution Ma- nager“) vorgesehen sein. Der Ausführungsmanager kann z.B. sicherstellen, dass die mobilen Geräte sich nicht bewegen bzw. keine Aktion ausführen, bevor sie gemäß (gesamtem) Bewegungsplan an der Reihe sind. Dies erlaubt es, die Rei- henfolge der mobilen Geräte in dem Bewegungsplans zu ändern. Außerdem kann dank des Ausführungsmanagers auch ohne Änderung der Reihenfolge aus dem MAPF-Ergebnis sichergestellt werden, dass es keine Kollisionen geben wird. Der Ausführungsmanager wird nicht zulassen, dass zwei mobile Geräte die gleiche Ressource zur gleichen Zeit verbrauchen. Um z.B. im Falle solcher Verzögerungen die gesamte Zeit für die Befolgung des Bewegungsplans zu reduzieren, kann der Bewegungsplan, zumindest ab dann, wenn die Verzögerung oder Störung auftritt (oder allgemein ein Auslösekriterium vorliegt), geändert bzw. angepasst werden. Unter einer Anpassung des Bewe- gungsplans kann dabei insbesondere eine Änderung der Reihenfolge der einzel- nen mobilen Geräte, mit der sie ihrem Bewegungspfad folgen, verstanden wer- den. Dies kann in einem einfachen Fall z.B. eine geänderte Reihenfolge, mit der mobile Geräte eine bestimmte Position passieren, sein. Ebenso können aber Be- wegungspfade (dann typischerweise auch mit dem zugehörigen zeitlichen Ab- laufplan) geändert werden bzw. sein. Auch wenn durch einen solchen geänder- ten Bewegungsplan zwar sich die insgesamt benötigte Zeit gegenüber dem ur- sprünglichen Bewegungsplan erhöht, kann dies unter Berücksichtigung der durch die Störung bzw. Verzögerung verursachte Gesamtdauer trotzdem eine schnel- lere Lösung sein. Eine Möglichkeit hierfür ist, auf einen Graphen zurückzugreifen, der potentielle Aktionen und Verbindungen zwischen Aktionen (d.h., welche Aktionen aufeinan- der folgen) in der Umgebung für die Vielzahl der mobilen Geräte umfasst, ähnlich wie die Darstellung der Umgebung als Graph. Die potentiellen Aktionen können dabei auch als Knoten bezeichnet werden, die Verbindungen als Kanten (im Gra- phen geht es nur um die Verbindung an sich, nicht die konkrete Art, wie diese in
R.402847 der Umgebung tatsächlich aussieht, also z.B. mit konkreten Positionen, Kurven oder dergleichen). Dabei soll von potentiellen Aktionen und Verbindungen die Rede sein, da es sich um solche Aktionen bzw. Verbindungen handelt, die theo- retisch durchgeführt bzw. eingenommen oder befolgt werden können. Dabei soll berücksichtigt sein, dass die Aktionen bzw. Handlungen, die von ei- nem mobilen Gerät bei einer potentiellen Aktionen vorgenommen werden bzw. werden können, einen Einfluss auf Aktionen bzw. Handlungen, die von einem an- deren mobilen Gerät vorgenommen werden bzw. werden können, haben. Mit an- deren Worten, gibt es eine Abhängigkeit zwischen den Aktionen bzw. Handlun- gen, die von (zumindest) zwei mobilen Geräten vorgenommen werden bzw. wer- den können, z.B. weil beide mobilen Geräte dieselbe Strecke befahren müssen. Grundsätzlich soll (oder muss) dabei ein mobiles Gerät eine bestimmte Aktionen Position verlassen durchgeführt haben, bevor ein anderes mobiles Gerät diese Aktion durchführen kann. Damit kann also schon implizit eine Reihenfolge der mobilen Geräten enthalten sein. Um dies in dem Graphen zu berücksichtigen, können in dem Graphen den poten- tielle Aktionen (oder Handlungen) eines mobilen Geräts vorgesehen werden. Un- ter einer Aktion ist dabei zu verstehen, was ein mobiles Gerät machen kann oder soll, also z.B. wohin es sich als nächstes bewegen soll, z.B. entlang welcher Ver- bindung; die Aktionen sind damit also insbesondere mit den Verbindungen ver- knüpft. Außerdem kann einer potentiellen Aktion ein Status der mobilen Geräte zugeordnet sein. Unter einem Status ist insbesondere zu verstehen, in welcher Situation im Ablauf seines Bewegungspfads sich das mobile Gerät befindet, also z.B. in Planung (noch nicht gestartet, „staged“), in Ausführung des Bewegungs- pfads („in progress“) oder aber fertig, d.h. dass der Bewegungspfad schon am Ende ist („completed). Durch die potentiellen Aktionen ist damit insbesondere auch berücksichtigt, dass es die erwähnten Abhängigkeiten zwischen den mobi- len Geräten gibt. Dabei kann von dem Graphen auch als sog. „Action Depen- dency Graph“, ADG, oder Aktions- bzw. Handlungs-Abhängigkeits-Graph gespro- chen werden. Mit anderen Worten wird in dem Graphen also für jeden Knoten bzw. jede potentielle Aktion angegeben, welche Aktionen die mobilen Geräte
R.402847 vornehmen können, unter der Berücksichtigung, dass Aktionen mehrerer mobiler Geräte voneinander abhängigen können. Außerdem hat sich gezeigt, dass die erwähnten Abhängigkeiten der mobilen Ge- räten voneinander zumindest in vielen Fällen auch umkehrbar (also vertausch- bar) sind. Anstatt dass das erste mobile Gerät eine potentielle Aktion durchge- führt haben muss (und sich insbesondere zu seiner nächsten Position bewegt haben muss), bevor ein zweite mobiles Gerät seine Aktion durchführen kann, ist es auch möglich, dass das zweite mobile Gerät vor dem ersten mobilen Gerät die potentielle Aktion bereits durchgeführt hat. Dabei soll auch sichergestellt sein, dass mobile Geräte dieselbe Aktion nicht zur selben Zeit durchführen, also in be- sondere nicht dieselbe Position besetzen können. Hierbei kann von vertauschba- ren oder umkehrbaren Abhängigkeiten gesprochen werden. Diese vertauschba- ren Abhängigkeiten können auch in dem Graphen berücksichtigt werden. Hierzu kann den potentiellen Aktionen also jeweils eine Information zugeordnet sein, ob es dort eine vertauschbare Abhängigkeit (sog. „switched dependencies“) gibt. Von dem so erweiterten Graphen auch als sog. „Switchable Action Dependency Graph“, SADG, oder vertauschbarer Aktions- bzw. Handlungs-Abhängigkeits- Graph gesprochen werden. Ein solcher „Switchable Action Dependency Graph“ ermöglicht eine systemati- sche Neuanordnung der einzelnen mobilen Geräte bzw. von deren Bewegungs- pfaden und Zeitschemata oder erleichtert dies zumindest. Basierend auf einem solchen Graphen kann nun, wie sich gezeigt hat, im Rah- men einer Optimierung, also z.B. dem Lösen eines Optimierungsproblems, eine Lösung gefunden werden, die zu einem angepassten Bewegungsplan führt, bei dem sämtliche mobilen Geräte ihren Endpunkt erreichen, wobei es keine Kollisio- nen gibt. Zudem kann dabei Lösung gefunden werden, die insgesamt, d.h. bis alle mobilen Geräte ihren Endpunkt erreicht haben, zu einer geringeren Zeitdauer führt, als wenn der Bewegungsablaufplan nicht geändert würde, aber die vorlie- gende Verzögerung bei z.B. dem einen mobilen Gerät einbezogen wird. Die Opti- mierung kann z.B. ein sog. gemischt ganzzahliges, lineares Programm („Mixed Integer Linear Program“, MILP) gelöst werden.
R.402847 Eine detailliertere Erläuterung des solcher „Switchable Action Dependency Graph“ sowie der erwähnten Optimierung, z.B. mittels MILP, ist z.B. 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 Swit- chable Action Dependency Graph,” Proceedings of the Distributed and Multi- Agent Planning (DMAP) Workshop at ICAPS, 2020.“, auch abrufbar unter ar- Xiv:2010.05254, beschrieben, worauf hiermit explizit Bezug genommen sein soll. Bei dem erwähnten Graphen, dem „Switchable Action Dependency Graph“, wird jedoch eine komplette Beendigung des Bewegungsplans bei der Bestimmung des angepassten Bewegungsablaufplans berücksichtigt, d.h. die mobilen Gerä- ten sollen dabei ihre jeweiligen Endpunkte oder letzte Aktoin, die z.B. am Beginn vorgegeben sind, erreichen. Es hat sich herausgestellt, dass die mobilen Geräte nicht immer ihren – z.B. zu Beginn vorgegebenen – Endpunkt erreichen müssen. So kann sich z.B. ein wei- terer, neuer Endpunkt ergeben oder es kann sich der Endpunkt ändern. Der Be- wegungsplan kann also, vor dem Anpassen, ein offener Bewegungsplan sein, bei dem nicht jedem mobilen Gerät eine zu erreichende Ziel-Position oder Ziel-Aktion in der Umgebung zugeordnet ist. Wenn der Bewegungsplan nicht vollständig ist, sollte jedoch gewährleistet sein, dass alle mobilen Geräte ihr Ziel tatsächlich von der Position aus erreichen können, bis zu der geplant ist bzw. wird. Dies kann zum Beispiel durch geeignete Heuristiken erreicht werden. Unter einer zu errei- chenden Ziel-Position ist dabei insbesondere eine Position zu verstehen, bei der das mobile Gerät eine Aufgabe zu erledigen hat, wie z.B. etwas abladen oder be- laden zu werden. Hierzu wird nun vorgeschlagen, dass der angepasste Bewegungsplan, basierend auf einem begrenzten Graphen, im Rahmen einer Optimierung, bestimmt wird. Bei dem begrenzten Graphen handelt es sich um einen Graphen, der für die mo- bilen Geräte bis zu einem vorgegebenen Horizont potentielle Aktion und Verbin- dungen in der Umgebung umfasst. Der Horizont kann z.B. über eine Anzahl an potentiellen Aktionen definiert sein. Bei synchronisierten Bewegungen der
R.402847 mobilen Geräte kann dies einem zeitlich definierte Horizont entsprechen. Dabei kann es sich insbesondere um einen an sich vergleichbaren Graphen wie den vorstehend erläuterten „Switchable Action Dependency Graph“ handeln; jedoch sind dabei nicht alle potentiellen Aktionen und Verbindungen umfasst, bis alle mobilen Geräte ihre Endpunkte erreicht haben, sondern nur bis zu einem vorge- gebenen Horizont. Der Horizont kann derart vorgegeben sein, dass nicht alle der Vielzahl der mobilen Geräte eine jeweilige, vor dem Anpassen vorgegebene Ziel- Position oder Ziel-Aktion in der Umgebung erreichen. Der Horizont kann an sich beliebig gewählt werden; wie noch erläutert wird, kann über einen Algorithmus sichergestellt werden, dass für jeden Horizont eine geeignete Menge von Akti- onsabhängigkeiten ausgewählt wird. Wie sich gezeigt hat, kann ein solcher „Switchable Action Dependency Graph“, der an sich zu einer Lösung führt, bei der die mobilen Geräten ihre jeweiligen Endpunkte erreichen und es keine Kollisionen gibt, nämlich aufgeteilt werden, in einem ebensolchen – begrenzten – Graphen, aber nur bis zu dem vorgegebenen Horizont, und einen Rest, der aber ebenfalls erlaubt, eine Lösung zu finden bei der die mobilen Geräten ihre jeweiligen Endpunkte erreichen und es keine Kollisi- onen gibt. Dieser Rest stellt z.B. einen sog. räumlich exklusiven Handlungs-Ab- hängigkeits-Graph („Spatially Exclusive Action Dependency Graph“, SE-ADG) dar, der später noch erläutert werden soll; dieser Rest braucht damit aber nicht weiter berücksichtigt zu werden, da bereits der begrenzte Graph ebenfalls eine Lösung erlaubt, bei der die mobilen Geräten gewisse Punkte bzw. Positionen er- reichen, bei denen es zu keiner gegenseitigen Blockierung kommt, und es keine Kollisionen gibt. Mit anderen Worten wird also ein Zwischenzustand erreicht, von dem aus ge- währleistet ist, dass sich die mobilen Geräte beliebig weiterbewegen können, z.B. zu ihren seit Beginn vorgegebenen Endpunkte oder aber auch anderen, sich ändernden Endpunkten. Dies bedeutet damit auch, dass der von Beginn an vor- liegende Bewegungsplan offen sein kann, d.h. es muss gar nicht für jedes mobile Gerät ein zu erreichender Endpunkt vorgegeben sein. Das Finden des angepass- ten Bewegungsplans kann dann im Rahmen einer Optimierung erfolgen, wie
R.402847 vorstehend für den „Switchable Action Dependency Graph“ beschrieben, nur eben basierend auf dem begrenzten Graphen. Der begrenzte Graph kann insbesondere aus einem entsprechenden, nicht be- grenzten Graphen bestimmt werden, also z.B. dem erwähnten „Switchable Action Dependency Graph“, der an sich über den Horizont hinausgeht und ggf. vorgege- bene Endpunkte (oder z.B. auch einfach nur finale Punkte, unabhängig davon, ob dies ein Endpunkt für z.B. eine vorzunehmende Handlung ist) umfasst. Hierzu werden aus dem nicht begrenzten Graphen alle potentiellen Aktionen aus- gewählt, die voraussichtlich (durch die mobilen Geräte) innerhalb des Horizonts erreicht werden können. Diese ausgewählten potentiellen Aktionen werden dann als die potentiellen Aktionen des begrenzten Graphen bestimmt bzw. als solche verwendet. Außerdem werden alle Verbindungen (aus dem nicht begrenzten Graphen), bei denen es eine vertauschbare Abhängigkeit zwischen mobilen Ge- räten gibt, und die auf eine der potentiellen Aktionen des begrenzten Graphen (die zuvor ausgewählt und bestimmt worden sind) zeigen, ausgewählt. Diese ausgewählten potentiellen Verbindungen werden dann als die potentiellen Ver- bindungen des begrenzten Graphen bestimmt bzw. als solche verwendet. Zudem ist es zweckmäßig, wenn verbleibende Verbindungen (aus dem nicht be- grenzten Graphen), die auf potentielle Aktionen des begrenzten Graphen zeigen, ausgewählt werden, bis keine Verbindung mehr von einer potentiellen Aktion in dem begrenzten Graphen zu einer potentiellen Aktion außerhalb des begrenzten Graphen zeigt. Diese ausgewählten potentiellen Verbindungen müssen dann ebenfalls zu den potentiellen Verbindungen des begrenzten Graphen hinzugefügt werden. Dadurch soll sichergestellt werden, dass bei gegebener Azyklizität des begrenzten Graphen auf Azyklizität des gesamten resultierenden ADG geschlos- sen werden kann, ohne zukünftige Abhängigkeiten zu berücksichtigen. Azyklizität ist für die rekursive Durchführbarkeit des Plans erforderlich, was insbesondere darauf abzielt, dass der Plan Deadlock-frei ist (äquivalent dazu, dass ADG azyk- lisch ist).
R.402847 Wie sich gezeigt hat, führt der so erhaltene begrenzte Graph – wie auch der nicht begrenzte Graph – zu einer Lösung, bei der die mobilen Geräte einen Punkt er- reichen, ohne dass es zu Deadlocks (unauflösliche Situation) oder Kollisionen kommt, und von welchem Punkt aus die mobilen Geräte sicher weiter bewegt werden können. Wie erwähnt, kann der Bewegungsplan angepasst werden, wenn wenigstens ein Auslösekriterium vorliegt (bzw. erfüllt ist). Diese wenigstens eine Auslösekrite- rium umfasst vorzugsweise wenigstes eines der folgenden: es liegt eine Verzö- gerung bei zumindest einem der Vielzahl der mobilen Geräte bei einem Befolgen des Bewegungsplans vor; es liegt eine Störung bei zumindest einem der Vielzahl der mobilen Geräte vor; und es liegt eine Änderung des Bewegungspfads bei zu- mindest einem der Vielzahl der mobilen Geräte vor, d.h. dass z.B. ein Endpunkt geändert, entfernt oder hinzugefügt wurde. Dabei handelt es sich um Kriterien, bei deren Vorliegen von einer insgesamt auftretenden Verzögerung auszugehen ist, sodass eine Anpassung des Bewegungsplans eine Verkürzung der gesamten Dauer erwarten lässt. Es kann auch vorgesehen sein, dass das Auslösekriterium nur dann als vorliegend gilt, wenn eine Verzögerung von mehr als eine vorgege- bene Zeitdauer, z.B.5 Sekunden, zu erwarten ist. Als Auslösekriterium kommt auch eine vorgegebene Zeit in Betracht, die seit einem letzten Anpassen des Be- wegungsplans (Durchführen der Optimierung) abgelaufen bzw. vergangen ist. Mit anderen Worten kann das Anpassen damit regelmäßig oder quasi-kontinuierlich durchgeführt werden. Bevorzugt wird auch wiederholt oder regelmäßig geprüft, ob das das wenigstens eine Auslösekriterium vorliegt, wobei der Bewegungsplan immer dann angepasst wird, wenn das wenigstens eine Auslösekriterium vorliegt. Damit kann also z.B. immer wieder eine Anpassung erfolgen, wenn dies angezeigt ist, um insgesamt die Dauer zu verkürzen. Basierend auf dem angepassten Bewegungsplan können dann Bewegungssteu- ergrößen für eines oder mehrere oder alle der Vielzahl der mobilen Geräte be- stimmt werden, die dann bereitgestellt werden können. Auch können das eine oder die mehreren oder alle mobilen Geräte basierend auf den
R.402847 Bewegungssteuergrößen bewegt werden, d.h. die mobilen Geräte navigieren dann entsprechend durch die Umgebung. Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät oder eine Steuerein- heit eines mobilen Geräts, oder ein Server oder anderer Computer, ist, insbeson- dere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen. Die Erfindung betrifft auch ein mobiles Gerät, z.B. einen Roboter, eine Drohne oder ein sich zumindest teilautomatisiert bewegendes Fahrzeug (z.B. ein AGV), das eingerichtet ist, einen angepassten Bewegungsplan oder Bewegungssteuer- größen zu erhalten. Das mobile Gerät weist dann ein Antriebssystem und eine Steuer- oder Regeleinheit zum Ansteuern des Antriebssystems basierend auf dem angepassten Bewegungsplan und/oder den Bewegungssteuergrößen auf. Auch kann das mobile Gerät eine erfindungsgemäße Recheneinheit aufweisen, d.h. der Bewegungsplan kann auf dem mobilen Gerät bzw. dessen Rechenein- heit angepasst werden. Zweckmäßig ist aber auch, wenn die Anpassung des Be- wegungsplans auf einer übergeordneten Recheneinheit, z.B. einem Server oder in der sog. Cloud erfolgt, von wo das mobile Gerät dann die angepassten Bewe- gungsplan oder die Bewegungssteuergrößen erhält. Das mobile Gerät kann auch dazu eingereicht sein, Informationen über eine Stö- rung und/oder eine Verzögerung beim Befolgen des Bewegungsablaufplans be- reitzustellen, z.B. für die übergeordnete Recheneinheit. Dies kann dann als Vor- liegen des Auslösekriteriums gesehen werden, es kann basierend darauf eine Anpassung des Bewegungsplans erfolgen. Die Erfindung betrifft auch System mit einer Vielzahl solcher mobiler Geräte. Ein solches System kann dann z.B. auch eine übergeordnete Recheneinheit, z.B. ei- nem Server, umfassen. Die mobilen Geräten können dann z.B. drahtlos daten- übertragend mit der übergeordneten Recheneinheit verbunden sein. Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur
R.402847 Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Schließlich ist ein maschinenlesbares Speichermedium vorgesehen mit einem darauf gespei- cherten Computerprogramm wie oben beschrieben. Geeignete Speichermedien bzw. Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash- Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich. Ein solcher Download kann dabei drahtgebunden bzw. kabelgebunden oder drahtlos (z.B. über ein WLAN- Netz, eine 3G-, 4G-, 5G- oder 6G-Verbindung, etc.) erfolgen. Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Be- schreibung und der beiliegenden Zeichnung. Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schema- tisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung be- schrieben. Kurze Beschreibung der Zeichnungen Figur 1 zeigt schematisch ein System, bei dem ein erfindungsgemäßes Verfah- ren durchführbar ist. Figur 2 zeigt schematisch einen Ablauf eines erfindungsgemäßen Verfahrens in einer bevorzugten Ausführungsform. Figuren 3 bis 6 zeigen Diagramme zur Erläuterung eines erfindungsgemäßen Verfahrens in einer bevorzugten Ausführungsform. Ausführungsform(en) der Erfindung In Figur 1a ist schematisch ein System 100 gezeigt, bei dem ein erfindungsge- mäßes Verfahren durchführbar ist. Es kann sich dabei um ein
R.402847 erfindungsgemäßes System in einer bevorzugten Ausführungsform handeln. Das System weist beispielhaft eine Recheneinheit 104, z.B. einen übergeordneten Server auf, sowie beispielhaft vier mobile Geräte 110, 120, 130, 140, die sich in einer Umgebung 102 bewegen. Bei den mobilen Geräten kann es sich z.B. um sog. AGVs handeln. Beispielhaft ist das mobile Gerät 110 etwas detaillierter dargestellt. Es weist ein Antriebssys- tem 114 und eine Steuer- oder Regeleinheit 112 zum Ansteuern des Antriebssys- tems basierend auf einem (angepassten) Bewegungsplan oder Bewegungssteu- ergrößen auf. Zudem weist das mobile Gerät 110 eine als Steuereinheit ausgebil- dete Recheneinheit 11 auf, die z.B. drahtlos datenübertragend mit der Rechen- einheit 104 verbunden ist. Zudem weist das mobile Gerät 110 beispielhaft einen Lidar-Sensor 113 zur Navigation auf. Die weiteren mobilen Geräte können gleich- artig aufgebaut sein. In der Umgebung 102 sind beispielhaft einige Positionen V als Kreis dargestellt, die von den mobilen Geräten angefahren bzw. passiert werden können. Mit E sind Verbindungen zwischen Positionen V bezeichnet, diese stellen Wege für die mobilen Geräte dar. Die hier gezeigte Darstellung ist in Art eines Graphen G=(V,E) mit den Positionen V als Knoten und den Verbindungen E als Kanten, es versteht sich jedoch, dass die Umgebung in der Praxis z.B. eine Fabrikhalle mit Wegen und dergleichen sein kann. Außerdem sind für die mobilen Geräte jeweils Startpunkte s1 bis s4 und End- punkte g1 bis g4 gezeigt; diese Start- und Endpunkte entsprechend jeweils einer Position bzw. einem Knoten V. Ein Pfeil zu einem zugehörigen Endpunkt mit den dazwischenliegenden Knoten bzw. Positionen gibt einen Bewegungspfad, bei- spielhaft für das mobile Gerät 130 mit 132 bezeichnet, an. Zudem kann für einen Bewegungspfad ein zugehörige zeitlicher Ablaufplan vorgesehen sein, gemäß welchem die einzelnen Positionen abzufahren sind. Die Gesamtheit der Bewe- gungspfade und zeitlichen Ablaufpläne ergibt damit einen Bewegungsplan für die mobilen Geräte in der Umgebung.
R.402847 In Figur 1b sind die vier mobilen Geräten beispielhaft neben einem als Graphen gezeigt, in dem potentielle Positionen zw. Knoten und Abhängigkeiten 122 zwi- schen Knoten für dasselbe mobile Gerät und 123 zwischen zwei mobilen Gerä- ten gezeigt sind. Bei dem hier dargestellten Graphen handelt es sich um einen sog. räumlich ex- klusiven Handlungs-Abhängigkeits-Graph („Spatially Exclusive Action Depen- dency Graph“, SE-ADG). Dort ist berücksichtigt, dass die mobilen Geräte eine implizite Reihenfolge haben. Zudem ist berücksichtigt, dass bei jedem Knoten eine Bewegung bzw. Aktion oder Handlung eines mobiler Gerät von zwei ande- ren Knoten bzw. mit zwei Verbindungen erfolgen, die sich räumlich gegenseitig ausschließen. Um diesen Graphen zu erhalten, kann z.B. der folgende Algorith- mus (nachfolgend auch Algorithmus 1) verwendet werden:
R.402847 Dieser Algorithmus erhält als Eingang („Input“) einen Bewegungsplan, also eine Lösung ^ = {^ , … , ^ } für das MAPF-Problem. Dabei ist ^ ^ ^ ^ ^ = ^^^ , … ,
eine Folge von Tupeln für den Bewegungsplan, die Aktionen mobiler Geräte i ange- ben, die nötig sind, um vom Startpunkt ^^ zum Endpunkt ^^ zu gelangen. Ein Tupel ^^ ^ =
gibt die Knoten (Positionen) und Zeiten wann ein mobi- les Gerät am Knoten ^^^^ ^ sein muss bzw. die Aktion durchführen muss, also den zeitlichen Ablauf, an. Der Ausgang („Output“) dieses Algorithmus ist ein Graph, ein „Spatially Exclusive Action Dependency Graph“ GSE-ADG mit entsprechenden Knoten und Kanten. Da- bei gilt für die Knoten VSE-ADG, dass es ein Satz von Knoten v=({p1,…,pq},status) ist, die eine Bewegung eines mobilen Geräts i von ^^^^ ^, über Zwischen-Knoten, nach ^^^^ ^ angeben. Der „status“ gibt an, ob das mobile Gerät dort in Planung (noch nicht gestartet, „staged“), in Ausführung des Bewegungspfads („in pro- gress“) oder aber fertig ist („completed). Die Kanten ESE-ADG sind gerichtete Kan- ten, d.h. Verbindungen mit vorgegebener Bewegungsrichtung des mobilen Ge- räts. In dem Algorithmus wird nun in einem ersten Teil, in den Schritten 1 bis 13, jedes mobile Gerät (AGV) individuell berücksichtigt. Die räumliche Exklusivität wird in Schritt 7 bedacht. In einem zweiten Teil, in den Schritten 14 bis 20, wird dann die Abhängigkeit zwischen mobilen Geräten berücksichtigt, also insbesondere, wenn zwei mobile Geräte denselben Knoten passieren bzw. die betreffenden Aktion durchführen sollen. Dabei ist zu beachten, dass der „Spatially Exclusive Action Dependency Graph“ GSE-ADG azyklisch sein soll. Azyklizität sollte für die Deadlock- Freiheit des Bewegungsplans berücksichtigt werden, d.h. dass es zu keiner Situ- ation kommt, in der sich ein mobiles Gerät nicht mehr weiterbewegen kann. Ein einfaches Beispiel für einen Bewegungsplan oder Zyklus (bei dem das Prob- lem offensichtlich ist) wäre z.B. bei drei mobilen Geräten A, B, und C und einer bestimmte Ressource R wie folgt: A muss auf B warten, bevor es die Ressource R nutzen kann, B muss auf C warten, bevor es die Ressource R nutzen kann, C muss auf A warten, bevor es die Ressource R nutzen kann. Kein mobiles Gerät wird sich also bewegen, es gibt einen Deadlock, die Aufgabe wird nicht in
R.402847 endlicher Zeit abgeschlossen. Ein MAPF-Plan, der in endlicher Zeit abgeschlos- sen wird, ist daher azyklisch. In der Praxis sind solche Bewegungspäne oder Zyklen mitunter deutlich komplexer. Ein im Rahmen einer Optimierung eines sol- chen „Spatially Exclusive Action Dependency Graph“ gefundener Bewegungs- plan stellt sicher, dass die mobilen Geräte ohne Kollisionen ihr jeweiliges Ziel er- reichen. In Figur 2 ist schematisch ein Ablauf eines erfindungsgemäßen Verfahrens in ei- ner bevorzugten Ausführungsform dargestellt, wie er z.B. mit dem in Figur 1 ge- zeigten System ablaufen kann. In einem Schritt bzw. Block 200 kann zunächst ein (ggf. initialer) Bewegungsplan P erstellt werden. Hierzu wird auf einen Gra- phen G=(V,E) der Umgebung zurückgegriffen sowie die Start- und Endpunkte der mobilen Geräte, hier allgemein von s1 bis sN bzw. g1 bis gN bezeichnet. In einem Schritt bzw. Block 210 kann dann ein nicht begrenzter Graph, ein sog. „Switchable Action Dependency Graph“, SADG, erzeugt werden, hier mit GSADG(b) bezeichnet. Dieser „Switchable Action Dependency Graph“ kann z.B: initial ein- mal erstellt werden, solange die Plan-Tupel gleichbleiben. Andernfalls kann er erneut erstellt bzw. erneuert werden. Hierzu kann z.B. der folgende Algorithmus (nachfolgend auch Algorithmus 2) verwendet werden:
R.402847
Dieser Algorithmus erhält als Eingang („Input“) einen Bewegungsplan, also eine Lösung ^ = {^^, … , ^^ } für das MAPF-Problem. Der Algorithmus ist vergleichbar mit dem vorhergehenden Algorithmus für den „Spatially Exclusive Action Depen- dency Graph“ GSE-ADG , bis auf die Zeilen 19 bis 25. Hier wird geprüft, ob die Um- kehrung einer Abhängigkeit gebildet werden kann. Die Lösung ^ = {^^, … , ^^ } stellt für diesen Algorithmus einen Satz dar, sodass für Knoten gilt ^(^^ ^ ) ≠ ^(^^ ^) falls ^̂^^^ ^ ^ =
Zudem dürfen zwei mobile Ge- räte i und j im selben Zeitschritt nicht eine Kante ^ ∈ ^ in entgegensetzte Rich- tung befahren. Zudem soll für alle ^, ^ ∈ {1, … ^} gelten: ^^
^^ und ^^ ^ = ^^ . Der Ausgang („Output“) dieses Algorithmus ist damit ein nicht begrenzter Graph, ein „Switchable Action Dependency Graph“ GSADG(b) mit entsprechenden Knoten und Kanten. Dabei ist mit b bzw. dem Vektor b die umkehrbare Abhängigkeit dargestellt; dabei handelt es sich um einen Binär-Vektor, der für jeden Knoten angibt, ob die Vor- wärts- oder Rückwärtsabhängigkeit (der Wert des Vektors ist dort dann 0 oder 1) gewählt is.tt. Wie bereits erwähnt, ist ein Aspekt hierbei, dass die erwähnten Abhängigkeiten der mobilen Geräten voneinander auch umkehrbar (also vertauschbar) sind. Dies ist in dem Diagramm in Figur 3 dargestellt. Dort sind generell potentielle Aktionen bzw. Knoten V gezeigt, sowie Bewegungspfade für zwei verschiedene mobile
R.402847 Geräte i und j (oben und unten). Es wird davon ausgegangen, dass der Status des mobilen Geräts j für ^^ ^ beendet („completed“) ist, bevor das Status für das mobile Gerät i für ^^ ^ in Ausführung des Bewegungspfads („in progress“) ist. Dies bedeutet, dass das mobile Gerät j den Punkt
verlassen haben muss bzw. die betreffende Aktion durchgeführt haben muss (oder ^(^^ ^) erreicht haben muss), bevor das mobile Gerät i zum Punkt ^(^^ ^ ) fahren kann bzw. die betref- fende Aktion durchführen kann. Dies impliziert eine Reihenfolge, wonach das mobile Gerät j vor dem mobilen Gerät i zum Punkt ^(^^ ^ ^) = ^(^^ ) fahren kann bzw. die betreffende Aktion durchführen kann. In Figur 3 ist diese Abhängigkeit mittels des Pfeiles bzw. der Verbindung 302 dargestellt. Eine Umkehrung bzw. ein Tausch dieser Abhängigkeit ist mittels des Pfeiles bzw. der Verbindung 303 dargestellt. Für eine nähere Erläuterung hierzu – sowie auch die beiden schon erwähnten Al- gorithmen – sei erneut auf “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.“, auch abrufbar unter arXiv:2010.05254, verwiesen. Im Rahmen einer Optimierung, z.B. der erwähnten MILP, in Schritt bzw. Block 220 kann daraus an sich eine Lösung mit einem angepassten Plan bestimmt bzw. gefunden werden. Hier kann im Rahmen der Optimierung angepasster Be- wegungsplan 225 erhalten werden, der in einem Schritt bzw. Block 230, im Rah- men z.B. einer Ausführung, verwenden werden kann, um die mobilen Geräte ent- sprechend zu veranlassen, den (angepassten) Bewegungsplan zu befolgen. In dem Schritt bzw. Block 220, der Optimierung, wird allerdings nicht direkt der unbegrenzte Graph, der „Switchable Action Dependency Graph“, GSADG(b), ver- wendet, sondern ein daraus im Schritt bzw. Block 250 bestimmter, begrenzter Graph. Hierzu kann z.B. der folgende Algorithmus (nachfolgend auch Algorith- mus 3) verwendet werden:
R.402847
Dieser Algorithmus erhält als Eingang („Input“) den nicht begrenzten Graphen, den „Switchable Action Dependency Graph“ GSADG(b), sowie den vorgegebenen zeitlichen Horizont H und gibt als Ausgang („Output“) einen über den zeitlichen Horizont H begrenzten „Switchable Action Dependency Graph“
^ (^^^^ ) aus, und zwar mit entsprechenden Knoten und Kanten. Hierbei werden aus dem nicht begrenzten Graphen GSADG(b) alle potentiellen Akti- onen (Knoten) ausgewählt, die voraussichtlich (durch die mobilen Geräte) inner- halb des Horizonts H erreicht werden können. Diese ausgewählten potentiellen Aktionen werden dann als die potentiellen Aktionen des begrenzten Graphen be- stimmt bzw. als solche verwendet, hier mit VFH bezeichnet. Dies ist in Schritt 1 des Algorithmus gezeigt. Der Index „FH“ steht hierbei für „Finite Horizon“, also den begrenzten Horizont. Außerdem werden alle Verbindungen bzw. Kanten (aus dem nicht begrenzten Graphen), bei denen es eine vertauschbare Abhängigkeit zwischen mobilen Ge- räten gibt, und die auf eine der potentiellen Aktionen des begrenzten Graphen (die zuvor ausgewählt und bestimmt worden sind) zeigen, ausgewählt. Diese ausgewählten potentiellen Verbindungen werden dann als die potentiellen Ver- bindungen (Kanten) des begrenzten Graphen bestimmt bzw. als solche verwen- det, hier mit EFH bezeichnet. Dies ist in Schritt 3 des Algorithmus gezeigt.
R.402847 Zudem ist es zweckmäßig, wenn verbleibende Verbindungen (aus dem nicht be- grenzten Graphen), die auf potentielle Aktionen des begrenzten Graphen zeigen, ausgewählt werden, bis keine Verbindung mehr von einer potentiellen Aktionen in dem begrenzten Graphen zu einer potentiellen Aktionen außerhalb des be- grenzten Graphen zeigt. Diese ausgewählten potentiellen Verbindungen können dann ebenfalls zu den potentiellen Verbindungen des begrenzten Graphen hinzu- gefügt werden. Dies ist in Schritt 2 und 4 des Algorithmus gezeigt. Es ist insbe- sondere zweckmäßig, alle Kanten, die "nach innen" zeigen, auch indirekt, rekur- siv hinzuzufügen. Damit kann sichergestellt werden, dass die Azyklizität der Teil- menge der Handlungsabhängigkeiten die Azyklizität des gesamten (offenen) Be- wegungsplans impliziert. Damit wird aus dem nicht begrenzten Graphen, dem „Switchable Action Depen- dency Graph“ GSADG(b), der begrenzte Graph extrahiert. Es kann auch von einer Aufteilung des nicht begrenzten Graphen auf den begrenzten Graphen und einen Rest gesprochen werden. Dieser Rest stellt wiederum einen „Spatially Exclusive Action Dependency Graph“, SE-ADG, dar, wie vorstehend erläutert. Dies ist Figur 4 veranschaulicht. Dort ist ein Graph mit potentiellen Aktionen bzw. Knoten V sowie Verbindungen gezeigt, und auch der Horizont H. Dies gilt bei- spielhaft für drei mögliche mobile Geräte. Dabei sind vorwärts gerichtete Abhän- gigkeiten mittels der Pfeile bzw. Verbindungen 202 dargestellt. Eine Umkehrung bzw. ein Tausch solcher Abhängigkeiten ist mittels der Pfeile bzw. Verbindungen 403 dargestellt. Dabei sind alle Abhängigkeiten links vom Horizont H – und damit vor dem Horizont – aktiv, diejenigen rechts davon inaktiv. Außerdem sind die er- wähnten Stati bzw. Zustände für die Knoten angedeutet. Leer dargestellte Kno- ten sind in Planung (noch nicht gestartet, „staged“), die beiden Knoten ganz links oben und ganz links unten sind fertig, d.h. dass der Bewegungspfad schon am Ende ist („completed), und der Knoten ganz links in der Mitte ist in Ausführung des Bewegungspfads („in progress“). In Figur 5 ist dies nochmals Schrittweise dargestellt, mit vier verschiedenen Situ- ationen in den Abbildungen (a) bis (d). Auch hier sind Knoten V und vorwärts ge- richtete Abhängigkeiten 502 bzw. deren Umkehrungen 503 gezeigt. Der Horizont
R.402847 H verändert sich hier von Abbildung (a) bis (d). Dabei sind in Abbildung (a) Schritte 1 und 2 des Algorithmus 3, in Abbildung (b) die Schritte 3 und 4 von Al- gorithmus 3 gezeigt. Abbildung (c) zeigt die Rekursion in den Schritten 5 bis 8 während des Ablaufs, und Abbildung (d) zeigt den endgültigen SADG mit endli- chem Horizont. In Figur 6 ist die Situation aus Figur 1b erneut gezeigt, jedoch mit dem Horizont H und den Abhängigkeiten zwischen Knoten V. Während es sich bei Fig.1b um ei- nen „Spatially Exclusive Action Dependency Graph“ handelt, stellt hier in Figur 6 alles von links bis zum Horizont einen begrenzten Graphen, und zwar einen „Switchable Dependy Action Dependency Graph“ dar, der Rest stellt wieder ei- nen „Spatially Exclusive Action Dependency Graph“, dar. Mit 602 und 603 sind beispielhaft eine Abhängigkeit und deren Umkehrung bezeichnet. Wie sich gezeigt hat, wird bei einem solchen „Switchable Dependy Action Depen- dency Graph“ sichergestellt, dass ein basierend darauf, im Rahmen einer Opti- mierung gefundener Bewegungsplan auch derart ist, dass die mobilen Geräten Aktionen (und das müssen keine Endpunkte bzw. End-Aktionen sein) erreichen, von welchen aus sie weiterfahren können; eine Kollision tritt nicht auf. Dies ist daher sichergestellt, da der Rest ein „Spatially Exclusive Action Dependency Graph“ ist, der – wie erwähnt – ebenfalls das Finden eines solchen Bewegungs- plans erlaubt.
Claims
R.402847 Ansprüche 1. Verfahren zum Anpassen eines Bewegungsplans für mobile Geräte (110, 120, 130, 140), insbesondere Roboter, Drohnen oder sich zumindest teilau- tomatisiert bewegende Fahrzeuge, wobei sich die mobilen Geräte gemäß des Bewegungsplans in einer Umgebung bewegen sollen, umfassend: Bereitstellen eines Bewegungsplans, wobei der Bewegungsplan jedem der mobilen Geräte jeweils einen Bewegungspfad und einen zeitlichen Ab- laufplan für ein Befolgen des Bewegungspfads zuordnet, wobei ein Bewe- gungspfad jeweils Aktionen, die von dem jeweiligen mobilen Gerät in der Umgebung durchzuführen sind, umfasst; Anpassen des Bewegungsplans, wenn wenigstens ein Auslösekriterium vorliegt, wobei das Anpassen des Bewegungsplans umfasst: - Bestimmen (210) eines begrenzten Graphen, der für die mobilen Geräte bis zu einem vorgegebenen Horizont potentielle Aktionen und Verbin- dungen zwischen Aktionen in der Umgebung umfasst, und - Bestimmen (220) eines angepassten Bewegungsplans, basierend auf dem begrenzten Graphen, im Rahmen einer Optimierung; und Bereitstellen (225) des angepassten Bewegungsplans für die mobilen Geräte, und insbesondere Veranlassen der mobilen Geräten, den angepass- ten Bewegungsplan zu befolgen. 2. Verfahren nach Anspruch 1, wobei der begrenzte Graph aus einem nicht be- grenzten Graphen bestimmt wird, insbesondere wobei der nicht begrenzte Graphen potentielle Aktionen und Verbindungen in der Umgebung für die mobilen Geräte umfasst, insbesondere wobei den potentiellen Aktionen je- weils Fahr- und/oder Handlungsanweisungen, die von den mobilen Geräten durchführbar sind, und/oder ein Status der mobilen Geräte und/oder eine In- formation, ob es eine vertauschbare Abhängigkeit zwischen den mobilen Ge- räten gibt, zugeordnet sind.
R.402847 3. Verfahren nach Anspruch 2, wobei das Bestimmen des begrenzten Graphen umfasst: Auswählen, aus dem nicht begrenzten Graphen, aller potentiellen Aktio- nen, die voraussichtlich innerhalb des Horizonts durchgeführt werden kön- nen, und Bestimmen der ausgewählten potentiellen Aktionen als die potenti- ellen Aktionen des begrenzten Graphen, und/oder Auswählen aller Verbindungen, bei denen es eine vertauschbare Abhän- gigkeit zwischen mobilen Geräten gibt, und die auf eine der potentiellen Akti- onen des begrenzten Graphen zeigen, und Bestimmen der ausgewählten potentiellen Verbindungen als die potentiellen Verbindungen des begrenzten Graphen. 4. Verfahren nach Anspruch 3, wobei das Bestimmen des begrenzten Graphen weiterhin umfasst: Auswählen von verbleibenden Verbindungen, die auf potentielle Aktio- nen des begrenzten Graphen zeigen, bis keine Verbindung mehr von einer potentiellen Aktion in dem begrenzten Graphen zu einer potentiellen Aktion außerhalb des begrenzten Graphen zeigt, und Hinzufügen der ausgewählten potentiellen Verbindungen zu den potentiellen Verbindungen des begrenzten Graphen. 5. Verfahren nach einem der vorstehenden Ansprüche, wobei der Bewegungs- plan, vor dem Anpassen, ein offener Bewegungsplan ist, bei dem nicht je- dem mobilen Gerät (110, 120, 130, 140) eine zu erreichende Ziel-Position oder Ziel-Aktion in der Umgebung zugeordnet ist. 6. Verfahren nach einem der vorstehenden Ansprüche, wobei der Horizont der- art vorgegeben ist, dass nicht alle der Vielzahl der mobilen Geräte eine jewei- lige, vor dem Anpassen vorgegebene Ziel-Position oder Ziel-Aktion in der Um- gebung erreichen. 7. Verfahren nach einem der vorstehenden Ansprüche, wobei das wenigstens eine Auslösekriterium wenigstes eines der folgenden Auslösekriterien um- fasst:
R.402847 - es liegt eine Verzögerung bei zumindest einem der mobilen Geräte bei einem Befolgen des Bewegungsplans vor, - es liegt eine Störung bei zumindest einem der mobilen Geräte vor, - es liegt eine Änderung des Bewegungspfads bei zumindest einem der mobilen Geräte vor, und - es ist eine vorgegebene Zeit seit einem letzten Anpassen des Bewe- gungsplans abgelaufen. 8. Verfahren nach einem der vorstehenden Ansprüche, wobei wiederholt oder regelmäßig geprüft wird, ob das wenigstens eine Auslösekriterium vorliegt, und wobei der Bewegungsplan immer dann angepasst wird, wenn das we- nigstens eine Auslösekriterium vorliegt. 9. Verfahren nach einem der vorstehenden Ansprüche, weiterhin umfassend: Bestimmen, basierend auf dem angepassten Bewegungsplan, von Be- wegungssteuergrößen für eines oder mehrere oder alle der mobilen Geräte, und Bereitstellen der Bewegungssteuergrößen und/oder Bewegen des einen oder der mehreren oder aller mobilen Geräte basierend auf den Bewegungs- steuergrößen. 10. Recheneinheit umfassend einen Prozessor, der so konfiguriert ist, dass er das Verfahren nach einem der vorstehenden Ansprüche ausführt. 11. Mobiles Gerät (110, 120, 130, 140), insbesondere Roboter, Drohne oder sich zumindest teilautomatisiert bewegendes Fahrzeug, das eingerichtet ist, ei- nen angepassten Bewegungsplan, der gemäß einem der Ansprüche 1 bis 8 bestimmt worden ist, oder Bewegungssteuergrößen, die gemäß Anspruch 9 bestimmt worden sind, zu erhalten, mit einem Antriebssystem und einer Steuer- oder Regeleinheit zum An- steuern des Antriebssystems basierend auf dem angepassten Bewegungs- plan, und/oder den Bewegungssteuergrößen, insbesondere mit einer Re- cheneinheit (112) nach Anspruch 10
R.402847 12. Mobiles Gerät (110, 120, 130, 140) nach Anspruch 11, das weiterhin dazu eingereicht ist, Informationen über eine Störung und/oder eine Verzögerung beim Befolgen des Bewegungsablaufplans bereitzustellen. 13. System mit mehreren mobilen Geräten (110, 120, 130, 140) nach Anspruch 11 oder 12, und insbesondere mit einer Recheneinheit nach Anspruch 10. 14. Computerprogramm umfassend Befehle, die bei der Ausführung des Pro- gramms durch einen Computer diesen veranlassen, das Verfahren nach An- spruch 1 bis 9 auszuführen 15. Computerlesbarer Datenträger, auf dem das Computerprogramm nach An- spruch 14 gespeichert ist.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102022213246.7A DE102022213246A1 (de) | 2022-12-08 | 2022-12-08 | Verfahren zum Anpassen eines Bewegungsplans für mobile Geräte |
| PCT/EP2023/083883 WO2024120985A1 (de) | 2022-12-08 | 2023-12-01 | Verfahren zum anpassen eines bewegungsplans für mobile geräte |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4630897A1 true EP4630897A1 (de) | 2025-10-15 |
Family
ID=89073349
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23817399.1A Pending EP4630897A1 (de) | 2022-12-08 | 2023-12-01 | Verfahren zum anpassen eines bewegungsplans für mobile geräte |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP4630897A1 (de) |
| CN (1) | CN120322741A (de) |
| DE (1) | DE102022213246A1 (de) |
| WO (1) | WO2024120985A1 (de) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7228420B2 (ja) * | 2019-03-13 | 2023-02-24 | 株式会社東芝 | 情報処理装置、情報処理方法、情報処理システム及びコンピュータプログラム |
| US12124261B2 (en) * | 2020-11-20 | 2024-10-22 | Rapyuta Robotics Co., Ltd. | Systems and methods for optimizing route plans in an operating environment |
-
2022
- 2022-12-08 DE DE102022213246.7A patent/DE102022213246A1/de active Pending
-
2023
- 2023-12-01 EP EP23817399.1A patent/EP4630897A1/de active Pending
- 2023-12-01 CN CN202380084290.XA patent/CN120322741A/zh active Pending
- 2023-12-01 WO PCT/EP2023/083883 patent/WO2024120985A1/de not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| CN120322741A (zh) | 2025-07-15 |
| DE102022213246A1 (de) | 2024-06-13 |
| WO2024120985A1 (de) | 2024-06-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE102017206987A1 (de) | Verfahren, Computerprogrammprodukt, Computer-lesbares Medium, Steuergerät und Fahrzeug umfassen das Steuergerät zum Bestimmen eines kollektiven Manövers von wenigstens zwei Fahrzeugen | |
| DE3930425A1 (de) | Verfahren zum dirigieren des laufs eines sich bewegenden objekts | |
| DE102020135153A1 (de) | Logistikfläche und Verfahren zum Betreiben einer solchen | |
| EP4187345B1 (de) | Verfahren zum planen einer route für ein fahrerloses transportfahrzeug | |
| DE102022213838A1 (de) | Verfahren zum Bestimmen eines Aufgabenplans für ein mobiles Gerät | |
| DE102020103754A1 (de) | Hyper-assoziation im episodenspeicher | |
| DE102017104369A1 (de) | Verfahren, vorrichtung und computerlesbares speichermedium mit instruktionen zur bewegungsplanung für ein kraftfahrzeug | |
| DE102019205081A1 (de) | Verfahren, Vorrichtung und Computerprogramm zum Betreiben eines tiefen neuronalen Netzes | |
| DE102023001646A1 (de) | Verfahren zu einer szenenkonsistenten Belegungsprädiktion mittels Rasterkarten | |
| WO2024120985A1 (de) | Verfahren zum anpassen eines bewegungsplans für mobile geräte | |
| DE112022002704T5 (de) | Verfahren und System zur Verwaltung einer Roboterflotte unter Verwendung eines neuronalen Graphennetzwerks | |
| EP4296815B1 (de) | Verfahren zum bestimmen einer trajektorie für ein mobiles gerät | |
| EP4435550B1 (de) | Verfahren zur bestimmung einer fahrstrecke für mindestens ein selbstständig fahrendes mobil, manöverautomat, computerprogramm sowie softwareprodukt | |
| EP4558946B1 (de) | Lager- und kommissioniersystem mit optimiertem materialfluss | |
| DE102024203659A1 (de) | Assistiertes oder autonomes Fahrsystem, Vorrichtung, computerlesbarer Datenträger, Computerprogramm und Verfahren zur Steuerung eines Fahrzeugs | |
| DE112018005534T5 (de) | Informationsverarbeitungsvorrichtung, autonome bewegungsvorrichtung und verfahren und programm | |
| DE102018217896A1 (de) | Parkbereichsmanagementsystem und Parkbereichsmanagementverfahren für zumindest zwei autonome Fahrzeuge | |
| DE102023100499A1 (de) | System zur einstellung einer trajektorieverfolgungssteuerung für ein kraftfahrzeug | |
| DE102020127407A1 (de) | Verfahren und Steuervorrichtung zur Erzeugung wenigstens eines Fahrauftrags für wenigstens ein fahrerloses Transportfahrzeug, FTF, eines modularen Montagesystems | |
| DE102022118901B3 (de) | Regelungseinrichtung zur Regelung eines dynamischen, sich bewegenden Systems | |
| EP3833587A1 (de) | Verfahren zum auslegen eines fahrzeuges | |
| DE102024208733A1 (de) | Verfahren zum Bestimmen eines Bewegungspfads für ein mobiles Gerät | |
| DE69425595T2 (de) | Verfahren und Gerät zur Identifikation und Steuerung eines Laufes nach einem Rendezvous | |
| DE102023203449A1 (de) | Betriebsverwaltungsvorrichtung | |
| DE102023204593A1 (de) | Verfahren zum Bestimmen eines Bewegungspfads für ein mobiles Gerät |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20250708 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): 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 ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) |