Route plan search method and computation device
The method optimizes AGV route planning by determining initial and destination positions, excluding unreachable locations, and using local regions to reduce calculation load and congestion, enhancing efficiency and timeliness in large warehouses and factories.
Patent Information
- Application Number
- PCT/JP2024/026220
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-23
- Publication Date
- 2026-01-29
AI Technical Summary
Existing methods struggle to efficiently plan routes for automated guided vehicles (AGVs) in large warehouses and factories to minimize congestion, reduce calculation time, and ensure timely delivery of goods while managing increasing spatial complexity.
A method and computing device that determines initial and destination positions, generates multiple path plans, excludes unreachable locations, and selectively searches for movement positions to reduce calculation load and optimize route planning, using local regions to streamline the search process.
Reduces the amount of calculation required for route planning, shortens search time, and minimizes congestion by focusing on feasible paths, ensuring timely delivery and efficient use of AGVs.
Smart Images

Figure JP2024026220_29012026_PF_FP_ABST
Abstract
Description
Path planning search method and computing device
[0001] The present technology relates to a method and a computing device for searching a route plan for moving a moving object.
[0002] When transporting goods, parts, products, etc. using automated guided vehicles or automated guided robots (hereinafter collectively referred to as Automatic Guided Vehicles or AGVs) in warehouses, factories, etc., the AGV's movement path is calculated in advance and optimized.
[0003] WO 2022 / 097460 discloses a technology for the purpose of quickly and efficiently finding an optimal solution to an optimization problem using a simple optimization algorithm, which technology includes a plurality of data generation units, a fluctuation setting unit that supplies fluctuation probabilities to the data generation units to non-uniformly set the occurrence frequency of data generated by the data generation units and sets the occurrence frequency of a specific variable to a value different from the occurrence frequency of other variables, a plurality of data conversion units that read the data generated by the data generation units and convert it into information, an output adjustment unit that transmits an output adjustment signal to the data generation units, or an output adjustment signal and a fluctuation probability value, and a feedback control unit that repeatedly controls the operation of transmitting the output adjustment signal to the data generation units, or an output adjustment signal and a fluctuation probability value, if an optimal solution is not obtained.
[0004] As warehouses and factories become larger, and hundreds or even thousands of AGVs are used, congestion between AGVs can become frequent, leading to uncertainty in transport plans and processes and reduced transport and production throughput.
[0005] International Publication No. 2022 / 097460 Pamphlet Japanese Patent No. 6029048 Patent No. 6011928 JP 2015-184829 A JP 2019-198902 A JP 2019-198903 A International Publication No. 2019 / 017412 Pamphlet Japanese Patent No. 2018-166194 A
[0006] M. Aono, et al., Proceedings of NOLTA 2012, 586-589 (2012) 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) Wakamiya, R., Kasai, S., Aono, M., Naruse, M., Hara-Azumi, H., "Electronic circuit implementation of an amoeba-type optimization problem solution search algorithm," IEICE Technical Report 114 (442) pp. 81-85 (2015) 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).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)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)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)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)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)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)K. Hara, N. Takeuchi, M. Aono, Y.Hara-Azumi, "Amoeba-inspired stochastic hardware SAT solver," International Symposium on Quality Electronic Design (ISQED) (2019); Aono, M., Kujirai, Y., Nozaki, T., "Amoeba computing paradigm merging cyberspace and physical space," Journal of the Japanese Society for Artificial Intelligence, Vol. 33(5), pp. 561-569 (2018); 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); Saito, Kasai, Aono et al., Poster presentation at the Japan Society of Applied Physics (2019); 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)M. Aono, "Amoeba-inspired combinatorial optimization machines," Japanese Journal of Applied Physics 59, 060502, (2020).
[0007] Even when many AGVs are used, a method and a calculation device are required to search for a route plan that minimizes congestion caused by traffic congestion due to loading and unloading of goods, waiting due to early arrival, and route merging.
[0008] In determining a route plan, a method and a computing device that can reduce the amount of calculation required for route search, shorten the time required for route search, search for more routes, or a combination thereof is desired.
[0009] When determining a route plan, if a route that will arrive in time at a specified time is searched for, it is possible that congestion of multiple AGVs will occur at or near the destination where goods are loaded and unloaded.
[0010] In addition, congestion may cause delays in AGVs transporting high-priority or urgent goods to reach their destinations.
[0011] Furthermore, there may be cases where it is desired to specify in advance the time and order of arrival of products, etc.
[0012] It is desirable to eliminate or reduce congestion caused by AGVs and transport necessary products at the required time.
[0013] In determining route planning, it is desirable to search for a route that will arrive exactly at a predetermined time.
[0014] Furthermore, as the space in which a moving object can move increases, the amount of calculation required for route planning increases exponentially, making it difficult to perform the search within a reasonable time. Even in such cases, a method that can control the amount of calculation required for route planning is desired.
[0015] A method is desired that can efficiently search for a more optimal route plan while reducing the amount of calculation required for route plan search.
[0016] The present technology includes, for example, a method for a computer to search for a path plan for moving a moving body, the method including: determining a first initial position where a first moving body capable of moving at a first speed is located at a first time; and a first destination position where the first moving body should be located at a second time later than the first time; determining a first plurality of path plans where the first moving body can move from the first initial position at the first time to the first destination position at the second time, the first plurality of path plans being expressible by pairs of time and position; determining a position at each time that is not included in any of the first plurality of path plans; and determining at least one first movement position at a third time between the first time and the second time that is a position to which the first moving body can move after a predetermined time has elapsed from the third time, excluding positions that are not included in any of the first plurality of path plans.
[0017] FIG. 1 is a diagram showing a moving body according to an embodiment of the present technology; FIG. 2 is a plan view showing a route along which a plurality of moving bodies can move according to an embodiment of the present technology; FIG. 3 is a flowchart showing a route planning search method according to an embodiment of the present technology; FIG. 4 is a flowchart showing a route planning search method for moving a plurality of moving bodies according to an embodiment of the present technology; FIG. 5 is a flowchart showing a route planning search method using local regions according to an embodiment of the present technology; FIG. 6 is a plan view showing a local region according to an embodiment of the present technology; FIG. 7 is a plan view showing another local region according to an embodiment of the present technology; FIG. 8 is a flowchart showing another route planning search method using local regions according to an embodiment of the present technology;
[0018] FIG. 1 shows a vehicle 100 in accordance with 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 device 110, a drive mechanism 112, a loading platform 114, and a LiDAR sensor 116. The mobile object 100 may be an automated guided vehicle used in a transport system that can transport objects, a wafer transport robot, a glass transport robot, an AGV, or an autonomous mobile robot (AMR).
[0020] The location sensor 102 may be 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 computing device or a special-purpose computing device, such as the control unit of the hybrid optimal solution calculation system described in WO 2022 / 097460.
[0022] Memory 106 may be volatile memory (eg, registers, cache, RAM), non-volatile memory (eg, ROM, EFPROM, flash memory), or some combination of both.
[0023] The communication device 108 may be a wired communication device or a wireless communication device, and may be communicatively connected to other computers 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).
[0024] The input / output device 110 may be a keyboard, a touch screen, a display, or a combination thereof, and may be communicatively connected to the mobile object 100 via a wired or wireless connection.
[0025] The drive mechanism 112 may be a combination of a motor and wheels.
[0026] The loading platform 114 may be one onto which products or parts are manually loaded, or may be one onto which products or parts are automatically loaded using a conveyor or lifter.
[0027] The LiDAR (Light Detection And Ranging) sensor 116 may be an optical phase type solid-state LiDAR sensor, a MEMS type solid-state LiDAR sensor, or a mechanical rotation type LiDAR sensor.
[0028] FIG. 2 shows a path on the xy plane along which multiple moving bodies can move according to an embodiment of the present technology.
[0029] The movable path may be a path applicable to a one-way transport rail. Furthermore, the movable path may be a passageway that allows movement in both directions or in any direction. Furthermore, the movable path may be a plane or space that can be displayed in two-dimensional coordinates. The two-dimensional coordinates may be displayable in coarse-grained two-dimensional coordinates. The coarse-grained two-dimensional coordinates may be, for example, cells that can be expressed as squares on a plane. Furthermore, the coarse-grained two-dimensional coordinates may be a simplified representation of three-dimensional space as a plane.
[0030] The movable path may be a space that can be displayed in three-dimensional coordinates. The three-dimensional coordinates may be displayed in coarse-grained three-dimensional coordinates. The coarse-grained three-dimensional coordinates may be, for example, cells that can be expressed as a cube in three-dimensional space.
[0031] In Figure 2, cells assigned a combination of letters and numbers indicate locations where a single moving object can pass or stop at a specific time, and multiple moving objects cannot be located in the same cell at the same time.
[0032] 2, the arrows attached to each cell indicate the direction in which the mobile object can move next. In this embodiment, for example, the mobile object can move in accordance with the following restrictions.
[0033] (1) A mobile object (not shown) can move in one direction or branch off into two directions in each cell. In Figure 1, in cell c1, movement is only possible to cell c9, and movement to cell c2 is not possible. Also, in cell c10, movement to cell c11 or cell c17 is possible, but movement to cell c9 is not possible.
[0034] (2) A mobile object can move at a predetermined speed in the direction indicated by the arrow of a cell, and can move to one adjacent cell per unit time.
[0035] (3) During the passage of one unit time (hereinafter also referred to as one step), the mobile object may move to an adjacent cell in the specified direction or may remain stationary in the same cell.
[0036] As an example, at initial time t0, moving body v1 is located in cell c5 and moving body v2 is located in cell c6. These moving bodies are moved so that at time t16 (>t0), moving body v1 is located in cell c49 and moving body v2 is located in cell c50.
[0037] 1, a mobile unit v1 (not shown) can move to cell c4 at t1, one step later, and then move to cell c3 at t2, two steps later. In this way, it can move to cells c2, c1, c9, c10, c11, c12, c13, c14, c19, c26, c25, c33, and c41, and then move to cell c49 at t16, 16 steps later. The route plan for mobile unit v1 may be expressed as a time-position pair as shown in route A below.
[0038] Route A (t0, c5), (t1, c4), (t2, c3), (t3, c2), (t4, c1), (t5, c9), (t6, c10), (t7, c11), (8, c12), (t9, c13), (t10, c14), (t11, c19), (t12, c26), (t13, c25), (t14, c33), (t15, c41), (t16, c49)
[0039] Furthermore, the route plan for the moving object v1 may be a route different from route A, such as route B below. In this case, the moving object v1 passes through the same cell multiple times.
[0040] Route B (t0, c5), (t1, c4), (t2, c3), (t3, c2), (t4, c1), (t5, c9), (t6, c10), (t7, c11), (t8, c12), (t9, c13), (t10, c14), (t11, c15), (t12, c16), (t13, c8), (t14, c7), (t15, c6), (t16, c5), (t17, c4), (t18, c3), (t19, c2), (t20, c1), (t21, c9), (t22, c10), (t23, c11), (t24, c12), (t25, c13), (t26, c14), (t27, c19), (t28, c26), (t29, c25), (t30, c33), (t31, c41), (t32, c49)
[0041] Furthermore, the route plan for the moving object v1 may include a temporary stop, as in the following route C. In this case, the moving object v1 stops for one elapsed step time at cell c14 and for three elapsed steps time at cell c49.
[0042] Route C (t0, c5), (t1, c4), (t2, c3), (t3, c2), (t4, c1), (t5, c9), (t6, c10), (t7, c11), (8, c12), (t9, c13), (t10, c14), (t11, c14), (t12, c19), (t13, c26), (t14, c25), (t15, c33), (t16, c41), (t17, c49) , (t18, c49) , (t19, c49) , (t20, c49)
[0043] Similarly, moving object v2 (not shown) can move to cell c5 at t1, one step later, and then move to cell c4 at t2, two steps later. In this way, it can move to cells c3, c2, c1, c9, c10, c11, c12, c13, c14, c19, c26, c34, and c42, and then move to cell c50 at t16, 16 steps later. The route plan for moving object v2 may be expressed as a time-position pair as shown in route D below.
[0044] Route D (t0, c6), (t1, c5), (t2, c4), (t3, c3), (t4, c2), (t5, c1), (t6, c9), (t7, c10), (t8, c11), (t9, c12), (t10, c13), (t11, c14), (t12, c19), (t13, c26), (t14, c34), (t15, c42), (t16, c50)
[0045] FIG. 3 illustrates a route planning search method according to an embodiment of the present technology.
[0046] A path planning search method 300 according to an embodiment of the present technology starts in step 302, and in step 304, a first initial position where a first moving body v1 capable of moving at a first speed is located at a first time is determined. The first initial position may be determined by a CPU based on position information recognized by the position sensor 102 of the first moving body v1. Alternatively, the first initial position may be input in advance by the input / output device 110 or via the communication device 108. The first speed may be a normal moving speed of the first moving body v1, a maximum speed, or an average speed taking acceleration and deceleration into account.
[0047] Next, in step 306, a first arrival position where the first moving object v1 should be at a second time later than the first time is determined. The first arrival position may be input in advance by the input / output device 110 or via the communication device 108. The arrival position may also be a position where the moving object v1 loads or unloads an item.
[0048] Next, in step 308, a first plurality of path plans are determined along which the first moving body v1 can travel from a first initial position at a first time to a first destination position at a second time.
[0049] The first plurality of route plans are generated by the CPU 104 or another computer connected via the communication device 108 and a network, which searches for all possible routes according to the above-mentioned conditions and limitations. Instead of all possible routes, the first plurality of route plans may be routes searched within a predetermined time period, a predetermined number of routes, or routes that satisfy other predetermined criteria.
[0050] For example, if the first time is t0, the second time is t20, the first initial position is c5, and the first destination position is c49, then route A and route C satisfy the above-mentioned conditions and restrictions, and both are possible routes.
[0051] On the other hand, since path B is not at the first arrival position c49 at the second time t20, it does not satisfy the above conditions and restrictions and cannot be one of the possible paths.
[0052] The route planning may be determined to limit movement to routes, such as route B, that may result in the first moving body arriving at the first arrival position later.
[0053] Furthermore, when the movement range of the first moving body becomes larger than a predetermined value, for example, when the passing cell is far from the arrival position, movement to the first movement position may be restricted. Restricting movement to the first movement position may include, for example, searching to reduce the probability of movement to the first movement position.
[0054] Next, in step 310, a location that is not included in any of the first plurality of route plans at each time is determined. The location that is not included in any of the routes determined in step 308 corresponds to, for example, a cell or a set of cells that is not included in any of the routes at any time.
[0055] A location that is not included in either may include a location that is at a distance greater than the product of the difference between the time in question and the first time and the speed of the first moving body, for example, a location that is clearly not reachable by the first moving body at the time in question.
[0056] Similarly, a position that is not included in either may include a position that is at a distance greater than the product of the difference between the time and the second time and the speed of the first moving body, for example, a position where it is clear that the first moving body cannot reach the first arrival position at the second time.
[0057] Furthermore, the location that is not included in either of these locations may include the first arrival location itself at that time in order to prevent an earlier arrival than necessary and the resulting traffic congestion.
[0058] Next, in step 312, at a third time, at least one first movement position is determined, which is a position to which the first moving body can move after a predetermined time has elapsed from the third time, excluding positions that are not included in any of the first plurality of route plans.
[0059] The third time may be any time between the first time and the second time, and may be expressed as a time after an integer multiple of a predetermined unit time has elapsed since the first time t0, such as t1 (one step later) or t2 (t2 (two steps later).
[0060] At least one first movement position is determined, which is a position to which the first moving body can move after a predetermined time has elapsed from the third time, excluding positions that are not included in any of the first plurality of route plans.
[0061] For example, if the first time is t0, the second time is t20, the first initial position is c5, and the first destination position is c49, and the third time is t6, then cells c11 and c17 are both locations to which the first moving object can move. However, if cell c11 is a location that is not included in any of the first plurality of route plans, cell c11 is not determined as the first movement location, and no routes that pass through cell c11 are searched for at or after t6.
[0062] This may suggest that a route that passes through cell c11 at t6 cannot reach cell c49 at time t20 in the determined first plurality of route plans, and that there is no need to search for routes thereafter (from t7 onwards.) However, it should be noted that if the first plurality of route plans include all possible routes, or if they include routes searched over a longer period of time or a larger number of routes, there may be routes that can reach cell c49 at time t20.
[0063] Furthermore, since cell c11 is not determined to be the first movement position, and therefore a route passing through cell c11 is not searched for at t6, the amount of calculation required for route search may be reduced, the calculation may be completed sooner, and more routes may be searched for.
[0064] In this way, at any given time, a position to which the robot can move one step later may be searched, and then a position to which the robot can move two steps later may be searched from the position to which the robot can move one step later, and so on, until the destination position is reached, a predetermined time has elapsed, or a predetermined number of routes have been searched, or until a predetermined termination condition is met.
[0065] In addition, the route search may involve searching for a position that can be moved one step back at any given time, then searching for a position that can be moved two steps back from the position that can be moved one step back, and so on, sequentially searching for routes step by step until the initial position is reached, until a predetermined time has elapsed, or until a predetermined number of routes have been searched.
[0066] Furthermore, the route search may be performed from any position at any time, or searches may be performed simultaneously from multiple positions at multiple times.
[0067] Next, in step 314, the route search meets a predetermined termination condition, and the route planning search method 300 according to an embodiment of the present technology ends.
[0068] FIG. 4 shows a route planning search method for moving a plurality of moving objects according to an embodiment of the present technology.
[0069] The route planning search method 400 according to an embodiment of the present technology may be implemented in combination with or independently of the route planning search method 300 described in FIG.
[0070] A path planning search method 400 according to an embodiment of the present technology begins at step 402, and at step 404, a second initial position where a second moving body v2 capable of moving at a second speed is located at a fourth time is determined.
[0071] The fourth time may be the same as or different from the first time.
[0072] The second initial position may be determined by the CPU 104 based on position information recognized by the position sensor 102 of the second moving body v2. Alternatively, the second initial position may be input in advance by the input / output device 110 or via the communication device 108. The second speed may be the normal moving speed of the second moving body v2, its maximum speed, or an average speed taking into account acceleration and deceleration. The second speed may be the same as or different from the first speed of the first moving body v1.
[0073] Next, in step 406, a second arrival position where the second moving body v2 should be at a fifth time later than the third time is determined. The second arrival position may be input in advance by the input / output device 110 or via the communication device 108.
[0074] The fifth time may be the same as or different from the second time.
[0075] Next, in step 408, a second plurality of path plans are determined along which the second moving body v2 can travel from the second initial position at the fourth time to the second destination position at the fifth time.
[0076] The second plurality of route plans are generated by the CPU 104 or another computer connected via the communication device 108 and a network, searching for all possible routes in accordance with the above-mentioned conditions and limitations. Instead of searching for all possible routes, the second plurality of route plans may be generated by searching for routes within a predetermined time period, a predetermined number of routes, or routes that satisfy other predetermined criteria. The second plurality of route plans may be generated by the same CPU or computer as the first plurality of route plans, or by a different CPU or computer.
[0077] For example, if the fourth time is t0, the fifth time is t16, the second initial position is c6, and the second destination position is c50, then route D satisfies the above conditions and restrictions and can be a possible route.
[0078] Next, in step 410, a location that is not included in any of the second plurality of route plans at each time is determined. The location that is not included in any of the routes determined in step 408 corresponds to, for example, a cell or a set of cells that is not included in any of the routes at any time.
[0079] Next, in step 412, at a sixth time, at least one second movement position is determined, which is a position to which the first moving body can move after a predetermined time has elapsed from the sixth time, excluding positions that are not included in any of the second plurality of route plans.
[0080] The sixth time may be any time between the fourth time and the fifth time, and may be expressed as a time after an integer multiple of a predetermined unit time has elapsed since the fourth time t0, such as t1 (one step later) or t2 (t2 (two steps later).
[0081] At least one second movement position is determined, which is a position to which the second moving body can move after a predetermined time has elapsed from the sixth time, excluding positions that are not included in any of the second plurality of route plans.
[0082] In cases where multiple moving bodies cannot exist in the same cell, the second movement position may be determined so as not to include the first movement position.
[0083] In addition, the second movement position may be determined so as not to include positions within a predetermined range from the first movement position, for example, in cases where unintended contact due to the presence of multiple moving objects in adjacent cells is to be prevented.
[0084] For example, if the fourth time is t0, the fifth time is t16, the second initial position is c6, and the second destination position is c50, and the sixth time is t7, then cells c11 and c17 are both locations to which the second moving object can move. However, if cell c11 is a location that is not included in any of the second plurality of route plans, cell c11 is not determined as the second movement location, and no route that passes through cell c11 is searched for at or after t7.
[0085] This may suggest that a route that passes through cell c11 at t7 cannot reach cell c50 at time t16 in the determined second plurality of route plans, and that there is no need to search for routes thereafter (from t8 onwards.) However, it should be noted that if the second plurality of route plans include all possible routes, or if they include routes searched within a longer time period or a larger number of routes, there may be routes that can reach cell c50 at time t16.
[0086] Furthermore, since cell c11 is not determined to be the second movement position, and therefore a route passing through cell c11 is not searched for at t7, the amount of calculation required for route search may be reduced, the calculation may be completed sooner, and more routes may be searched for.
[0087] In this way, at any given time, a position to which the robot can move one step later may be searched, and then a position to which the robot can move two steps later may be searched from the position to which the robot can move one step later, and so on, until the destination position is reached, a predetermined time has elapsed, or a predetermined number of routes have been searched, or until a predetermined termination condition is met.
[0088] In addition, the route search may involve searching for a position that can be moved one step back at any given time, then searching for a position that can be moved two steps back from the position that can be moved one step back, and so on, sequentially searching for routes step by step until the initial position is reached, until a predetermined time has elapsed, or until a predetermined number of routes have been searched.
[0089] Furthermore, the route search may be performed from any position at any time, or searches may be performed simultaneously from multiple positions at multiple times.
[0090] Next, in step 414, the route search meets a predetermined termination condition, and the route planning search method 400 according to an embodiment of the present technology ends.
[0091] In the embodiment shown in Figure 3, if no route plan is found after searching all possible routes in step 308, after performing route searches within a specified time or a specified number of times, or after performing route searches that meet other specified criteria, it may be determined that no route plan is found in which the first moving body is at the first arrival position at the second time, and the second time may be increased or decreased by a specified amount to search for a route plan.
[0092] In this case, the time for increasing or decreasing may be set within a predetermined range.
[0093] When searching for a route plan by incrementing or decrementing the second time by a predetermined time, a third plurality of route plans that can be expressed by pairs of time and position are determined, where the third plurality of route plans are capable of moving a first moving body from a first initial position at the first time to a first destination position at a seventh time obtained by incrementing or decrementing the second time by a predetermined time, and a position that is not included in any of the third plurality of route plans at each time is determined, and at an eighth time between the first time and the seventh time, at least one first movement position is determined, which is a position to which the first moving body can move after a predetermined time has elapsed from the eighth time, excluding positions that are not included in any of the third plurality of route plans.
[0094] Furthermore, in the embodiment shown in FIG. 3, if no route plan is found after searching all possible routes in step 308, after performing a predetermined number of route searches within a predetermined time, or after performing route searches that meet other predetermined criteria, it may be determined that if the first moving body is at the first initial position at the first time, a route plan for moving to the first destination position at the second time cannot be found, and the first time may be increased or decreased by a predetermined amount to search for a route plan.
[0095] In this case, the time for increasing or decreasing may be set within a predetermined range.
[0096] When searching for a route plan by incrementing or decrementing the first time by a predetermined time, a fourth plurality of route plans that can be expressed by pairs of time and position are determined, where the fourth plurality of route plans are those that allow the first moving body to move from a first initial position at a ninth time when the first time is incremented or decremented by the predetermined time to a first destination position at a second time, and a position that is not included in any of the fourth plurality of route plans at each time is determined, and at a tenth time between the ninth time and the second time, at least one first movement position is determined, where the first moving body can move to a position after a predetermined time has elapsed from the tenth time, excluding any position that is not included in any of the fourth plurality of route plans.
[0097] Furthermore, the above-described incrementing or decrementing of the second time and incrementing or decrementing of the first time may be performed in combination.
[0098] Path Planning Search Method Using Local Regions FIG. 5 illustrates a path planning search method using local regions according to an embodiment of the present technology.
[0099] The path planning search method 500 using a local area according to the embodiment of the present technology starts at step 502, and at step 504, the CPU 104 determines a movable area in which the moving body v1 can move.
[0100] The movable area in which the moving object v1 can move may be a range in which the moving object v1 can physically move, or may be a predetermined range in which the moving object v1 can move. For example, in Figure 2, all of the cells in the 8 x 11 cell area that are assigned letters and numbers may be the movable area, or only a part of them may be the movable area.
[0101] Next, in step 506, the CPU 104 determines the size of the local region. The local region may be smaller than the movable region and may include multiple cells. For example, in FIG. 2, a rectangular region of 3 cells by 3 cells may be defined as the local region, or a rectangular region of 3 cells by 4 cells may be defined as the local region. Alternatively, a region consisting of cells included in a circle of a predetermined radius from the center position may be defined as the local region. The size of the local region may be determined based on the spatial calculation amount of the CPU 104.
[0102] Next, in step 508, the CPU 104 determines the departure position where the moving object v1 is located at time t0 and the arrival position where the moving object v1 will be moved to. For example, in FIG. 2, the moving object v1 may be located in the departure position cell c5 at time t0 and move to the arrival position cell c49.
[0103] Next, in step 510, at a second time later than the first time, a second local region is determined that is within the movable region and has a center at the second position. For example, in FIG. 6 , at time t1, cells c4, c5, c6, c12, c13, and c14 surrounded by a 3-cell by 3-cell rectangular region L1 centered on cell c5 may be determined as the second local region. The second time may be expressed as a time that is an integer multiple of a predetermined unit time after the first time.
[0104] Next, in step 512, at an arbitrary position within the second local region, a movement direction and movement distance from the position at a third time later than the second time are determined. For example, in FIG. 4 , from time t1 to time t2, the movement direction and movement distance may be determined as follows: from c4 to c5 in the negative direction of the x-axis, from c6 in the negative direction of the x-axis, from c12 in the positive direction of the x-axis, from c13 in the positive direction of the x-axis, and from c14 in the negative direction of the y-axis (or from c14 in the positive direction of the x-axis). The movement direction and movement distance may be calculated for any combination based on the possible movement direction and distance for each cell. The third time may be expressed as a time after an integer multiple of a predetermined unit time has elapsed since the second time.
[0105] Next, at a third time instant, a third local region is determined that is within the movable region and has a third position as its center in step 514. For example, in Fig. 5, the cells c3, c4, c5, c11, c12, c13, and c18 that are surrounded by a 3 cell x 3 cell rectangular region L2 centered on cell c12 and that is surrounded by a dashed line may be determined as the third local region.
[0106] The third position may be determined based on a moving direction and a moving distance from an arbitrary position within the second local region at a third time point determined at the arbitrary position. For example, the third position may be the center of gravity or geometric center of all the moving positions calculated from the moving direction and the moving distance in each cell, or a cell including the center of gravity or geometric center.
[0107] In this way, a local region may be set and a route plan may be searched for within that range while the local region is moved over time. Alternatively, a plurality of third positions may be set and a search may be performed for each of the third positions.
[0108] Next, in step 516, the path planning search method 500 ends.
[0109] In addition to the method described with reference to FIG. 5, the route plan search method using local regions may also perform a route plan search in the reverse direction of time as shown in FIG.
[0110] FIG. 8 illustrates another path planning search method using local regions according to another embodiment of the present technology.
[0111] A path planning search method 800 according to another embodiment of the present technology starts in step 802, and in step 804, a fourth local area is determined within the movable area and centered on a fourth position at a fourth time later than the third time. For example, in FIG. 9 , at time t3, cells c2, c3, c4, c10, c11, c12, c17, and c18 surrounded by a 3-cell by 3-cell rectangular area L3 centered on cell c11 may be determined as the fourth local area. The fourth time may be expressed as a time after an integer multiple of a predetermined unit time has elapsed since the third time.
[0112] Next, in step 806, at an arbitrary position within the fourth local region, a moving direction and moving distance from the position at the third time are determined. For example, in Fig. 9, from time t2 to time t3, the moving direction and moving distance may be determined as follows: from c3 to c2 by moving one cell in the negative direction of the x-axis, from c4 to c3 by moving one cell in the negative direction of the x-axis, from c5 to c4 by moving one cell in the negative direction of the x-axis, from c9 to c10 by moving one cell in the positive direction of the x-axis, from c10 to c11 by moving one cell in the positive direction of the x-axis, from c11 to c12 by moving one cell in the positive direction of the x-axis, from c10 to c17 by moving one cell in the negative direction of the y-axis, and from c23 to c18 by moving one cell in the negative / positive direction of the y-axis. The movement direction and movement distance may be determined based on the possible movement direction and possible movement distance in each cell, and may be calculated for any combination.
[0113] Next, in step 808, a route at the third time, at which a movement position determined at an arbitrary position within the second local region at the third time coincides with a movement position determined at an arbitrary position within the fourth local region at the third time, is stored as a route plan candidate. If a position exists at the third time at which the movement path from the second time to the third time determined in step 512 of FIG. 5 connects with the movement path from the third time to the fourth time determined in step 806 (a movement path from the fourth time back to the third time), a route from the second time through the third time to the fourth time can be established, and this route may be stored in memory 106 as a route plan candidate. It should be noted that here, rather than sequentially searching for paths along the lapse of time from the second time to the third time to the fourth time, the system focuses on the local area at the third time and searches for paths along the lapse of time in the forward direction from the second time and paths along the lapse of time in the reverse direction from the fourth time.
[0114] On the other hand, a route in which the movement position determined at any position within the second local region at the third time does not match the movement position determined at any position within the fourth local region at the third time may be excluded from the route plan candidates, and the route may be deleted from memory 106.
[0115] In this way, a route plan may be searched for with the third time set as an arbitrary time, and a route plan candidate that is continuous at any time from the departure position to the arrival position may be set as a final route plan candidate.
[0116] The final route plan candidate may be a route plan in which the first moving body is at the first arrival position at a time that is no later than the arrival time in any of the other route plans that have been searched.
[0117] The final route plan candidate may also be a route plan in which the first moving object is present at the arrival position at any time before the specified arrival time that is later than the first time.
[0118] The final route plan candidate may be a route plan in which the first mobile object is present at the arrival position at a specified arrival time that is later than the first time.
[0119] Next, in step 810, the route planning search method 800 ends.
[0120] Furthermore, in addition to the methods described with reference to Figures 5 and 8, when it is desired to have the moving body v1 reach the arrival position more quickly or when it is desired to search for a matching route plan more quickly, the third local region may be redetermined as follows: (1) At an arbitrary position within the third local region, a moving direction and moving distance from that position at the third time toward the fourth time are determined. (2) At an arbitrary position within the third local region, the third local region is redetermined based on the determined moving direction and moving distance from that position. The redetermining of the third local region may be performed so as to bring the third local region closer to one or both of the second local region and the fourth local region.
[0121] The third local region may be re-determined by selecting a third position so that the sum of the product of the movement direction and movement distance from each position is smaller, for example, so that the sum of vectors whose orientation is the movement direction from each position and whose magnitude is the movement distance is smaller.
[0122] Furthermore, when it is desired to make the moving body v1 arrive at the arrival position earlier or approach the arrival position as quickly as possible, the movement of the local region may be brought forward in time as described below.
[0123] The fourth local region is determined so that a moving direction and a moving distance from at least one position in the fourth local region at a third time, which are determined at the position, are the same as a moving direction and a moving distance from the position at a second time, which are determined at the position. Here, the fourth local region may include the arrival position.
[0124] On the other hand, when it is desired to depart the moving object v1 as late as possible or to approach the arrival position as late as possible, the movement of the local region may be postponed in time as described below.
[0125] The second local region is determined such that a moving direction and a moving distance from at least one position in the second local region at a third time, which are determined at the position, are the same as a moving direction and a moving distance from the position at a fourth time, which are determined at the position. Here, the second local region may include the starting position.
[0126] Furthermore, if it is desired to further reduce the amount of calculation required for route planning search, it is possible to predetermine positions within the movable area that are not included in any of the route plans at that time, and to exclude at least all of the local areas from the positions that are not included in any of the route plans at that time.
[0127] A location that is not included in either may include a location that is at a distance greater than the product of the difference between the time in question and the first time and the speed of the moving body, for example, a location that is clearly not reachable by the moving body at the time in question.
[0128] Furthermore, the route search may be performed from any position at any time, or searches may be performed simultaneously from multiple positions at multiple times.
[0129] Furthermore, when searching for a path plan for each of multiple moving bodies, the above-mentioned path plan search method can be similarly applied to a second moving body: (1) determining a second departure position where the second moving body is located at a first time and a second arrival position where the second moving body is moved to and arrived at, respectively; (2) determining a fifth local region that is located within the movable area and has a fifth position as its center at a second time that is later than the first time; (3) determining, at an arbitrary position within the fifth local region, a moving direction and a moving distance from the position at a third time that is later than the second time; (4) determining a sixth local region that is located within the movable area and has a sixth position as its center at the third time.
[0130] The route planning search method according to the present embodiment described in FIGS. 3-5 and 8 may be implemented by the CPU 104 and memory 106 using hard-wired logic, software, or a combination thereof.
[0131] According to the present technology, it is possible to determine an efficient route plan by reducing the amount of calculation required for route search, shortening the time required for route search, searching for more routes, or a combination of these.
[0132] Furthermore, even if the space in which a mobile body can move becomes larger and the amount of calculation increases exponentially, it becomes possible to control the amount of calculation required for route planning and search.
[0133] 100 Mobile object 102 Position sensor 104 CPU 106 Memory 108 Communication device 110 Input / output device 112 Drive mechanism 114 Cargo bed 116 LiDAR sensor
Claims
1. A method for a computer to search for a route plan for moving a moving object that can be expressed by a pair of time and position, the method comprising the steps of: determining a movable area within which a first moving object can move; determining the size of a local area smaller than the movable area; determining a first departure position where the first moving object is located at a first time and a first arrival position to which the first moving object will be moved and arrive; determining, at a second time later than the first time, a second local area within the movable area and centered on the second position; determining, at an arbitrary position within the second local area, the direction of movement and distance of movement from the position at a third time later than the second time; and determining, at the third time, a third local area within the movable area and centered on a third position.
2. The route planning search method according to claim 1, wherein the third position is determined based on a moving direction and a moving distance from an arbitrary position within the second local region at the third time.
3. The route planning search method according to claim 1, wherein the third position includes a center of gravity of a movement position at the third time determined at an arbitrary position within the second local region.
4. The route planning search method according to claim 1, further comprising: at a fourth time later than the third time, determining a fourth local area within the movable area and centered at a fourth position; determining, at an arbitrary position within the fourth local area, a movement direction and movement distance from the position at the third time; and storing, at the third time, as a route planning candidate, a route in which the movement position determined at the arbitrary position within the second local area at the third time matches the movement position determined at the arbitrary position within the fourth local area at the third time.
5. The route planning search method according to claim 4, wherein determining the third local area further includes: determining, at an arbitrary position within the third local area, a moving direction and a moving distance from the position at the third time toward the fourth time; and redetermining the third local area based on the determined moving direction and a moving distance from the arbitrary position within the third local area.
6. The path planning search method according to claim 5, wherein redetermining the third local region based on determining the movement direction and movement distance from an arbitrary position within the third local region includes selecting the third position so that the sum of the products of the movement direction and movement distance from each position is smaller.
7. The route planning search method according to claim 4, wherein a route for which a movement position determined at the third time at an arbitrary position within the second local region does not match a movement position determined at the third time at an arbitrary position within the fourth local region is excluded from route planning candidates.
8. The route planning search method according to claim 7, wherein the third time is an arbitrary time.
9. The route planning search method according to claim 8, wherein a continuous route planning candidate at any time from the first departure position to the first arrival position is set as a final route planning candidate.
10. The route planning search method according to claim 9, wherein the final route candidate includes a route plan in which the first moving body is at the first arrival position at a time that is not later than the arrival time in any other route plan that has been searched.
11. The route planning search method according to claim 1, wherein the final route candidate includes a route plan in which the first moving object is present at the first arrival position at any time before a specified arrival time that is later than the first time.
12. The route planning search method according to claim 1, wherein the final route candidate includes a route plan in which the first mobile object is at the first arrival position at a specified arrival time that is later than the first time.
13. A route planning search method as described in claim 4, wherein the movement direction and movement distance from at least one position within the fourth local region at the third time determined at that position are determined to be the same as the movement direction and movement distance from that position at the second time determined at that position.
14. The route planning search method according to claim 13, wherein the fourth local region includes the first arrival position.
15. A route planning search method as described in claim 4, wherein the movement direction and movement distance from at least one position within the second local region at the third time determined at that position are determined to be the same as the movement direction and movement distance from that position at the fourth time determined at that position.
16. The path planning search method according to claim 15, wherein the second local region includes the first starting location.
17. A route planning search method according to claim 1, wherein, at each time, a position within the movable area that is not included in any of the route plans at that time is determined in advance, and at least all of the local area is excluded from the positions that are not included in any of the route plans at that time.
18. The route planning search method according to claim 1, wherein the second time can be expressed as a time after an integral multiple of a predetermined unit time has elapsed since the first time.
19. The path planning search method according to claim 1, wherein the movable area can be displayed in two-dimensional coordinates, and the two-dimensional coordinates can be displayed in coarse-grained two-dimensional coordinates.
20. The path planning search method according to claim 1, wherein the movable area can be displayed in three-dimensional coordinates, and the three-dimensional coordinates can be displayed in coarse-grained three-dimensional coordinates.
21. The route planning search method of claim 1, wherein searching the route plan includes searching from any location at any time.
22. The route planning search method of claim 1, wherein searching the route plan includes simultaneously searching from multiple locations at multiple times.
23. The route planning search method of claim 1, further comprising: determining a second departure position where a second moving body is located at a first time; and a second arrival position to which the second moving body is moved and arrived; determining a fifth local area within the movable area and centered at a fifth position at a second time later than the first time; determining, at an arbitrary position within the fifth local area, a movement direction and movement distance from the position at a third time later than the second time; and determining a sixth local area within the movable area and centered at a sixth position at the third time.
24. The route planning search method according to claim 1, wherein the moving body is an automated guided vehicle capable of transporting goods, and the arrival position includes a position where the goods are loaded or unloaded.
25. A computing device that searches for a path plan for moving a moving body that can be expressed by a pair of time and position, the computing device being configured to: determine a movable area in which a first moving body can move; determine the size of a local area that is smaller than the movable area; determine a first departure position where the first moving body is located at a first time and a first arrival position to which the first moving body will be moved and arrive; determine a second local area that is within the movable area and has its center at the second position at a second time that is later than the first time; determine, at an arbitrary position within the second local area, the direction and distance of movement from the position at a third time that is later than the second time; and determine a third local area that is within the movable area and has its center at a third position at the third time.
26. A computer-readable medium storing a program for searching for a path plan for moving a mobile body, which can be expressed by a pair of time and position, causing the computer to perform the following steps: determine a movable area in which a first mobile body can move; determine the size of a local area smaller than the movable area; determine a first departure position where the first mobile body is located at a first time and a first arrival position to which the first mobile body will be moved and arrive; determine a second local area within the movable area and centered on the second position at a second time later than the first time; determine, at an arbitrary position within the second local area, the direction of movement and distance of movement from the position at a third time later than the second time; and determine a third local area within the movable area and centered on a third position at the third time.
27. An automated guided vehicle including a platform capable of carrying items, a drive mechanism, and a computing device, wherein the computing device is configured to: determine a movable area within which a first moving body can move; determine the size of a local area smaller than the movable area; determine a first departure position where the first moving body is located at a first time and a first arrival position to which the first moving body will be moved and arrive; determine, at a second time later than the first time, a second local area within the movable area and centered on the second position; determine, at an arbitrary position within the second local area, a direction and distance of movement from the position at a third time later than the second time; and determine, at the third time, a third local area within the movable area and centered on a third position.
28. A transportation system including at least one mobile body having a platform capable of loading items and a drive mechanism, and a computing device mounted on the mobile body or capable of communicating with the mobile body, wherein the computing device is configured to: determine a movable area in which a first mobile body can move; determine the size of a local area smaller than the movable area; determine a first departure position where the first mobile body is located at a first time and a first arrival position to which the first mobile body will be moved and arrive; determine, at a second time later than the first time, a second local area within the movable area and centered on the second position; determine, at an arbitrary position within the second local area, a direction and distance of movement from the position at a third time later than the second time; and determine, at the third time, a third local area within the movable area and centered on a third position.
Citation Information
Patent Citations
Methods for orientation, routing and control of autonomous mobile devices
JP1998501908A
Automated guided vehicle travel method and automated guided vehicle travel system
JP2011227716A
Method and apparatus for moving in minimum cost path using grid map
US20060149465A1