Mobile vehicle control system, task management device, control method, and program

JP2026144331APending Publication Date: 2026-09-09TOPPAN HOLDINGS INC +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025031568
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-28
Publication Date
2026-09-09

AI Technical Summary

Benefits of technology

【0014】 この発明によれば、移動体制御システム、タスク管理装置、制御方法、およびプログラムは、1つまたは複数のタスクを含むタスクセットを単位として、移動体に割当てられる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026144331000001_ABST
    Figure 2026144331000001_ABST
Patent Text Reader

Abstract

To provide a mobile body control system that assigns tasks to a mobile body, with each task set containing one or more tasks being a unit. [Solution] A mobile body control system for controlling multiple mobile bodies, comprising: a task set information acquisition unit that acquires information indicating a task set containing one or more tasks; and a mobile body assignment unit that calculates a representative position of the task set based on the position of one or more tasks in the task set, and determines which mobile body to assign the task set to from among the multiple mobile bodies based on the representative position.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a mobile control system, a task management device, a control method, and a program. [Background technology]

[0002] In recent years, picking operations using transport robots have been implemented in logistics warehouses for e-commerce (e-commerce). In this picking operation, when an ordered item (task) is assigned to a transport robot, it moves to the location where the item is stored. Once a picker places the item on the transport robot, the robot transports the item to the packing area for shipment. In the packing area, the item is received from the transport robot, packed, and shipped.

[0003] When an order contains multiple items, it may involve a set of tasks, such as packing those items into a single container (like a cardboard box) for shipment. In the fulfillment center disclosed in Patent Document 1, when a user places an order, a picker takes each item included in the order and places it on a conveyor system. These items are then transported by the conveyor system to the packing zone. In the packing zone, a living room worker places the transported items into the cells corresponding to the order for each item. Once all the items included in the order are in the cells, a packer packs them, and the packed items are shipped. [Prior art documents] [Patent Documents]

[0004] [Patent Document 1] Patent No. 7146924 [Overview of the project] [Problems that the invention aims to solve]

[0005] However, in the fulfillment center described in Patent Document 1, there is a problem in that, because each picking worker is assigned a specific item (task) in the order, a living work is required to gather all the items included in the order.

[0006] The present invention has been made in view of these circumstances, and provides a mobile body control system, task management device, mobile body, mobile body control method, and program that assign task sets, which include one or more tasks, such as orders including one or more items, to a mobile body such as a transport robot, so as to eliminate the need for living room work. [Means for solving the problem]

[0007] This invention was made to solve the above-mentioned problems, and one aspect of the present invention is a mobile body control system for controlling a plurality of mobile bodies, comprising: a task set information acquisition unit that acquires information indicating a task set including one or more tasks; and a mobile body assignment unit that calculates a representative position of the task set based on the position of each of the one or more tasks in the task set, and determines which of the plurality of mobile bodies to which the task set is assigned based on the representative position.

[0008] Another aspect of the present invention is the mobile body control system described above, wherein the mobile body assignment unit clusters the plurality of task sets into one or more clusters based on the representative position of each of the plurality of task sets, and assigns each of the one or more clusters to one of the plurality of mobile bodies based on the representative position of the cluster.

[0009] Another aspect of the present invention is a mobile body control system as described above, comprising: an order determination unit that determines the processing order of assigned tasks for each of the plurality of mobile bodies; a first path planning unit that plans the movement paths of the plurality of mobile bodies by a deterministic solution method according to the processing order determined by the order determination unit; and a second path planning unit that, if the first path planning unit is unable to plan the movement paths of the plurality of mobile bodies, plans the movement paths of the plurality of mobile bodies by a heuristic solution method according to the processing order determined by the order determination unit.

[0010] Another aspect of the present invention is the above-described mobile body control system, comprising: an order determination unit that determines the processing order of assigned tasks for each of the plurality of mobile bodies; and a route planning unit that plans the movement paths of the plurality of mobile bodies according to the processing order determined by the order determination unit, wherein if the order determination unit is notified by one of the plurality of mobile bodies that it is not possible to move according to the movement path planned by the route planning unit, the order determination unit changes the processing order of the tasks assigned to the one mobile body, and the route planning unit plans the movement path of the one mobile body according to the processing order changed by the order determination unit.

[0011] Another aspect of the present invention is a task management device for managing tasks of a plurality of mobile bodies, comprising: a task set information acquisition unit that acquires information indicating a task set containing one or more tasks; and a mobile body assignment unit that calculates a representative position of the task set based on the position of each of the one or more tasks in the task set, and determines which of the plurality of mobile bodies to which the task set is to be assigned based on the representative position.

[0012] Another aspect of the present invention is a control method for controlling a plurality of mobile bodies, comprising the steps of: acquiring information indicating a task set including one or more tasks; calculating a representative position of the task set based on the position of each of the one or more tasks in the task set; and determining which of the plurality of mobile bodies to which the task set will be assigned based on the representative position.

[0013] Another aspect of the present invention is a program for causing a computer to function as: a task set information acquisition unit that acquires information indicating a task set including one or more tasks; and a moving body allocation unit that calculates a representative position of the task set based on each position of the one or more tasks of the task set, and determines, among a plurality of moving bodies, a moving body to which the task set is allocated based on the representative position. Effects of the Invention

[0014] According to the present invention, the moving body control system, task management device, control method, and program perform allocation to moving bodies in units of task sets each including one or more tasks. Brief Description of the Drawings

[0015] [Figure 1] FIG. 1 is a schematic block diagram showing a configuration of a moving body control system 1 according to an embodiment of the present invention. [Figure 2] FIG. 2 is a schematic diagram showing an example of an operating environment of a moving body 10 in the same embodiment. [Figure 3] FIG. 3 is a schematic block diagram showing a configuration of a task management device 20 in the same embodiment. [Figure 4] FIG. 4 is a schematic block diagram showing a configuration of a moving body 10 in the same embodiment. [Figure 5] FIG. 5 is a flowchart explaining an operation example of a moving body allocation unit 22 in the same embodiment. [Figure 6] FIG. 6 is a schematic diagram explaining an operation example of the moving body allocation unit 22 in the same embodiment. [Figure 7] FIG. 7 is a flowchart explaining an operation example of a second route planning unit 16 in the same embodiment. [Figure 8] FIG. 8 is a diagram showing an example of current positions and destination candidates of moving bodies 10-1 to 10-3 in the same embodiment. [Figure 9] FIG. 9 is a diagram showing an example of combinations of destination candidates in the same embodiment. [Figure 10] This is a sequence diagram illustrating a first example of operation of the mobile control system 1 in the same embodiment. [Figure 11] This is a sequence diagram illustrating a second example of operation of the mobile control system 1 in the same embodiment. [Modes for carrying out the invention]

[0016] Embodiments of the present invention will be described below with reference to the drawings. Figure 1 is a schematic block diagram showing the configuration of a mobile body control system 1 according to one embodiment of the present invention. The mobile body control system 1 comprises mobile bodies 10-1, 10-2, 10-3, a task management device 20, worker terminals 30-1, 30-2, and a network 40. Each of the mobile bodies 10-1, 10-2, and 10-3 is a mobile body that moves based on a task assigned by the task management device 20. For example, it may be a robot that receives and transports items picked up by a worker in a warehouse, or a robot that serves food in a restaurant. The means of movement for each of the mobile bodies 10-1, 10-2, and 10-3 may be by running on wheels, flying in the air using propellers, or navigating on water. In Figure 1, the mobile body control system 1 comprises three mobile bodies 10-1, 10-2, and 10-3, but the number of mobile bodies may be two or four or more. Since mobile units 10-1, 10-2, and 10-3 have similar configurations, they may collectively be referred to as mobile unit 10 from now on.

[0017] The task management device 20 assigns task sets containing one or more tasks to each of the mobile bodies 10-1, 10-2, and 10-3, and determines the processing order of the tasks in the assigned task sets. A task set is, for example, an order from a user in an e-commerce system, and a task is the goods included in that order. The task management device 20 plans the movement paths (planned paths) of mobile bodies 10-1, 10-2, and 10-3 using a deterministic solution method according to the determined processing order. The task management device 20 notifies each of the mobile bodies 10-1, 10-2, and 10-3 of the processing order of their tasks and the planned path. Furthermore, if the task management device 20 is unable to plan the planned paths for mobile bodies 10-1, 10-2, and 10-3 using a deterministic solution, it notifies each of mobile bodies 10-1, 10-2, and 10-3 of the processing order for that task, and each of mobile bodies 10-1, 10-2, and 10-3 plans its planned path using a heuristic solution.

[0018] The task management device 20 assigns tasks to workers who will be processing the tasks along with the mobile units 10-1, 10-2, and 10-3, and notifies the worker terminals 30-1 and 30-2 corresponding to the assigned workers. The worker terminals 30-1 and 30-2 are terminals carried by workers, such as wearable devices and tablet terminals, and they instruct workers to perform the tasks notified by the task management device 20. For example, when the task management device 20 notifies the worker terminals 30-1 and 30-2 of the item to be picked up, the location where the item is stored, and the mobile unit 10 on which the item will be placed, they display this information and instruct the worker to move to the location, pick up the item, and place it on the mobile unit 10. Since the worker terminals 30-1 and 30-2 have similar configurations, they may collectively be referred to as worker terminal 30 from now on.

[0019] Network 40 is, for example, a wireless LAN (Local Area Network) and connects worker terminals 30-1 and 30-2, task management device 20, mobile units 10-1, 10-2, and 10-3 to enable them to communicate with each other.

[0020] Figure 2 is a schematic diagram showing an example of the operating environment of the mobile unit 10 in this embodiment. Figure 2 shows an example where three mobile units 10-1 to 10-3 are operating in warehouse ST1. The task management device 20 and the mobile units 10 hold map information of warehouse ST1 and manage it using a grid representation that divides warehouse ST1 into multiple rectangular sections. The mobile unit 10 designates sections SH1 to SH6 (shaded sections), which are occupied by shelves, etc., as inaccessible sections, and the other sections (white sections) as passable sections. Note that in Figure 2, warehouse ST1 is divided into equal sections, but it does not have to be equal. The information showing the planned route planned by the mobile unit 10 may be a concatenation of information showing the sections that the mobile unit 10 will pass through, in the order of passage. Hereafter, the time the mobile unit 10 spends in each section will be referred to as a step, and the time it takes for the mobile unit 10 to move to an adjacent section will be referred to as 1 step.

[0021] The mobile device 10 may manage map information using a graph consisting of nodes and edges. In this case, the white sections in Figure 2 may represent nodes, and adjacent sections may be connected by edges to form map information. In this case, the route planned by the mobile device 10 may be a sequence of information indicating the nodes that the mobile device 10 will travel through, linked together in the order of travel. In this case, the time the mobile device 10 spends at each node may be called a step, and the time it takes for the mobile device 10 to move to a node connected by an edge may be called one step.

[0022] Figure 3 is a schematic block diagram showing the configuration of the task management device 20 in this embodiment. The task management device 20 comprises a task set information acquisition unit 21, a mobile unit assignment unit 22, an environment information DB (Data Base) unit 23, a sequence determination unit 24, a first route planning unit 25, a mobile unit communication unit 26, a task DB unit 27, a worker assignment unit 28, and a worker terminal communication unit 29. The task management device 20 may be implemented by one or more computers reading and executing a program. Alternatively, the task management device 20 may be deployed on a so-called cloud.

[0023] The task set information acquisition unit 21 acquires information indicating a task set containing one or more tasks, such as by receiving it from another device. The information indicating a task set may include information indicating one or more tasks included in the task set. For example, if the task set is an order from a user in an e-commerce system, the information indicating the task set may include order identification information and identification information for one or more items included in the order.

[0024] The mobile unit assignment unit 22 calculates a representative position for a task set based on the position of one or more tasks in the task set, and determines which mobile unit 10 to assign the task set from among mobile units 10-1, 10-2, and 10-3 based on the representative position. Here, the position of a task is the position to which the mobile unit 10 will move, for example, the position where the ordered goods in the EC are stored. The mobile unit assignment unit 22 reads the position of each task from the environment information DB unit 23.

[0025] Furthermore, the mobile unit assignment unit 22 may cluster multiple task sets into one or more clusters based on the representative position of each of the multiple task sets, and assign each of the one or more clusters to one of the mobile units 10-1, 10-2, or 10-3 based on the representative position of the cluster. The representative position of a task set may be the centroid of the position of one or more tasks in the task set, a weighted average position with weights assigned to each task, or the centroid of the path between tasks. Similarly, the representative position of a cluster may be the centroid of the representative position of each task set included in the cluster, a weighted average position with weights assigned to the representative position of each task set, or the centroid of the path between the representative positions of tasks. The mobile unit assignment unit 22 may also perform task set clustering by clustering the representative positions of the task sets using the k-means method.

[0026] The environmental information database unit 23 stores locations in association with task-related information. For example, if the task-related information is identification information for an item included in a user order in the e-commerce system, the environmental information database unit 23 may store the location where the item is stored in association with the item's identification information. The environmental information database unit 23 also stores map information of the operating environment of the mobile unit 10.

[0027] The sequence determination unit 24 determines the processing order of the tasks assigned to each mobile body 10. For example, if multiple task sets are assigned to mobile body 10-1, the sequence determination unit 24 determines the processing order of the tasks included in those task sets. The processing order of tasks does not have to be grouped by task set. The solution or approximate solution of the traveling salesman problem, which involves circulating the locations of tasks assigned to mobile body 10, may be applied to determine the processing order of tasks. Alternatively, the sequence determination unit 24 may obtain an approximate solution to the traveling salesman problem using the 2-opt method. For each of the mobile bodies 10-1, 10-2, and 10-3, the sequence determination unit 24 stores the determined processing order and information indicating the tasks in the task DB 27.

[0028] Furthermore, if the sequence determination unit 24 is notified by either the first route planning unit 25 or one of the mobile bodies 10 that it is not possible to move according to the planned route, it changes the processing order of the tasks assigned to that mobile body. For example, if it is not possible to move according to the planned route because the passage is blocked by another mobile body 10, the sequence determination unit 24 considers the passage to be impassable and determines the processing order of the tasks for that mobile body.

[0029] The first route planning unit 25 plans the planned route for the mobile body 10 according to the processing order determined by the sequence determination unit 24. The first route planning unit 25 plans the planned route for the mobile body 10 using a deterministic solution method. A deterministic solution method is a solution method that, if the initial conditions are determined, can uniquely obtain a solution, such as Prioritized Planning (PP method). In the case of Prioritized Planning, the initial conditions are the processing order of each task in the mobile body 10 and the priority among multiple mobile bodies 10. The priority among multiple mobile bodies 10 may be based on the cluster assigned to each mobile body 10. For example, the more tasks belonging to a cluster, the higher the priority of the mobile body 10 to which that cluster is assigned. The more the cluster is spread out in a spatial manner, such as when the average or median distance from the centroid of the cluster to the location of the tasks belonging to that cluster is large, the higher the priority of the mobile body 10 to which that cluster is assigned.

[0030] Furthermore, if the sequence determination unit 24 changes the processing order of any of the tasks of the mobile bodies 10-1, 10-2, or 10-3, the first route planning unit 25 plans the movement path of the mobile body 10 according to the processing order changed by the sequence determination unit 24.

[0031] The mobile communication unit 26 communicates with mobile bodies 10-1, 10-2, and 10-3. For example, if the first route planning unit 25 successfully plans a route, the mobile communication unit 26 notifies each of mobile bodies 10-1, 10-2, and 10-3 of information indicating the assigned tasks, the order in which the tasks will be processed, and the planned route. If the first route planning unit 25 fails to plan a route (fails to plan a route), the mobile communication unit 26 notifies each of mobile bodies 10-1, 10-2, and 10-3 of the assigned tasks and the order in which the tasks will be processed. The mobile communication unit 26 also receives notifications from mobile bodies 10-1, 10-2, and 10-3 that they are unable to move according to the planned route.

[0032] The task database unit 27 stores the processing order of tasks and information indicating the tasks for each of the mobile units 10-1, 10-2, and 10-3.

[0033] The worker assignment unit 28 reads the processing order of tasks and the information indicating the tasks stored in the task DB unit 27, and assigns workers to each task. The worker assignment unit 28 may assign tasks in a way that minimizes the total travel distance of the workers. For example, when assigning workers to each of the tasks with processing order number 1 for mobile bodies 10-1, 10-2, and 10-3, the worker assignment unit 28 may assign them in a way that minimizes the total travel distance from the worker to the task, and when assigning workers to each of the tasks with processing order number 2 for mobile bodies 10-1, 10-2, and 10-3, the worker assignment unit 28 may assign them in a way that minimizes the total travel distance from the previous task to the task with processing order number 2.

[0034] The worker terminal communication unit 29 notifies the worker terminal 30 corresponding to the worker of the task that the worker assignment unit 28 has assigned to the worker.

[0035] Figure 4 is a schematic block diagram showing the configuration of the mobile body 10 in this embodiment. The mobile body 10 comprises a communication unit 11, an information acquisition unit 12, an information provision unit 13, an information storage unit 14, a movement control unit 15, a second route planning unit 16, and a drive unit 17. The communication unit 11, information acquisition unit 12, information provision unit 13, information storage unit 14, movement control unit 15, and second route planning unit 16 may be realized by a computer provided in the mobile body 10 reading and executing a program.

[0036] The communication unit 11 communicates with the task management device 20 and other mobile units 10 via the network 40. The information acquisition unit 12 obtains information indicating the task of its own mobile unit 10, the processing order of the task, and the planned route from the task management device 20 via the communication unit 11. The information acquisition unit 12 also obtains information indicating the current location of the other mobile unit 10 from the other mobile unit 10 via the communication unit 11. Furthermore, the information acquisition unit 12 may obtain information indicating the task of the other mobile unit 10, or information indicating the planned route of the other mobile unit 10, from the other mobile unit 10 via the communication unit 11. The information acquisition unit 12 stores this acquired information in the information storage unit 14. The planned route of the other mobile unit 10 is the planned route from the current location of the other mobile unit 10 that the other mobile unit 10 has planned.

[0037] The information provision unit 13 provides information indicating the current location of its own mobile body 10 to other mobile bodies 10 via the communication unit 11. Furthermore, the information provision unit 13 may also provide information indicating the task of its own mobile body 10 to other mobile bodies 10 via the communication unit 11, or it may provide information indicating the planned route of its own mobile body 10. The information provision unit 13 reads this provided information from the information storage unit 14. In addition, the information provision unit 13 notifies the task management device 20 that its own mobile body 10 is unable to move according to the planned route, in accordance with a request from the movement control unit 15.

[0038] The information storage unit 14 stores the information acquired by the information acquisition unit 12 and the information indicating the planned route planned by the second route planning unit 16, and provides the stored information to the information provision unit 13, the movement control unit 15, and the second route planning unit 16. The information storage unit 14 shall be composed of non-volatile memory such as an SSD (Solid State Drive), hard disk drive, magneto-optical disk drive, or flash memory, volatile memory such as RAM (Random Access Memory), or a combination thereof.

[0039] The movement control unit 15 reads information indicating the planned path of the mobile body 10 from the information storage unit 14 and controls the drive unit 17 so that the mobile body 10 moves according to the planned path. The movement control unit 15 also detects the current position of the mobile body 10 and provides information indicating the current position to the second path planning unit 16. Any method can be used to detect the current position, but for example, the current position may be detected by comparing the surrounding situation detected by LiDAR (Light Detection And Ranging), a camera, etc., with a stored map. The movement control unit 15 may also be equipped with LiDAR, a camera, etc., and if it detects another mobile body 10, a person, or an object in the direction of movement (destination based on the planned path) and is unable to move in that direction (hereinafter also referred to as a collision), it may request the information provision unit 13 to send a notification to the task management device 20 that the mobile body 10 cannot move according to the planned path. The drive unit 17 includes wheels for travel, a motor to drive the wheels, etc., and operates the motor, etc., according to the control of the movement control unit 15 to move the mobile body 10.

[0040] The second route planning unit 16 determines the planned route of the mobile vehicle 10 using a heuristic method (for example, the MCTS (Monte Carlo Tree Search) method) and stores information indicating the determined planned route in the information storage unit 14. The second route planning unit 16 may periodically determine (update) the planned route of the mobile vehicle 10 when a task (new destination) is specified by the task management device 20.

[0041] The second route planning unit 16 calculates evaluation values ​​for multiple combinations of candidate destinations one step ahead from the current position of other mobile units 10 and candidate destinations one step ahead for the mobile unit 10 itself, and determines the destination of the mobile unit 10 based on these evaluation values. The planned route includes these destinations. The second route planning unit 16 may also calculate evaluation values ​​for multiple combinations of candidate destinations for other mobile units 10 and candidate destinations for the mobile unit 10 for each step two or more steps ahead, and determine the destination of the mobile unit 10 based on these evaluation values. The planned route may include these destinations as well.

[0042] When the second path planning unit 16 uses the MCTS method as a discovery-based solution, the above evaluation value is the evaluation value w calculated by equation (1). rule That's fine.

[0043]

number

[0044] In equation (1), t is a value indicating the number of steps from the step in which the evaluation value is calculated, and is an integer greater than or equal to 1. t=1 corresponds to the step in which the evaluation value is calculated. γ is the evaluation R at step t. t This value indicates the discount rate and is a constant greater than 0 and less than 1. The value of γ may be set by the manufacturer, manager, or user of the mobile body 10. K is a value that indicates how many steps ahead the prediction is used for the step in calculating the evaluation value. t This value indicates the evaluation at step t, and is calculated by equation (2).

[0045] In equation (2), DYS is a value that indicates the percentage by which the evaluation of other mobile units 10 is discounted from the evaluation of the mobile unit 10 itself, and is a constant greater than 0 and less than 1. The value of DYS may be set by the manufacturer, administrator, or user of the mobile unit 10. PickingProgress(DYS) is a value that indicates the progress of the overall task, and basically the more progress the task has made, the larger the value. PickingProgress(DYS) is calculated by equation (3). Note that in equation (2), 10 is used for PickingProgress(DYS). 6 It is multiplied by 10 6 This is not limited to the above; it may also be set by the manufacturer, administrator, or user of the mobile device 10.

[0046] dist(x,y) is a value that represents the distance (path) from x to y. This distance may be the distance of the shortest path. agent This is the current position of the other moving object 10 (position at step t), and goal agentrepresents the destination of another mobile body 10 (for example, a location where a worker receives picked-up articles). other_agent indicates another mobile body 10, but does not need to include all other mobile bodies 10. For example, other_agent may be another mobile body 10 that has a possibility of colliding with the own mobile body 10. The other mobile body 10 that has a possibility of colliding may be, for example, another mobile body 10 whose distance (path distance or straight-line distance) from the current position of the own mobile body 10 is equal to or less than a threshold. now me represents the current position of the own mobile body 10 (the position after t steps), and goal me represents the destination of the own mobile body 10 (for example, a location where a worker receives picked-up articles). Note that now agent , now me each represents, at t=1, the position of another mobile body 10 and the position of the own mobile body 10 in the step of calculating an evaluation value, and represents a position randomly moved from the position one step before at t=2 and thereafter.

[0047] In formula (3), MyPicking is a value indicating the progress of the task of the own mobile body 10, and is, for example, the number of articles (picked-up articles) received by the own mobile body 10 from a worker. OtherPicking is a value indicating the task progress of another mobile body 10 (only the mobile body 10 indicated by other_agent may be used), and is, for example, the number of articles (picked-up articles) received by another mobile body 10 from a worker. TotalProducts is a value indicating the total amount of tasks, and is, for example, the number of articles to be picked up.

[0048] Figure 5 is a flowchart illustrating an example of the operation of the mobile body assignment unit 22 in this embodiment. The mobile body assignment unit 22 calculates the centroid position of each task set acquired by the task set information acquisition unit 21 (step Sa1). The centroid position of a task set may be the centroid position of the location of the task included in the task set (for example, the storage location of the ordered goods). Next, the mobile body assignment unit 22 clusters the task sets using the k-means method based on the centroid positions calculated in step Sa1 (step Sa2). The mobile body assignment unit 22 may change the number of clusters generated by clustering according to the number of mobile bodies 10 to which tasks are assigned. For example, the number of clusters may be matched to the number of mobile bodies 10.

[0049] Next, the mobile body assignment unit 22 calculates the centroid position of each cluster generated by the clustering in step Sa2 (step Sa3). The centroid position of a cluster may be the centroid position of the centroid position of the task set included in the cluster. Next, the mobile body assignment unit 22 assigns a cluster to each mobile body 10 based on the centroid position of each cluster and the current position of each mobile body 10 (step Sa4). As a result, each mobile body 10 is assigned a task set belonging to a cluster (i.e., a task included in the task set). Alternatively, the mobile body assignment unit 22 may calculate the distance between the centroid position of each cluster and the current position of each mobile body 10, and treat the sum of the distances between the centroid position of each cluster and the current position of the mobile body 10 to which the cluster is assigned as an optimization problem to minimize this problem, and then assign a cluster to each mobile body 10 by solving this optimization problem or finding an approximate solution. Furthermore, constraints may be placed on the number of clusters assigned to each mobile body 10 during this assignment. For example, if the number of clusters matches the number of mobile units 10, a constraint may be imposed that limits the number of clusters assigned to each mobile unit 10 to 1.

[0050] Figure 6 is a schematic diagram illustrating an example of the operation of the mobile body assignment unit 22 in this embodiment. Similar to Figure 2, Figure 6 shows an example where three mobile bodies 10-1 to 10-3 are operating in warehouse ST1. Positions C1-1 to C3-3 are the centroid positions of the first to eighth task sets, respectively. Positions C1-c to C3-c are the centroid positions of the first to third clusters.

[0051] The first cluster corresponding to center of gravity position C1-c contains the first to third task sets corresponding to center of gravity positions C1-1 to C1-3. Furthermore, the first cluster corresponding to center of gravity position C1-c is assigned to mobile body 10-2 by the mobile body assignment unit 22. Similarly, the second cluster corresponding to center of gravity position C2-c contains the fourth to fifth task sets corresponding to center of gravity positions C2-1 and C2-2. Furthermore, the second cluster corresponding to center of gravity position C2-c is assigned to mobile body 10-1 by the mobile body assignment unit 22. The third cluster corresponding to center of gravity position C3-c contains the sixth to eighth task sets corresponding to center of gravity positions C3-1 to C3-3. Furthermore, the third cluster corresponding to center of gravity position C3-c is assigned to mobile body 10-3 by the mobile body assignment unit 22.

[0052] Figure 7 is a flowchart illustrating an example of the operation of the second route planning unit 16 in this embodiment. First, the second route planning unit 16 sets the number of trials m to 0 (step Sb1). Next, the second route planning unit 16 increments the number of trials m, i.e., sets the number of trials m to m+1 (step Sb2). Next, the second route planning unit 16 selects a combination of a candidate destination one step ahead from the current step of its own mobile body 10 and a candidate destination one step ahead from the current step of another mobile body 10 based on UCB1 (Upper Confidence Bound version 1) (step Sb3).

[0053] Process Sb3 will be explained using Figures 8 and 9. Figure 8 shows an example of the current positions and destination candidates for the moving bodies 10-1 to 10-3 in this embodiment. Figure 9 shows an example of a combination of destination candidates in this embodiment. If the current positions of moving bodies 10-1 to 10-3 are positions A, B, and C in Figure 8, then the destination candidates for moving body 10-1 one step ahead are positions A1 and A2, the destination candidates for moving body 10-2 one step ahead are positions B1 and B2, and the destination candidates for moving body 10-3 one step ahead are positions C1 and C2.

[0054] Let's consider the case where the self-moving body 10 is moving body 10-1. The second path planning unit 16 considers that of the other moving bodies 10-2 and 10-3, moving body 10-3 is far enough away from moving body 10-1 that its distance is above a threshold, and therefore there is no possibility of collision. For this reason, the second path planning unit 16 considers only moving body 10-2 as the other moving body 10 for which it can consider combinations of destinations. Note that this threshold may be a value corresponding to K in equation (1) (for example, twice K).

[0055] Thus, if the only other mobile body 10 to consider combinations of destination candidates is mobile body 10-2, the combinations of destination candidates one step ahead of the current position A of the self-mobile body 10 and the current position B of the other mobile body 10 will be four combinations, as shown in Figure 9: combination A1, B1, combination A1, B2, combination A2, B1, and combination A2, B2. The second path planning unit 16 may also exclude combinations from the list of destination candidates where the self-mobile body 10 and the other mobile body 10 are in the same position (collision).

[0056] The second route planning unit 16 calculates UCB1 for each of these four combinations and selects the combination with the largest UCB1. UCB1 may also be calculated using equation (4). When using equation (4), all combinations are selected once each, and an evaluation value w is calculated for each combination. rule Until the calculation is performed, the n of the unselected combinations aSince this becomes 0, UCB1 cannot be calculated. Therefore, the second route planning unit 16 may select one combination from the unselected combinations until all combinations have been selected once each.

[0057]

number

[0058] In equation (4), x a The bar represents the evaluation value w calculated for the given combination up to the calculation of UCB1. rule This is the average value of x. a The hat is the evaluation value w calculated up to the calculation of UCB1 for that combination. rule This is the variance. na is the number of times the given combination was selected (number of trials). N is the total number of times all combinations were selected (total number of trials). log is the natural logarithm.

[0059] Returning to Figure 7, the second path planning unit 16 then randomly selects a path for the self-moving body 10 and a path for the other moving body 10 from the combination selected in step Sb3 to K steps ahead (step Sb4). Here, K is the same constant as K in equation (1). The second path planning unit 16 may choose not to select a path in which the self-moving body 10 and the other moving body 10 are in the same position (collision).

[0060] Next, the second route planning unit 16 uses the route selected in process Sb4 to determine the evaluation value w of the combination selected in process Sb3. rule Calculate (Process Sb5). Evaluation value w rule When calculating using formula (1), the evaluation R t This is an evaluation based on the positions of the self-moving body 10 and other moving bodies 10 at each step t along the path of the K steps selected in process Sb4.

[0061] Next, the second route planning unit 16 updates the cumulative evaluation value w and the number of selections n for the combination of the current step and past steps (process Sb6). For example, if the combination selected in process S3 is combination A2,B1 in Figure 9, the second route planning unit 16 updates the cumulative evaluation value w for each of the combinations A2,B1 of the current step and combination A,B of the past step. rule Add the values ​​together, and then add 1 to each selection count n.

[0062] Next, the second route planning unit 16 determines whether the number of trials m exceeds the threshold M (step Sb7). The threshold M may be a value set by the manufacturer, manager, or user of the mobile body 10. If the number of trials m does not exceed the threshold M (step Sb7-No), the process returns to step Sb2, and steps bS2 to Sb6 are repeated until the number of trials m exceeds the threshold M.

[0063] If the number of trials m exceeds the threshold M (step Sb7-Yes), the second path planning unit 16 advances the current step by one (step Sb8). For example, if the current step is combination A,B in Figure 9, the second path planning unit 16 advances the current step to the step one level below combination A,B in Figure 9, which is combination A1,B1, combination A1,B2, combination A2,B1, and combination A2,B2. At this time, the second path planning unit 16 may use a portion of combination A1,B1, combination A1,B2, combination A2,B1, and combination A2,B2 as the current position in the current step after advancing by one. This portion may be a predetermined number or proportion of combinations selected in order from those with the most selections.

[0064] Next, the second route planning unit 16 determines whether or not it has evaluated a predetermined number of steps (whether or not it has advanced the current step by a predetermined number of steps) (step Sb9). If it has not evaluated a predetermined number of steps (step Sb9-No), the process returns to step S1, and steps Sb1 to Sb8 are repeated until it has evaluated a predetermined number of steps. If it has evaluated a predetermined number of steps (step Sb9-Yes), the second route planning unit 16 selects the combination with the most selections in each step and sets it as the planned route for the mobile unit 10 (step Sb10). In step Sb10, the second route planning unit 16 selects the combination with the most selections n in each step, but the second route planning unit 16 may also select the destination candidate with the highest total number of selections n in each step and set it as the planned route. For example, in the second step from the top in Figure 9, the total number of selections n for destination candidate A1 may be the sum of the number of selections n for combination A1, B1 and the number of selections n for combination A1, B2.

[0065] Figure 10 is a sequence diagram illustrating a first example of operation of the mobile control system 1 in this embodiment. First, the task set information acquisition unit 21 of the task management device 20 acquires a task set (sequence ma1), and the mobile assignment unit 22 of the task management device 20 assigns the acquired task set to each mobile body 10 (sequence ma2). Next, the sequence determination unit 24 of the task management device 20 determines the processing order of the tasks included in the task set assigned to each mobile body 10 (sequence ma3).

[0066] Next, the first route planning unit 25 of the task management device 20 plans the planned route for the mobile units 10 using a deterministic solution. This planned route follows the processing order determined in sequence ma3. When the first route planning unit 25 successfully plans the route using a deterministic solution (sequence ma4), the mobile unit communication unit 26 of the task management device 20 notifies each mobile unit 10 of the planned route planned by the first route planning unit 25 (sequence ma5), and each mobile unit 10 moves according to the notified planned route and processes the task. In addition, the worker assignment unit 28 of the task management device 20 assigns workers to each task based on the processing order determined in sequence ma3 (sequence ma6), and the worker terminal communication unit 29 notifies the worker terminal 30 corresponding to each worker of the task assigned to that worker and the processing order (sequence ma7).

[0067] If, after sequence ma3, the first route planning unit 25 fails to plan a route using a deterministic solution (sequence ma8), it notifies each mobile unit 10 of the task processing order determined by the sequence determination unit 24 in sequence ma3 (sequence ma9). Upon receiving this notification, the second route planning unit 16 plans the route for the mobile unit 10 using a heuristic solution (sequence ma10). Each mobile unit 10 moves according to the route planned in sequence ma10 and processes the tasks. This route follows the processing order determined in sequence ma3. Furthermore, the worker assignment unit 28 of the task management device 20 assigns workers to each task based on the processing order determined in sequence ma3 (sequence ma12), and the worker terminal communication unit 29 notifies each worker terminal 30 corresponding to the worker of the task assigned to that worker and the processing order (sequence ma13).

[0068] Furthermore, the information provision unit 13 of each mobile unit 10 may periodically, or when requested by other devices (task management device 20, other mobile units 10), read information indicating the current location of its mobile unit 10 and information indicating the task from the information storage unit 14 and transmit it to the other device.

[0069] Figure 11 is a sequence diagram illustrating a second operation example of the mobile body control system 1 in this embodiment. In Figure 11, sequences ma1 to ma7 are the same as in Figure 10, so their explanation is omitted. While moving along the notified planned path and processing a task, if the mobile body 10-1 detects a collision with another mobile body 10, a person, or an object (sequence mb7), the information provision unit 13 of the mobile body 10-1 notifies the task management device 20 of the collision detection (sequence mb8). This notification may include the current position of the mobile body 10-1, the location (or direction of existence) of the collision partner, or the task processing status of the mobile body 10.

[0070] Upon receiving notification of collision detection via sequence mb8, the task management device 20's sequence determination unit 24 changes the processing order of the tasks of the mobile body 10-1 that detected the collision (sequence mb8). When changing the processing order, the sequence determination unit 24 may consider the processing status of its own mobile body 10's tasks and determine the processing order of unprocessed tasks by assuming that the passage is blocked by the colliding object and is therefore impassable. Alternatively, the passage may be impassable only until the next task is processed.

[0071] Next, the first route planning unit 25 of the task management device 20 plans a route for the mobile body 10-1 using a deterministic solution. This planned route follows the processing order modified in sequence mb9. Alternatively, if a prioritized planning method is used as the deterministic solution, the priority of mobile body 10-1 may be set to the lowest, and the processing order of the other mobile bodies 10 may be the same as that determined in sequence ma3. When the first route planning unit 25 successfully plans a route using a deterministic solution (sequence mb10), the mobile body communication unit 26 of the task management device 20 notifies the mobile body 10-1 of the planned route planned by the first route planning unit 25 (sequence mb11), and the mobile body 10-1 moves according to the notified planned route and processes the task. Furthermore, the worker assignment unit 28 of the task management device 20 assigns workers to each task based on the processing order determined in sequence mb9 (sequence mb12), and the worker terminal communication unit 29 notifies the worker terminal 30 corresponding to each worker of the task assigned to that worker and the processing order (sequence mb12). Note that the worker assignment in sequence mb12 may be performed for all unprocessed tasks assigned to each mobile unit 10, or it may be performed only for the unprocessed tasks assigned to mobile unit 10-1.

[0072] Furthermore, embodiments of the present invention may also be as follows. (1) One embodiment of the present invention is a mobile body control system for controlling a plurality of mobile bodies, comprising: a task set information acquisition unit that acquires information indicating a task set including one or more tasks; and a mobile body assignment unit that calculates a representative position of the task set based on the position of each of the one or more tasks in the task set, and determines which of the plurality of mobile bodies to which the task set is to be assigned based on the representative position.

[0073] As a result, the mobile control system is assigned to the mobile unit in units of task sets, each containing one or more tasks.

[0074] (2) Another embodiment of the present invention is the mobile body control system described in (1), wherein the mobile body assignment unit clusters the plurality of task sets into one or more clusters based on the representative position of each of the plurality of task sets, and assigns each of the one or more clusters to one of the plurality of mobile bodies based on the representative position of the cluster.

[0075] As a result, the mobile control system groups together task sets whose task locations are close to each other and assigns them to the same mobile object.

[0076] (3) Another embodiment of the present invention is a mobile body control system as described in (1) or (2), comprising: an order determination unit that determines the processing order of assigned tasks for each of the plurality of mobile bodies; a first path planning unit that plans the movement paths of the plurality of mobile bodies by a deterministic solution method according to the processing order determined by the order determination unit; and a first path planning unit that, if the first path planning unit is unable to plan the movement paths of the plurality of mobile bodies, plans the movement paths of the plurality of mobile bodies by a heuristic solution method according to the processing order determined by the order determination unit.

[0077] This allows the mobile control system to plan the movement path of a mobile object by prioritizing deterministic solutions, which require less computation than heuristic solutions but do not necessarily yield a solution.

[0078] (4) Another embodiment of the present invention is a mobile body control system according to any one of (1) to (3), comprising: an order determination unit that determines the processing order of assigned tasks for each of the plurality of mobile bodies; and a route planning unit that plans the movement paths of the plurality of mobile bodies according to the processing order determined by the order determination unit, wherein if the order determination unit is notified by one of the plurality of mobile bodies that it is not possible to move according to the movement path planned by the route planning unit, the order determination unit changes the processing order of the tasks assigned to the one mobile body, and the route planning unit plans the movement path of the one mobile body according to the processing order changed by the order determination unit.

[0079] This allows the mobile control system to change to a more efficient processing sequence and movement plan even if it becomes impossible to move along the planned path.

[0080] (5) Another embodiment of the present invention is a task management device for managing tasks of a plurality of mobile bodies, comprising: a task set information acquisition unit that acquires information indicating a task set containing one or more tasks; and a mobile body assignment unit that calculates a representative position of the task set based on the position of each of the one or more tasks in the task set, and determines which of the plurality of mobile bodies to which the task set is to be assigned based on the representative position.

[0081] As a result, the task management device is assigned to the mobile unit in units of task sets, each containing one or more tasks.

[0082] (6) Another embodiment of the present invention is a control method for controlling a plurality of mobile bodies, comprising the steps of: acquiring information indicating a task set including one or more tasks; calculating a representative position of the task set based on the position of each of the one or more tasks in the task set; and determining which of the plurality of mobile bodies to which the task set is to be assigned based on the representative position.

[0083] As a result, the control method is assigned to the mobile unit in units of task sets, each containing one or more tasks.

[0084] (7) Another embodiment of the present invention is a program that causes a computer to function as a task set information acquisition unit that acquires information indicating a task set including one or more tasks, a mobile unit that calculates a representative position of the task set based on the position of each of the one or more tasks in the task set, and determines which mobile unit to which the task set will be assigned based on the representative position.

[0085] As a result, the computer that loads and executes the program is assigned to a mobile unit in units of task sets, each containing one or more tasks.

[0086] Alternatively, the mobile units 10-1, 10-2, 10-3, the task management device 20, and the worker terminals 30-1 and 30-2 in Figure 1 may be realized by recording programs for realizing each of these parts on a computer-readable recording medium, loading the programs recorded on this recording medium into a computer system, and executing them. The term "computer system" here includes hardware such as the operating system and peripheral devices.

[0087] Furthermore, "computer-readable recording media" refers to portable media such as flexible disks, magneto-optical disks, ROMs, and CD-ROMs, as well as storage devices such as hard disks built into computer systems. Moreover, "computer-readable recording media" also includes those that dynamically hold programs for a short period of time, such as communication lines used when transmitting programs over networks such as the Internet or communication lines such as telephone lines, and those that hold programs for a certain period of time, such as volatile memory inside computer systems that act as servers or clients in such cases. In addition, the above-mentioned programs may be for the purpose of realizing some of the functions described above, and may also be able to realize the above-mentioned functions in combination with programs already recorded in the computer system.

[0088] While embodiments of this invention have been described in detail above with reference to the drawings, the specific configuration is not limited to these embodiments and may include design modifications and the like that do not depart from the spirit of this invention. [Explanation of symbols]

[0089] 1. Mobile Control System 10-1, 10-2, 10-3 Mobile Units 11 Communications Department 12 Information acquisition department 13 Information provision department 14 Information storage department 15 Movement Control Unit 16. Second Route Planning Department 17 Drive Unit 20 Task Management Device 21 Task Set Information Acquisition Unit 22 Mobile Unit Allocation Section 23 Environmental information DB department 24 Order determining part 25. First Route Planning Department 26 Mobile Communications Section 27 Task DB Section 28 Worker Assignment Department 29. Worker Terminal Communication Unit 30-1, 30-2 Worker terminals 40 Networks

Claims

1. A mobile control system for controlling multiple mobile objects, A task set information acquisition unit that acquires information indicating a task set containing one or more tasks, A mobile body assignment unit calculates a representative position of the task set based on the position of one or more tasks in the task set, and determines which of the plurality of mobile bodies to which the task set will be assigned based on the representative position. A mobile control system equipped with the following features.

2. The mobile body assignment unit clusters the plurality of task sets into one or more clusters based on the representative position of each of the plurality of task sets, and assigns each of the one or more clusters to one of the plurality of mobile bodies based on the representative position of the cluster, the mobile body control system according to claim 1.

3. For each of the aforementioned multiple mobile bodies, there is an order determination unit that determines the processing order of the assigned tasks, A first path planning unit plans the movement paths of the multiple moving objects using a deterministic solution method according to the processing order determined by the sequence determination unit, If the first path planning unit is unable to plan the movement paths of the multiple moving objects, the second path planning unit plans the movement paths of the multiple moving objects by a heuristic solution method according to the processing order determined by the sequence determination unit. A mobile body control system according to claim 1, comprising:

4. For each of the aforementioned multiple mobile bodies, there is an order determination unit that determines the processing order of the assigned tasks, A path planning unit plans the movement paths of the multiple moving objects according to the processing order determined by the sequence determination unit. Equipped with, If the sequence determination unit receives notification from one of the multiple moving bodies that it is not possible to move according to the movement path planned by the route planning unit, it changes the processing order of the tasks assigned to that one moving body. The route planning unit plans the movement path of the one moving object according to the processing order changed by the sequence determination unit. The mobile control system according to claim 1.

5. A task management device for managing tasks of multiple mobile objects, A task set information acquisition unit that acquires information indicating a task set containing one or more tasks, A mobile body assignment unit calculates a representative position of the task set based on the position of one or more tasks in the task set, and determines which of the plurality of mobile bodies to which the task set will be assigned based on the representative position. A task management device equipped with the following features.

6. A control method for controlling multiple moving objects, A step of obtaining information indicating a task set containing one or more tasks, The steps include: calculating a representative position for the task set based on the position of each of the one or more tasks in the task set; and determining which of the plurality of mobile bodies to which the task set will be assigned based on the representative position. A control method having

7. Computers, A task set information acquisition unit that acquires information indicating a task set containing one or more tasks. A mobile body assignment unit calculates a representative position for the task set based on the position of each of the one or more tasks in the task set, and determines which mobile body to assign the task set to from among a plurality of mobile bodies based on the representative position. A program designed to function as such.

Citation Information

Patent Citations

  • Computer-implemented artificial intelligence batch picking optimization and communication system and method

    JP7146924B2