Information processing device and information processing method and program
By dividing the movement area into zones and generating travel plans independently for each zone, the method addresses the inefficiencies in existing technologies, enabling faster and conflict-free movement planning for multiple objects.
Patent Information
- Application Number
- JP2024038594
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-13
- Publication Date
- 2025-09-29
- Estimated Expiration
- 2044-03-13
AI Technical Summary
Existing technologies face challenges in generating movement plans for multiple moving objects in a small area efficiently, leading to conflicts and deadlocks due to high computational load and scale dependencies.
The solution involves dividing the movement area into partial zones and generating travel plans for each zone independently, using route and driving plans with different levels of detail, allowing parallel processing and reducing computational load.
This approach enables faster generation of conflict-free travel plans for multiple moving objects, even in large areas, by minimizing computational time and interdependence between zones.
Smart Images

Figure 2025139649000001_ABST
Abstract
Description
[Technical Field]
[0001] An embodiment of the present invention relates to an information processing device, an information processing method, and a program. [Background technology]
[0002] When multiple moving objects, such as mobile objects, mobile robots, and autonomous vehicles, are moved simultaneously within a small area, if each moving object moves along a free path and at a free timing, conflicts between the moving objects, such as collisions and deadlocks, may occur.
[0003] To avoid such conflicts, a technology has been proposed that generates detailed travel plans for all moving objects at once, and then repeatedly replans the travel plans so that conflicts do not occur for a certain period of time into the future. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent No. 7228420 [Patent Document 2] Patent No. 7204631 [Patent Document 3] Patent Publication No. 2021-071891 [Patent Document 4] Japanese Patent Publication No. 2021-149216 [Patent Document 5] Patent Publication No. 2021-184210 Summary of the Invention [Problem to be solved by the invention]
[0005] An object of the present invention is to provide an information processing device, an information processing method, and a program that can generate a movement plan for a moving object at higher speed. [Means for solving the problem]
[0006] An information processing device according to an embodiment includes a processing unit. The processing unit uses a route plan representing a plan of a route along which each of the multiple moving objects will travel among multiple routes included in a travel area in which the multiple moving objects travel, to determine, for each of the multiple moving objects, whether a first partial area, which is a partial area including a first position where the moving object is located, differs from a second partial area, which is a partial area including a second position to which the moving object will travel after the first position, among multiple partial areas included in the travel area. If the first partial area and the second partial area differ, the processing unit changes the boundary between the first partial area and the second partial area so that the first position is included in the second partial area. The processing unit generates a driving plan for each of the multiple partial areas specifying the timing at which the multiple moving objects will travel along the route included in the partial area so as to prevent contention between the multiple moving objects on the route included in the partial area. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 is a block diagram of an information processing system according to an embodiment. [Figure 2] FIG. 4 is a diagram showing an example of road structure information. [Figure 3] FIG. 10 is a diagram illustrating an example of a moving area and a plurality of zones. [Figure 4] 10 is a flowchart of a plan generation process according to an embodiment. [Figure 5] 10 is a flowchart of a zone determination process. [Figure 6] 10A and 10B are diagrams for explaining a specific example of a zone determination process. [Figure 7] FIG. 10 is a diagram showing an example of extraction of a route within a zone to which a mobile object belongs. [Figure 8] FIG. 2 is a diagram illustrating a hardware configuration of the apparatus according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0008] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of an information processing apparatus according to the present invention will be described in detail below with reference to the accompanying drawings.
[0009] The technology for generating detailed driving plans for all moving objects collectively and generating re-plans uses high-load calculations such as optimization calculations and combinatorial searches. Such calculations are easily affected by the scale, such as the number of moving objects and the size of the movement area (map) in which the moving objects can move. For example, as the scale increases, the calculation time required to generate a driving plan becomes excessive, making it difficult to manage the movement (driving, operation) of the moving objects in real time.
[0010] An information processing device according to an embodiment uses a route plan representing a planned route for each of a plurality of moving objects within an entire moving area to generate a travel plan for each of a plurality of partial areas obtained by dividing the entire moving area. Hereinafter, a partial area is referred to as a zone. For a moving object whose route spans multiple zones, the boundaries between the multiple zones are changed so that the generation of the travel plan for the moving object can be continued for the next zone to which the moving object will move. This makes it possible to generate a travel plan for each of a plurality of zones, for example. As a result, even if the size of the moving area increases, it is possible to generate a travel plan for the moving object more quickly without excessive computation time.
[0011] The prerequisites for this embodiment will be further explained. In this embodiment, two plans, a route plan and a driving plan, which have different levels of detail, are used. The route plan corresponds to a plan of the routes for the movements of multiple moving objects throughout the entire movement area. The driving plan is generated to ensure that the moving objects do not conflict with each other, and has a level of detail that can be converted into movement commands for each moving object.
[0012] A route plan is a plan of the route (driving route) that each moving body will take in a moving area, and there is little dependency between moving bodies. Therefore, there is little possibility of problems occurring even if multiple moving bodies are configured to freely adopt routes or update them at their own timing. In other words, a route plan can be a long-term plan for moving across multiple zones.
[0013] On the other hand, a driving plan is a plan with a level of detail that allows each moving body to interpret it as a movement command and execute it. For example, a driving plan is a plan in which one moving body avoids another moving body by waiting or adjusting its speed.
[0014] As described above, generating a driving plan is a process that requires a high computational load. For this reason, in this embodiment, the driving plan is limited to a plan related to movement within a zone. Furthermore, in this embodiment, overlapping portions between multiple zones are eliminated, and interdependence in the generation of driving plans for each of the multiple zones is eliminated, thereby enabling the generation of driving plans to be processed in parallel.
[0015] 1 is a block diagram showing an example of a configuration of an information processing system 1 according to an embodiment. As shown in FIG.
[0016] The information processing system 1 is a system (operation planning system) that generates a plan for controlling the movements of multiple moving objects 301-1 to 301-N (N is an integer of 2 or greater) and controls the movements (operation) of the moving objects in accordance with the generated plan. The information processing system 1 generates the plan using information acquired from multiple sensors 401-1 to 401-M (M is an integer of 2 or greater) and multiple communication devices 501-1 to 501-K (K is an integer of 2 or greater).
[0017] When there is no need to distinguish between the multiple moving objects 301-1 to 301-N, they will simply be referred to as moving objects 301. When there is no need to distinguish between the multiple sensors 401-1 to 401-M, they will simply be referred to as sensors 401. When there is no need to distinguish between the multiple communication devices 501-1 to 501-K, they will simply be referred to as communication devices 501.
[0018] The mobile object 301 is a mobile object that can move under the control of the information processing system 1, such as an AGV (Automatic Guided Vehicle), an autonomous mobile robot, or an automatically traveling vehicle (e.g., an autonomous vehicle). The mobile object 301 moves along a plurality of routes (travel paths) arranged in a movement area such as a factory, warehouse, or facility site. The mobile object 301 may be equipped with a storage battery and operate using power stored in the battery.
[0019] The sensor 401 is a sensor for detecting the state of the mobile object 301. For example, the sensor 401 is a roadside sensor such as a proximity sensor, a pressure sensor, or a photoelectric sensor. The sensor 401 detects the arrival, passage, and direction of the mobile object 301 at the location where the sensor 401 is installed, as well as whether or not an article (such as luggage) is loaded. The sensor 401 may be, for example, a camera (imaging device) installed on the ceiling of the facility.
[0020] The communication device 501 is a device capable of communicating with the mobile object 301. The communication device 501 communicates with the mobile object 301 over a relatively short distance, for example, by close proximity wireless communication or infrared communication. The communication device 501 can wirelessly communicate with the mobile object 301 that is present within its communication range.
[0021] The sensor 401 and the communication device 501 are used to transmit information (status information) indicating the status of the mobile object 301 to the information processing system 1. For example, the sensor 401 transmits a signal representing information detected from the mobile object 301 to the information processing system 1. The communication device 501 transmits information received from the mobile object 301 to the information processing system 1.
[0022] The sensor 401 and the communication device 501 are arranged, for example, at positions (locations) where they can detect status information used when the information processing system 1 generates a plan. For example, the sensor 401 and the communication device 501 are arranged at locations where a temporary stop may occur on the route. Only one of the sensor 401 and the communication device 501 may be provided as long as it is possible to detect the status information of each moving object 301.
[0023] The information processing device 100 generates a route plan that indicates a route along which each moving body 301 should travel, based on the content of work to be performed by each moving body 301 and the order of the work. The route plan may be provided from a system (device) other than the information processing device 100. Furthermore, based on the route plan, the information processing device 100 generates a driving plan that determines the timing at which each moving body 301 should travel along each route, so as to prevent collisions and deadlocks among the moving bodies 301.
[0024] The management device 200 controls the movement of each moving object 301 by transmitting to each moving object 301 a movement command (such as a command converted from the movement plan) based on the movement plan of each moving object 301. The management device 200 also detects the state of each moving object 301 and manages the movement (operation) of each moving object 301 (operation management device). The management device 200 includes a communication control unit 201 and a state detection unit 202.
[0025] The communication control unit 201 controls communication between the information processing device 100 and an external device such as a mobile object 301. For example, the communication control unit 201 transmits and receives information to and from the information processing device 100 by at least one of wireless communication and wired communication. For example, the communication control unit 201 transmits and receives information to and from the mobile object 301 by wireless communication.
[0026] The state detection unit 202 acquires information (state information) indicating the state of the moving object 301 from the communication device 501 or the sensor 401. The state detection unit 202 may acquire the state information of the moving object 301 using the communication control unit 201. The state detection unit 202 transmits the state information of each moving object 301 to the information processing device 100 via the communication control unit 201. The state information may include the time when the traveling state of each moving object 301 is detected.
[0027] Next, a description will be given of the functions of the information processing device 100. As shown in Fig. 1, the information processing device 100 includes a road structure storage unit 131, a zone storage unit 132, a route plan storage unit 133, a state storage unit 134, a driving plan storage unit 135, a route planning unit 101, a replanning determination unit 102, a zone determination unit 110, driving plan units 121-1 to 121-J (J is an integer of 2 or more), and a communication control unit 122.
[0028] The roadway structure storage unit 131 stores information (roadway structure information) that represents the structure of a roadway. The roadway structure information can be expressed, for example, as a graph structure including a plurality of nodes and a plurality of arcs (roadways) that connect the plurality of nodes. Note that the format of the roadway structure information is not limited to a graph structure, and any other format may be used.
[0029] FIG. 2 is a diagram showing an example of roadway structure information. Each roadway is represented by a line connecting multiple nodes. In FIG. 2, each circle represents a node, and the line segments connecting multiple circles represent arcs (roadways). A node represents the end of a roadway or the intersection of multiple roadways. The letters inside the circles represent node IDs, which are identification information that identify the nodes.
[0030] Detailed information 21 shows an example of detailed information about each node. In the example of Fig. 2, detailed information 21 includes a node ID, an X coordinate, and a Y coordinate. For example, the coordinates of a node whose node ID is A are (X, Y) = (20, 20).
[0031] The detailed information 22 shows an example of detailed information about a travel path. In the example of FIG. 2, the detailed information 22 shows a travel path ID and the node IDs of the nodes at both ends of the travel path. The travel path ID is identification information that identifies the travel path. For example, the travel path ID of the travel path between the node with node ID A and the node with node ID B is 1, and the node IDs of the nodes at both ends of the travel path are A and B.
[0032] The roadway structure information in FIG. 2 is an example and is not limited to this. For example, the roadway structure information may include detailed information 22 that associates distances between multiple nodes (arc distances) with roadway IDs. The arc distances may be calculated based on the positions of the nodes on both sides of the arc. The roadway structure information may include detailed information 22 that associates a standard time required to travel a road with a roadway ID.
[0033] Returning to the explanation of Fig. 1, the zone storage unit 132 stores zone information for dividing the entire movement area into a plurality of zones. The zone information is, for example, information indicating the positions (coordinates) of the plurality of zones included in the movement area.
[0034] FIG. 3 is a diagram illustrating an example of a moving area and multiple zones. FIG. 3 corresponds to an example of a moving area observed from above. The moving area is represented, for example, by two-dimensional coordinates (X, Y). In the example of FIG. 3, the moving area corresponds to the area from X0 to X71 and Y0 to Y53. The moving area includes five zones ZA, ZB, ZC, ZD, and ZE. Zones ZA, ZB, ZC, and ZD are rectangular areas. Zone ZE corresponds to the moving area excluding the other zones ZA, ZB, ZC, and ZD.
[0035] 3 shows an example in which the movement area is a warehouse where a mobile object 301 such as an AGV transports movable shelves where items are stored to a station where picking will be performed. The gray rectangular areas correspond to the locations where shelves are installed, and the white areas between the shelves correspond to the routes that the mobile object 301 can move along. Stations WS1 to WS20 correspond to the stations to which the mobile object 301 can move.
[0036] 3 corresponds to an area including the boundary between zone ZA and zone ZE. In this embodiment, when there is a moving object that moves across such a boundary, the boundary between multiple zones can be changed.
[0037] The zone storage unit 132 stores zone information in which each of the zones ZA, ZB, ZC, ZD, and ZE in the movement area, for example as shown in FIG. 3, is represented by coordinate values. The boundaries of the zones represented by the zone information may be changed by the zone determination unit 110. Therefore, the zone information stored in the zone storage unit 132 corresponds to the initial values of multiple zones. Hereinafter, the zone represented by the zone information corresponding to the initial values may be referred to as the basic zone.
[0038] The route plan storage unit 133 stores, for example, a route plan generated by the route planning unit 101. For example, the route plan storage unit 133 stores a route plan generated for each moving object 301. The route plan may be expressed in any format. For example, when the travel path structure information is expressed in a graph structure as shown in FIG. 2, the route plan may be in a format in which multiple nodes that the moving object 301 moves through are arranged in the order in which they will move.
[0039] For example, a route plan for a route along which a mobile object 301 travels from a node with a node ID of L to a node with a node ID of A is expressed as "L, K, I, G, E, C, A." The route plan may include information indicating the work to be performed at the nodes. For example, if the work of loading goods is performed at a node with a node ID of L and the work of unloading goods is performed at a node with a node ID of A, the route plan may be expressed as "L-Load, K, I, G, E, C, A-Unload."
[0040] The status storage unit 134 stores status information indicating the status of each mobile object 301. The status information includes, for example, the current location of the mobile object 301 and a running status indicating whether the mobile object 301 is running or stopped. The status storage unit 134 stores, for example, status information acquired by the status detection unit 202 of the management device 200 and transmitted from the management device 200 via the communication control unit 201.
[0041] The driving plan storage unit 135 stores the driving plans generated by the driving planners 121-1 to 121-J. As will be described later, a driving plan is generated for each of a plurality of zones. Therefore, the driving plan storage unit 135 stores a driving plan for each of a plurality of zones.
[0042] Each memory unit (roadway structure memory unit 131, zone memory unit 132, route plan memory unit 133, status memory unit 134, and driving plan memory unit 135) can be configured using any commonly used storage medium, such as a flash memory, a memory card, a RAM (Random Access Memory), an HDD (Hard Disk Drive), or an optical disk.
[0043] Each storage unit may be implemented as a physically different storage medium, or as a different storage area of the same physically identical storage medium.
[0044] The route planning unit 101 generates a route plan. For example, the route planning unit 101 generates a route plan that represents a route along which each moving body 301 should travel, based on information regarding the content of work to be performed by each moving body 301 and the order of the work, which are predetermined. The route planning unit 101 stores data of the generated route plan in the route plan storage unit 133. Any method for generating a route plan may be used. For example, the route planning unit 101 generates a route plan for each moving body 301, using as an evaluation criterion the reduction of the distance traveled by multiple moving bodies 301 traveling in opposite directions on the same travel path.
[0045] The route plan may be generated by an external device or by a user. In this case, the route planning unit 101 acquires the route plan and stores it in the route plan storage unit 133. The route planning unit 101 may receive data of the route plan from an external device via the communication control unit 122. The route planning unit 101 may acquire data of the route plan via an input device operated by the user.
[0046] The re-planning determination unit 102 determines whether to execute a re-plan to update the driving plan. For example, the re-planning determination unit 102 compares the driving plan stored in the driving plan storage unit 135 with the driving state of the moving object 301 detected by the state detection unit 202 to determine whether to execute a re-plan. For example, when the following conditions are satisfied, the re-planning determination unit 102 determines to execute a re-plan and generates a re-planning trigger. -After a predetermined period of time (at regular intervals) When it is determined that at least one moving object 301 cannot keep to the driving plan When new work needs to be done or new items need to be transported When a moving object 301, whose route is planned to cross multiple zones, moves near the boundary between the multiple zones.
[0047] When a re-planning trigger occurs, that is, when it is decided to perform re-planning, the zone determination unit 110 determines a zone as a unit for performing re-planning. After that, the driving planners 121-1 to 121-J execute re-planning to update the driving plan for each determined zone.
[0048] The zone determination unit 110 includes a determination unit 111 , a change unit 112 , and an extraction unit 113 .
[0049] The determination unit 111 uses the route plan to determine whether the moving object 301 moves across zones. For example, the determination unit 111 uses the route plan to determine, for each of the multiple moving objects 301, whether a zone Z1 (first partial area) to which a position P1 (first position) where the moving object 301 is present belongs is different from a zone Z2 (second partial area) to which a position P2 (second position) to which the moving object 301 moves after the position P1 belongs. The position P1 may be, for example, the current position of the moving object 301, a position to which the moving object 301 is instructed to next update its travel plan, or a position where the moving object 301 is present when a re-planning trigger is generated. The determination unit 111 can identify the zone to which the position P1 or the position P2 belongs by, for example, referring to zone information (basic zone) stored in the zone storage unit 132.
[0050] When a route plan is expressed as the order of moving through nodes included in a graph structure, position P2 to move to after position P1 can be identified as the position corresponding to the node that is next in the moving order to the node corresponding to position P1. The method of identifying position P2 to move to after position P1 is not limited to this, and any method may be used. For example, position P2 may be identified as the position after the moving object 301 moves from position P1 at the moving speed of the moving object 301 for a specified time.
[0051] The change unit 112 changes the boundary between zones in accordance with the determination result by the determination unit 111. For example, when zone Z1 and zone Z2 are different, the change unit 112 changes the boundary between zone Z1 and zone Z2 so that position P1 is included in zone Z2.
[0052] As described above, the determination unit 111 performs a determination for each of the multiple moving objects 301. Therefore, when it is determined that the multiple moving objects 301 move across zones, the change unit 112 may perform the process of changing the boundary between the zones multiple times. Therefore, the change unit 112 may set an upper limit on the number of times the boundary is changed. For example, when the number of times the boundary is changed is equal to or less than the upper limit and zone Z1 and zone Z2 are different, the change unit 112 changes the boundary between zone Z1 and zone Z2 so that position P1 is included in zone Z2.
[0053] The extraction unit 113 extracts a route of the moving object 301 within the zone to which the moving object 301 belongs. For example, the extraction unit 113 extracts, for each of the multiple moving objects 301, a route within the zone to which the moving object 301 belongs from among the multiple zones after the boundaries have been changed. The extracted route is referred to, for example, when the driving planners 121-1 to 121-J generate a driving plan.
[0054] The driving planners 121-1 to 121-J generate driving plans independently for each of the multiple zones after the boundaries have been changed. Since the driving planners 121-1 to 121-J have similar functions except for the target zones, they may be simply referred to as the driving planner 121 when there is no need to distinguish them.
[0055] One driving planner 121 may be provided for each zone, or one for two or more zones. By providing at least two or more (J≧2) driving planners 121, driving plans can be generated in parallel. This allows for faster generation of plans for the movement of the moving object. Note that the multiple driving planners 121 may be realized by multiple computers (electronic devices, processors, circuits, etc.), or may be realized by a configuration in which one computer generates driving plans for multiple zones in parallel.
[0056] Any method may be used for generating a driving plan by the driving planner 121. For example, the driving planner 121 generates a driving plan for each of a plurality of zones, specifying the timing at which the plurality of moving bodies 301 move along a route so as to prevent conflicts between the plurality of moving bodies 301 on a route included in the zone.
[0057] The driving planner 121 may generate a driving plan when the number of times the boundary is changed by the changer 112 exceeds a threshold. Such processing corresponds to using the number of times the boundary is changed exceeding a threshold as a further re-planning trigger.
[0058] The driving planner 121 does not need to generate driving plans for all zones, and may generate driving plans for some zones including zones Z1 and Z2 whose boundaries have been changed, for example.
[0059] The communication control unit 122 controls communication with external devices such as the management device 200. For example, the communication control unit 122 transmits the driving plan generated by the driving planner 121 to the management device 200.
[0060] At least a part of each of the above units (the route planning unit 101, the re-planning determination unit 102, the zone determination unit 110, the driving planner 121, and the communication control unit 122) may be realized by one or more processing units. Each of the above units is realized, for example, by one or more processors. For example, each of the above units may be realized by having a processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit) execute a program, that is, by software. Each of the above units may be realized by a processor such as a dedicated IC (Integrated Circuit), that is, by hardware. Each of the above units may be realized by a combination of software and hardware. When multiple processors are used, each processor may realize one of the units, or may realize two or more of the units.
[0061] The information processing device 100 may be physically configured as one device or may be physically configured as multiple devices. For example, the information processing device 100 may be built in a cloud environment. Furthermore, each unit within the information processing device 100 may be distributed across multiple devices.
[0062] Furthermore, the information processing device 100 and the management device 200 may be physically present on the same device (computer system), or may be physically present on different devices (computer systems) and connected to each other via a network.
[0063] Next, a plan generation process by the information processing apparatus 100 according to the embodiment will be described. Fig. 4 is a flowchart showing an example of the plan generation process according to the embodiment. The plan generation process in Fig. 4 is executed, for example, when the re-planning decision unit 102 decides to execute a re-plan, that is, when a re-planning trigger is generated.
[0064] The zone determination unit 110 acquires data necessary for generating a travel plan, such as travel road structure and zone information, from, for example, the travel road structure storage unit 131 and the zone storage unit 132 (step S101).
[0065] The zone determination unit 110 acquires, for example, state information (such as the current position) of each moving object 301 detected by the state detection unit 202 and stored in the state storage unit 134 (step S102).
[0066] The zone determination unit 110 executes a zone determination process to determine a zone to be used for generating a travel plan (step S103). The zone determination process will be described in detail later.
[0067] The zone determination unit 110 (determination unit 111) determines the zone to which each mobile object 301 belongs from among the determined zones (step S104). The extraction unit 113 extracts the route of the mobile object 301 within the zone to which the mobile object 301 belongs (step S105).
[0068] The driving planner 121 generates a driving plan for each of the multiple zones (step S106). The communication controller 122 outputs the generated driving plan to the management device 200 (step S107), and the plan generation process ends.
[0069] When the next plan generation process is executed, the determination unit 111 again acquires zone information from the zone storage unit 132. In other words, the zone whose boundary has been changed is returned to the initial value (basic zone).
[0070] Next, the zone determination process in step S103 will be described in detail below. Fig. 5 is a flowchart showing an example of the zone determination process.
[0071] The determination unit 111 identifies an unprocessed moving body 301 from among the multiple moving bodies 301 (step S201). The determination unit 111 determines the zone Z1 to which the initial position of the identified moving body 301 belongs (step S202). The initial position corresponds to the position P1 where the moving body 301 is located. As described above, the initial position (position P1) is, for example, the current position of the moving body 301, or the position where the moving body 301 is instructed to next update its travel plan.
[0072] The determination unit 111 determines the zone Z2 to which the position P2 to move next after the initial position belongs (step S203). The determination unit 111 determines whether the zone Z1 and the zone Z2 are different (step S204).
[0073] If zone Z1 and zone Z2 are different (step S204: Yes), the change unit 112 changes the boundary between zone Z1 and zone Z2 so that zone Z2 includes the initial position (position P1) (step S205).
[0074] The change unit 112 determines whether the number of boundary changes is equal to or less than the upper limit (step S206). If the number of boundary changes is equal to or less than the upper limit (step S206: Yes) and if zone Z1 and zone Z2 are the same (step S204: No), the determination unit 111 determines whether all moving objects 301 have been processed (step S207).
[0075] If all the moving objects 301 have not been processed (step S207: No), the determination unit 111 returns to step S201 and repeats the process.
[0076] When all the moving objects 301 have been processed (step S207: Yes) or when the number of changes exceeds the upper limit (step S206: No), the zone determination process ends.
[0077] Fig. 6 is a diagram for explaining a specific example of the zone determination process. The dashed line represents the boundary between two zones. The squares and arrows correspond to, for example, nodes and arcs (paths). Fig. 6 shows an example of a situation in which three moving objects 301-1, 301-2, and 301-3 are moving.
[0078] The left part of Fig. 6 shows a situation where each moving object 301 belongs to the lower of the two basic zones at the time when replanning is started. Each moving object 301 is given a route plan to move to the upper of the two basic zones.
[0079] 6, the determination unit 111 determines that the lower zone (zone Z1) to which the initial position (position P1) of the moving object 301-1 belongs is different from the upper zone (zone Z2) to which the next position P2 to move belongs. Therefore, the modification unit 112 modifies the boundary between zone Z1 and zone Z2 so that position P1 is included in the upper zone Z2.
[0080] 6 shows a situation in which the boundary has been changed in this way. In this situation, the determination unit 111 further determines that, for the next moving object 301-2, the lower zone (zone Z1) to which the initial position (position P1) belongs is different from the upper zone (zone Z2) to which the next moving object 301-2 will move to position P2. Therefore, the change unit 112 further changes the boundary between zone Z1 and zone Z2 so that position P1 is included in zone Z2.
[0081] Similarly, the boundary change is performed for the moving object 301-3. The right part of Fig. 6 shows the situation after the boundaries for the three moving objects 301-1, 301-2, and 301-3 have been changed. After this, a driving plan is generated for the three moving objects 301-1, 301-2, and 301-3 by the driving planner 121 corresponding to zone Z2.
[0082] Fig. 7 is a diagram showing an example of route extraction within the zone to which mobile object 301 belongs. Fig. 7 shows an example in which the movement area is divided into four zones ZA, ZB, ZC, and ZD. The left part of Fig. 7 shows examples of routes 71, 72, and 73 set in the route plan for mobile objects 301-1 to 301-3. Route 71 is a route that crosses multiple zones ZA and ZC. Route 72 is a route that crosses multiple zones ZB, ZD, and ZC. Meanwhile, route 73 is a route within one zone ZD.
[0083] The extraction unit 113 extracts the route of each mobile object 301 within the zone to which the mobile object 301 belongs. The right part of FIG. 7 shows a state in which routes within a zone are extracted by the extraction unit 113. In this example, for mobile object 301-1, route 71b from the current location of mobile object 301-1 to the boundary between zone ZA and zone ZC is extracted. In this way, the extraction unit 113 extracts the portion of the route that includes the current location of mobile object 301. In other words, the extraction unit 113 does not extract the portion of the route within zone ZA after mobile object 301-1 returns from zone ZC. For mobile object 301-2, route 72b from the current location of mobile object 301-2 to the boundary between zone ZB and zone ZD is extracted.
[0084] (Variation 1) The number of basic zones (initial values of multiple zones) does not need to be one, and may be multiple. For example, the determination unit 111 may select one or more initial values (basic zones) of multiple zones and perform determination using the selected basic zone. Any method may be used to select the basic zone, and the following method may be used, for example. (M1) Select a basic zone according to the time period in which the judgment (replanning) will be made. (M2) When a predetermined condition is satisfied, a basic zone different from the basic zone being used is selected.
[0085] For example, depending on the time period, only some of the multiple zones in the movement area may be used. For example, a transport system that transports shelves within a warehouse may be configured to use only picking stations included in some zones during a certain time period. (M1) above can be applied to such situations. For example, only the zones that are used for each time period are defined as basic zones, and the determination unit 111 selects the basic zones defined for the time period when re-planning.
[0086] The above (M2) will be further explained. The judgment unit 111 first selects a certain basic zone as an initial value I1 (first initial value) and makes a judgment. If a predetermined condition is satisfied while executing the plan generation process using this basic zone, the judgment unit 111 selects a basic zone different from the currently used basic zone as an initial value I2 (second initial value) and uses it in subsequent judgments.
[0087] The initial value I2 includes, for example, a plurality of zones obtained by dividing at least some of the plurality of zones corresponding to the initial value I1. The condition represents, for example, at least one of the following conditions. A condition indicating that the number of moving objects 301 included in multiple zones exceeds a specified number - Conditions indicating that the generation of a driving plan will not be completed within the specified time
[0088] According to (M2), for example, an increase in the number of moving bodies 301 belonging to a certain zone increases the load of generating a driving plan for that zone, making it possible to avoid a situation in which the generation of the driving plan cannot be completed within the required time.
[0089] (Variation 2) In the example of FIG. 3, zone ZE is a zone that includes a smaller area than the other zones. Therefore, repeated processing to change the boundaries with other zones may result in a situation in which zone ZE is divided into multiple zones. To avoid this situation, a configuration may be adopted in which positions (allowed positions) at which boundary changes are permitted are defined, and boundary changes are permitted when position P1 is included in the allowed positions. If position P1 is not included in the allowed positions, the boundary will not be changed, which may cause the moving object 301 to stop. However, by returning to the basic zone and repeatedly re-planning, a plan for moving the moving object 301 will eventually be created, and the moving object 301 will be able to move toward the next zone.
[0090] For example, the change unit 112 changes the boundary when the zones Z1 and Z2 are different and the position P1 is included in one or more permitted positions defined as positions where a change of the boundary is permitted.
[0091] As described above, in the embodiment, a travel plan for a mobile object within a zone is generated for each of a plurality of partial regions (zones) obtained by dividing the entire travel area. This makes it possible to generate a travel plan for a mobile object with a route that crosses multiple zones in less calculation time while ensuring that a travel plan is generated that does not cause conflicts within each zone. In other words, it becomes possible to generate a travel plan for a mobile object more quickly.
[0092] Next, the hardware configuration of the apparatus (information processing apparatus, management apparatus) of the embodiment will be described with reference to Fig. 8. Fig. 8 is an explanatory diagram showing an example of the hardware configuration of the apparatus of the embodiment.
[0093] The device of the embodiment includes a control device such as a CPU (Central Processing Unit) 51, a storage device such as a ROM (Read Only Memory) 52 and a RAM (Random Access Memory) 53, a communication I / F 54 that connects to a network and communicates, and a bus 61 that connects each part.
[0094] The programs executed by the device of the embodiment are provided in advance in the ROM 52 or the like.
[0095] The program executed by the device of the embodiment may be configured to be provided as a computer program product by being recorded in an installable or executable file format on a computer-readable recording medium such as a CD-ROM (Compact Disk Read Only Memory), a flexible disk (FD), a CD-R (Compact Disk Recordable), or a DVD (Digital Versatile Disk).
[0096] Furthermore, the program executed by the device of the embodiment may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Also, the program executed by the device of the embodiment may be provided or distributed via a network such as the Internet.
[0097] The programs executed by the device of the embodiment can cause a computer to function as each part of the device described above. In this computer, the CPU 51 can read the programs from a computer-readable storage medium onto a main storage device and execute them.
[0098] A configuration example of the embodiment will be described below. (Configuration example 1) using a route plan representing a route plan for each of a plurality of moving bodies among a plurality of routes included in a movement area in which the plurality of moving bodies move, determining whether or not a first partial area, which is the partial area to which a first position where the moving body exists belongs, and a second partial area, which is the partial area to which a second position to which the moving body moves after the first position belongs, are different among a plurality of partial areas included in the movement area for each of the plurality of moving bodies; When the first partial region and the second partial region are different, changing a boundary between the first partial region and the second partial region so that the second partial region includes the first position; For each of the plurality of partial areas, a travel plan is generated that specifies timings for the plurality of moving bodies to move along the route included in the partial area so that conflicts between the plurality of moving bodies do not occur on the route. Processing section, An information processing device comprising: (Configuration example 2) The processing unit When the number of times the boundary is changed is equal to or less than an upper limit value and the first partial region and the second partial region are different, the boundary is changed so that the second partial region includes the first position. The information processing device according to claim 1. (Configuration example 3) The processing unit generating the driving plan when the number of times the boundary is changed exceeds a threshold; The information processing device according to configuration example 1 or 2. (Configuration Example 4) The processing unit generating the driving plan for the first partial area and the second partial area whose boundaries have been changed; The information processing device according to configuration example 3. (Configuration Example 5) The processing unit changing the boundary when the first partial area and the second partial area are different and the first position is included in one or more permitted positions defined as positions where the change of the boundary is permitted; The information processing device according to any one of configuration examples 1 to 4. (Configuration Example 6) The processing unit determining whether the first partial region and the second partial region are different from each other among the plurality of partial regions corresponding to any of one or more initial values of the plurality of partial regions; 6. The information processing device according to any one of configuration examples 1 to 5. (Configuration Example 7) The processing unit Among the one or more initial values, an initial value corresponding to a time period for which the determination is made is used. The information processing device according to configuration example 6. (Configuration Example 8) The processing unit determining whether the first partial area and the second partial area are different from each other by using the first initial value out of a first initial value and a second initial value including partial areas obtained by dividing at least some of the partial areas corresponding to the first initial value into a plurality of partial areas; When a predetermined condition is satisfied, it is further determined whether the first partial region and the second partial region are different from each other using the second initial value. The information processing device according to configuration example 6. (Configuration Example 9) The condition is: represents at least one of a condition indicating that the number of moving objects included in the plurality of partial areas exceeds a specified number, and a condition indicating that generation of the driving plan will not be completed within a specified time, The information processing device according to configuration example 8. (Configuration Example 10) An information processing method executed by an information processing device, a step of determining, for each of the plurality of moving bodies, whether or not a first partial area, which is a partial area to which a first position where the moving body exists belongs, and a second partial area, which is a partial area to which a second position to which the moving body moves next after the first position belongs, are different from each other among a plurality of partial areas included in the movement area of the plurality of moving bodies, using a route plan that represents a plan of the route along which each of the plurality of moving bodies moves, among a plurality of routes included in the movement area of the plurality of moving bodies; When the first partial region and the second partial region are different, changing the boundary between the first partial region and the second partial region so that the second partial region includes the first position; generating a travel plan for each of the plurality of partial areas, the travel plan specifying timings for the plurality of moving bodies to move along the route included in the partial area so as to prevent competition between the plurality of moving bodies on the route included in the partial area; An information processing method including: (Configuration Example 11) On the computer, a step of determining, for each of the plurality of moving bodies, whether or not a first partial area, which is a partial area to which a first position where the moving body exists belongs, and a second partial area, which is a partial area to which a second position to which the moving body moves next after the first position belongs, are different from each other among a plurality of partial areas included in the movement area of the plurality of moving bodies, using a route plan that represents a plan of the route along which each of the plurality of moving bodies moves, among a plurality of routes included in the movement area of the plurality of moving bodies; When the first partial region and the second partial region are different, changing the boundary between the first partial region and the second partial region so that the second partial region includes the first position; generating a travel plan for each of the plurality of partial areas, the travel plan specifying timings for the plurality of moving bodies to move along the route included in the partial area so as to prevent competition between the plurality of moving bodies on the route included in the partial area; A program to execute.
[0099] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the scope of the invention and its equivalents as defined in the claims. [Explanation of symbols]
[0100] 1. Information Processing Systems 100 Information processing device 101 Route Planning Department 102 Replanning Decision Department 110 Zone determination unit 111 Judgment section 112 Changes 113 Extraction part 121-1~121-J Driving Planning Department 122 Communication control section 131 Road structure memory unit 132 Zone Memory Unit 133 Route planning memory unit 134 State memory unit 135 Driving plan memory unit 200 Management device 201 Communication control unit 202 Status detection unit 301-1~301-N Mobile 401-1 to 401-M Sensors 501-1~501-K Communication equipment
Claims
1. using a route plan representing a route plan for each of a plurality of routes included in a movement area in which a plurality of moving bodies move, to determine whether or not a first partial area, which is a partial area to which a first position where the moving body exists belongs, and a second partial area, which is a partial area to which a second position to which the moving body moves after the first position belongs, are different from each other among a plurality of partial areas included in the movement area for each of the plurality of moving bodies; When the first partial region and the second partial region are different, changing a boundary between the first partial region and the second partial region so that the second partial region includes the first position; For each of the plurality of partial areas, a travel plan is generated that specifies timings for the plurality of moving bodies to move along the route included in the partial area so that conflicts between the plurality of moving bodies do not occur on the route. Processing section, An information processing device comprising:
2. The processing unit When the number of times the boundary is changed is equal to or less than an upper limit value and the first partial region and the second partial region are different, the boundary is changed so that the second partial region includes the first position. The information processing device according to claim 1 .
3. The processing unit generating the driving plan when the number of times the boundary is changed exceeds a threshold; The information processing device according to claim 1 .
4. The processing unit generating the driving plan for the first partial area and the second partial area whose boundaries have been changed; The information processing device according to claim 3 .
5. The processing unit changing the boundary when the first partial area and the second partial area are different and the first position is included in one or more permitted positions defined as positions where a change of the boundary is permitted; The information processing device according to claim 1 .
6. The processing unit determining whether the first partial region and the second partial region are different from each other among the plurality of partial regions corresponding to any of the one or more initial values of the plurality of partial regions; The information processing device according to claim 1 .
7. The processing unit Among the one or more initial values, an initial value corresponding to a time period for which the determination is made is used. The information processing device according to claim 6 .
8. The processing unit determining whether the first partial area and the second partial area are different from each other by using the first initial value out of a first initial value and a second initial value including partial areas obtained by dividing at least some of the partial areas corresponding to the first initial value into a plurality of partial areas; When a predetermined condition is satisfied, it is further determined whether the first partial region and the second partial region are different from each other using the second initial value. The information processing device according to claim 6 .
9. The condition is: represents at least one of a condition indicating that the number of moving objects included in the plurality of partial areas exceeds a specified number, and a condition indicating that generation of the driving plan will not be completed within a specified time, The information processing device according to claim 8 .
10. An information processing method executed by an information processing device, a step of determining, for each of the plurality of moving bodies, whether or not a first partial area, which is a partial area to which a first position where the moving body exists belongs, and a second partial area, which is a partial area to which a second position to which the moving body moves next after the first position belongs, are different from each other among a plurality of partial areas included in the movement area of the plurality of moving bodies, using a route plan that represents a plan of the route along which each of the plurality of moving bodies moves, among a plurality of routes included in the movement area of the plurality of moving bodies; When the first partial region and the second partial region are different, changing the boundary between the first partial region and the second partial region so that the second partial region includes the first position; generating a travel plan for each of the plurality of partial areas, the travel plan specifying timings for the plurality of moving bodies to move along the route included in the partial area so as to prevent competition between the plurality of moving bodies on the route included in the partial area; An information processing method including:
11. On the computer, a step of determining, for each of the plurality of moving bodies, whether or not a first partial area, which is a partial area to which a first position where the moving body exists belongs, and a second partial area, which is a partial area to which a second position to which the moving body moves next after the first position belongs, are different from each other among a plurality of partial areas included in the movement area of the plurality of moving bodies, using a route plan that represents a plan of the route along which each of the plurality of moving bodies moves, among a plurality of routes included in the movement area of the plurality of moving bodies; When the first partial region and the second partial region are different, changing the boundary between the first partial region and the second partial region so that the second partial region includes the first position; generating a travel plan for each of the plurality of partial areas, the travel plan specifying timings for the plurality of moving bodies to move along the route included in the partial area so as to prevent competition between the plurality of moving bodies on the route included in the partial area; A program to execute.
Citation Information
Patent Citations
Systems and methods for coordinating movement of mobile drive units
JP2009541177A
Control device, moving body, and distributed control program for moving body
JP2023004006A
Moving robot and control method thereof
US20180064024A1
Mobile robot
WO2020035902A1
Agent management system and method
WO2023228669A1