Processing device, processing system, processing method, and program
Patent Information
- Application Number
- JP2024528254
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-06-24
- Filing Date
- 2022-06-24
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2042-06-24
AI Technical Summary
Existing techniques fail to effectively identify and combine resources with different skills to efficiently complete specific tasks in collaborative human-robot workflows, such as in logistics, where the assignment of work to workers and machines is not optimized.
A processing device and system that predicts the work time required for tasks by combining resources based on their types, quantities, and skills, generating a predictive model to specify the optimal resource combination for completing tasks in the shortest time.
Enables the identification of appropriate resource combinations for tasks, optimizing task completion time and resource allocation in collaborative human-robot workflows, enhancing efficiency in logistics and similar fields.
Abstract
Description
Processing device, processing system, processing method, and recording medium
[0001] The present disclosure relates to a processing device, a processing system, a processing method, and a recording medium.
[0002] Robots are used in a variety of fields. For example, in fields such as logistics, robots and humans often work together to perform tasks. Patent Literature 1 (JP-A-2005-102626) discloses a related technique for allocating tasks between workers and automated machines on a production line.
[0003] Japanese Patent Application Laid-Open No. 2021-163324
[0004] To complete a specific task, it is necessary to combine multiple resources with different skills. However, the invention disclosed in Patent Document 1 cannot identify the combination of multiple resources with different skills. Therefore, there is a need for a technology that can identify the appropriate combination of resources for a specific task.
[0005] One of the objectives of each aspect of the present disclosure is to provide a processing device, a processing system, a processing method, and a recording medium that can solve the above-mentioned problems.
[0006] In order to achieve the above object, according to one aspect of the present disclosure, a processing device includes a first generation means for generating a prediction model that predicts the time required to complete the task using a combination of resources based on the types of one or more tasks included in a specified job, a combination of one or more skills required to perform the task, the types of one or more resources that perform the specified job, the quantity of each of the resources, and the skills possessed by each of the resources, and an identification means for identifying the combination of resources that will complete the specified job based on the quantity of each of the tasks and the prediction model.
[0007] To achieve the above object, according to another aspect of the present disclosure, a processing system includes the processing device and a robot that performs processing in accordance with control by the processing device.
[0008] To achieve the above object, according to another aspect of the present disclosure, a processing method generates a prediction model that predicts the time required to complete the task using a combination of resources based on the types of one or more tasks included in a specified job, a combination of one or more skills required to perform the tasks, the types of one or more resources that perform the specified job, the quantity of each of the resources, and the skills that each of the resources possesses, and identifies the combination of resources that will complete the specified job based on the quantity of each of the tasks and the prediction model.
[0009] In order to achieve the above object, according to another aspect of the present disclosure, a recording medium stores a program that causes a computer to execute the following steps: generate a prediction model that predicts the time required to complete the task using a combination of resources based on the types of one or more tasks included in a specified job, a combination of one or more skills required to perform the tasks, the types of one or more resources that perform the specified job, the quantity of each of the resources, and the skills that each of the resources possesses; and identify the combination of resources that will complete the specified job based on the quantity of each of the tasks and the prediction model.
[0010] According to aspects of the present disclosure, it is possible to identify appropriate resources for a given task.
[0011] FIG. 1 is a diagram illustrating an example of a configuration of a processing system according to an embodiment of the present disclosure. FIG. 2 is a diagram illustrating an example of a configuration of a processing device according to an embodiment of the present disclosure. FIG. 3 is a diagram illustrating an example of task information according to an embodiment of the present disclosure. FIG. 4 is a diagram illustrating an example of resource information according to an embodiment of the present disclosure. FIG. 5 is a diagram illustrating an example of a prediction model generated by a first generation unit according to an embodiment of the present disclosure. FIG. 6 is a diagram illustrating an example of a processing flow of a processing system according to an embodiment of the present disclosure. FIG. 7 is a diagram illustrating an example of a processing device with a minimum configuration according to an embodiment of the present disclosure. FIG. 8 is a schematic block diagram illustrating the configuration of a computer according to at least one embodiment.
[0012] Hereinafter, an embodiment will be described in detail with reference to the drawings. <Embodiment> A processing system 1 according to an embodiment of the present disclosure is a system that identifies an appropriate combination of resources (i.e., robots and humans) for completing a predetermined task in a short period of time when a robot (e.g., a portable robot arm 20, a mobile robot arm 30, or an AGV (Automated Guided Vehicle) 40, which will be described later) and a human (e.g., workers A and B, which will be described later) work together to perform the task. The processing system 1 is a system that is installed in, for example, a warehouse in a logistics center. The robot is not necessarily a portable robot arm, but may also be a stationary robot installed in a warehouse, factory, or the like. The term "portable" refers to a resource that can be moved by another resource. The term "stationary" refers to a resource that is difficult to move by another resource or that cannot be moved by another resource.
[0013] In the examples described below, the operation of the processing system 1 will be described with reference to an example in which the portable robot is a robot arm (specifically, portable robot arm 20). However, as long as it is possible to identify whether the robot is portable or stationary, the processing system 1 may include both portable and stationary robot arms. Hereinafter, a portable robot arm will be referred to as a "portable robot arm."
[0014] (Configuration of Processing System) FIG. 1 is a diagram illustrating an example of the configuration of a processing system 1 according to an embodiment of the present disclosure. As shown in FIG. 1 , the processing system 1 includes a processing device 10, portable robot arms 20a and 20b (examples of robots), mobile robot arms 30a, 30b, and 30c (examples of robots), and AGVs 40a, 40b, and 40c (examples of robots). Hereinafter, the portable robot arms 20a and 20b will be collectively referred to as the portable robot arm 20. Furthermore, the mobile robot arms 30a, 30b, and 30c will be collectively referred to as the mobile robot arm 30. The mobile robot arm 30 represents a robot arm capable of self-propelling. Furthermore, the AGVs 40a, 40b, and 40c will be collectively referred to as the AGV 40. The processing system 1 may also include a belt conveyor, a processing robot, and the like.
[0015] 2 is a diagram illustrating an example of the configuration of the processing device 10 according to an embodiment of the present disclosure. As shown in FIG. 2, the processing device 10 includes an input unit 101, a storage unit 102, an acquisition unit 103, a first generation unit 104 (an example of a first generation means), an identification unit 105 (an example of an identification means), an allocation unit 106 (an example of an allocation means), a control unit 107 (an example of a control means), and a second generation unit 108 (an example of a second generation means).
[0016] The input unit 101 receives input of task information INF1 (described below with reference to FIG. 3 ) and resource information INF2 (described below with reference to FIG. 4 ). The input unit 101 records the received task information INF1 and resource information INF2 in the storage unit 102. The task information INF1 is information including a combination of the types of multiple tasks included in a predetermined task, the quantity of each of the multiple tasks, and the skills required for each of the multiple tasks. The resource information INF2 is information including a combination of the types of multiple resources required to perform the predetermined task, the quantity of each of the multiple resources, and the skills possessed by each of the multiple resources. Note that, although multiple tasks and multiple resources are described here, in an embodiment of the present disclosure, it is sufficient that there be one or more tasks and one or more resources.
[0017] FIG. 3 is a diagram illustrating an example of task information INF1 according to an embodiment of the present disclosure. Task information INF1 is information including the types of tasks included in a predetermined work, the quantity of each task, and the skills required to perform each task (referred to as task required skills in FIG. 3 ). In other words, task information INF1 is information including the content of the predetermined work, the amount of work, and the required skills. In the example illustrated in FIG. 3 , picking and sorting are listed as types of tasks included in the predetermined work. Furthermore, the quantities of each of the multiple tasks are listed as 200 for picking and 200 for sorting. Furthermore, the skills required for each of the multiple tasks are listed as picking skills for picking. For sorting, the skills of inspection, container loading, and container transport are listed.
[0018] FIG. 4 is a diagram illustrating an example of resource information INF2 according to an embodiment of the present disclosure. Resource information INF2 includes the types of resources that can be assigned to a specific task, the quantity of each resource, the skills possessed by each resource (referred to as possessed skills in FIG. 4 ), and the conditions for activating the skills. The skills include information indicating the amount of work that can be accomplished within a specific time period. In the example illustrated in FIG. 4 , the types of resources required to perform the specific task include worker A, worker B, a portable robot arm 20, a mobile robot arm 30, and an AGV 40. Furthermore, the skills possessed by each of the multiple resources include, for worker A, picking (10 items / min), inspection (20 items / min), container loading (20 items / min), container transport (20 items / min), and portable robot arm relocation (1 unit / 5 minutes). For worker B, picking (8 items / min), container loading (15 items / min), and container transport (15 items / min) are listed. The listed functions for the portable robot arm 20 are inspection (10 units / minute) and container loading (10 units / minute). The listed functions for the mobile robot arm 30 are inspection (10 units / minute), container loading (10 units / minute), and container transport (20 units / minute). The listed function for the AGV 40 is container transport (40 units / minute). The listed quantities of each of the multiple resources are three workers A, five workers B, two portable robot arms 20, three mobile robot arms 30, and three AGVs 40.
[0019] For example, worker A's skill "Picking (10 items / min)" indicates that worker A can pick 10 items (e.g., products, goods, work-in-progress) per minute. Worker A's skill "Portable robot arm relocation (1 unit / 5 minutes)" indicates that it takes worker A 5 minutes to move and set up one portable robot arm 20. The portable robot arm 20's skill "Container loading (10 items / min)" indicates that the portable robot arm 20 can load 10 items into a container per minute. The AGV 40's skill "Container transport (40 items / min)" indicates that the AGV 40 can transport 40 items in a container per minute.
[0020] The input unit 101 also receives constraint conditions. The input unit 101 records the received constraint conditions in the storage unit 102. Examples of constraint conditions include no-entry areas when performing a predetermined task, areas that deviate from the ranges of motion of the portable robot arm 20, the mobile robot arm 30, and the AGV 40, and further conditions on the surface of the object related to grasping of the object by the portable robot arm 20 and the mobile robot arm 30, releasing of the grasp of the object, and re-grasping of the object. Note that in each embodiment of the present disclosure, "grasping" includes "suction" in which the object is sucked in by a vacuum or the like, and "clamping" in which an object is pinched between two or more artificial fingers that resemble the fingers of a human or animal.
[0021] The storage unit 102 stores task information INF1 and resource information INF2, as well as constraints.
[0022] The acquiring unit 103 acquires the task information INF1 and the resource information INF2. For example, the acquiring unit 103 reads out the task information INF1 and the resource information INF2 stored in the storage unit 102. Alternatively, for example, the acquiring unit 103 may acquire the task information INF1 and the resource information INF2 received by the input unit 101 directly from the input unit 101.
[0023] The acquisition unit 103 also acquires constraint conditions. For example, the acquisition unit 103 reads out the constraint conditions stored in the storage unit 102. For example, the acquisition unit 103 may also acquire the constraint conditions received by the input unit 101 directly from the input unit 101.
[0024] The first generation unit 104 generates a prediction model MDL (described later with reference to FIG. 5 ) that predicts the work time for each combination of resources included in the plurality of resources, based on information indicating the types of tasks included in the predetermined work and the skills required to execute each task, which are included in the task information INF1, and the types of resources that can be assigned to the predetermined work, the quantity of each resource, the skills possessed by each resource, and the conditions for activating the skills, which are included in the resource information INF2. For example, the first generation unit 104 generates a prediction model MDL that predicts the work time for each combination of resources included in the plurality of resources, based on the task information INF1 and resource information INF2 acquired by the acquisition unit 103.
[0025] Specifically, the first generation unit 104 generates the prediction model MDL as follows: The first generation unit 104 identifies the type of each task in the task information INF1 acquired by the acquisition unit 103. The first generation unit 104 identifies the quantity and required skills for each identified task in the task information INF1. For example, when the task information INF1 is the task information INF1 shown in FIG. 3 , the first generation unit 104 identifies picking and sorting as the task types. Then, for the picking task, the first generation unit 104 identifies the quantity as 200 and the required skill as picking. Furthermore, for the sorting task, the first generation unit 104 identifies the quantity as 200 and the required skills as inspection, container loading, and container transport. At this stage, the first generation unit 104 has identified the content, workload, and required skills of the specified work.
[0026] Next, the first generation unit 104 identifies the type and quantity of resources that can be assigned to each identified task based on the identified required skills. For example, if the identified task is picking, the first generation unit 104 identifies the type and quantity of resources that possess the picking skill in the resource information INF2 acquired by the acquisition unit 103 (if the resource information INF2 is the resource information INF2 shown in FIG. 4 , then workers A (3) and workers B (5)). Also, for example, if the identified task is sorting, the first generation unit 104 identifies the type and quantity of resources that possess the inspection skill, container stuffing skill, or container transport skill in the resource information INF2 acquired by the acquisition unit 103 (if the resource information INF2 is the resource information INF2 shown in FIG. 4 , then workers A (3), workers B (5), two portable robot arms 20, three mobile robot arms 30, and three AGVs 40). For example, the first generation unit 104 determines whether a skill activation condition exists in the resource information INF2 acquired by the acquisition unit 103. If the first generation unit 104 determines that a skill activation condition does not exist, it terminates the identification of the resource types and quantities. If the first generation unit 104 determines that a skill activation condition exists, it identifies the type and quantity of resources that have the skill activation condition and the type and quantity of resources that have the skill required to satisfy the activation condition. For example, in the case of the resource information INF2 shown in FIG. 4 , the skill activation condition for the portable robotic arm 20 includes "relocation," so the first generation unit 104 identifies three portable robotic arms 20 as resources that have the skill activation condition. Furthermore, the resource information INF2 indicates that the skills possessed by worker A include "relocation of the portable robotic arm," so the first generation unit 104 identifies three workers A as the type and quantity of resources that have the skill required to satisfy the skill activation condition for the portable robotic arm. At this stage, the first generating unit 104 has completed specifying the type and quantity of resources that can be allocated for each task in the predetermined work.
[0027] Next, the first generation unit 104 identifies all combinations of the type and quantity of resources that can be assigned to each task in a predetermined operation. For example, when the resource information INF1 is the resource information INF1 shown in FIG. 3 and the resource information INF2 is the resource information INF2 shown in FIG. 4, workers A (3 people) and workers B (5 people) can be assigned to the picking task. Therefore, the first generation unit 104 generates all combinations of workers A (3 people) and workers B (5 people), that is, "worker A (1 person)," "worker A (1 person) and worker B (1 person)," "worker A (1 person) and worker B (2 people)," "worker A (1 person) and worker B (3 people)," "worker A (1 person) and worker B (4 people)," Identify "Worker A (1 person) and Worker B (5 people)," "Worker A (2 people)," "Worker A (2 people) and Worker B (1 person)," "Worker A (2) and Worker B (2 people)," "Worker A (2) and Worker B (3 people)," "Worker A (2) and Worker B (4 people)," "Worker A (2) and Worker B (5 people)," "Worker A (3 people)," "Worker A (3) and Worker B (1 person)," "Worker A (3) and Worker B (2 people)," "Worker A (3) and Worker B (3 people)," "Worker A (3) and Worker B (4 people)," and "Worker A (3) and Worker B (5 people)." Furthermore, for example, if resource information INF1 is resource information INF1 shown in Figure 3 and resource information INF2 is resource information INF2 shown in Figure 4, then workers A (3 people), workers B (5 people), portable robot arms 20 (2 units), mobile robot arms 30 (3 units), and AGVs 40 (3 units) can be assigned to the sorting task, and the first generation unit 104 will identify all combinations of workers A (3 people), workers B (5 people), portable robot arms 20 (2 units), mobile robot arms 30 (3 units), and AGVs 40 (3 units).
[0028] Next, the first generating unit 104 calculates the amount of work that can be achieved for each of all combinations of the identified resource types and quantities, using the skills possessed by each resource in the resource information INF2.
[0029] For example, if the resource information INF2 is the resource information INF2 shown in FIG. 4 and one worker A is assigned to the picking task, the first generation unit 104 calculates the achievable workload to be 10 items per minute. Alternatively, if the resource information INF2 is the resource information INF2 shown in FIG. 4 and one worker A, one portable robot arm 20, and one AGV 40 are assigned to the sorting task, the first generation unit 104 calculates the achievable workload to be 15 items per minute from five minutes later. Then, for each task, the first generation unit 104 combines the resources assigned to the task with the calculated workload that can be achieved using those resources. The combination of the assigned resources and the workload that can be achieved using those resources for each task constitutes the prediction model MDL.
[0030] In addition, the first generation unit 104 may acquire alternative information from the input unit 101 or the memory unit 102 instead of at least one of the task information INF1 and resource information INF2 acquired by the acquisition unit 103, and generate a prediction model MDL that predicts the working time for each combination of resources included in the multiple resources.
[0031] FIG. 5 is a diagram illustrating an example of a prediction model MDL generated by the first generation unit 104 according to an embodiment of the present disclosure. In the example illustrated in FIG. 5 , resource information INF1 corresponds to resource information INF1 illustrated in FIG. 3 , and resource information INF2 corresponds to resource information INF2 illustrated in FIG. 4 . For each task type, a prediction model MDL is illustrated that represents the workload per unit time for which the work time can be predicted for each combination of assigned resources. Therefore, the task types illustrated in FIG. 5 are the same as the task types illustrated in FIG. 3 . The assigned resources illustrated in FIG. 5 are all combinations of resources possessing the skills required for each task illustrated in FIG. 4 . Note that the example illustrated in FIG. 5 does not illustrate all combinations of resources assigned to picking and sorting, but only illustrates some combinations of resources. According to the prediction model MDL illustrated in FIG. 5 , when two workers B are assigned to the picking task, the realized workload is 16 items per minute. According to the prediction model MDL shown in FIG. 5 , if one worker A, one portable robotic arm 20, and one AGV 40 are assigned to the sorting work, when worker A completes the relocation of the portable robotic arm 20 five minutes later, worker A and the portable robotic arm 20 will be responsible for inspection and container loading, and the AGV 40 will be responsible for container transport, resulting in a realized workload of 15 units per minute. According to the prediction model MDL shown in FIG. 5 , if one worker A, two portable robotic arms 20, and one AGV 40 are assigned to the sorting work, the realized workload will be five units per minute from five to ten minutes, and 20 units per minute from ten minutes onward. In other words, from zero to five minutes, worker A is relocating the first portable robotic arm 20, and the predicted realized workload is zero. For 5 to 10 minutes, while worker A relocates the second portable robot arm 20, the first portable robot arm 20 is responsible for inspection and container loading, and the AGV 40 is responsible for container transport, so the predicted amount of work to be achieved is 5 items per minute.After 10 minutes have passed, worker A and the two portable robot arms 20 will be in charge of inspection and container loading, and the AGV 40 will be in charge of container transport, so the predicted amount of work that can be achieved will be 20 items per minute.
[0032] Alternatively, the above-described operation may be the following operation. Assume that the task is "sorting." In this case, the first generation unit 104 identifies the skills "inspection," "container filling," and "container transport" for the task "sorting" based on task information INF1 (illustrated in FIG. 3). The first generation unit 104 identifies the type and quantity of resources that have the skill "inspection" based on resource information INF2. In resource information INF2 (illustrated in FIG. 4), the skill "inspection" is possessed by three workers A, two portable robot arms 20, and three mobile robot arms 30. Therefore, the first generation unit 104 identifies three workers A, two portable robot arms 20, and three mobile robot arms 30 for the task "inspection."
[0033] Similarly, for the skill "container loading," the first generation unit 104, based on the resource information INF2 (illustrated in FIG. 4), identifies three workers A, five workers B, two portable robot arms 20, and three mobile robot arms 30. Furthermore, for the skill "container transport," the first generation unit 104 identifies three workers A, five workers B, three mobile robot arms 30, and three AGVs 40.
[0034] For the task "picking," the first generation unit 104 identifies the skill "picking" based on task information INF1 (illustrated in FIG. 3). Then, for the skill "picking," the first generation unit 104 identifies three workers A and five workers B based on resource information INF2 (illustrated in FIG. 4).
[0035] The first generation unit 104 then determines whether or not a resource having the activation condition exists in the resource information INF2 acquired by the acquisition unit 103. If the first generation unit 104 determines that no resource having the activation condition exists, it ends the identification of the resource type and quantity. If the first generation unit 104 determines that a resource having the activation condition exists, it identifies the resource having the activation condition and the type and quantity of the resource that satisfies the condition. For example, the first generation unit 104 identifies that, among the identified resource types and quantities, three portable robotic arms 20 have the skill activation condition "relocation," and that, in the resource information INF2, three workers A have the skill "portable robotic arm relocation" that satisfies the skill activation condition.
[0036] In the example shown here, the first generating unit 104 identifies the following combinations of resource types and quantities that can realize the task "picking."
[0037] "Worker A (1 person)", "Worker A (1 person) and Worker B (1 person)", "Worker A (1 person) and Worker B (2 people)", "Worker A (1 person) and Worker B (3 people)", "Worker A (1 person) and Worker B (4 people)", "Worker A (1 person) and Worker B (5 people)", "Worker A (2 people)", "Worker A (2 people) and Worker B (1 person)", "Worker A (2 people) and Worker B (2 people)", "Worker "Worker A (2 people) and Worker B (3 people)", "Worker A (2 people) and Worker B (4 people)", "Worker A (2 people) and Worker B (5 people)", "Worker A (3 people)", "Worker A (3) and Worker B (1 person)", "Worker A (3) and Worker B (2 people)", "Worker A (3) and Worker B (3 people)", "Worker A (3) and Worker B (4 people)", "Worker A (3) and Worker B (5 people)".
[0038] For each task-requiring skill identified for the task "sorting," the first generation unit 104 performs a process similar to the process described above. For example, worker A possesses the skill "inspection," the skill "container filling," and the skill "container transport." In other words, worker A can perform the task "sorting." Therefore, the first generation unit 104 identifies the following combinations of worker A with a quantity of "3" or less:
[0039] "Worker A (1 person)", "Worker A (2 people)", "Worker A (3 people)".
[0040] The task "sorting" can also be achieved by having worker A perform the skill "inspection," the portable robotic arm 20 perform the skill "container loading," and the AGV 40 perform the skill "container transport." The first generation unit 104 determines whether the portable robotic arm 20 is included in the resources that achieve the task "sorting." If it is determined that the portable robotic arm 20 is included in the resources, the first generation unit 104 identifies a resource that has the skill "portable robotic arm relocation." If the identified resource is worker A, the first generation unit 104 identifies the resource "worker A," the resource "portable robotic arm 20," and the resource "AGV 40" as assigned resources. Then, the first generation unit 104 calculates, as the workload for the task, the time required for worker A to relocate the portable robotic arm 20 (5 minutes) and the workload for worker A to perform inspection and container loading as 10 units / minute (= 20 units / (1 + 1) minutes). The first generation unit 104 also calculates that the realized workload when the portable robotic arm 20 performs inspection and containerization is 5 units / minute (= 10 units / (1 + 1) minutes). The first generation unit 104 then calculates that the realized workload when the task "sorting" is performed using the above resources will be 15 (= 10 + 5) units / minute after 5 minutes. The first generation unit 104 also calculates that the realized workload when one AGV 40 performs the skill "container transport" will be 20 units / minute. Therefore, the first generation unit 104 calculates that the realized workload of the task "sorting" will be 15 (= 10 + 5) units / minute after 5 minutes. In other words, in this example, the first generation unit 104 calculates a prediction model so that the relocated portable robotic arm 20 will start the skills "inspection" and "container transport" immediately after worker A relocates the portable robotic arm 20.
[0041] Similarly, in the case of one worker A, two portable robotic arms 20, and one AGV, the first generation unit 104 calculates five minutes as the time it takes for worker A to transport one portable robotic arm 20. The first generation unit 104 also calculates the realized workload when one portable robotic arm 20 performs the skill "inspection" and the skill "container transport" after five minutes as five units / minute (=10 units / (1+1) minutes). The first generation unit 104 also calculates another five minutes as the time it takes for the second portable robotic arm 20 to transport, and calculates the realized workload when two portable robotic arms 20 perform the skill "inspection" and the skill "container transport" after ten minutes as 10 units / minute (=(5+5) units / minute). The first generation unit 104 then calculates the realized workload when worker A performs the skill "inspection" and the skill "container transport" after 10 minutes as 10 units / minute (=20 units / (1+1) minutes), and the realized workload when the AGV 40 performs the skill "container transport" as 20 units / minute. Therefore, the first generation unit 104 calculates the realized workload for the task "sorting" to be 5 units / minute from 5 minutes to 10 minutes, and 20 (=10+10) units / minute from 10 minutes onwards. In other words, in this example, the first generation unit 104 calculates a prediction model so that the relocated portable robotic arm 20 will start the skills "inspection" and "container transport" immediately after worker A relocates the portable robotic arm 20.
[0042] The identifying unit 105 identifies a combination of resources included in the plurality of resources that completes a predetermined task in the shortest task time, based on the quantity of each of the plurality of tasks included in the task information INF1 and the prediction model MDL generated by the first generating unit 104. Specifically, the identifying unit 105 derives an optimal solution for each of the prediction models MDL generated by the first generating unit 104 by, for example, solving the following integer programming problem.
[0043]
[0044] Here, Ni represents the total amount of task i, Ri,j represents the jth candidate resource for allocation to task i, Ei(Ri,j) represents the amount of work achieved when resource Ri,j is allocated to task i, Ri,j,k represents the quantity of resource k included in the allocated resource Ri,j, and Rk represents the total amount of resource k. That is, an optimization problem is solved in which the allocated resources are variables, the constraint is that the sum of the allocated resources for each resource type does not exceed the total resource amount, and the objective function is to minimize the maximum time required to complete the task. Note that the constraints and objective function are not limited to those shown above. For example, when a required time for completing a task is given, the constraints may be that the sum of the allocated resources for each resource type does not exceed the total resource amount and that the task is completed within the required time, and the objective function may be set to minimize the sum of specific allocated resources (e.g., workers). Examples of methods for solving the integer programming problem described above include an exact solution method that tries all combinations and finds the best solution, a dynamic programming method that sequentially updates a table and efficiently finds an exact solution without trying all combinations, and a branch-and-bound method that relaxes the integer programming problem to a linear programming problem and finds an exact solution by introducing the concept of a continuous relaxation problem. In other words, the identifying unit 105 identifies a combination of resources required to perform a predetermined task using the prediction model MDL generated by the first generating unit 104. Note that the method by which the identifying unit 105 identifies a combination of resources is not limited to the above-described examples.
[0045] Note that when the identification unit 105 identifies resource combinations using dynamic programming, branch and bound, or the like, which tries only limited combinations, rather than using an exact solution method which tries all combinations, the identification unit 105 does not identify resource combinations for each prediction model MDL generated by the first generation unit 104 after the first generation unit 104 has finished generating all prediction models MDL, but rather the first generation unit 104 performs the process of generating the prediction model MDL and the process of identifying the resource combination in parallel, thereby preventing the first generation unit 104 from generating unnecessary prediction models MDL.
[0046] The allocation unit 106 allocates the combination of resources identified by the identification unit 105 to a predetermined task.
[0047] The second generating unit 108 generates an operation plan (an example of a plan) based on the resources allocated by the allocating unit 106. The operation plan is a plan that indicates the flow of operations of resources other than humans (i.e., robots; in one embodiment of the present disclosure, each of the portable robotic arm 20, the mobile robotic arm 30, and the AGV 40 included in the resources allocated by the allocating unit 106).
[0048] For example, if the allocation unit 106 allocates a combination of one portable robot arm 20, one mobile robot arm 30, and one AGV 40 as resources for executing a predetermined task, the second generation unit 108 generates motion plans for each of the one portable robot arm 20, one mobile robot arm 30, and one AGV 40 to execute the task within a range that satisfies the constraints. Furthermore, if the allocation unit 106 allocates a combination of one portable robot arm 20 and two AGVs 40 as resources for executing a predetermined task, the second generation unit 108 generates motion plans for each of the one portable robot arm 20 and two AGVs 40 to execute the task within a range that satisfies the constraints. In this case, the second generation unit 108 may generate motion plans that are verified as feasible using simulation. Alternatively, the second generating unit 108 may formulate each feasible motion plan as a TAMP (Task and Motion Planning) and generate the motion plan by solving the TAMP.
[0049] In addition, the second generation unit 108 may acquire constraint information directly from the input unit 101 or the memory unit 102 instead of the constraint information acquired by the acquisition unit 103, and generate an operation plan (an example of a plan) based on the resources allocated by the allocation unit 106.
[0050] The control unit 107 controls the robots (i.e., the portable robot arm 20, the mobile robot arm 30, and the AGV 40) included in the resource combination identified by the identification unit 105. For example, the control unit 107 generates a control signal for controlling the robot based on the operation plan generated by the second generation unit 108. Then, the control unit 107 outputs the generated control signal to the robot.
[0051] The portable robot arm 20 is a robot that can be moved by a human. The portable robot arm 20 has one or more arms that can grasp an object to be worked on. The portable robot arm 20 can perform tasks such as inspection and containerization in response to control signals generated by the processing device 10.
[0052] The mobile robot arm 30 is a robot that can move in response to control signals generated by the processing device 10. The mobile robot arm 30 has one or more arms that can grasp an object to be worked on. In response to the control signals generated by the processing device 10, the mobile robot arm 30 can perform tasks such as inspection, container filling, and container transport.
[0053] The AGV 40 is an autonomously traveling robot that can transport an object to be worked on in response to a control signal generated by the processing device 10. The AGV 40 can perform work such as transporting a container in response to the control signal generated by the processing device 10.
[0054] 6 is a diagram showing an example of a processing flow of the processing system 1 according to an embodiment of the present disclosure. Next, details of the processing performed by the processing device 10 of the processing system 1 will be described with reference to FIG.
[0055] The input unit 101 receives input of task information INF1 and resource information INF2. The input unit 101 records the received task information INF1 and resource information INF2 in the storage unit 102 (step S1).
[0056] The input unit 101 also receives constraints and records the received constraints in the storage unit 102 (step S2).
[0057] The storage unit 102 stores task information INF1 and resource information INF2, as well as constraints.
[0058] The acquiring unit 103 acquires the task information INF1 and the resource information INF2 (step S3). For example, the acquiring unit 103 reads out the task information INF1 and the resource information INF2 stored in the storage unit 102. Alternatively, for example, the acquiring unit 103 may acquire the task information INF1 and the resource information INF2 received by the input unit 101 directly from the input unit 101.
[0059] The acquisition unit 103 also acquires constraint conditions (step S4). For example, the acquisition unit 103 reads out the constraint conditions stored in the storage unit 102. For example, the acquisition unit 103 may also acquire the constraint conditions received by the input unit 101 directly from the input unit 101.
[0060] Next, the first generation unit 104 generates a prediction model MDL that predicts the work time for each combination of resources included in the plurality of resources, based on the information indicating the types of tasks included in the predetermined work and the skills required to execute each task, which is included in the task information INF1, and the information indicating the types of resources that can be assigned to the predetermined work, the quantity of each resource, the skills possessed by each resource, and the skill activation conditions, which is included in the resource information INF2 (step S5). For example, the first generation unit 104 generates a prediction model MDL that predicts the work time for each combination of resources included in the plurality of resources, based on the task information INF1 and resource information INF2 acquired by the acquisition unit 103. Note that the first generation unit 104 may acquire information that replaces at least one of the task information INF1 and resource information INF2 acquired by the acquisition unit 103 from the input unit 101 or the storage unit 102, and generate a prediction model MDL that predicts the work time for each combination of resources included in the plurality of resources.
[0061] The identifying unit 105 identifies a combination of resources included in the plurality of resources that will complete the predetermined task, for example, in the shortest task time, based on the quantities of each of the plurality of tasks included in the task information INF1 and the prediction model MDL generated by the first generating unit 104 (step S6). Specifically, for each prediction model MDL generated by the first generating unit 104, the identifying unit 105 identifies a combination of resources that will complete the predetermined task in the shortest task time, for example, by solving an integer programming problem with the allocated resources as variables, the constraint that the sum of the allocated resources for each resource type does not exceed the total resource amount, and the objective function that is minimizing the maximum time until task completion.
[0062] The allocation unit 106 allocates the combination of resources identified by the identification unit 105 to a predetermined task (step S7).
[0063] The second generating unit 108 generates an operation plan based on the resources allocated by the allocating unit 106 (step S8). At this time, the operation plan may be generated based on further constraints.
[0064] For example, if the allocation unit 106 allocates a combination of resources including one portable robot arm 20, one mobile robot arm 30, and one AGV 40 as resources for executing a predetermined task, the second generation unit 108 generates a motion plan for causing each of the one portable robot arm 20, one mobile robot arm 30, and one AGV 40 to execute the task within a range that satisfies the constraints. Also, for example, if the allocation unit 106 allocates a combination of resources including one portable robot arm 20 and two AGVs 40 as resources for executing a predetermined task, the second generation unit 108 generates a motion plan for causing each of the one portable robot arm 20 and two AGVs 40 to execute the task within a range that satisfies the constraints.
[0065] The control unit 107 controls the robots (e.g., the portable robot arm 20, the mobile robot arm 30, and the AGV 40) included in the resource combination identified by the identification unit 105 (step S9). For example, the control unit 107 generates a control signal for controlling the robot based on the operation plan generated by the second generation unit 108. Then, the control unit 107 outputs the generated control signal to the robot.
[0066] The portable robot arm 20, the mobile robot arm 30, and the AGV 40, which are controlled by the processing device 10, are controlled by the processing device 10 and execute processes in accordance with the control.
[0067] (Advantages) The processing system 1 according to an embodiment of the present disclosure has been described above. In the processing device 10 of the processing system 1, the first generation unit 104 generates a prediction model MDL that predicts the work time for each combination of resources included in the plurality of resources, based on task information INF1 that includes combinations of multiple task types included in a predetermined work and skills required for each of the multiple tasks, and resource information INF2 that includes combinations of multiple resource types, quantities of each of the multiple resources, and skills required for each of the multiple resources for performing the predetermined work. The identification unit 105 identifies a combination of resources included in the plurality of resources that will complete the predetermined work in the shortest work time, based on the quantities of each of the multiple tasks and the prediction model MDL.
[0068] This allows the processing device 10 to identify appropriate resources for a given task.
[0069] The prediction model may further include, for each combination of resources, information indicating the distribution of skills included in each of the resources. Furthermore, the information indicating the combination of resources may further include information indicating the distribution of skills among each resource. By adopting such a configuration, the processing device 10 can clearly identify not only the resources but also the skills to be activated for each resource.
[0070] Next, a processing device 10 with a minimum configuration according to an embodiment of the present disclosure will be described. FIG. 7 is a diagram illustrating an example of the processing device 10 with a minimum configuration according to an embodiment of the present disclosure. As shown in FIG. 7 , the processing device 10 with a minimum configuration includes a first generation unit 104 (an example of a first generation means) and an identification unit 105 (an example of an identification means). The first generation unit 104 generates a prediction model that predicts the work time for each combination of resources included in the plurality of resources based on task information including a combination of the types of tasks included in a predetermined work and the skills required for each of the plurality of tasks, and resource information including a combination of the types of resources required to perform the predetermined work, the quantities of each of the plurality of resources, and the skills possessed by each of the plurality of resources. The first generation unit 104 can be realized, for example, using the function of the first generation unit 104 illustrated in FIG. 2. The identification unit 105 identifies a combination of resources included in the plurality of resources that will complete the predetermined work in the shortest work time based on the quantities of each of the plurality of tasks and the prediction model generated by the first generation unit 104. The identifying unit 105 can be realized, for example, by using the functions of the identifying unit 105 illustrated in FIG.
[0071] Next, a description will be given of processing by the processing device 10 with a minimum configuration. Fig. 8 is a diagram showing an example of a processing flow of the processing device 10 with a minimum configuration according to an embodiment of the present disclosure. Here, the processing by the processing device 10 with a minimum configuration will be described with reference to Fig. 8.
[0072] The first generating unit 104 generates a prediction model that predicts the work time for each combination of resources included in the plurality of resources based on task information including a combination of the types of tasks included in a predetermined work and the skills required for each of the plurality of tasks, and resource information including a combination of the types of resources required to perform the predetermined work, the quantities of each of the plurality of resources, and the skills possessed by each of the plurality of resources (step S101).The identifying unit 105 identifies a combination of resources included in the plurality of resources that will complete the predetermined work in the shortest work time based on the quantities of each of the plurality of tasks and the prediction model generated by the first generating unit 104 (step S102).
[0073] The processing system 1 with the minimum configuration according to the embodiment of the present disclosure has been described above. This processing system 1 can identify appropriate resources for a given task.
[0074] The order of the processes in each embodiment of the present disclosure may be changed as long as the processes are performed appropriately.
[0075] Furthermore, the processes in the respective embodiments of the present disclosure may be combined within the scope of performing appropriate processes.
[0076] Although the embodiments of the present disclosure have been described, the processing system 1, processing device 10, input unit 101, acquisition unit 103, first generation unit 104, identification unit 105, allocation unit 106, control unit 107, second generation unit 108, portable robot arm 20, mobile robot arm 30, AGV 40, and other processing devices may have a computer device inside. The above-described processing steps are stored in the form of a program on a computer-readable recording medium, and the above processing is performed by reading and executing this program by a computer. Specific examples of computers are shown below.
[0077] FIG. 9 is a schematic block diagram illustrating the configuration of a computer according to at least one embodiment. As shown in FIG. 9 , the computer 5 includes a central processing unit (CPU) 6, a main memory 7, a storage 8, and an interface 9. For example, the processing system 1, the processing device 10, the input unit 101, the acquisition unit 103, the first generation unit 104, the identification unit 105, the allocation unit 106, the control unit 107, the second generation unit 108, the portable robot arm 20, the mobile robot arm 30, the AGV 40, and other processing devices are implemented in the computer 5. The operations of the above-described processing units are stored in the storage 8 in the form of a program. The CPU 6 reads the program from the storage 8, loads it into the main memory 7, and executes the above-described processing in accordance with the program. The CPU 6 also allocates storage areas in the main memory 7 corresponding to the above-described storage units in accordance with the program.
[0078] Examples of storage 8 include a hard disk drive (HDD), a solid state drive (SSD), a magnetic disk, a magneto-optical disk, a compact disc read-only memory (CD-ROM), a digital versatile disc read-only memory (DVD-ROM), and a semiconductor memory. Storage 8 may be an internal medium directly connected to the bus of computer 5, or an external medium connected to computer 5 via interface 9 or a communication line. Furthermore, if the program is distributed to computer 5 via a communication line, computer 5 that receives the program may load the program into main memory 7 and execute the above-described processing. In at least one embodiment, storage 8 is a non-transitory tangible storage medium.
[0079] The program may also implement some of the functions described above. Furthermore, the program may be a file that can implement the functions described above in combination with a program already stored in the computer device, a so-called differential file (differential program).
[0080] Although several embodiments of the present disclosure have been described, these embodiments are merely examples and do not limit the scope of the disclosure. Various additions, omissions, substitutions, and modifications may be made to these embodiments without departing from the spirit of the disclosure.
[0081] Note that part or all of the above-described embodiments can be described as, but are not limited to, the following supplementary notes.
[0082] (Supplementary Note 1) A processing device comprising: a first generation means for generating a prediction model that predicts the time required for completing the task by a combination of resources based on one or more task types included in a predetermined work, a combination of one or more skills required to perform the task, one or more resource types that perform the predetermined work, the quantity of each of the resources, and the skills that each of the resources possesses; and an identification means that identifies the combination of resources that will complete the predetermined work based on the quantity of each of the tasks and the prediction model.
[0083] (Supplementary Note 2) The processing device according to Supplementary Note 2, further comprising: allocation means for allocating the combination of resources identified by the identification means to the predetermined task.
[0084] (Supplementary Note 3) The processing device according to Supplementary Note 2, further comprising: a second generating unit configured to generate an operation plan that is a plan related to an execution operation of the resource allocated by the allocating unit.
[0085] (Supplementary Note 4) The processing device according to Supplementary Note 3, wherein the resources include robots, and the processing device further comprises: a control unit that controls the robots included in the resource combination identified by the identification unit based on the operation plan.
[0086] (Supplementary Note 5) The processing device according to any one of Supplementary Notes 1 to 4, wherein the skills include at least information indicating an amount of work that can be accomplished within a predetermined time.
[0087] (Supplementary Note 6) The processing device according to any one of Supplementary Notes 1 to 5, wherein the prediction model further includes information indicating an allocation of the skills included in each of the resources, and the combination of resources further includes information indicating the allocation.
[0088] (Supplementary Note 7) The processing device described in any one of Supplementary Note 1 to Supplementary Note 6, wherein the resource further includes a condition for activating the skill, the skill further includes a skill for achieving the condition, and the first generation means generates the prediction model based on the fact that when the condition is set for the resource, the skill of the resource becomes effective after the skill for achieving the condition is activated.
[0089] (Supplementary Note 8) The processing device according to Supplementary Note 7, wherein the condition is the relocation of the resource, and the skill that achieves the condition is the relocation of a resource that matches a type of the resource.
[0090] (Supplementary Note 9) A processing system comprising: the processing device according to any one of Supplementary Note 1 to Supplementary Note 8; and a robot that performs processing in accordance with control by the processing device.
[0091] (Supplementary Note 10) A processing method comprising: generating a prediction model that predicts the time required to complete the task using a combination of resources based on the types of one or more tasks included in a specified job, a combination of one or more skills required to perform the tasks, the types of one or more resources that perform the specified job, the quantity of each of the resources, and the skills that each of the resources possesses; and identifying the combination of resources that will complete the specified job based on the quantity of each of the tasks and the prediction model.
[0092] (Supplementary Note 11) A recording medium storing a program that causes a computer to execute the following steps: generating a prediction model that predicts the time required for completing the task using a combination of resources, based on the types of one or more tasks included in a specified job, a combination of one or more skills required to perform the tasks, the types of one or more resources that perform the specified job, the quantity of each of the resources, and the skills that each of the resources possesses; and identifying the combination of resources that will complete the specified job, based on the quantity of each of the tasks and the prediction model.
[0093] According to aspects of the present disclosure, it is possible to identify appropriate resources for a given task.
[0094] REFERENCE SIGNS LIST 1 Processing system 5 Computer 6 CPU 7 Main memory 8 Storage 9 Interface 10 Processing device 20, 20a, 20b Portable robot arm 30, 30a, 30b, 30c Mobile robot arm 40, 40a, 40b, 40c AGV 101 Input unit 102 Storage unit 103 Acquisition unit 104 First generation unit 105 Identification unit 106 Allocation unit 107 Control unit 108 Second generation unit
Claims
1. a first generation means for generating a prediction model for predicting a required time for the task based on one or more types of tasks included in a predetermined work, a combination of one or more skills required for executing the tasks, one or more types of resources performing the predetermined work, the quantity of each of the resources, and the skills possessed by each of the resources; and A determination means for determining a combination of the resources for completing the predetermined work based on the quantity of each of the tasks and the prediction model; A processing device comprising:
2. an allocation means for allocating the combination of resources identified by the identification means to the predetermined task; The processing device of claim 1 .
3. a second generation means for generating an operation plan which is a plan relating to an execution operation of the resource allocated by the allocation means; The processing device of claim 2 .
4. the resource includes a robot; a control means for controlling a robot included in the resource combination identified by the identification means based on the operation plan; The processing device of claim 3 .
5. The skill includes at least information indicating the amount of work that can be accomplished within a given time. The processing device of claim 1 .
6. The resource further includes a condition for activating the skill; The skills further include a skill for achieving the condition; The first generation means generates the prediction model based on the fact that, when the condition is set for the resource, a skill of the resource becomes effective after a skill for achieving the condition is exercised. The processing device of claim 1 .
7. the condition being the relocation of the resource; The skill that achieves the above condition is the transfer of a resource that matches the above resource type. The processing device of claim 6.
8. A processing device according to claim 1 ; a robot that performs processing according to the control of the processing device; A processing system comprising:
9. generating a prediction model for predicting a required time for the task based on one or more types of tasks included in a predetermined work, a combination of one or more skills required for executing the tasks, one or more types of resources performing the predetermined work, the quantity of each of the resources, and the skills possessed by each of the resources; determining a combination of resources to complete the predetermined work based on the quantity of each of the tasks and the forecast model; Processing methods.
10. generating a prediction model for predicting a required time for performing the task using a combination of resources based on one or more types of tasks included in a predetermined work, a combination of one or more skills required for performing the tasks, one or more types of resources performing the predetermined work, the quantity of each of the resources, and the skills possessed by each of the resources; determining a combination of resources to complete the predetermined work based on the quantity of each of the tasks and the forecast model; A program that causes a computer to execute the following.