Path planning search method and calculation device
The path planning method for AGVs addresses congestion and complexity by determining feasible paths and excluding unreachable positions, enhancing efficiency and accuracy in route planning for multiple AGVs.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- AMOEBA ENERGY CO LTD
- Filing Date
- 2024-07-23
- Publication Date
- 2026-07-28
AI Technical Summary
Existing methods for route planning with automated guided vehicles (AGVs) face challenges such as traffic congestion, computational complexity, and the need for efficient route search that minimizes delays and congestion, especially in large warehouses or factories with multiple AGVs.
A method for path planning that determines initial and destination positions, identifies feasible paths, and excludes certain positions to reduce computational complexity and congestion by focusing on paths that can be reached within specified times, using a combination of local regions and sequential path exploration.
Reduces computational complexity and minimizes traffic congestion by efficiently searching for optimal routes that arrive at predetermined times, allowing for faster and more accurate path planning in large environments.
Smart Images

Figure 0007895600000001 
Figure 0007895600000002 
Figure 0007895600000003
Abstract
Description
Technical Field
[0001] This technology relates to a method and a computing device for searching for a route plan to move a moving object.
Background Art
[0002] When transporting goods, parts, products, etc. in a warehouse, factory, etc. using an automated guided vehicle or an automated guided robot (hereinafter, both are collectively referred to as an Automatic Guided Vehicle or AGV), the movement route of the AGV is calculated and optimized in advance.
[0003] WO 2022 / 097460 pamphlet discloses a technology including a plurality of data generation units, a fluctuation setting unit that supplies a fluctuation probability to the data generation units to non-uniformly set the appearance frequency of data generated by the data generation units, and makes the appearance frequency of a specific variable different from the appearance frequency of other variables, a plurality of data conversion units that read the data generated by the data generation units and convert them into information, an output adjustment unit that transmits an output adjustment signal or an output adjustment signal and a value of the fluctuation probability to the data generation units, and a feedback control unit that repeatedly controls the operation of transmitting an output adjustment signal or an output adjustment signal and a value of the fluctuation probability to the data generation units when an optimal solution has not been obtained.
[0004] With the enlargement of warehouses, factories, etc., when using many AGVs, such as hundreds or thousands of them, problems such as frequent traffic jams between AGVs, uncertainty of transportation plans and processes, and reduction of transportation and production throughput may be considered.
Prior Art Documents
Patent Documents
[0005]
Patent Document 1
[0006] [Non-Patent Document 1] M. Aono, et al., Proceedings of NOLTA 2012, 586-589 (2012) [Non-Patent Document 2] Kasai, S., Aono, M. and Naruse, M.: Amoeba-inspired computing architecture implemented using charge dynamics in parallel capacitance network, Appl. Phys. Lett., Vol.103, 163703(2013) [Non-Patent Document 3] Ryo Wakamiya, Seiya Kasai, Masashi Aono, Makoto Naruse, Hiroka Tomoe, "Electronic Circuit Implementation of an Amoeba-Type Optimization Problem Solution Search Algorithm," IEICE Technical Report 114 (442) pp. 81-85 (2015) [Non-Patent Document 4] AH Ngoc Nguyen, M. Aono, Y. Hara-Azumi, "FPGA-Based amoeba-inspired SAT solver for cyber-physical systems," ACM / IEEE International Conference on Cyber-Physical Systems (ICCPS), 316-317 (2019).
Non-licensed Document 5
Non-licensed Document 6
Non-licensed Document 7
Non-licensed Document 8
[0007] Even when using many AGVs, there is a need for a method and computing device to search for a route plan that minimizes traffic congestion caused by loading and unloading goods, waiting due to early arrival, and merging routes.
[0008] In determining a route plan, there is a need for a method and an arithmetic unit that can reduce the computational complexity of route search, shorten the time required for route search, search for more routes, or a combination thereof.
[0009] In determining a route plan, when searching for a route that arrives at a predetermined time, it is conceivable that congestion occurs among a plurality of AGVs at or near the arrival point where loading and unloading of goods or the like is performed.
[0010] Also, due to the occurrence of congestion, it is conceivable that an AGV transporting goods or the like with a high priority or urgency will be delayed in reaching the destination.
[0011] Furthermore, there may be a case where it is desired to specify in advance the arrival time and order of goods or the like.
[0012] It is desirable to eliminate or reduce congestion caused by AGVs and transport necessary goods or the like at the time when they are needed.
[0013] In determining a route plan, it is desirable to search for a route that arrives exactly at a predetermined time.
[0014] Also, as the space in which the mobile body can move becomes larger, the computational complexity for route plan search increases exponentially, and it may become difficult to search within a reasonable time. Even in such a case, a method capable of controlling the computational complexity for route plan search is desired.
[0015] Even if the computational complexity for route plan search is reduced, a method capable of efficiently searching for a more optimal route plan is desired.
Means for Solving the Problems
[0016] This technology is, for example, a method for a computer to search for a path plan for moving an object, the computer determining a first initial position where a first object that can move at a first speed is located at a first time, and a first destination position where it should be located at a second time later than the first time; determining a first plurality of path plans to which the first object can move from the first initial position at the first time to the first destination position at the second time, which can be represented by pairs of time and position; determining a position at each time that is not included in any of the first plurality of path plans; and determining at least one first destination position at a third time between the first and second time, which is a position to which the first object can move after a predetermined time has elapsed from the third time, excluding the position that is not included in any of the first plurality of path plans. [Brief explanation of the drawing]
[0017] [Figure 1] This figure shows a mobile body according to an embodiment of this technology. [Figure 2] This is a plan view showing a path through which multiple moving objects can move, according to an embodiment of this technology. [Figure 3] This is a flowchart showing a path planning search method according to an embodiment of this technology. [Figure 4] This flowchart shows a path planning and search method for moving multiple moving objects, according to an embodiment of this technology. [Figure 5] This flowchart shows a path planning search method using a local region according to an example of this technology. [Figure 6] This is a plan view showing a localized area according to an embodiment of this technology. [Figure 7] This is a plan view showing another localized region according to an embodiment of this technology. [Figure 8] This flowchart shows another path planning search method using a local region, based on an example of this technology. [Figure 9] This is a plan view showing another localized region according to an embodiment of this technology. [Modes for carrying out the invention]
[0018] Figure 1 shows a mobile body 100 according to an embodiment of this technology.
[0019] The mobile unit 100 may include a position sensor 102, a central processing unit (CPU) 104, memory 106, a communication device 108, an input / output device 110, a drive mechanism 112, a loading platform 114, and a LiDAR sensor 116. The mobile unit 100 may be an automated guided vehicle (AGV) capable of transporting goods used in a transport system, a wafer transport robot, a glass transport robot, an AGV, or an autonomous mobile robot (AMR).
[0020] The position sensor 102 may use a Global Positioning System (GPS), beacon, Bluetooth, RFID, or camera, etc.
[0021] The CPU 104 executes instructions that can be run by a computer and may be a general-purpose arithmetic unit or a dedicated arithmetic unit. The dedicated arithmetic unit may be, for example, the control unit of the hybrid optimal solution calculation system described in International Publication No. 2022 / 097460.
[0022] Memory 106 may be volatile memory (e.g., registers, cache, RAM), non-volatile memory (e.g., ROM, EFPROM, flash memory), or a combination of these.
[0023] The communication device 108 may be a wired communication device or a wireless communication device, and may be connected to other computers in a manner that enables communication via a network (not shown) configured by wire, wireless, or a combination thereof. The network may be the Internet, a Local Area Network (LAN), or a Wide Area Network (WAN).
[0024] The input / output device 110 may be a keyboard, touchscreen, display, or a combination thereof, and may be connected to the mobile unit 100 via wired or wireless means for communication.
[0025] The drive mechanism 112 may be a combination of a motor and wheels.
[0026] The loading platform 114 may be one on which products or parts are loaded manually, or it may be one on which products or parts are loaded automatically using a conveyor or lift.
[0027] The LiDAR (Light Detection And Ranging) sensor 116 may be a phase-type solid-state LiDAR sensor, a MEMS-type solid-state LiDAR sensor, or a mechanical rotation-type LiDAR sensor.
[0028] Figure 2 shows the paths in the xy-plane to which multiple moving objects can move according to an embodiment of this technology.
[0029] The movable path may be a path applicable to a one-way transport rail. Alternatively, the movable path may be a bidirectional or freely directional passageway. Furthermore, the movable path may be a plane or space that can be represented using two-dimensional coordinates. The two-dimensional coordinates may be represented using coarse-grained two-dimensional coordinates. Coarse-grained two-dimensional coordinates may be, for example, cells that can be represented as squares on a plane. Alternatively, coarse-grained two-dimensional coordinates may be a simplified representation of three-dimensional space as a plane.
[0030] Furthermore, the traversable paths may be in a space that can be represented using three-dimensional coordinates. The three-dimensional coordinates may be represented using coarse-grained three-dimensional coordinates. The coarse-grained three-dimensional coordinates may be, for example, cells that can be represented as cubes in three-dimensional space.
[0031] In Figure 2, the cells assigned a combination of letters and numbers indicate the positions through which a single moving object can pass or stop at a given time, and it is assumed that multiple moving objects cannot be located in the same cell at the same time.
[0032] In Figure 2, the arrows labeled on each cell indicate the next possible direction of movement. In this embodiment, for example, the moving object can move according to the following limitations.
[0033] (1) The moving object (not shown) can move in one direction or branch into two directions within each cell. In Figure 1, cell c1 can only move to cell c9, and cannot move to cell c2. Also, cell c10 can move to cell c11 or cell c17, but cannot move to cell c9.
[0034] (2) The moving object can move at a predetermined speed in the direction indicated by the arrow on the cell, and can move to one adjacent cell per unit time.
[0035] (3) The moving object may move to an adjacent cell in the specified direction or remain stationary in the same cell during one unit of time (hereinafter also referred to as one step).
[0036] As an example, at the initial time t0, moving object v1 is located in cell c5 and moving object v2 is located in cell c6. These moving objects are moved so that at time t16 (>t0), moving object v1 is located in cell c49 and moving object v2 is located in cell c50.
[0037] Referring to Figure 1, the moving object v1 (not shown) can move to cell c4 at t1 after one step, and then to cell c3 at t2 after two steps. In this way, it can move through cells c2, c1, c9, c10, c11, c12, c13, c14, c19, c26, c25, c33, and c41, and then to cell c49 at t16 after 16 steps. The path plan of the moving object v1 may also be expressed as a pair of time and position as shown in path A below.
[0038] Route A (t0, c5), (t1, c4), (t2, c3), (t3, c2), (t4, c1), (t5, c9), (t6, c10), (t7, c11), (8, c12), (t9, c13), (t10, c14), (t11, c19), (t12, c26), (t13, c25), (t14, c33), (t15, c41), (t16, c49)
[0039] Furthermore, the path plan for mobile object v1 may be different from path A, as shown in path B below. In this case, mobile object v1 will pass through the same cell multiple times.
[0040] Route B (t0, c5), (t1, c4), (t2, c3), (t3, c2), (t4, c1), (t5, c9), (t6, c10), (t7, c11), (t8, c12), (t9, c13), (t10, c14), (t11, c15), (t12, c16), (t13, c8), (t14, c7), (t15, c6), (t16, c5), (t17, c4), (t18, c3), (t19, c2), (t20, c1), (t21, c9), (t22, c10), (t23, c11), (t24, c12), (t25, c13), (t26, c14), (t27, c19), (t28, c26), (t29, c25), (t30, c33), (t31, c41), (t32, c49)
[0041] Furthermore, the path plan for mobile object v1 may include pauses as shown in path C below. In this case, mobile object v1 pauses for 1 step in cell c14 and for 3 steps in cell c49.
[0042] Route C (t0, c5), (t1, c4), (t2, c3), (t3, c2), (t4, c1), (t5, c9), (t6, c10), (t7, c11), (8, c12), (t9, c13), (t10, c14), (t11, c14), (t12, c19), (t13, c26), (t14, c25), (t15, c33), (t16, c41), (t17, c49) , (t18, c49) , (t19, c49) , (t20, c49)
[0043] Similarly, the moving object v2 (not shown) can move to cell c5 at t1 after one step, and then to cell c4 at t2 after two steps. In this way, it can move through cells c3, c2, c1, c9, c10, c11, c12, c13, c14, c19, c26, c34, and c42, and reach cell c50 at t16 after 16 steps. The path plan of the moving object v2 may also be expressed as a pair of time and position as shown in path D below.
[0044] Route D (t0, c6), (t1, c5), (t2, c4), (t3, c3), (t4, c2), (t5, c1), (t6, c9), (t7, c10), (t8, c11), (t9, c12), (t10, c13), (t11, c14), (t12, c19), (t13, c26), (t14, c34), (t15, c42), (t16, c50)
[0045] Figure 3 shows a path planning search method according to an embodiment of this technology.
[0046] The path planning search method 300 according to an embodiment of this technology starts in step 302, and in step 304, determines a first initial position where a first mobile object v1 capable of moving at a first velocity is located at a first time. The first initial position may be determined by the CPU based on position information recognized by the position sensor 102 of the first mobile object v1. Alternatively, the first initial position may be input in advance by the input / output device 110 or via the communication device 108. The first velocity may be the normal speed at which the first mobile object v1 moves, the maximum speed, or the average speed taking acceleration and deceleration into account.
[0047] Next, in step 306, a first destination position is determined where the first mobile body v1 should be at a second time later than the first time. The first destination position may be pre-input via the input / output device 110 or the communication device 108. The destination position may also be the position where the mobile body v1 loads or unloads goods.
[0048] Next, in step 308, a first set of possible paths for the first moving object v1 to travel from a first initial position at a first time to a first destination position at a second time is determined.
[0049] The first set of routing plans involves the CPU 104, or other computers connected via the communication device 108 and the network, searching for all possible routes in accordance with the conditions and limitations described above. Instead of all possible routes, the plan may include routes found within a predetermined time, a predetermined number of routes, or routes that satisfy other predetermined criteria.
[0050] For example, if the first time is t0, the second time is t20, the first initial position is c5, and the first destination is c49, then both routes A and C satisfy the above conditions and restrictions and can be considered possible routes.
[0051] On the other hand, since route B is not at the first destination position c49 at the second time t20, it does not satisfy the above conditions and restrictions and cannot be one of the possible routes.
[0052] The route plan may be determined in a way that restricts movement to routes such as route B, where the first moving object may arrive at the first destination later.
[0053] Furthermore, if the range of movement of the first moving object exceeds a predetermined value, for example, if the cells it passes through are far from the destination position, movement to the first moving position may be restricted. Restriction of movement to the first moving position may include, for example, searching in a way that reduces the probability of movement to the first moving position.
[0054] Next, in step 310, a location is determined that is not included in any of the first multiple route plans at each time point. A location that is not included in any of the plans is, for example, a cell or set of cells that is not included in any of the routes determined in step 308 at any time point.
[0055] Positions not included in any of the above may include positions located at a distance greater than the product of the difference between the time in question and the first time and the velocity of the first moving object, for example, positions that are clearly unreachable by the first moving object at the time in question.
[0056] Similarly, positions not included in either of these may include positions that are at a distance greater than the product of the difference between the time in question and the second time and the velocity of the first moving object, for example, positions where it is clear that the first moving object cannot reach the first destination position at the second time.
[0057] Furthermore, locations not included in any of the above may include the first arrival location itself at that time, in order to prevent excessively early arrival and resulting congestion.
[0058] Next, in step 312, at the third time, at least one first moving position is determined, which is a position to which the first moving object can move after a predetermined time has elapsed from the third time, excluding positions that are not included in any of the first multiple path plans.
[0059] The third time point may be any time between the first time point and the second time point. Furthermore, the third time point may be expressed as a time point that is an integer multiple of a predetermined unit of time elapsed from the first time point t0, for example, t1 after one step, t2 after two steps, and so on.
[0060] Determine at least one first moving position that the first moving object can move to after a predetermined time has elapsed from the third time, excluding positions that are not included in any of the first multiple path plans.
[0061] For example, if the first time is t0, the second time is t20, the first initial position is c5, and the first destination position is c49, then if the third time is t6, then both cells c11 and c17 are positions to which the first moving object can move. However, if cell c11 is a position not included in any of the first multiple path plans, then cell c11 is not determined to be the first moving position, and no path passing through cell c11 is searched at or after t6.
[0062] This suggests that a path passing through cell c11 at time t6 cannot reach cell c49 at time t20 in the first set of determined path plans, and therefore no further path searches are needed thereafter (from time t7 onwards). However, it should be noted that if the first set of path plans includes all possible paths, or if it includes paths explored over a longer period of time or a larger number of paths, there may be paths that can reach cell c49 at time t20.
[0063] Furthermore, since cell c11 is not determined to be the first movement position, and therefore no path passing through cell c11 is searched in t6, the computational complexity of the path search may be reduced, the calculation may be completed more quickly, or more paths may be searched.
[0064] Thus, a path may be sequentially explored step by step until a predetermined termination condition is met, such as until a predetermined time has elapsed, or until a predetermined number of paths have been explored, by searching for a position that can be reached one step later at any given time, and then searching for a position that can be reached two steps later from that position, until a predetermined time has elapsed, or until a predetermined number of paths have been explored.
[0065] Alternatively, the path search may be performed by sequentially searching for a path step by step, starting with the position that can be moved one step forward at any given time, then searching for the position that can be moved two steps forward from that position, and so on, until the initial position is reached, until a predetermined time has elapsed, or until a predetermined number of paths have been explored.
[0066] Furthermore, the path search may be performed from any position at any time, or from multiple positions at multiple times simultaneously.
[0067] Next, in step 314, the route search satisfies the predetermined termination conditions, and the route planning search method 300 according to this embodiment of the technology is terminated.
[0068] Figure 4 shows a path planning search method for moving multiple moving objects according to an embodiment of this technology.
[0069] The path planning search method 400 according to this embodiment of the technology can be implemented in combination with or independently of the path planning search method 300 described in Figure 3.
[0070] The path planning search method 400 according to an embodiment of this technology begins in step 402, and in step 404, a second initial position is determined where a second moving object v2 capable of moving at a second velocity is located at a fourth time.
[0071] The fourth time may be the same as or different from the first time.
[0072] The second initial position may be determined by the CPU 104 based on position information recognized by the position sensor 102 of the second mobile body v2. Alternatively, the second initial position may be pre-input via the input / output device 110 or the communication device 108. The second speed may be the normal speed of movement of the second mobile body v2, its maximum speed, or its average speed taking acceleration and deceleration into account. Furthermore, the second speed may be the same as or different from the first speed of the first mobile body v1.
[0073] Next, in step 406, a second destination position is determined where the second mobile object v2 should be at a fifth time later than the third time. The second destination position may be pre-inputted by the input / output device 110 or via the communication device 108.
[0074] The fifth time may be the same as or different from the second time.
[0075] Next, in step 408, a second set of possible paths for the second mobile object v2 to travel from a second initial position at a fourth time step to a second destination position at a fifth time step is determined.
[0076] The second set of routing plans involves the CPU 104, or other computers connected via the communication device 108 and the network, searching for all possible routes in accordance with the conditions and limitations described above. Instead of all possible routes, the search may consist of routes found within a predetermined time, a predetermined number of routes, or routes that satisfy other predetermined criteria. The second set of routing plans may be searched by the same CPU or computer as the first set of routing plans, or by a different CPU or computer.
[0077] For example, if the fourth time is t0, the fifth time is t16, the second initial position is c6, and the second destination position is c50, then route D satisfies the above conditions and restrictions and can be a possible route.
[0078] Next, in step 410, a location is determined that is not included in any of the second multiple route plans at each time point. A location that is not included in any of the plans is, for example, a cell or set of cells that is not included in any of the routes determined in step 408 at any time point.
[0079] Next, in step 412, at the sixth time, at least one second moving position is determined, which is a position to which the first moving object can move after a predetermined time has elapsed from the sixth time, excluding positions that are not included in any of the second multiple path plans.
[0080] The sixth time step may be any time between the fourth and fifth time steps. Furthermore, the sixth time step may be expressed as a time step after a predetermined integer multiple of a unit of time has elapsed from the fourth time step t0, for example, t1 after one step, t2 after two steps, and so on.
[0081] Determine at least one second moving position that the second moving object can move to after a predetermined time has elapsed from the sixth time, excluding positions that are not included in any of the second multiple path plans.
[0082] In cases where multiple moving objects cannot exist in the same cell, the second moving position may be determined so as not to include the first moving position.
[0083] Furthermore, to prevent unintended contact due to the presence of multiple moving objects in adjacent cells, the second moving position may be determined so as not to include a position within a predetermined range from the first moving position.
[0084] For example, if we assume that the fourth time is t0, the fifth time is t16, the second initial position is c6, and the second destination position is c50, then if the sixth time is t7, then both cells c11 and c17 are positions to which the second moving object can move. However, if cell c11 is a position not included in any of the second multiple path plans, then cell c11 is not determined to be a second moving position, and no path passing through cell c11 is searched at or after t7.
[0085] This suggests that a path passing through cell c11 at time t7 cannot reach cell c50 at time t16 in the determined second set of path plans, and therefore no further path searches are needed thereafter (from time t8 onwards). However, it should be noted that if the second set of path plans includes all possible paths, or if it includes paths searched over a longer period of time or a larger number of paths, there may be paths that can reach cell c50 at time t16.
[0086] Furthermore, since cell c11 is not determined to be the second movement position, and therefore no path passing through cell c11 is searched at t7, the computational complexity of the path search may be reduced, the calculation may be completed more quickly, or more paths may be searched.
[0087] Thus, a path may be sequentially explored step by step until a predetermined termination condition is met, such as until a predetermined time has elapsed, or until a predetermined number of paths have been explored, by searching for a position that can be reached one step later at any given time, and then searching for a position that can be reached two steps later from that position, until a predetermined time has elapsed, or until a predetermined number of paths have been explored.
[0088] Alternatively, the path search may be performed by sequentially searching for a path step by step, starting with the position that can be moved one step forward at any given time, then searching for the position that can be moved two steps forward from that position, and so on, until the initial position is reached, until a predetermined time has elapsed, or until a predetermined number of paths have been explored.
[0089] Furthermore, the path search may be performed from any position at any time, or from multiple positions at multiple times simultaneously.
[0090] Next, in step 414, the route search satisfies the predetermined termination conditions, and the route planning search method 400 according to this embodiment of the technology is terminated.
[0091] In the embodiment shown in Figure 3, if, as a result of searching all possible paths in step 308, no path plan is found after searching within a predetermined time or a predetermined number of paths, or after searching for paths that meet other predetermined criteria, it may be determined that no path plan is found in which the first moving object is at the first destination position at the second time, and the second time may be increased or decreased by a predetermined amount to search for a path plan.
[0092] In this case, the time for increasing or decreasing may be kept within a predetermined range.
[0093] When searching for a path plan by increasing or decreasing the second time by a predetermined amount of time, a third plurality of path plans are determined that allow the first moving object to move from a first initial position at the first time to a first destination position at a seventh time obtained by increasing or decreasing the second time by a predetermined amount of time, and these third plurality of path plans are expressible in terms of time-position pairs. A position not included in any of the third plurality of path plans is determined at each time. At an eighth time between the first time and the seventh time, at least one first moving position is determined that allows the first moving object to move after a predetermined amount of time has elapsed from the eighth time, excluding the position not included in any of the third plurality of path plans.
[0094] Furthermore, in the embodiment shown in Figure 3, if, as a result of searching all possible paths in step 308, no path plan is found after searching within a predetermined time or a predetermined number of paths, or after searching for paths that meet other predetermined criteria, it may be determined that if the first moving object was at the first initial position at the first time, no path plan can be found to move it to the first destination position at the second time. In such a case, the first time may be increased or decreased by a predetermined amount to search for a path plan.
[0095] In this case, the time for increasing or decreasing may be kept within a predetermined range.
[0096] When searching for a path plan by increasing or decreasing the first time by a predetermined amount of time, a fourth plurality of path plans are determined that the first moving object can move from the first initial position at the ninth time (which is obtained by increasing or decreasing the first time by a predetermined amount of time) to the first destination position at the second time, and these fourth plurality of path plans are expressible in terms of time-position pairs. A position that is not included in any of the fourth plurality of path plans is determined at each time. At the tenth time between the ninth time and the second time, at least one first moving position is determined that the first moving object can move to after a predetermined amount of time has elapsed from the tenth time, excluding the position that is not included in any of the fourth plurality of path plans.
[0097] Furthermore, the process of increasing or decreasing the second time point described above may be combined with the process of increasing or decreasing the first time point.
[0098] Path planning search method using local regions Figure 5 shows a path planning search method using a local region according to an embodiment of this technology.
[0099] The path planning search method 500 using a local region according to an embodiment of this technology starts in step 502, and in step 504, the CPU 104 determines the movable region in which the mobile object v1 can move.
[0100] The movable area in which the mobile object v1 can move may be the range in which the mobile object v1 can physically move, or it may be a range predetermined to be movable. For example, in Figure 2, all cells with letters and numbers assigned to them within the 8x11 cell area may be considered the movable area, or only a part of it may be considered the movable area.
[0101] Next, in step 506, the CPU 104 determines the size of the local region. The local region may be smaller than the movable region and may contain multiple cells. For example, in Figure 2, a 3x3 rectangular region may be defined as the local region, or a 3x4 rectangular region may be defined as the local region. Alternatively, a region consisting of cells contained within a circle of a predetermined radius from the center position may be defined as the local region. The size of the local region may be determined based on the spatial computational complexity of the CPU 104.
[0102] Next, in step 508, the CPU 104 determines the departure position where the moving object v1 is located at time t0, and the arrival position where the moving object v1 will arrive. For example, in Figure 2, the moving object v1 may be located at departure position cell c5 at time t0 and move to arrival position cell c49.
[0103] Next, in step 510, a second local region is determined at a second time later than the first time, centered on the second position within the movable region. For example, in Figure 6, at time t1, cells c4, c5, c6, c12, c13, and c14 enclosed by a 3x3 rectangular region L1 centered on cell c5 may be defined as the second local region. The second time may also be expressed as a time that has elapsed a predetermined integer multiple of a unit time from the first time.
[0104] Next, in step 512, the direction and distance of movement from an arbitrary position within the second local region at a third time later than the second time are determined. For example, Figure 6 In this case, the movement may be determined as follows: from time t1 to time t2, move one cell from c4 in the negative x-direction, move one cell from c5 in the negative x-direction, move one cell from c6 in the negative x-direction, move one cell from c12 in the positive x-direction, move one cell from c13 in the positive x-direction, and move one cell from c14 in the negative y-direction (or move one cell from c14 in the positive x-direction). The direction and distance of movement may be calculated for any combination based on the possible directions and distances of movement in each cell. The third time may be expressed as a time after a predetermined integer multiple of a unit of time has elapsed from the second time.
[0105] Next, in step 514, a third local region is determined at the third time point, centered on the third position within the movable region. For example, Figure 7 In this case, cells c3, c4, c5, c11, c12, c13, and c18, enclosed by a 3x3 rectangular region L2 centered on cell c12 and enclosed by a dashed line, may be considered a third local region.
[0106] The third position may be determined based on the direction and distance of movement from any position within the second local region at a third time, determined at that position. For example, the third position may be the centroid or geometric center of all movement positions calculated from the direction and distance of movement in each cell, or the cell containing it.
[0107] In this way, a local region may be defined, and a path plan may be searched within that region while moving the local region over time. Alternatively, multiple third locations may be defined, and a search may be conducted for each of them.
[0108] Next, in step 516, the route planning search method 500 is completed.
[0109] In addition to the method described in Figure 5, the path planning search method using local regions may also be performed in the reverse direction of time, as shown in Figure 8.
[0110] Figure 8 shows another path planning search method using a local region, based on another embodiment of this technology.
[0111] Another embodiment of the path planning search method 800 of this technology starts in step 802 and, in step 804, determines a fourth local region centered on a fourth position within the movable region at a fourth time later than the third time. For example, in Figure 9, at time t3, the fourth local region may be cells c2, c3, c4, c10, c11, c12, c17, c18 enclosed by a 3x3 rectangular region L3 centered on cell c11. The fourth time may also be expressed as a time after a predetermined integer multiple of a unit time has elapsed from the third time.
[0112] Next, in step 806, the direction and distance of movement from the position at the third time are determined at any position within the fourth local region. For example, in Figure 9, from time t2 to time t3, it may be determined that the movement is 1 cell from c3 in the negative x-axis direction to c2, 1 cell from c4 in the negative x-axis direction to c3, 1 cell from c5 in the negative x-axis direction to c4, 1 cell from c9 in the positive x-axis direction to c10, 1 cell from c10 in the positive x-axis direction to c11, 1 cell from c11 in the positive x-axis direction to c12, 1 cell from c10 in the negative y-axis direction to c17, and 1 cell from c23 in the negative y-axis direction to c18. The direction and distance of movement may be calculated for any combination based on the possible directions and distances of movement in each cell.
[0113] Next, in step 808, a path is stored as a candidate path plan if, at the third time, the movement position at the third time determined at an arbitrary position within the second local region coincides with the movement position at the third time determined at an arbitrary position within the fourth local region. If there is a position at the third time such that the movement path from the second time to the third time determined in step 512 of Figure 5 connects with the movement path from the third time to the fourth time determined in step 806 (the movement path returning from the fourth time to the third time), then a path from the second time through the third time to the fourth time can be established, and this path may be stored in memory 106 as a candidate path plan. Note that here, instead of sequentially searching for paths along the passage of time from the second time point to the third time point and then to the fourth time point, we focus on the local region at the third time point and search for paths along the forward passage of time from the second time point and paths along the reverse passage of time from the fourth time point.
[0114] On the other hand, at the third time step, any path in which the movement position at the third time step determined at an arbitrary position within the second local region does not coincide with the movement position at the third time step determined at an arbitrary position within the fourth local region may be excluded from the path plan candidates and deleted from memory 106.
[0115] In this way, a route plan can be searched using an arbitrary time as the third time, and a candidate route plan that is consecutive at any time from the departure position to the arrival position may be selected as the final route plan candidate.
[0116] The final route plan candidate may be a route plan in which the first moving object is at the first arrival position at a time no later than the arrival time in any other route plan that has been explored.
[0117] Furthermore, the final route plan candidate may be a route plan in which the first moving object is at the arrival location at any time before the designated arrival time that is later than the first time.
[0118] The final route plan candidate may be a route plan in which the first moving object is at the arrival location at an arrival time later than the first time.
[0119] Next, in step 810, the route planning search method 800 is completed.
[0120] Furthermore, in cases where it is desirable to get the mobile object v1 to the destination position faster, or to search for a matching path plan more quickly, the third local region may be re-determined as described below, in addition to the methods explained in Figures 5 and 8. (1) At any position within the third local region, determine the direction of movement and the distance of movement from that position toward the fourth time at the third time. (2) The third local region is redefined based on the determination of the direction of movement and the distance of movement from any position within the third local region. The re-determination of the third local region may be carried out in such a way that it approaches one or both of the second and fourth local regions.
[0121] The third local region may be re-determined by selecting a third position such that the sum of the products of the direction of movement and the distance of movement from each position becomes smaller, for example, by selecting a third position such that the sum of vectors whose direction of movement is the direction of movement and whose magnitude is the distance of movement from each position becomes smaller.
[0122] Furthermore, if you want to get the mobile object v1 to the destination location faster or approach the destination location as quickly as possible, you can also advance the movement of the local region in time as shown below.
[0123] The direction of movement and distance traveled from a position determined at a third time in at least one position within the fourth local region are determined to be the same as the direction of movement and distance traveled from that position determined at a second time in that position. Here, the fourth local region may include the arrival position.
[0124] On the other hand, if you want to depart the mobile object v1 as late as possible or approach the destination as late as possible, you can postpone the movement of the local region in time as shown below.
[0125] The direction and distance of movement from a position determined at a third time in at least one position within the second local region are determined to be the same as the direction and distance of movement from that position determined at a fourth time in that position. Here, the second local region may include the starting position.
[0126] Furthermore, if it is desirable to further reduce the computational cost for path planning, for example, the locations within the movable region that are not included in any of the path plans at that time may be determined in advance, and at least all of the aforementioned local regions may be excluded from the locations that are not included in any of the path plans at that time.
[0127] Positions not included in any of the above may include positions located at a distance greater than the product of the difference between the time in question and the first time and the velocity of the moving object, for example, positions that are clearly unreachable by the moving object at the time in question.
[0128] Furthermore, the path search may be performed from any position at any time, or from multiple positions at multiple times simultaneously.
[0129] Furthermore, when searching for a path plan for each of multiple moving objects, the same path plan search method described above can be applied to the second moving object as well. (1) Determine the second departure position where the second moving object is located at the first time, and the second arrival position to which the second moving object will arrive. (2) At a second time later than the first time, a fifth local region is determined within the movable region and centered on the fifth position, (3) At any position within the fifth local region, determine the direction of movement and the distance of movement from that position at a third time later than the second time, (4) At the third time step, a sixth local region is determined within the movable region, centered on the sixth position.
[0130] The path planning search method according to this embodiment, as described in Figures 3 to 5 and Figure 8, can be implemented by the CPU 104 and memory 106 using connection logic, software, or a combination thereof. [Industrial applicability]
[0131] This technology makes it possible to reduce the computational complexity of pathfinding, shorten the time required for pathfinding, explore more paths, or determine a more efficient path plan through a combination of these factors.
[0132] Furthermore, even if the space in which a moving object can move increases and the computational complexity increases exponentially, it becomes possible to control the computational complexity for path planning and search. [Explanation of Symbols]
[0133] 100 Mobile Units 102 Position Sensor 104 CPU 106 memory 108 Communication equipment 110 Input / Output Devices 112 Drive mechanism 114 Cargo bed 116 LiDAR sensors
Claims
1. A method by which a computer searches for a path plan for moving an object, which can be represented by pairs of time and position, wherein the computer The first mobile body determines the mobile area in which it can move, Determining the size of a local region smaller than the aforementioned movable region, The first departure position where the first moving object is located at a first time, and the first arrival position to which the first moving object is moved, are determined. At a second time later than the first time, a second local region is determined within the movable region, centered on the second position. Determining the direction and distance of movement from any position within the second local region at a third time later than the second time, The third time step includes determining a third local region within the movable region centered on a third position, A path planning search method in which the third position is determined based on the direction of movement and distance traveled by the first moving object from the position at the third time determined at any position within the second local region.
2. The third position includes the centroid of the moving position at the third time determined at any position within the second local region, The path planning search method according to claim 1.
3. Furthermore, at a fourth time later than the third time, a fourth local region is determined within the movable region, centered on the fourth position. Determining the direction of movement and the distance of movement from the position at the third time at any position within the fourth local region, At the third time step, a path in which the movement position at the third time step, determined at an arbitrary position within the second local region, coincides with the movement position at the third time step, determined at an arbitrary position within the fourth local region, is stored as a candidate path plan. The path planning search method according to claim 1.
4. Furthermore, determining the third local region is Determining the direction and distance of movement from any position within the third local region toward the fourth time at the third time, The third local region is redefined based on the determination of the direction of movement and distance of movement from any position within the third local region. The path planning search method according to claim 3.
5. Redetermining the third local region based on the determination of the direction of movement and distance of movement from any position within the third local region includes selecting the third position such that the sum of the products of the direction of movement and distance of movement from each position is smaller. The path planning search method according to claim 4.
6. At the third time, any path in which the movement position at the third time determined at an arbitrary position within the second local region does not coincide with the movement position at the third time determined at an arbitrary position within the fourth local region is excluded from the candidate path plans. The path planning search method according to claim 5.
7. The route planning search method according to claim 6, wherein the third time is any time.
8. The final route plan candidate is defined as a sequence of route plan candidates that are consecutive at any given time from the first departure position to the first arrival position. The path planning search method according to claim 7.
9. The final route plan candidate includes a route plan in which the first moving object is at the first arrival position at a time no later than the arrival time in any other route plan explored. The path planning search method according to claim 8.
10. The final route plan candidate includes a route plan in which the first moving object is at the first arrival position at any time before the designated arrival time that is later than the first time, The path planning search method according to claim 8.
11. The final route plan candidate includes a route plan in which the first moving object is at the first arrival position at an arrival time later than the first time, The path planning search method according to claim 8.
12. The path planning search method according to claim 3, wherein the direction of movement and distance of movement from the position at the third time, determined at at least one position within the fourth local region, are determined to be the same as the direction of movement and distance of movement from the position at the second time, determined at that position.
13. The fourth local region includes the first arrival position, The path planning search method according to claim 12.
14. The path planning search method according to claim 3, wherein the direction of movement and distance of movement from at least one position within the second local region at the third time determined at that position are determined to be the same as the direction of movement and distance of movement from that position at the fourth time determined at that position.
15. The second local region includes the first starting position, The path planning search method according to claim 14.
16. At each time point, a position within the movable area that is not included in any of the route plans for that time point is predetermined. At least all of the aforementioned local regions are excluded from the locations that are not included in any of the aforementioned path plans at that time, The path planning search method according to claim 1.
17. The second time can be expressed as a time that has elapsed from the first time as a predetermined integer multiple of a unit of time. The path planning search method according to claim 1.
18. The movable region can be displayed in two-dimensional coordinates, and the two-dimensional coordinates can be displayed in coarse-grained two-dimensional coordinates. The path planning search method according to claim 1.
19. The movable region can be displayed in three-dimensional coordinates, and the three-dimensional coordinates can be displayed in coarse-grained three-dimensional coordinates. The path planning search method according to claim 1.
20. Searching for the aforementioned path plan includes searching from any position at any time. The path planning search method according to claim 1.
21. The search for the aforementioned path plan includes simultaneously performing searches from multiple locations at multiple times. The path planning search method according to claim 1.
22. Furthermore, the second departure position where the second moving object is located at the first time, and the second arrival position to which the second moving object is moved are determined, At a second time later than the first time, a fifth local region is determined within the movable region, centered on the fifth position. Determining the direction and distance of movement from any position within the fifth local region at a third time later than the second time, The third time step includes determining a sixth local region within the movable region centered on the sixth position, The path planning search method according to claim 1.
23. The moving body is an automated guided vehicle capable of transporting articles, and the first arrival position includes a position for loading or unloading articles. The path planning search method according to claim 1.
24. A computing device for searching for a path plan for moving an object, which can be represented by pairs of time and position, wherein the computing device The first mobile body determines the range of movement it can travel in, Determine the size of the local region smaller than the aforementioned movable region. The first departure position where the first moving object is located at a first time, and the first arrival position to which the first moving object is moved are determined, At a second time later than the first time, a second local region is determined within the movable region, centered on the second position. At any position within the second local region, the direction of movement and the distance of movement from that position at a third time later than the second time are determined. At the third time, the system is configured to determine a third local region centered on the third position within the movable region. A computing device in which the third position is determined based on the direction of movement and distance traveled by the first moving body from the position at the third time determined at any position within the second local region.
25. A computer-readable medium storing a program for searching for a path plan for moving an object, which can be represented by pairs of time and position, and which can be used by a computer. The first mobile body determines the mobile area in which it can move, Determining the size of a local region smaller than the aforementioned movable region, The first departure position where the first moving object is located at a first time, and the first arrival position to which the first moving object is moved, are determined. At a second time later than the first time, a second local region is determined within the movable region, centered on the second position. Determining the direction and distance of movement from any position within the second local region at a third time later than the second time, At the third time, the system is made to determine a third local region centered on the third position within the movable region. The third position is determined based on the direction of movement and distance traveled by the first moving body from the position at the third time, which is determined at any position within the second local region. Computer-readable media.
26. An automated guided vehicle comprising a loading platform capable of carrying goods, a drive mechanism, and a computing device, The aforementioned computing device The first mobile body determines the range of movement it can travel in, Determine the size of the local region smaller than the aforementioned movable region. The first departure position where the first moving object is located at a first time, and the first arrival position to which the first moving object is moved are determined, At a second time later than the first time, a second local region is determined within the movable region, centered on the second position. At any position within the second local region, the direction of movement and the distance of movement from that position at a third time later than the second time are determined. At the third time, the system is configured to determine a third local region centered on the third position within the movable region. The third position is determined based on the direction of movement and distance traveled by the first moving body from the position at the third time, which is determined at any position within the second local region. Automated guided vehicle.
27. A transport system comprising at least one mobile body having a loading platform and a drive mechanism capable of loading articles, and a computing device mounted on or capable of communicating with the mobile body, The aforementioned computing device The first mobile body determines the range of movement it can travel in, Determine the size of the local region smaller than the aforementioned movable region. The first departure position where the first moving object is located at a first time, and the first arrival position to which the first moving object is moved are determined, At a second time later than the first time, a second local region is determined within the movable region, centered on the second position. At any position within the second local region, the direction of movement and the distance of movement from that position at a third time later than the second time are determined. At the third time, the system is configured to determine a third local region centered on the third position within the movable region. The third position is determined based on the direction of movement and distance traveled by the first moving body from the position at the third time, which is determined at any position within the second local region. Conveyor system.