Path planning search method and computing device
By restricting the search for prohibited locations and local areas in path planning, the congestion problem in the path planning of unmanned vehicles is solved, achieving efficient and accurate path search and transportation efficiency.
Patent Information
- Application Number
- CN202480090417.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-23
- Publication Date
- 2026-11-06
AI Technical Summary
When using unmanned vehicles or robots to transport goods, congestion can easily occur during path planning, leading to transportation uncertainty and reduced throughput. This is especially true when there are multiple AGVs, making it difficult to reach the destination accurately within the predetermined time. Furthermore, the computational load is large, making it difficult to search for and optimize the path within a reasonable timeframe.
By determining the initial and final locations of moving objects, restricting prohibited locations in path planning, and progressively searching for paths, the computational load is reduced. A local area search method is used to progressively determine the path plan and avoid traffic congestion.
It effectively reduces the computational load and time of path search, improves the efficiency of path search, ensures that the AGV arrives at its destination accurately within the predetermined time, reduces traffic congestion, and improves transportation efficiency.
Smart Images

Figure CN123057445A_ABST
Abstract
Description
Technical Field
[0001] This technology relates to methods and processors for searching for path planning to move moving objects. Background Technology
[0002] When using unmanned vehicles or unmanned robots (hereinafter, both are collectively referred to as automated guided vehicles or AGVs) to transport goods, parts, products, etc. in warehouses, factories, etc., the movement path of the AGV is pre-calculated and optimized.
[0003] Publication WO2022 / 097460A1 discloses a technique for finding the optimal solution to an optimization problem quickly and efficiently using a simple optimization algorithm. This technique comprises: multiple data generation units; a fluctuation setting unit that supplies fluctuation probabilities to the data generation units, sets the occurrence frequency of the data generated by the data generation units to be non-uniform, and sets the occurrence frequency of a specific variable to a value different from the occurrence frequency of other variables; multiple data conversion units that read the data generated by the data generation units and convert the data into information; an output adjustment unit that sends an output adjustment signal to the data generation units or the output adjustment signal and the fluctuation probability value; and a feedback control unit that repeatedly controls the operation of sending the output adjustment signal to the data generation units or the output adjustment signal and the fluctuation probability value when the optimal solution is not obtained.
[0004] When hundreds or thousands of AGVs are used as the size of warehouses, factories, etc. increases, congestion often occurs between AGVs, transportation planning or processes become uncertain, and the throughput of transportation or production may decrease.
[0005] Existing technical documents
[0006] Patent documents
[0007] Patent Document 1: Booklet WO2022 / 097460
[0008] Patent Document 2: Japanese Patent No. 6029048
[0009] Patent Document 3: Japanese Patent No. 6011928
[0010] Patent Document 4: Japanese Patent Application Publication No. 2015-184829
[0011] Patent Document 5: Japanese Patent Application Publication No. 2019-198902
[0012] Patent Document 6: Japanese Patent Application Publication No. 2019-198903
[0013] Patent Document 7: Booklet WO2019 / 017412
[0014] Patent Document 8: Japanese Patent Application Publication No. 2018-166194
[0015] Non-patent literature
[0016] Non-patent literature 1: M. Aono et al., Proceedings of NOLTA 2012, 586-589 (2012)
[0017] Non-Patent Literature 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).
[0018] Non-patent literature 3: Ryo WAKAMIYA, Seiya KASAI, Masashi AONO, Makoto NARUSE, Hiroyoshi MIWA, "Electronic circuit implementation of amoeba-inspired solutionsearch algorithm for optimization problems", IEICE Technical Report 114 (442), pp.81-85 (2015)
[0019] Non-patent literature 4: AH Ngoc Nguyen, M. Aono, Y. Hara-Azumi, “FPGA-Basedamoeba-inspired SAT solver for cyber-physical systems”, ACM / IEEE International Conference on Cyber-Physical Systems (ICCPS), 316-317 (2019).
[0020] Material 5: AH Ngoc Nguyen、M. Aono、Y. Hara-Azumi,“FPGA-basedhardware / software co-design of a bio-inspired SAT solver,”IEEE Access,DOI:10.1109 / ACCESS.2020.2980008(2020)
[0021] Manufacturer 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”,FPT2021:1-5(2021)
[0022] Empty Range 7:P. Huang、K. Wei、H. Amano、K. Ohkoda、Mr. Aono,ImplementingMulti Agent Path Finding Algorithm for Smart Factory on a Multi-FPGA system,IEICE Technical Report(Web),174(RECONF2022 26-41),pp.17-18(2022)
[0023] Empty Range 8:P. Huang、K. Wei、H. Amano、K. Ohkoda、Mr. Aono,Multi-boardFPGA Implementation to Solve the Satisfiability Problem for Multi-Agent PathFinding in Smart Factory,2022 Tenth International Symposium on Computing andNetworking Workshops(CANDAR),pp.406-410(2022)
[0024] 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)
[0025] Non-Patent Document 10: N. Takeuchi, M. Aono, Y. Hara-Azumi and C. L. Ayala, "A Circuit-Level Amoeba-Inspired SAT Solver", IEEE Transactions on Circuits and Systems II: Express Briefs, vol. 67, no. 10, pp. 2139-2143 (2020)
[0026] 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)
[0027] 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)
[0028] Non-patent literature 13: L. Zhu, S.-J. Kim, M. Hara, M. Aono, "Remarkable problem-solving ability of unicellular amoeboid organism and its mechanism", RoyalSociety Open Science 5: 180396 (2018)
[0029] Non-patent literature 14: Saito, Kasai, Aono et al., The Society of Applied Physics, Poster Presentation (2019).
[0030] Non-patent literature 15: K. Saito, M. Aono, S. Kasai, "Amoeba-inspired analogelectronic computing system integrating resistance crossbar for solving the traveling salesman problem", Scientific Reports 10, 20772 (2020)
[0031] Non-patent literature 16: M. Aono, “Amoeba-inspired combinatorial optimization machines”, Japanese Journal of Applied Physics 59, 060502, (2020) Summary of the Invention
[0032] Technical issues
[0033] The goal is to provide methods and processors for searching path planning to minimize congestion caused by traffic concentrations such as loading / unloading of goods, waiting due to early arrivals, and even path merging when many AGVs are used.
[0034] The goal is to provide methods and processors that can reduce the computational cost of path search, shorten the time required for path search, search more paths, or a combination thereof when determining path planning.
[0035] When searching for routes in a timely manner within a predetermined time during the route planning process, traffic congestion may occur at or near the destination of cargo loading or unloading.
[0036] In addition, traffic congestion can cause delays in AGVs that are transporting goods to their destinations with high priority or urgency.
[0037] In addition, there are cases where the arrival time and order of goods are specified in advance.
[0038] The goal is to eliminate or reduce traffic congestion caused by AGVs and to transport necessary goods at the required time.
[0039] When determining route planning, it is expected that the search will find a route that will arrive at the predetermined time precisely.
[0040] Furthermore, as the space a moving object can traverse increases, the computational cost of path planning increases exponentially, making it difficult to find a path plan within a reasonable timeframe. Even under these circumstances, a method to control the computational cost of path planning is needed.
[0041] The aim is to provide a method that can efficiently search for better path plans even when the computational cost of searching for path planning is reduced.
[0042] Solution to the problem
[0043] This technology includes, for example, a method for searching path plans by a computer to move a mobile object, the method comprising the steps of: determining a first initial position at a first time when the first mobile object capable of moving at a first speed appears at a first time and a first arrival position at a second time later than the first time; determining a first plurality of path plans that allow the first mobile object to move from the first initial position at the first time to the first arrival position at the second time, the first plurality of path plans being representable by pairs of time and position; determining a position at each time not included in any of the first plurality of path plans; and determining at least one first movement position at a third time between the first time and the second time, the first movement position being a position that the first mobile object can move to after a predetermined time elapsed from the third time, the first movement position excluding positions not included in any of the first plurality of path plans. Attached Figure Description
[0044] [ Figure 1 This illustrates a moving object according to an embodiment of the present technology.
[0045] [ Figure 2 [Illustration] is a plan view showing the path along which multiple moving objects can move according to an embodiment of the present technology.
[0046] [ Figure 3[Illustration 1] is a flowchart illustrating a path planning search method according to an embodiment of the present technology.
[0047] [ Figure 4 [ ] is a flowchart illustrating a path planning search method for moving multiple moving objects according to an embodiment of the present technology.
[0048] [ Figure 5 [Illustration] is a flowchart illustrating a path planning search method using a local region according to an embodiment of the present technology.
[0049] [ Figure 6 [Illustration 1] is a plan view showing a partial area according to an embodiment of the present technology.
[0050] [ Figure 7 [ ] is a plan view showing another partial area according to an embodiment of the present technology.
[0051] [ Figure 8 [ ] is a flowchart illustrating another path planning search method using local regions according to an embodiment of the present technology.
[0052] [ Figure 9 [ ] is a plan view showing another partial area according to an embodiment of the present technology. Detailed Implementation
[0053] Figure 1 A movable object 100 according to an embodiment of the present technology is shown.
[0054] The moving 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 a lidar sensor 116. The moving object 100 may be an automated transport vehicle capable of transporting items, a wafer transport robot, a glass transport robot, an AGV, or an autonomous mobile robot (AMR) used in a transport system.
[0055] The position sensor 102 can be a Global Positioning System (GPS), beacon, Bluetooth, RFID, camera, etc.
[0056] CPU 104 executes instructions executable by a computer and can be a general-purpose processor or a special-purpose processor. A special-purpose processor can be, for example, the control unit of a hybrid optimal solution calculation system described in WO2022 / 097460.
[0057] The memory 106 may be volatile (e.g., register, cache, RAM), non-volatile (e.g., ROM, EEPROM, flash memory), or a combination thereof.
[0058] The communication device 108 may be a wired communication device or a wireless communication device, and may be communicatively connected to another computer via a network (not shown) configured by 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).
[0059] I / O device 110 may be a keyboard, touch screen, display or a combination thereof, and may be coupled to mobile object 100 via wired or wireless communication.
[0060] The drive mechanism 112 can be a combination of a motor and wheels.
[0061] The loading platform 114 can be a platform for manually loading products or parts, or it can be a platform for automatically loading products or parts by using a conveyor or elevator.
[0062] The lidar (optical detection and ranging) sensor 116 can be an optical phase solid-state lidar sensor, a MEMS solid-state lidar sensor, or a mechanical rotating lidar sensor.
[0063] Figure 2 A path in the xy plane is shown, along which multiple moving objects according to embodiments of this technology can move.
[0064] A movable path can be a path suitable for a unidirectional transport track. A movable path can be a path that can move in two directions or in a free direction. Furthermore, a movable path can be a plane or space that can be displayed in two-dimensional coordinates. Two-dimensional coordinates can be displayed as coarse-grained two-dimensional coordinates. Coarse-grained two-dimensional coordinates can be, for example, cells that can be represented as squares on a plane. By simplifying three-dimensional space, coarse-grained two-dimensional coordinates can be represented as a plane.
[0065] A movable path can be a space that can be displayed in three-dimensional coordinates. These three-dimensional coordinates can be displayed as coarse-grained three-dimensional coordinates. Coarse-grained three-dimensional coordinates can be, for example, units that can be represented as cubes in three-dimensional space.
[0066] exist Figure 2 In this context, the combination of characters and numbers is assigned to cells that indicate the location where a single moving object can pass through or stop at a specific time, and it is assumed that multiple moving objects cannot appear in the same cell at the same time.
[0067] Figure 2 The arrow in each cell indicates the possible direction of the next movement. In this embodiment, for example, the moving object can move according to the following constraints.
[0068] (1) A moving object (not shown) can move in one direction, or it can move on either of the two branches from each unit. Figure 2 In cell c1, movement to cell c9 is possible, but movement to cell c2 is not possible. In cell c10, movement to cell c11 or cell c17 is possible, but movement to cell c9 is not possible.
[0069] (2) The moving object can move at a predetermined speed in the direction indicated by the arrow of the unit, and can move to an adjacent unit every unit time.
[0070] (3) A moving object can move to an adjacent cell in a specified direction, or it can stop at the same cell during the elapsed time of a unit (hereinafter also referred to as a step).
[0071] For example, at an initial time t0, there is a moving object v1 in cell c5 and a moving object v2 in cell c6. These moving objects are moved such that at time t16 (>t0), moving object v1 exists in cell c49 and moving object v2 exists in cell c50.
[0072] Reference Figure 1 The moving object v1 (not shown) can move to cell 4 (c4) after one step at t1, and can move to cell 3 (c3) after two steps at t2. In this way, after 16 steps, it can move at t16 through cells 2, 1, 9, 10, 11, 12, 13, 14, 19, 26, 25, 33, 41 to cell 49 (c49). The path planning of the moving object v1 can be represented as a path A of time and location pairs.
[0073] Path A
[0074] (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)
[0075] The path planning for the moving object v1 can be a different path than path A, as shown in path B below. In this case, the moving object v1 passes through the same cell multiple times.
[0076] Path B
[0077] (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), (t 17,c4), (t18,c3), (t19,c2), (t20,c1), (t21,c9), (t22,c10), (t23,c11), (t24,c12), (t2 5, c13), (t26, c14), (t27, c19), (t28, c26), (t29, c25), (t30, c33), (t31, c41), (t32, c49)
[0078] Furthermore, the path planning for the moving object v1 can include pauses as shown in path C below. In this case, the moving object v1 pauses in cell c14 for one step elapsed time and in cell c49 for three steps elapsed time.
[0079] Path C
[0080] (t0, c5), (t1, c4), (t2, c3), (t3, c2), (t4, c1), (t5, c9), (t6, c10), (t7, c11), (t8, c12), (t9, c13), (t10, c14), (t 11,c14), (t12,c19), (t13,c26), (t14,c25), (t15,c33), (t16,c41), (t17,c49), (t18,c49), (t19,c49), (t20,c49)
[0081] Similarly, the moving object v2 (not shown) can move to cell c5 after one step at t1, and can move to cell c4 after two steps at t2. In this way, after 16 steps, it can move at t16 through cells c3, c2, c1, c9, c10, c11, c12, c13, c14, c19, c26, c34, c42 to cell c50. The path planning of the moving object v2 can be represented as a path D of time and location pairs.
[0082] Path D
[0083] (t0, c6), (t1, c5), (t2, c4), (t3, c3), (t4, c2), (t5, c1), (t6, c9), (t7, c10), (t8, c11), (t 9, c12), (t10, c13), (t11, c14), (t12, c19), (t13, c26), (t14, c34), (t15, c42), (t16, c50)
[0084] Figure 3 A path planning search method according to an embodiment of the present technology is shown.
[0085] According to the path planning search method 300 of the present invention, the process begins at step 302. In step 304, a first initial position is determined where a first moving object v1 capable of moving at a first speed appears at a first moment. The first initial position can be determined by the CPU based on position information identified by the position sensor 102 of the first moving object v1. The first initial position can be pre-input by the I / O device 110 or via the communication device 108. The first speed can be the normal moving speed of the first moving object v1, its maximum speed, or an average speed considering acceleration and deceleration.
[0086] Next, in step 306, a first arrival location is determined where the first moving object v1 appears at a second time later than the first time. This first arrival location can be pre-input by the I / O device 110 or via the communication device 108. The arrival location can be the location where the moving object v1 loads or unloads items.
[0087] Next, in step 308, a first plurality of path plans are determined, wherein the first moving object v1 can move from a first initial position at a first time to a first arrival position at a second time.
[0088] As a first multiple path planning, CPU 104 or other computers connected to the network via communication device 108 search for all possible paths that can be adopted based on the above conditions and constraints. Instead of all possible paths, these can be paths searched within a predetermined time or a predetermined number of paths. These paths can be paths that have already been searched and meet predetermined criteria.
[0089] For example, when t0 is the first time, t20 is the second time, c5 is the first initial position, and c49 is the first arrival position, paths A and C satisfy the above conditions and constraints, and can be adopted paths respectively.
[0090] On the other hand, since path B is not allowed to be the first arrival position c49 at the second time t20, it does not meet the above conditions and restrictions and cannot be one of the possible paths.
[0091] Path planning can be defined as restricting the movement of the first moving object to a path such that, for example, path B, the arrival time at the first destination can be later.
[0092] Additionally, when the movement range of the first moving object exceeds a predetermined value, such as when the passed unit is far from the arrival position, movement towards the first moving position can be restricted. For example, restricting movement towards the first moving position may include searching to reduce the probability of moving to the first moving position.
[0093] Next, in step 310, the positions that are not included in any of the first plurality of path plans at each time are determined. A position not included in any path corresponds, for example, to a unit or group of units that are not included in any path at any time as determined in step 308.
[0094] Locations not included in any of the above can include locations with a distance longer than the product of the difference between the time and the first time and the speed of the first moving object, for example, locations that the first moving object obviously cannot reach at that time.
[0095] Similarly, a location not included in either of the two times can also include a location with a distance longer than the product of the difference between the time and the second time and the speed of the first moving object, for example, a location where it is clear that the first moving object cannot reach the first arrival position at the second time.
[0096] Locations not included in any of the above locations may include the first arrival location itself at this time, in order to prevent arriving earlier than required and the resulting traffic congestion.
[0097] Next, in step 312, at least one first moving position is determined at a third time, excluding positions that are positions that the first moving object can move to after a predetermined time has elapsed from the third time, and which are not included in any of the first plurality of path plans.
[0098] The third time can be any time between the first and second times. The third time can be represented as a time after a predetermined multiple of a unit of time starting from the first time t0, for example, t1 after one step and t2 after two steps.
[0099] Determine at least one first moving position, excluding positions that the first moving object can move to after a predetermined time has elapsed from the third time, and which are not included in any of the plurality of first path plans.
[0100] For example, when the first time is t0, the second time is t20, the first initial position is c5, the first arrival position is c49, and the third time is t6, each unit c11, c1 is a position that the first moving object can move to. However, if unit c11 is a position not included in any of the first plurality of path plans, then unit c11 is not determined as the first moving position, and no path through unit c11 is searched at or after t6.
[0101] This may indicate that in the first set of multiple path plans identified, the path passing through cell c11 at time t6 cannot reach cell c49 at time t20, and no further path search is needed (after t7). However, it should be noted that if the first multiple path plan includes all possible paths, or if the first multiple path plan includes paths that have already been searched over a longer period of time or includes a large number of paths, then there may exist a path that can reach cell c49 at time t20.
[0102] Furthermore, since cell c11 is not determined as the first moving position, and therefore no path is searched through cell c11 at t6, the computational cost of path search can be reduced, the calculation can be terminated earlier, or more paths can be searched.
[0103] In this way, by searching for a position that can be moved to after one step at any time, and then searching for a position that can be moved to after two steps from the position that can be moved to after one step, a path can be searched step by step until a predetermined termination condition is met, such as until the destination position is reached, until a predetermined time has elapsed, or until a predetermined number of paths have been searched.
[0104] The path can be searched step by step until the initial position is reached, a predetermined time has elapsed, or a predetermined number of paths have been searched. This allows for searching a position that could have been moved one step before at any time, and for searching a position that could have been moved two steps before from a position that could have been moved one step before.
[0105] Furthermore, path searches can be performed at any time from any location, or simultaneously and in parallel from multiple locations at multiple times.
[0106] Next, in step 314, the path search meets the predetermined termination condition, and the path planning search method 300 according to the embodiment of this technology ends.
[0107] Figure 4 A path planning search method for moving multiple moving objects according to an embodiment of the present technology is shown.
[0108] The path planning search method 400 according to the embodiments of this technology can be combined with... Figure 3The path planning search method 300 described herein may be implemented in combination with or independently of the path planning search method.
[0109] According to the implementation of this technology, the path planning search method 400 starts at step 402 and determines at step 404 the second initial position where the second moving object v2, which is capable of moving at a second speed, appears at a fourth time.
[0110] The fourth time can be the same as or different from the first time.
[0111] The second initial position can be determined by the CPU 104 based on position information identified by the position sensor 102 of the second moving object v2. The second initial position can be pre-input by the I / O device 110 or via the communication device 108. The second speed can be the normal moving speed, maximum speed, or average speed taking into account 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.
[0112] Subsequently, in step 406, a second arrival position is determined where the second moving object v2 appears at a fifth time later than the third time. The second arrival position can be pre-input by the I / O device 110 or via the communication device 108.
[0113] The fifth time may be the same as or different from the second time.
[0114] Next, in step 408, multiple second path plans are determined, wherein the second moving object v2 can move from the second initial position at the fourth time to the second arrival position at the fifth time.
[0115] As a second plurality of path planning, CPU 104 or other computers connected via communication device 108 search for all possible paths that can be taken based on the aforementioned conditions and constraints. Instead of all possible paths, these can be paths searched within a predetermined time or a predetermined number of paths. These paths can be paths that have already been searched and meet predetermined criteria. The second plurality of path planning can be performed by the same CPU or computer as the first plurality of path planning, or it can be performed by different CPUs or computers.
[0116] For example, when t0 is the fourth time, t16 is the fifth time, c6 is the second initial position, and c50 is the second arrival position, path D satisfies the above conditions and constraints, and can be an acceptable path.
[0117] Next, in step 410, the positions that are not included in any of the second plurality of path plans at each time are determined. A position not included in any path corresponds, for example, to a unit or group of units that are not included in any path at any time as determined in step 408.
[0118] Next, in step 412, at least one second moving position is determined at the sixth time, excluding positions that are positions that the second moving object can move to after a predetermined time has elapsed from the sixth time, and positions that are not included in any of the second plurality of path plans.
[0119] The sixth time can be any time between the fourth and fifth times. The sixth time can be represented as a time after a predetermined multiple of a unit of time starting from the fourth time t0, for example, t1 after one step and t2 after two steps.
[0120] Determine at least one second moving position, excluding positions that the second moving object can move to after a predetermined time has elapsed from the sixth time, and which are not included in any of the plurality of second path plans.
[0121] If multiple moving objects cannot exist within the same unit, the second moving position can be determined to exclude the first moving position.
[0122] In addition, to prevent unintentional contact due to the presence of multiple moving objects in adjacent units, the second moving position can be determined as a position not included within a predetermined range from the first moving position.
[0123] For example, as described above, when t0 is the fourth time, t16 is the fifth time, c6 is the second initial position, and c50 is the second arrival position, when t7 is the sixth time, units c11 and c17 are the positions that the second moving object can move to. However, if unit c11 is a position not included in any of the second plurality of path plans, then unit c11 is not determined as the second moving position, and no path through unit c11 is searched at or after t7.
[0124] This may indicate that in the determined second multiple path planning, the path passing through cell c11 at time t7 cannot reach cell c50 at time t16, and no further path search is needed (after t8). However, it should be noted that if the second multiple path planning includes all possible paths, or includes paths that have already been searched over a longer period of time, or includes a large number of paths, then there may exist a path that can reach cell c50 at time t16.
[0125] Furthermore, since cell c11 was not determined as the second moving position, and therefore no path was searched through cell c11 at t7, the computational cost of path search can be reduced, the calculation can be terminated earlier, or more paths can be searched.
[0126] In this way, by searching for a position that can be moved to after one step at any time, and then searching for a position that can be moved to after two steps from the position that can be moved to after one step, a path can be searched step by step until a predetermined termination condition is met, such as until the destination is reached, until a predetermined time has elapsed, or until a predetermined number of paths have been searched.
[0127] The path can be searched step by step until the initial position is reached, a predetermined time has elapsed, or a predetermined number of paths have been searched. This allows for searching a position that could have been moved one step before at any time, and for searching a position that could have been moved two steps before from a position that could have been moved one step before.
[0128] Furthermore, path searches can be performed at any time from any location, or simultaneously and in parallel from multiple locations at multiple times.
[0129] Next, in step 414, the path search meets the predetermined termination condition, and the path planning search method 400 according to the embodiment of this technology ends.
[0130] exist Figure 3 In the embodiment shown, when no path plan is found as a result of searching all possible paths in step 308, as a result of performing a predetermined number of path searches within a predetermined time, or as a result of performing path searches that meet other predetermined criteria, it can be determined that no path plan has been found for the first moving object to appear at the first arrival position at the second time, and a path plan can be searched by increasing or decreasing the second time by a predetermined time.
[0131] In this case, the time used for increasing or decreasing can be set within a predetermined range.
[0132] When searching for a path plan by adding or subtracting a predetermined time from the second time, multiple third path plans can be determined that allow the first moving object to move from a first initial position at the first time to a first arrival position at the seventh time. These third path plans are obtained by adding or subtracting a predetermined time from the second time and can be represented by pairs of time and position. Positions not included in any third path plan at each time can be determined, and at least one first moving position excluding positions not included in any third path plan can be determined at an eighth time between the first and seventh times. After a predetermined time has elapsed from the eighth time, the first moving object can move at the first moving position.
[0133] exist Figure 3In the embodiment shown, when no path plan is found as a result of searching all possible paths in step 308, as a result of performing a predetermined number of path searches within a predetermined time, or as a result of performing path searches that meet other predetermined criteria, if the first moving object appears at the first initial position at the first time, it can be determined that no path plan can be found to move to the first arrival position at the second time, and a path plan can be searched by increasing or decreasing the first time by a predetermined time.
[0134] In this case, the time used for increasing or decreasing can be set within a predetermined range.
[0135] When searching for a path plan by adding or subtracting a predetermined time from the first time, multiple fourth path plans can be determined that enable the first moving object to move from the first initial position to the first arrival position at the second time at the ninth time when the predetermined time is added or subtracted from the first time, and can be represented by a pair of time and position. Positions not included in any fourth path plan at each time can be determined, and at least one first moving position can be determined at the tenth time between the ninth time and the second time, excluding positions not included in any fourth path plan and positions that the first moving object can move to after a predetermined time has elapsed from the tenth time.
[0136] In addition, the above-mentioned increase or decrease in the second time and increase or decrease in the first time can be combined.
[0137] Using local region path planning search methods
[0138] Figure 5 A path planning search method using local regions according to an embodiment of the present technology is illustrated.
[0139] According to an embodiment of this technology, the path planning search method 500 using a local region begins in step 502. In step 504, the CPU 104 determines the movable region in which the moving object v1 can move.
[0140] The movable area that the moving object v1 can move within can be the range that the moving object v1 can physically move within, or it can be a range that is predetermined to be movable. For example, in Figure 2 In this context, you can set all the cells containing characters and numbers in an 8-cell × 11-cell area as movable ranges, or you can set a portion of them as movable ranges.
[0141] Next, in step 506, the CPU 104 determines the size of the local region. This local region may be smaller than the movable region and may include multiple units. For example, in Figure 2In this context, a rectangular region of 3 units × 3 units can be designated as a local region, or a rectangular region of 3 units × 4 units can be designated as a local region. Alternatively, a region comprising units can be designated as a local region, wherein the units are contained within a circle having a predetermined radius from the center. The size of the local region can be determined based on the space complexity of the CPU 104.
[0142] Subsequently, in step 508, CPU 104 determines the starting position of the moving object v1 at time t0 and the destination position reached by the moving object v1. For example, in Figure 2 In this process, the moving object v1 can appear in the starting position unit c5 at time t0 and can move to the arrival position unit c49.
[0143] Next, in step 510, a second local region centered on the second location within the movable region is determined at a second time later than the first time. For example, in Figure 6 In the first part, at time t1, cells c4, c5, c6, c12, c13, and c14, which are surrounded by a rectangular region L1 consisting of 3 cells × 3 cells centered on cell c5, can be designated as the second local region. The second time can be expressed as the time after a predetermined multiple of a time period from the first time.
[0144] Next, in step 512, at any location in the second local region, the direction and distance of movement from that location at a third time later than the second time are determined. For example, in Figure 4 In the diagram, from time t1 to time t2, the moving object v1 can be determined to move one unit in the negative x-axis direction from c4, one unit in the negative x-axis direction from c5, one unit in the negative x-axis direction from c6, one unit in the positive x-axis direction from c12, one unit in the positive x-axis direction from c13, and one unit in the negative y-axis direction from c14 (or one unit in the positive x-axis direction from c14). The direction and distance of movement can be calculated for any combination based on the direction and distance of movement within each unit. The third time can be represented as the time after a predetermined multiple of a time interval from the second time.
[0145] Next, in step 514, a third local region is determined within the movable region and centered at a third location at a third time. For example, in Figure 5 In the diagram, units c3, c4, c5, c11, c12, c13, and c18 can be set as a third local region. Units c3, c4, c5, c11, c12, c13, and c18 are surrounded by a rectangular region L2 consisting of 3 units × 3 units centered on unit c12, and are enclosed by a dashed line.
[0146] The third position can be determined based on the direction and distance of movement from any position in the second local region at a third time, as determined at any other location. For example, the third position could be the midpoint or geometric center of all movement positions calculated based on the direction and distance of movement in each cell, or a cell that includes the midpoint or geometric center.
[0147] In this way, a local region can be defined, and path planning can be searched within the scope of the local region, while the local region moves over time. Alternatively, multiple third locations can be defined, and a search can be performed on each of the third locations.
[0148] Next, in step 516, the path planning search method 500 ends.
[0149] In using local region path planning search methods, in addition to referring to Figure 5 In addition to the methods described, other methods can also be used in, for example... Figure 8 The search path planning is shown in the direction of the time return.
[0150] Figure 8 Another path planning search method using local regions is shown according to another embodiment of the present technology.
[0151] According to another embodiment of the present technology, the path planning search method 800 begins at step 802. In step 804, at a fourth time later than the third time, a fourth local region centered on the fourth location within the movable area is determined. For example, in... Figure 9 In the context of time t3, cells c2, c3, c4, c10, c11, c12, c17, and c18, which are surrounded by a rectangular region L3 consisting of 3 cells × 3 cells centered on cell c11, can be considered the fourth local region. The fourth time can be represented as the time after a predetermined multiple of a time period from the third time.
[0152] Next, in step 806, at any location in the fourth local region, the direction and distance of movement from that location at the third time are determined. For example, in Figure 9In the diagram, from time t2 to time t3, the movement of object v1 from c3 to c2 can be determined by moving one unit in the negative x-axis direction, from c4 to c3 by moving one unit in the negative x-axis direction, from c5 to c4 by moving one unit in the positive x-axis direction, from c9 to c10 by moving one unit in the positive x-axis direction, from c10 to c11 by moving one unit in the positive x-axis direction, from c11 to c12 by moving one unit in the positive x-axis direction, from c10 to c17 by moving one unit in the negative y-axis direction, and from c23 to c18 by moving one unit in the negative y-axis direction. The movement direction and distance can be determined for any combination based on the movable direction and movable distance in each unit.
[0153] Next, in step 808, at the third time, paths where the movement position at any location in the second local region and the movement position at any location in the fourth local region coincide with each other are stored as path planning candidates. When a connection exists at the third time... Figure 5 When determining the movement path from the second time to the third time in step 512 and the movement path from the third time to the fourth time (the movement path returning from the fourth time to the third time) in step 806, a path from the second time to the fourth time after the third time can be established, and this path can be stored in memory 106 as a path planning candidate. It should be noted that here, instead of sequentially searching along the timelines from the second time to the third and fourth times, paths are searched separately along the forward timeline starting from the second time and along the backward timeline starting from the fourth time, focusing on a local region at the third time.
[0154] On the other hand, at the third time, a path whose movement position at any location in the second local region does not coincide with the movement position at any location in the fourth local region can be excluded from the path planning candidate and deleted from the memory 106.
[0155] In this way, a path plan can be searched by setting the third time to any time, and consecutive path plan candidates from the departure position to the arrival position can be set as the final path plan candidate.
[0156] The final path planning candidate can be a path planning in which the first moving object appears at the first arrival location at a time no later than the arrival time in any other path planning searched.
[0157] The final route planning candidate could be a route planning in which the first moving object appears at the arrival location at any time before the specified arrival time, which is later than the first time.
[0158] The final route planning candidate could be a route planning in which the first moving object appears at the arrival location at a specified arrival time later than the first time.
[0159] Next, in step 810, the path planning search method 800 ends.
[0160] Furthermore, in situations where it is desirable for the moving object v1 to arrive at its destination earlier, or where a matching path plan is searched earlier, in addition to referring to... Figure 5 and Figure 8 In addition to the methods described, the third local region can be redefined as follows.
[0161] (1) At any location in the third local region, determine the direction and distance of movement from that location to the fourth time at the third time.
[0162] (2) At any location in the third local region, the third local region is redefined based on the determination of the direction of movement and the distance of movement from that location.
[0163] A third local region can be redefined to approximate one or both of the second and fourth local regions.
[0164] The redefinition of the third local region can be performed by selecting a third position, such that the sum of the products of the movement direction and the movement distance from each position becomes smaller. For example, the sum of the vector with the movement direction as the orientation and the movement distance as the magnitude becomes smaller.
[0165] Furthermore, if it is desired that the moving object v1 arrives at the destination earlier or approaches the destination as quickly as possible, the movement of a local area can be performed in a way that advances the time as described below.
[0166] The direction and distance of movement determined at at least one location in the fourth local region at the third time are the same as the direction and distance of movement determined at that location at the second time. Here, the fourth local region may include the arrival location.
[0167] On the other hand, in cases where it is desirable to start moving object v1 as late as possible, or to make the moving object reach its near-arrival position as late as possible, the movement of a local area can be delayed in time as follows.
[0168] The direction and distance of movement determined at at least one location in the second local region at the third time are the same as the direction and distance of movement determined at that location at the fourth time. Here, the second local region may include the starting location.
[0169] Furthermore, if it is desired to further reduce the computational cost of searching for path planning, the locations that are not currently included in any path planning can be determined in advance within the movable region, and at least the entire local region can be excluded from the locations that are not currently included in any path planning.
[0170] Locations not included in any of the above locations may include locations at a distance longer than the product of the difference between the time and the first time and the speed of the moving object, for example, locations that the moving object clearly cannot reach at that time.
[0171] Furthermore, path searches can be performed at any time from any location, or simultaneously from multiple locations at multiple times.
[0172] Furthermore, when planning a search path for each of multiple moving objects, the path planning search method described above can be applied to the second moving object in the same way.
[0173] (1) Determine the second starting position where the second moving object appears at the first moment and the second arrival position to which the second moving object moves; (2) A fifth local region is determined within the movable area and centered on the fifth position at a second time later than the first time; (3) At any location in the fifth local region, determine the direction and distance of movement from that location at a third time later than the second time; and (4) Determine the sixth local area within the movable area and centered on the sixth position at the third time.
[0174] exist Figures 3 to 5 and Figure 8 The path planning search method according to this embodiment described herein can be implemented by CPU 104 and memory 106 using wired logic, software, or a combination thereof.
[0175] Industrial applicability
[0176] According to this technique, effective path planning can be determined by reducing the computational cost of path search, shortening the time required for path search, and searching more paths or combinations thereof.
[0177] Furthermore, even when the space that the moving object can move in increases and the computational cost increases exponentially, the computational cost of path planning search can still be controlled.
[0178] Description of reference numerals in the attached figures
[0179] 100: Moving Object
[0180] 102: Position sensor
[0181] 104: CPU
[0182] 106: Memory
[0183] 108: Communication device
[0184] 110: I / O device
[0185] 112: Drive mechanism
[0186] 114: Loading Platform
[0187] 116: LiDAR sensor
Claims
1. A method for searching a path plan by a computer to move a moving object, the path plan being representable by pairs of time and location, the method comprising the steps of: Determine the movable area within which the first moving object can move; Determine the size of a local region smaller than the movable region; Determine the first starting position where the first moving object appears at the first moment and the first arrival position to which the first moving object is moved; A second local area centered on the second location is determined within the movable area at a second time later than the first time. At any location within the second local region, determine the direction and distance of movement from that location at a third time later than the second time; and A third local region is determined within the movable area at the third time and centered at the third location.
2. The method according to claim 1, wherein, The third position is determined based on the direction and distance of movement from any position in the second local region at the third time, and the direction and distance of movement are determined at any position.
3. The method according to claim 1, wherein, The third position includes the median point of the movement position at the third time, determined at any location in the second local region.
4. The method according to claim 1, further comprising the following steps: A fourth local region is determined within the movable area and centered at the fourth location at a fourth time later than the third time. At any location within the fourth local region, determine the direction and distance of movement from that location at the third time; and In the third time, paths where the movement position determined at any location in the second local region coincides with the movement position determined at any location in the fourth local region are stored as path planning candidates.
5. The method according to claim 4, wherein, The step of determining the third local region further includes the following steps: At any location within the third local region during the third time period, determine the direction and distance of movement from that location toward the fourth time period; and The third local region is redefined based on the determination of the direction and distance of movement from any position within the third local region.
6. The method according to claim 5, wherein, The step of redetermining the third local region based on the determination of the direction and distance of movement from any position in the third local region includes the following steps: selecting the third position such that the sum of the products of the direction and distance of movement from each position is small.
7. The method according to claim 4, further comprising the following step: Paths whose movement positions at any location in the second local region at the third time do not coincide with those at any location in the fourth local region are excluded from the path planning candidates.
8. The method according to claim 7, wherein, The third time refers to any time.
9. The method according to claim 8, wherein, The consecutive path planning candidates from the first departure position to the first arrival position at any time will be set as the final path planning candidates.
10. The method according to claim 9, wherein, The final path planning candidate includes a path planning in which the first moving object appears at the first arrival location at a time no later than the arrival time in any other searched path planning.
11. The method according to claim 1, wherein, The final route planning candidate includes a route planning in which the first moving object appears at the first arrival location at any time before a specified arrival time later than the first time.
12. The method according to claim 1, wherein, The final route planning candidate includes a route planning in which the first moving object appears at the first arrival location at a specified arrival time later than the first time.
13. The method according to claim 4, wherein, The direction and distance of movement from that location at at least one location in the fourth local region at the third time are the same as the direction and distance of movement from that location at the second time.
14. The method according to claim 13, wherein, The fourth local region includes the first arrival location.
15. The method according to claim 4, wherein, The direction and distance of movement from that location at at least one location in the second local region at the third time are the same as the direction and distance of movement from that location at the fourth time.
16. The method according to claim 15, wherein, The second local area includes the first starting position.
17. The method according to claim 1, further comprising the following steps: The locations within the movable area that are not included in any path planning at that time are determined in advance at each time. as well as Exclude at least all local areas from locations that are not included in any path planning at that time.
18. The method according to claim 1, wherein, The second time can be represented as the time after a predetermined unit of time has elapsed since the first time.
19. The method according to 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.
20. The method according to claim 1, wherein, The movable area can be displayed using three-dimensional coordinates, and the three-dimensional coordinates can be displayed using coarse-grained three-dimensional coordinates.
21. The method according to claim 1, wherein, The search path planning includes searching from any location at any time.
22. The method according to claim 1, wherein, The search for the path planning involves searching simultaneously from multiple locations at multiple times.
23. The method according to claim 1, further comprising the following steps: Determine the second starting position where the second moving object appears at the first time and the second arrival position to which the second moving object is moved; A fifth local region centered at the fifth position is determined within the movable area at a second time later than the first time. At any location within the fifth local region, determine the direction and distance of movement from that location at a third time later than the second time; and In the third time period, a sixth local region is determined within the movable area, the sixth local region being centered at a sixth position.
24. The method according to claim 1, wherein, The moving object is an automated transport vehicle capable of transporting goods, and the arrival location includes the location where the goods are loaded or unloaded.
25. A processor configured to search for a path plan for moving a moving object, the path plan being representable by pairs of time and location, the processor being configured to execute: Determine the movable area within which the first moving object can move; Determine the size of a local region smaller than the movable region; Determine the first starting position where the first moving object appears at the first moment and the first arrival position to which the first moving object is moved; A second local area centered on the second location is determined within the movable area at a second time later than the first time. At any location within the second local region, determine the direction and distance of movement from that location at a third time later than the second time; and A third local region is determined within the movable area at the third time and centered at the third location.
26. A computer-readable medium storing a program configured to search for a path plan for moving a moving object, the path plan being representable by pairs of time and location, the program causing a computer to execute: Determine the movable area within which the first moving object can move; Determine the size of a local region smaller than the movable region; Determine the first starting position where the first moving object appears at the first moment and the first arrival position to which the first moving object is moved; A second local area centered on the second location is determined within the movable area at a second time later than the first time. At any location within the second local region, determine the direction and distance of movement from that location at a third time later than the second time; and A third local region is determined within the movable area at the third time and centered at the third location.
27. An automated guided vehicle (AGV) comprising a loading platform capable of loading articles, a drive mechanism, and a processor configured to perform: Determine the movable area within which the first moving object can move; Determine the size of a local region smaller than the movable region; Determine the first starting position where the first moving object appears at the first moment and the first arrival position to which the first moving object is moved; A second local area centered on the second location is determined within the movable area at a second time later than the first time. At any location within the second local region, determine the direction and distance of movement from that location at a third time later than the second time; and A third local region is determined within the movable area at the third time and centered at the third location.
28. A transportation system comprising at least one mobile object, the transportation system having a loading platform and a drive mechanism capable of loading articles, and a processor mounted on or capable of communicating with the mobile object, wherein, The processor is configured to: Determine the movable area within which the first moving object can move; Determine the size of a local region smaller than the movable region; Determine the first starting position where the first moving object appears at the first moment and the first arrival position to which the first moving object is moved; A second local area centered on the second location is determined within the movable area at a second time later than the first time. At any location within the second local region, determine the direction and distance of movement from that location at a third time later than the second time; and A third local region is determined within the movable area at the third time and centered at the third location.
Citation Information
Patent Citations
Information processing system
JP1985011928A
D / a converter
JP1985029048A
Material search system and method, and material search program
JP2015184829A
Crossbar structure and solution search system for optimization problem
JP2018166194A
Device
JP2019198902A
