Method, processor, computer-readable medium, automatic guided vehicle, transport system of path plan search

TWI942404BActive Publication Date: 2026-10-11AMOEBA ENERGY CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
TW114127561
Authority / Receiving Office
TW · TW
Patent Type
Patents
Current Assignee / Owner
Priority Date
2024-07-23
Filing Date
2025-07-21
Publication Date
2026-10-11
Estimated Expiration
2045-07-20

AI Technical Summary

Technical Problem

The challenge is to reduce congestion and computational cost in path planning for automated guided vehicles (AGVs) in warehouses and factories, particularly due to traffic concentrations, early arrivals, and route merging, while ensuring timely delivery of high-priority goods and managing exponential growth in available space.

Method used

A method and processor for path planning that involves determining initial and arrival positions, searching for multiple path plans within constraints, excluding certain positions, and using local regions to reduce computational workload and optimize pathfinding.

Benefits of technology

This approach reduces traffic congestion, shortens pathfinding time, and efficiently searches for better path plans, even under computational cost constraints, ensuring timely delivery of goods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure TWG2TB001915581_001
    Figure TWG2TB001915581_001
  • Figure TWG2TB001915581_002
    Figure TWG2TB001915581_002
  • Figure TWG2TB001915581_003
    Figure TWG2TB001915581_003
Patent Text Reader

Abstract

This technology includes, for example, a method executed by a computer for searching a path plan for a moving object, the moving object being represented by a pair of time and location. The method includes the computer determining a movable area in which the first moving object can move, determining a size of a local area smaller than the movable area, determining that the first moving object appears at a first starting position at a first time point and a first arriving position reached by the first moving object, determining a second local area located within the movable area and centered at a second position at a second time point later than the first time point, determining a direction of movement and a distance of movement at any position within the second local area at a third time point later than the second time point, and determining a third local area within the movable area at the third time point centered at the third position.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This technology relates to a method and processor for searching and planning the movement path of moving objects. [Previous Technology]

[0002] When goods, parts, products, etc. are transported in warehouses, factories and other places using unmanned vehicles or unmanned robots (hereinafter collectively referred to as automated guided vehicles, AGVs), the movement path of the AGV will be calculated and optimized in advance.

[0003] WO 2022 / 097460 A1 discloses a technique aimed at finding the optimal solution to an optimization problem in a high-speed and efficient manner through a simple optimization algorithm. This technique includes multiple data generation units, a fluctuation setting unit that provides fluctuation probabilities to the data generation units, sets the frequency of occurrence of the data generated by the data generation units to be non-uniform, and sets the frequency of occurrence of a specific variable to a value different from the frequencies of occurrence of other variables; multiple data conversion units for reading the data generated by the data generation units and converting it into information; an output adjustment unit for transmitting an output adjustment signal or an output adjustment signal and fluctuation probability value to the data generation units; and a feedback control unit for repeatedly controlling the operation of transmitting the output adjustment signal or the output adjustment signal and fluctuation probability value to the data generation units when the optimal solution is not obtained.

[0004] As warehouses, factories, and other facilities expand in size, if hundreds or thousands of AGVs are used, congestion often occurs between AGVs, transportation plans or processes become unpredictable, and the throughput of transportation or production may decrease.

[0005] Previous technical documents, patent documents: [Patent document 1] WO 2022 / 097460 booklet, [Patent document 2] Japanese Patent No. 6029048, [Patent document 3] Japanese Patent No. 6011928, [Patent document 4] Japanese Patent Publication No. 2015-184829, [Patent document 5] Japanese Patent Publication No. 2019-198902, [Patent document 6] Japanese Patent Publication No. 2019-198903, [Patent document 7] WO 2019 / 017412 booklet, [Patent document 8] Japanese Patent Publication No. 2018-166194.

[0006] Non-patent literature: [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, Hiroyoshi MIWA, "Electronic circuit implementation of amoeba-inspired solution search algorithm for optimization problems," 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-Patent Document 5] AH Ngoc Nguyen, M. Aono, Y. Hara-Azumi, "FPGA-based hardware / software co-design of a bio-inspired SAT solver," IEEE Access, DOI: 10.1109 / ACCESS.2020.2980008 (2020), [Non-Patent Document 6] YJ Yan, H. Amano, M. Aono, K. Ohkoda, S. Fukuda, K. Saito, S.Kasai, “Resource-saving FPGA Implementation of the Satisfiability Problem Solver: AmoebaSATslim," FPT 2021:1-5 (2021), [Non-patent Document 7] P. Huang, K. Wei, H. Amano, K. Ohkoda, M. Aono, Implementing Multi Agent Path Finding Algorithm for Smart Factory on a Multi-FPGA system, IEICE Technical Report (Web), 174 (RECONF2022 26-41), pp. 17-18 (2022), [Non-patent Document 8] P. Huang, K. Wei, H. Amano, K. Ohkoda, M. Aono, Multi-board FPGA Implementation to Solve the Satisfiability Problem for Multi-Agent Path Finding in Smart Factory, 2022 Tenth International Symposium on Computing and Networking Workshops (CANDAR), pp. 406-410 (2022), [Non-patent Document 9] T. Okuyama, H. Amano, K. Ohkoda, M. Aono, "Efficient FPGA Implementation of Amoeba-inspired SAT Solver with Feedback and Bounceback Control: Harnessing Variable-Level Parallelism for Large-Scale Problem Solving in Edge Computing," HEART 2023 (2023), [Non-patent Document 10] N. Takeuchi, M. Aono, Y. Hara-Azumi and C.L.Ayala, “A Circuit-Level Amoeba-Inspired SAT Solver,” in IEEE Transactions on Circuits and Systems II: Express Briefs, vol. 67, no. 10, pp. 2139-2143 (2020), [Non-Patent Document 11] K. Hara, N. Takeuchi, M. Aono, Y. Hara-Azumi, “Amoeba-inspired stochastic hardware SAT solver,” International Symposium on Quality Electronic Design (ISQED), (2019), [Non-Patent Document 12] Masashi AONO, Yusei KUJIRAI, Hiroki NOZAKI, "Amoeba-inspired Computing Paradigm for Bridging the Gap between Cyber ​​and Physical Spaces," Journal of the Japanese Society for Artificial Intelligence, Vol. 33 (5), pp. 56-569 (2018), [Non-Patent Document 13] L. Zhu, S.-J. Kim, M. Hara, M. Aono, "Remarkable problem-solving ability of unicellular amoeboid organism and its mechanism," Royal Society Open Science 5:180396 (2018), [Non-Patent Document 14] Saito, Kasai, Aono et al., Chinese Society for Applied Physics, Poster Published (2019), [Non-Patent Document 15] K. Saito, M. Aono, S.Kasai, "Amoeba-inspired analog electronic computing system integrating resistance crossbar for solving the traveling salesman problem," Scientific Reports 10, 20772 (2020), [Non-patent document 16] M. Aono, "Amoeba-inspired combinatorial optimization machines," Japanese Journal of Applied Physics 59, 060502, (2020). . [Summary of the Invention]

[0007] Technical Problem: It is desirable to provide a method and processor for searching route planning to reduce congestion caused by traffic concentration such as loading and unloading of goods, waiting due to early arrival, and route merging, even when using a large number of automated guided vehicles (AGVs).

[0008] It is desirable to provide a method and processor that can reduce the computational cost of path search, shorten the time required for path search, search more paths, or achieve a combination of the above when deciding on a path plan.

[0009] When deciding on a route plan, if a route is searched within a predetermined time, traffic congestion may occur at or near the cargo loading and unloading destination.

[0010] In addition, traffic congestion may cause delays in the arrival of AGVs carrying high-priority or high-urgency goods at their destination.

[0011] In addition, there may be situations where it is necessary to specify the arrival time and order of goods in advance.

[0012] The goal is to eliminate or reduce traffic congestion caused by AGVs and to deliver necessary goods when needed.

[0013] When deciding on a route plan, it is desirable to find a route that can arrive on time at the scheduled time.

[0014] Furthermore, as the space available for movement of objects increases, the computational cost required for path planning will grow exponentially, potentially making it difficult to complete the path planning search within a reasonable timeframe. Even under these circumstances, a method to control the computational cost of path planning is still needed.

[0015] It is desirable to provide a method that can still efficiently search for more optimized path plans even when the computational cost of path planning search is reduced.

[0016] [Problem Solution], this technology includes, for example, a method for a computer to search for a path plan for moving a moving object, the method comprising: determining a first initial position of a first moving object existing at a first time point and capable of moving at a first speed, and a first arrival position of the moving object existing at a second time point later than the first time point; determining a first plurality of path plans that allow the first moving object to move from the first initial position at the first time point to the first arrival position at the second time point, the first plurality of path plans being represented by a pair of time and position; determining positions at each time point not included in any of the first plurality of path plans; and at a third time point between the first time point and the second time point, determining at least one first moving position, the first moving position being a position that the first moving object can reach after a predetermined time from the third time point, and the first moving position excluding positions not included in any of the first plurality of path plans.

Implementation Method

[0018] Figure 1 shows a moving object 100 according to an embodiment of the present technology.

[0019] The mobile object 100 may include a position sensor 102, a central processing unit (CPU) 104, a memory 106, a communication device 108, an input / output (I / O) device 110, a drive mechanism 112, a loading platform 114, and an optical radar sensor 116. The mobile object 100 may be an automated guided vehicle (AGV) for transporting goods, a wafer transport robot, a glass transport robot, an AGV, or an autonomous mobile robot (AMR) applied to a transportation system.

[0020] The location sensor 102 may be a device such as a Global Positioning System (GPS), a beacon, Bluetooth, RFID or a camera.

[0021] The CPU 104 executes computer-executable instructions and may be a general-purpose processor or a special-purpose processor. The special-purpose processor may, for example, be a control unit of a hybrid optimal solution calculation system as described in WO 2022 / 097460.

[0022] The memory 106 may be volatile (e.g., register, cache, RAM), non-volatile (e.g., ROM, EEPROM, flash memory) or a combination thereof.

[0023] The communication device 108 may be a wired communication device or a wireless communication device, and may establish a communication connection with another computer through a network (not shown) consisting of a wired or wireless communication (or a combination thereof). The network may be the Internet, a local area network (LAN) or a wide area network (WAN).

[0024] The I / O device 110 may be a keyboard, a touch screen, a display or a combination thereof, and may be connected to the mobile object 100 via wired or wireless means.

[0025] The drive mechanism 112 can be a combination of a motor and a wheel assembly.

[0026] The loading platform 114 can be used as a platform for manually loading products or parts, or it can be used as a platform for automatically loading by using a conveyor belt or a lift.

[0027] The LiDAR (Optical Radar) sensor 116 may be an optical phase solid-state optical radar, a MEMS solid-state optical radar, or a mechanical rotating optical radar, etc.

[0028] Figure 2 shows a path along which a plurality of moving objects can move in the xy plane according to an embodiment of the present technology.

[0029] This movable path can be applied to a unidirectional transport track. The movable path can also support bidirectional or free-direction movement. Furthermore, the movable path can be a plane or a space that can be displayed in a two-dimensional coordinate system. This two-dimensional coordinate system can be displayed using coarse-grained two-dimensional coordinates, for example, it can be represented as coarse-grained two-dimensional coordinates of square grid cells on a plane. This coarse-grained two-dimensional coordinate system can be represented as a plane by simplifying three-dimensional space.

[0030] The movable path may be a space that can be displayed in three-dimensional coordinates. The three-dimensional coordinates may be displayed as coarse-grained three-dimensional coordinates. The coarse-grained three-dimensional coordinates may, for example, be a unit that can be represented as a cube in a three-dimensional space.

[0031] In Figure 2, a cell is assigned a combination of a character and a number to represent the position where a single moving object can pass through or stop at a specific time, and it is assumed that multiple moving objects cannot exist in the same cell at the same time.

[0032] The arrows in each cell of Figure 2 indicate the direction in which the object can be moved next. Taking this embodiment as an example, the moving object can move according to the following restrictions.

[0033] (1) The moving object (not shown) can move from each cell in a single direction or one of two branch paths. As shown in Figure 1, in cell c1, it can only move to cell c9 and cannot move to cell c2. In cell c10, it 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 in the cell, and can move to one of the adjacent cells per unit time.

[0035] (3) The moving object can move to an adjacent cell in a specified direction, or stay in the original cell within a unit time (hereinafter referred to as a step).

[0036] For example, at the initial time point t0, the moving object v1 is located in cell c5 and the moving object v2 is located in cell c6. After these moving objects are moved, at time point t16 (> t0), the moving object v1 is located in cell c49 and the moving object v2 is located in cell c50.

[0037] Referring to Figure 1, the moving object v1 (not shown) can move to cell 4 (c4) at time point t1 after one step, and can move to cell 3 (c3) at time point t2 after two steps. It can then sequentially traverse cells 2, 1, 9, 10, 11, 12, 13, 14, 19, 26, 25, 33, and 41, arriving at cell 49 (c49) at t16. The path planning of the moving object v1 can be represented as a path A consisting of time and position.

[0038] Path A: (t0, c5), (t1, c4), (t2, c3), (t3, c2), (t4, c1), (t5, c9), (t6, c10), (t7, c11), (t8, c12), (t9, c13), (t10, c14), (t11, c19), (t12, c26), (t13, c25), (t14, c33), (t15, c41), (t16, c49).

[0039] The path planning for the moving object v1 may be a different path than path A, such as path B as shown in the figure below. In this case, the moving object v1 will pass through the same cell multiple times.

[0040] Path 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] In addition, the path planning of the moving object v1 may include a pause as shown in path C below. In this case, the moving object v1 stops at cell c14 for one step time and at cell c49 for three steps time.

[0042] Path 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 in one step at time t1, and to cell c4 in two steps at time t2. It can then sequentially traverse cells c3, c2, c1, c9, c10, c11, c12, c13, c14, c19, c26, c34, and c42, arriving at cell c50 in 16 steps at time t16. The path planning of the moving object v2 can be represented as path D, presented in a pairing of time and position.

[0044] Path 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 the present technology.

[0046] The path planning and searching method 300 according to this embodiment of the present technology begins at step 302. In step 304, a first initial position is determined when the first moving object v1 moves at the first speed at the first time point. The first initial position can be determined by the CPU based on the position information of the first moving object v1 identified by the position sensor 102, or it can be pre-input by the I / O device 110 or transmitted through the communication device 108. The first speed can be a normal moving speed of the first moving object v1, a maximum speed, or an average speed considering acceleration and deceleration.

[0047] Next, in step 306, a first arrival location is determined where the first moving object v1 exists at a second time point later than a first time point. This first arrival location can be pre-input by the I / O device 110 or input through the communication device 108. This arrival location can be a location where the moving object v1 is loaded or unloaded.

[0048] Next, in step 308, a first plurality of path plans are determined so that the first moving object v1 can move from the first initial position to the second arrival position at the first time point.

[0049] As a first plurality of path planning, the CPU 104 or other computers connected via the communication device 108 and the network will search for all possible paths according to the aforementioned conditions and constraints. The search scope may be limited to paths within a predetermined time period or a predetermined number of paths, rather than all possible paths. The search may also be limited to paths that meet predetermined criteria.

[0050] For example, when t0 is the first time point, t20 is the second time point, c5 is the first initial position, and c49 is the first arrival position, paths A and C both satisfy the aforementioned conditions and restrictions, and can be regarded as feasible paths respectively.

[0051] On the other hand, since path B cannot reach the first arrival position c49 at the second time point t20, it does not meet the aforementioned conditions and restrictions and cannot be one of the feasible paths.

[0052] The path planning can be set to restrict the first moving object to move along a path (such as path B), such a path may cause the arrival time of the first arrival position to be delayed.

[0053] Furthermore, when the movement range of the first moving object is greater than a predetermined value (e.g., when it is far from the destination location via a cell), its movement to the first moving location can be restricted. This restriction may include a search that reduces the probability of moving to the first location.

[0054] Next, in step 310, locations at each time point that are not included in any of the first plurality of path plans are determined. Such unincluded locations correspond to, for example, a cell or group of cells that are not included in any path at any time point determined in step 308.

[0055] The above-mentioned location does not include a location that may include a distance greater than the product of the difference between the time point and the first time point and the speed of the first moving object, such as a location that the first moving object obviously cannot reach at the time point.

[0056] Similarly, a location not included in any of the above categories may also include a location where the distance is greater than the difference between the time point and the second time point multiplied by the speed of the first moving object, for example, a location where it is clearly impossible to reach the first arrival location at the second time point.

[0057] A location not included in any of the above categories may be included in the first arrival location itself at that time to avoid premature arrival and the resulting traffic congestion.

[0058] Next, in step 312, at the third time point, at least one first moving position is determined, the first moving position excluding the position that the first moving object can move to after a predetermined time has passed at the third time point, and the position is not included in any of the first plurality of path plans.

[0059] The third time point can be any time point between the first time point and the second time point. The third time point can be represented as a time point after an integer multiple of a predetermined unit time since the first time point t0, such as t1 after one step or t2 after two steps.

[0060] Determine at least one first moving position, excluding the following positions: positions that the first moving object can move to after a predetermined time from the third time point, and are not included in any plurality of first path plans.

[0061] For example, when the first time point is t0, the second time point is t20, the first initial position is c5, the first arrival position is c49, and the third time point is t6, cells c11 and c1 are both positions that the first moving object can reach. However, if cell c11 is not included in any of the positions included in the first plurality of path plans, then cell c11 is not determined as the first moving position, and no path through cell c11 will be searched at or after t6.

[0062] This would suggest that in the first determined multiple path planning, the path through cell c11 at time t6 cannot reach cell c49 at time t20, so no subsequent path search (after t7) is needed. However, it should be noted that if the first multiple path planning includes all possible paths, or if the first multiple path planning includes a longer time or a larger number of path searches, then there may still be a path that can reach cell c49 at time t20.

[0063] In addition, since cell c11 was not determined as the first moving position, the path through cell c11 at time point t6 was not searched. The computational workload of the path search would be reduced, the operation would be terminated earlier, and more paths could be searched.

[0064] In this way, a path can be searched step by step until a predetermined termination condition is met, such as reaching a target location, exhausting a predetermined time, or searching a predetermined number of paths. By searching for locations that can be moved in one step at any time, and then searching for locations that can be moved in two steps from these locations that can be moved in one step.

[0065] The path can be searched step by step until the initial position is reached, a predetermined time is reached, or a predetermined number of paths are searched. Specifically, it searches for positions that can be moved in one step at any time, and further searches for positions that can be moved in two steps from the positions that can be moved in one step.

[0066] In addition, the path search can be performed at any time from any location, or can be performed simultaneously and in parallel at multiple time points from multiple locations.

[0067] Next, in step 314, when the path search meets a predetermined termination condition, the path planning and search method 300 according to an embodiment of the present technology ends.

[0068] Figure 4 shows a path planning search method for moving a plurality of moving objects according to an embodiment of the present technology.

[0069] The path planning search method 400 according to an embodiment of the present technology can be implemented in combination with the path planning search method 300 shown in FIG3, or it can be implemented independently.

[0070] The path planning search method 400 according to this embodiment of the present technology begins at step 402 and determines in step 404 that the second moving object v2, which can move at the second speed, appears at a second initial position at a fourth time point.

[0071] This fourth time point may be the same as or different from the first time point.

[0072] The second initial position can be determined by the CPU 104 based on the position information of the second moving object v2 identified by the position sensor 102. The second initial position can be input in advance through the I / O device 110 or the communication device 108. The second speed can be a normal moving speed, a maximum speed, or an average speed considering acceleration and deceleration of the second moving object v2. The second speed can be the same as or different from the first speed of the first moving object v1.

[0073] Next, in step 406, it is determined that the second moving object v2 appears at a second arrival location at a fifth time point later than the third time point. The second arrival location can be pre-input by the I / O device 110 or through the communication device 108.

[0074] The fifth time point may be the same as or different from the second time point.

[0075] Next, in step 408, a plurality of second path plans are determined so that the second moving object v2 can move from the second initial position to the second arrival position at the fourth time point.

[0076] As the second plurality of path planning, the CPU 104 or other computers connected via the communication device 108 will search for all possible paths according to the aforementioned conditions and limitations. This may be limited to the paths searched within a predetermined time period or a predetermined number, rather than all possible paths. These paths may also be limited to those that meet a predetermined judgment criterion. The second plurality of path planning may be performed by the same CPU or computer as the first plurality of path planning, or by different CPUs or computers.

[0077] For example, when t0 is the fourth time point, t16 is the fifth time point, c6 is the second initial position, and c50 is the second arrival position, path D satisfies the aforementioned conditions and restrictions, and is therefore a feasible path.

[0078] Next, in step 410, a location not included in the second plurality of path plans is determined for each time point. This location is not included in any location corresponding to, for example, a cell or group of cells not included in any path at any time point determined in step 408.

[0079] Next, at step 412, at a sixth time point, at least one second moving position is determined, which must exclude the position to which the first moving object can move after a predetermined time from the sixth time point, and the position is not included in any of the second plurality of path plans.

[0080] The sixth time point can be any time point between the fourth time point and the fifth time point. The sixth time point can be represented as a time after a predetermined unit of time has elapsed since the fourth time point t0, for example, t1 after one step or t2 after two steps.

[0081] Determine at least one second moving position, excluding those positions that are available for a second moving object to move after a predetermined time since the sixth time point and are not included in any of the plurality of second path plans.

[0082] In this way, when multiple moving objects cannot coexist in the same cell, it can be determined that the second moving position does not include the first moving position.

[0083] In addition, in order to prevent unintended contact due to the presence of multiple moving objects in adjacent cells, it can be determined that the second moving position does not include any position within a predetermined range from the first moving position.

[0084] For example, when t0 is the fourth time point, t16 is the fifth time point, c6 is the second initial position, and c50 is the second arrival position, and t7 is the sixth time point, then cells c11 and c17 are the movable positions of the second moving object, respectively. However, if cell c11 is not included in any of the second plurality of path plans, then cell c11 is not determined as the second moving position, and no path through cell c11 is searched at t7 and thereafter.

[0085] This would suggest that in the already determined second multiple path planning, the path through cell c11 at time t7 cannot reach cell c50 at time t16, so there is no need to perform subsequent path searching (after t8). However, it should be noted that if the second multiple path planning includes all possible paths, or includes a path that has been searched over a longer period of time, or a larger number of paths, then there may still be a path that can reach cell c50 at time t16.

[0086] Furthermore, since cell c11 is not determined as the second move position, the path through cell c11 in t7 will not be searched, thus reducing the computational workload of path search, terminating the operation early, or allowing more paths to be searched.

[0087] In this way, a path can be searched step by step until a predetermined termination condition is met, such as reaching a target location, the end of a predetermined time, or the completion of a predetermined number of paths. By searching for a location that can be moved in one step at any time, and then searching for a location that can be moved in two steps from the locations that can be moved in one step.

[0088] The path can be a step-by-step search until the initial position is reached, a predetermined time is completed, or a predetermined number of paths are searched, and a position that can be moved in one step can be searched at any time, and a position that can be moved in two steps can be searched from the position that can be moved in one step.

[0089] In addition, the path search can be performed at any time from any location, or it can be performed simultaneously from multiple locations at multiple time points.

[0090] Next, in step 414, when the path search meets a predetermined termination condition, the path planning and search method 400 according to this embodiment of the technology ends.

[0091] In the embodiment shown in Figure 3, if no path plan is found after searching all possible paths in step 308, no path plan is found after performing a predetermined number of path searches within a predetermined time, or no path plan is found after performing path searches that meet other predetermined conditions, it can be determined that no path plan can be found to make the first moving object appear at the first arrival position at the second time point. At this time, a path plan can be searched by increasing or decreasing a predetermined time at the second time point.

[0092] In this case, the magnitude of the increase or decrease in time can be set within a predetermined range.

[0093] When a path planning search is performed by adding or subtracting a second time point over a predetermined time, a plurality of third path plans can be determined to allow the first moving object to move from the first initial position to a first arrival position at the first time point at a seventh time point. The seventh time point is obtained by adding or subtracting the predetermined time to the second time point and can be represented by a pairing of a time and a position. Positions not included in any third path plan can be determined, and at an eighth time point between the first time point and the seventh time point, at least one first moving position can be determined that excludes the aforementioned positions not included in any third path plan and that the first moving object can reach after a predetermined time from the eighth time point.

[0094] As shown in Figure 3, in this embodiment, if no path plan is found after searching all possible paths in step 308, no path plan is found after performing a predetermined number of path searches within a predetermined time, or no path plan is found after performing a path search that meets other predetermined conditions, it can be determined that if the first moving object appears at the first initial position at the first time point, a path plan for moving to a first arrival position at the second time point cannot be found. In this case, a path plan can be searched by increasing or decreasing a predetermined time at the first time point.

[0095] In this case, the time for the increase or decrease can be set within a predetermined range.

[0096] When the first time point is increased or decreased by a predetermined time for path planning, a plurality of fourth path plans can be determined, enabling the first moving object to move from the first initial position to the first arrival position at the second time point at a ninth time point after the predetermined time increase or decrease from the first time point, and can be represented by a pair of time and position. Positions not included in any of the fourth path plans at each time point can be determined, and at least one first moving position can be identified. The first moving position excludes positions not included in any of the fourth path plans, and the first moving object can move to the first moving position after a predetermined time from the tenth time point. The at least one first moving position can be determined at the tenth time point between the ninth time point and the second time point.

[0097] Furthermore, the increase or decrease of the second time point mentioned above can be combined with the increase or decrease of the first time point.

[0098] A path planning search method using local regions is used. Figure 5 illustrates a path planning search method using local regions according to an embodiment of the present technology.

[0099] A path planning and search method 500 using a local region according to an embodiment of the present technology begins at step 502. In step 504, CPU 104 determines a movable region in which the moving object v1 can move.

[0100] The movable area can be a range in which the moving object v1 can be physically moved, or it can be a range that is predetermined to be movable. For example, in Figure 2, all cells in the 8-cell × 11-cell area that are assigned characters and numbers can be set as the movable range, or only a part of it can be set as the movable range.

[0101] Next, in step 506, the CPU 104 determines a size of a local region. This local region may be smaller than the movable region and may contain a plurality of cells. For example, in Figure 2, a rectangular region of 3 cells × 3 cells may be set as the local region, or a rectangular region of 3 cells × 4 cells may be set as the local region. Alternatively, a region containing cells within a circle centered at the local position and with a predetermined radius may be set as the local region. The size of this local region may be determined based on the space complexity of the CPU 104.

[0102] Next, in step 508, the CPU 104 determines a starting position of the moving object v1 at time point t0, and an arrival position that the moving object v1 needs to move to. For example, in Figure 2, the moving object v1 may be located at the starting position cell c5 at time point t0, and move to the arrival position cell c49.

[0103] Next, in step 510, at a second time point later than the first time point, a second local region centered on a second position within the movable area is determined. For example, in Figure 6, at time point t1, cells c4, c5, c6, c12, c13, and c14 surrounded by the rectangular area L1 of 3 cells × 3 cells centered on cell c5 can be set as the second local region. The second time point can be represented as a time point after an integer multiple of a predetermined unit of time from the first time point.

[0104] Next, in step 512, at any position in the second local region, a direction of movement and a distance of movement from that position to a third time point later than the second time point are determined. For example, in Figure 4, from time point t1 to time point t2, it can be determined that the moving object v1 will move one cell from c4 along the negative x-axis, one cell from c5 along the negative x-axis, one cell from c6 along the negative x-axis, one cell from c12 along the positive x-axis, one cell from c13 along the positive x-axis, and one cell from c14 along the negative y-axis (or one cell from c14 along the positive x-axis). The direction of movement and the distance of movement can be determined by calculating any combination of the direction of movement and the distance of movement within each cell. The third time point can be represented as a time point reached after an integer multiple of a predetermined unit of time from the second time point.

[0105] Next, in step 514, at a third time point, a third local region centered on a third position is determined within the movable area. For example, in Figure 5, cells c3, c4, c5, c11, c12, c13, and c18, which are centered on cell c12, surrounded by a rectangular area L2 consisting of 3 cells × 3 cells and marked with dashed lines, can be set as the third local region.

[0106] The third position may be determined from any position within the second local area at the third time point based on a movement direction and a movement distance. For example, the third position may be the midpoint or geometric center of all movement positions calculated based on the movement direction and the movement distance in each cell, or a cell containing the midpoint or geometric center.

[0107] In this way, the local area can be set, and the path plan can be searched within the local area as the local area moves over time. A plurality of third locations can also be set, and a search can be performed for each of the third locations.

[0108] Then, in step 516, the path planning search method 500 ends.

[0109] In the path planning search method using local regions, in addition to the method described in Figure 5, the path plan can also be searched in the direction of time reversal as shown in Figure 8.

[0110] Figure 8 illustrates a path planning search method using a local area according to another embodiment of the present technology.

[0111] The path planning and search method 800 according to another embodiment of the present technology begins at step 802. At step 804, at a fourth time point later than the third time point, a fourth local region centered on a fourth location within the movable area is determined. For example, in Figure 9, at time point t3, cells c2, c3, c4, c10, c11, c12, c17, and c18 surrounded by a 3-cell × 3-cell rectangular area L3 centered on cell c11 can be considered as the fourth local region. This fourth time point can be represented as a time point after an integer multiple of a predetermined unit of time from the third time point.

[0112] Next, in step 806, for any position within the fourth local area, the direction of movement and the distance of movement from that position to the third time point are determined. For example, in Figure 9, from time point t2 to time point t3, it can be determined that the moving object v1 moves 1 cell from c3 along the negative x-axis to c2, from c4 along the negative x-axis to c3, from c5 along the negative x-axis to c4, from c9 along the positive x-axis to c10, from c10 along the positive x-axis to c11, from c11 along the positive x-axis to c12, from c10 along the negative y-axis to c17, and then from c23 along the negative y-axis to c18. The direction of movement and the distance of movement can be determined based on the movable direction and movable distance of each cell, and calculated for any combination.

[0113] Next, in step 808, at the third time point, a path that matches the movement position determined at the third time point from any location in the second local area and the movement position determined at the third time point from any location in the fourth local area is stored as a path planning candidate. When there is a position at the third time point such that the movement path from the second time point to the third time point determined in step 512 of FIG5 is connected to the movement path from the third time point to the fourth time point (the movement path from the fourth time point back to the third time point) determined in step 806, a path from the second time point to the fourth time point after the third time point can be established, and this path can be stored in the memory 106 as a path planning candidate. It should be noted that the search here is not a sequential search from the second time point to the third time point and then to the fourth time point in chronological order. Instead, it searches for a path in the forward direction of time starting from the second time point and a path in the reverse direction of time starting from the fourth time point, focusing the search on the local area at the third time point.

[0114] On the other hand, at the third time point, if the movement position at the third time point determined by any position of a path in the second local area does not coincide with the movement position at the third time point determined by any position of a path in the fourth local area, then the path can be excluded from the path planning candidate scheme and deleted from memory 106.

[0115] In this way, the third time point can be set as any time point for the path planning search, and the path planning candidate scheme that is continuous from the starting position to the arrival position at any time point can be set as the final path planning candidate scheme.

[0116] The final path planning candidate should be a path planning that allows the first moving object to appear at the first arrival location at a time no later than any arrival time point in the search of other path planning.

[0117] The final path planning candidate can be a path planning for the first moving object to appear at the arrival location at any time point after the specified arrival time point later than the first time point.

[0118] The final path planning candidate can be a path planning for the first moving object to appear at an arrival position at the specified arrival time later than the first time point.

[0119] Next, in step 810, the path planning search method 800 ends.

[0120] In addition, when it is necessary for the moving object v1 to arrive at the arrival position earlier, or to search for a matching path plan earlier, in addition to the methods described with reference to Figures 5 and 8, the third local region can be redefined in the following manner: (1) At any position within the third local region, determine the direction of movement and the distance of movement from that position to the fourth time point at the third time point. (2) Based on the direction of movement and the distance of movement determined at any position within the third local region, the third local region is redefined. The redefined third local region can be directed towards one or both of the second and fourth local regions.

[0121] The redetering of the third local region can be performed by selecting the third position, such that the sum of the products of the movement direction and the movement distance from each position tends to be smaller, for example, such that the sum of the vectors with the movement direction as the direction and the movement distance as the magnitude from each position tends to be smaller.

[0122] In addition, if it is necessary to make the moving object v1 arrive at or approach the arrival position earlier, the movement of the local area can be advanced in time in the following manner.

[0123] The direction of movement and the distance of movement at at least one location within the fourth local area determined at the third time point are set to be the same as the direction of movement and the distance of movement determined at the second time point. The fourth local area here may include the arrival location.

[0124] On the other hand, when it is necessary to delay the start of the moving object v1 as much as possible, or delay the arrival of the moving object at the arrival position as much as possible, the movement of the local area within the time period can be delayed as described later.

[0125] The direction of movement and the distance of movement determined from at least one location within the second local area at the third time point are determined to be the same as the direction of movement and the distance of movement determined from that location at the fourth time point. Here, the second local area may include the starting location.

[0126] In addition, if it is necessary to further reduce the computational load of path planning search, a location that is not currently included in any path plan can be determined in advance within the movable area, and at least the entire local area can be excluded from the location that is not included in any path plan at that point in time.

[0127] The location not included in any of the above may include a location whose distance is greater than the difference between the current time point and the first time point of the moving object multiplied by the moving speed, for example, a location that the moving object obviously cannot reach at that time point.

[0128] Furthermore, the path search can be performed from any position at any time, or from multiple positions at multiple time points simultaneously.

[0129] In addition, when a path planning needs to be searched for a plurality of moving objects, the above path planning search method can be applied analogously to a second moving object. (1) Determine that a second moving object appears at a second starting position at a first time point, and a second arrival position to which the second moving object needs to move; (2) At a second time point later than the first time point, determine a fifth local region centered on a fifth position within the movable area; (3) At a third time point later than the second time point, determine a direction of movement and a distance of movement from any position within the fifth local region; and (4) At the third time point, determine a sixth local region located within the movable area and centered on a sixth position.

[0130] The path planning and search method according to this embodiment shown in Figures 3 to 5 and Figure 8 can be implemented by CPU 104 and memory 106 using hardware logic, software or a combination thereof.

[0131] [Industry Applicability] According to this technology, efficient path planning can be achieved by reducing the computational load of path search, shortening the time required for path search, and searching for more paths or combinations thereof.

[0132] Furthermore, even if the expansion of the movable object's space leads to an exponential increase in computational load, the computational load of path planning search can still be effectively controlled. [Simplified Explanation of the Diagram]

[0017] Figure 1 illustrates a moving object according to an embodiment of the present technology. Figure 2 is a plan view showing a path along which a plurality of moving objects can move according to an embodiment of the present technology. Figure 3 is a flowchart illustrating a path planning and searching method according to an embodiment of the present technology. Figure 4 is a flowchart illustrating a path planning and searching method for moving a plurality of moving objects according to an embodiment of the present technology. Figure 5 is a flowchart illustrating a path planning and searching method using a local region according to an embodiment of the present technology. Figure 6 is a plan view of a local region according to an embodiment of the present technology. Figure 7 is a plan view of another local region according to an embodiment of the present technology. Figure 8 is a flowchart illustrating another path planning and searching method using a local region according to an embodiment of the present technology. Figure 9 is a plan view of another local region according to an embodiment of the present technology.

Claims

1. A method for searching a path plan by a computer to move a moving object, the path plan being represented by a combination of time and location, the method comprising: A movable area is defined for a first movable object; a size of a local area smaller than the movable area is defined; a first starting position of the first movable object at a first time point is defined, and a first arrival position to which the first movable object needs to move and arrive is defined; a second local area is defined within the movable area, the center of which is located at a second position at a second time point later than the first time point; at any position within the second local area, a direction of movement and a distance of movement from that position at a third time point later than the second time point are defined; and a third local area is defined within the movable area, the center of which is located at a third position at the third time point, wherein the third position is determined from any position within the second local area at the third time point.

2. The method of claim 1, wherein the third position is determined based on a movement direction and a movement distance from any position within the second local region at the third time point, the movement direction and the movement distance being determined at the any position.

3. The method as described in claim 1, wherein the third position includes a midpoint of the movement position at the third time point, which is determined at any position within the second local region.

4. The method as described in claim 1, further comprising: Within the movable area, a fourth local area is defined, the center of which is located at a fourth position at a fourth time point later than the third time point; at any position within the fourth local area, a direction of movement and a distance of movement from that position at the third time point are determined; and a path is stored as a path planning candidate, wherein a movement position determined at any position within the second local area at the third time point coincides with a movement position determined at any position within the fourth local area at the third time point.

5. The method as described in claim 4, wherein determining the third local region further includes: At any location within the third local region, determine the direction and distance of movement of that location from the third time point toward the fourth time point; and based on the direction and distance of movement determined from any location within the third local region, redetermine the third local region.

6. The method as described in claim 5, wherein the third local region is redefined based on the direction of movement and the distance of movement determined from any position within the third local region, and the third position is selected such that the sum of the products of the direction of movement and the distance of movement at each position is smaller.

7. The method as described in claim 4 further includes excluding a path from the path planning candidate, wherein a movement position determined at any location in the second local region at the third time point and a movement position determined at any location in the fourth local region at the third time point do not coincide with each other at the third time point.

8. The method as described in claim 7, wherein at any point in time, a path planning candidate that extends continuously from the first starting position to the first arrival position is set as a final path planning candidate.

9. The method as described in claim 8, wherein the final path planning candidate includes a path plan for the first moving object to appear at the first arrival location at a time no later than the arrival time of any other search path plan.

10. The method as described in claim 1, wherein the final path plan candidate includes a path plan in which the first moving object appears at the first arrival location at any time point later than a specified arrival time point after the first time point.

11. The method as described in claim 1, wherein the final path plan candidate includes a path plan in which the first moving object appears at the first arrival location at a specified arrival time later than the first time point.

12. The method as described in claim 4, wherein the direction of movement and the distance of movement of the position determined from at least one position in the fourth local region at the third time point are determined to be the same as the direction of movement and the distance of movement of the position determined from the position at the second time point.

13. The method as described in claim 12, wherein the fourth local region includes the first arrival location.

14. The method as described in claim 4, wherein the direction of movement and the distance of movement of the position determined from at least one position in the second local area at the third time point are determined to be the same as the direction of movement and the distance of movement of the position determined from the position at the fourth time point.

15. The method as described in claim 14, wherein the second local region includes the first starting location.

16. The method as described in claim 1, further comprising: At each point in time, a location within the movement area that is not included in any of the route plans at that point in time is predetermined; and at least that local area is entirely excluded from any location not included in any of the route plans at that point in time.

17. The method as described in claim 1, wherein the second time point may be represented as a time point after an integer multiple of a predetermined unit time since the first time point.

18. The method as described in claim 1, wherein the movable area can be displayed using two-dimensional coordinates, and the two-dimensional coordinates can be displayed using coarse-grained two-dimensional coordinates.

19. The method as described in claim 1, wherein the movable region can be displayed using three-dimensional coordinates, and the three-dimensional coordinates can be displayed using coarse-grained three-dimensional coordinates.

20. The method as described in claim 1, wherein searching the path plan includes searching from any location at any point in time.

21. The method as described in claim 1, wherein searching the path plan includes searching simultaneously from multiple locations at multiple points in time.

22. The method as described in claim 1, further comprising: At the first time point, a second starting position of a second moving object is determined, as well as a second arrival position to which the second moving object needs to move; at a second time point later than the first time point, a fifth local region within the movable area is determined, centered on a fifth position; at a third time point later than the second time point, and from any position within the fifth local region, a direction of movement and a distance of movement are determined; and at the third time point, a sixth local region within the movable area is determined, centered on a sixth position.

23. The method as described in claim 1, wherein the moving object is an automated transport vehicle capable of transporting an article, and the arrival location includes a location for loading and unloading the article.

24. A processor configured to search a path plan for moving a moving object, the path plan being represented by a combination of a time and a position, the processor configured to perform: determining a movable region in which a first moving object can move; determining a size of a local region smaller than the movable region; determining a first starting position where the first moving object appears at a first time point, and a first arrival position to which the first moving object needs to move and arrive; determining a second local region within the movable region, the center of which is located at a second position at a second time point later than the first time point; determining, at any position within the second local region, a direction of movement and a distance of movement from that position at a third time point later than the second time point; and determining a third local region within the movable region, the center of which is located at a third position at the third time point, wherein the third position is determined from any position within the second local region at the third time point.

25. A computer-readable medium storing a program configured to search a path plan for moving a moving object, the path plan being represented by a combination of a time and a position, the program causing a computer to perform: determining a movable area in which a first moving object can move; determining a size of a local area smaller than the movable area; determining a first starting position where the first moving object appears at a first time point, and a first arrival position to which the first moving object needs to move and arrive; determining a second local area within the movable area, the center of which is located at a second position at a second time point later than the first time point; determining a direction of movement and a distance of movement from any position within the second local area at a third time point later than the second time point; and determining a third local area within the movable area, the center of which is located at a third position at the third time point, wherein the third position is determined from any position within the second local area at the third time point.

26. An automated guided vehicle (AGV) includes a loading platform for carrying an item, a drive mechanism, and a processor configured to perform: determining a movable area in which a first movable object can move; determining a size of a partial area smaller than the movable area; determining a first departure position where the first movable object appears at a first time point, and a first arrival position to which the first movable object needs to move and arrive; determining a second partial area within the movable area, the center of which is located at a second position at a second time point later than the first time point; determining a direction of movement and a distance of movement from any position within the second partial area at a third time point later than the second time point; and determining a third partial area within the movable area, the center of which is located at a third position at the third time point, wherein the third position is determined from any position within the second partial area at the third time point.

27. A transportation system comprising at least one mobile object having a loading platform capable of loading an article and a drive mechanism, and a processor mounted on or capable of communicating with the mobile object, wherein the processor is configured to: determine a movable area in which the first mobile object can move; determine a size of a partial area smaller than the movable area; determine a first departure position where the first mobile object appears at a first time point, and a first arrival position to which the first mobile object needs to move and arrive; determine a second partial area within the movable area, the center of which is located at a second position at a second time point later than the first time point; determine a direction of movement and a distance of movement from any position within the second partial area at a third time point later than the second time point; and determine a third partial area within the movable area, the center of which is located at a third position at the third time point, wherein the third position is determined from any position within the second partial area at the third time point.

Citation Information

Patent Citations

  • Movement control methods for multiple robots and systems thereof

    TWI676090B

  • Robot system and robot control method

    TWI806237B

  • Route planning method for mobile vehicle

    US20200284596A1

  • Method for the orientation, route planning and control of an autonomous mobile unit

    US5793934A